# Update template

Update a template

Required permission: Account > Templates > General > Update

**Path parameters:**

{object}
- `templateId`: (string) (required) ID of the template

**Request body:**

{object}
- `name`: (string) (required) Name of the template. (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
- `description`: (string) Description of the template. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
- `apiVersion`: (string) (required) The version of the Northflank API to run the template against. (enum: v1.2)
- `options`: {object}
  - `autorun`: (boolean) If true, the template will run automatically whenever a change is made to it.
  - `concurrencyPolicy`: (string) Defines the concurrency behaviour of the template with respect to parallel runs. (enum: allow, queue, forbid, latest, replace)
- `arguments`: {object}
- `gitops`: {object}
  - `vcsService`: (string) (required) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure)
  - `selfHostedVcsId`: (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$)
  - `accountLogin`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name.
  - `vcsLinkId`: (string) Legacy key. Please used accountLogin instead.
  - `repoUrl`: (string) (required) URL of the Git repo to sync the file with. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$)
  - `branch`: (string) (required) The name of the branch to use.
  - `filePath`: (string) (required) The file path in the repository. If using an existing file, it should be in JSON format. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$)
- `$schema`: (string)
- `spec`: (multiple options) {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: Workflow)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `type`: (string) (required) The type of workflow. If set to `sequential`, nodes in the workflow will run in order. If set to `parallel`, nodes will run simultaneously. (enum: sequential, parallel)
     - `steps`: [array of] (undefined)
     - `context`: {object}
       - `projectId`: (multiple options) (string) Default project to apply to child nodes. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to default project to apply to child nodes. (pattern: .*\${.*}.*) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: CustomPlan)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `type`: [array of] (multiple options) (string) (enum: deployment, build) | (string) (pattern: .*\${.*}.*)
     - `configuration`: {object}
       - `type`: (multiple options) (string) (enum: northflank, kubernetes) | (string) (pattern: .*\${.*}.*)
       - `resources`: {object}
         - `cpu`: {object}
           - `resources`: {object}
             - `limit`: (multiple options) (number) (format: float) | (string) (pattern: .*\${.*}.*)
             - `request`: (multiple options) (number) (format: float) | (string) (pattern: .*\${.*}.*)
           - `options`: {object}
             - `unbounded`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
         - `memory`: {object}
           - `resources`: {object}
             - `limit`: (multiple options) (number) (format: float) | (string) (pattern: .*\${.*}.*)
             - `request`: (multiple options) (number) (format: float) | (string) (pattern: .*\${.*}.*)
     - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: CustomPlan)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `type`: [array of] (multiple options) (string) (enum: deployment, build) | (string) (pattern: .*\${.*}.*)
     - `configuration`: {object}
       - `type`: (multiple options) (string) (enum: northflank, kubernetes) | (string) (pattern: .*\${.*}.*)
       - `resources`: {object}
         - `cpu`: {object}
           - `resources`: {object}
             - `limit`: (multiple options) (number) (format: float) | (string) (pattern: .*\${.*}.*)
             - `request`: (multiple options) (number) (format: float) | (string) (pattern: .*\${.*}.*)
           - `options`: {object}
             - `unbounded`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
         - `memory`: {object}
           - `resources`: {object}
             - `limit`: (multiple options) (number) (format: float) | (string) (pattern: .*\${.*}.*)
             - `request`: (multiple options) (number) (format: float) | (string) (pattern: .*\${.*}.*)
     - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: Subdomain)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `domain`: (multiple options) (string) The domain the path should be created for. (pattern: ^((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+$) | (string) A string containing one or more references that resolve to the domain the path should be created for. (pattern: .*\${.*}.*)
     - `name`: (multiple options) (string) Subdomain prepended to the domain name | (string) A string containing one or more references that resolve to subdomain prepended to the domain name (pattern: .*\${.*}.*)
     - `options`: {object}
       - `tlsMode`: (string) Desired TLS mode for the subdomain. (enum: default, passthrough)
       - `minTlsProtocolVersion`: (string) Minimum TLS protocol version for the subdomain. Only applicable for non-wildcard subdomains. (enum: TLSV1_1, TLSV1_2, TLSV1_3)
       - `autoVerify`: (boolean) The domain will be automatically verified on creation. Only configurable if the relevant feature flag is enabled for you account.
       - `aliasDomains`: [array of] (string)
     - `cdn`: {object}
       - `northflank`: {object}
         - `enabled`: (boolean)
         - `options`: {object}
           - `service`: {object}
             - `forceTlsEnableHsts`: (boolean)
             - `hstsDuration`: (number) HSTS duration. Required when `forceTlsEnableHsts` is `true`. (format: float)
             - `staleIfError`: (boolean)
             - `staleIfErrorTtl`: (number) (format: float)
             - `defaultTtl`: (number) (format: float)
             - `passThrough`: (boolean)
             - `bypassCredentialedRequests`: (boolean)
           - `logging`: {object}
             - `enabled`: (boolean)
           - `http3`: {object}
             - `enabled`: (boolean)
           - `websockets`: {object}
             - `enabled`: (boolean)
           - `ddosProtection`: {object}
             - `enabled`: (boolean)
           - `compression`: {object}
             - `enabled`: (boolean)
             - `mode`: (string) Compression options. Required when `enabled` is `true`. (enum: gzip, brotli)
           - `vclSnippets`: [array of] {object}
               - `id`: (string)
               - `name`: (string) (required) (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
               - `type`: (string) (required) (enum: init, recv, hash, hit, miss, pass, fetch, error, deliver, log, none)
               - `dynamic`: (string) (required) (enum: 0, 1)
               - `priority`: (multiple options) (number) (format: float) | (number) (format: float)
               - `content`: (string) (required)
           - `cacheSettings`: [array of] {object}
               - `id`: (string)
               - `name`: (string) (required) (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
               - `action`: (string) (enum: pass, cache, restart)
               - `cacheCondition`: (string) (required) (min length: 1) (max length: 512)
               - `staleTtl`: (number) (required) (format: float)
               - `ttl`: (number) (required) (format: float) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: SubdomainPath)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `subdomain`: (multiple options) (string) The domain the path should be created for. (pattern: ^\*|^@$|^([0-9a-z]([0-9a-z\-]*[0-9a-z])?\.)*[0-9a-z]([0-9a-z\-]*[0-9a-z])?$) | (string) A string containing one or more references that resolve to the domain the path should be created for. (pattern: .*\${.*}.*)
     - `mode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: prefix, exact, regex) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
     - `uri`: (multiple options) (string) URI of the subdomain path. Interpreted according to the selected path mode | (string) A string containing one or more references that resolve to uRI of the subdomain path. Interpreted according to the selected path mode (pattern: .*\${.*}.*)
     - `options`: {object}
       - `priority`: (multiple options) (integer) In case of uri conflicts, the route with the higher priority will take precedence | (string) A string containing one or more references that resolve to in case of uri conflicts, the route with the higher priority will take precedence (pattern: .*\${.*}.*)
       - `ignoreUriCase`: (multiple options) (boolean) Allows case insensitive matching for 'prefix' and 'exact' modes | (string) A string containing one or more references that resolve to allows case insensitive matching for 'prefix' and 'exact' modes (pattern: .*\${.*}.*)
       - `rewrite`: (multiple options) {object}
           - `uri`: (multiple options) (string) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) (pattern: .*\${.*}.*) | {object}
           - `regex`: {object}
             - `match`: (multiple options) (string) Regex match for the given path | (string) A string containing one or more references that resolve to regex match for the given path (pattern: .*\${.*}.*)
             - `rewrite`: (multiple options) (string) Regex rewrite for the given matched path | (string) A string containing one or more references that resolve to regex rewrite for the given matched path (pattern: .*\${.*}.*)
       - `timeout`: (multiple options) (string) Customised request timeout for the given path. By default no timeout is set. (pattern: ^[1-9][0-9]*(s|ms)$) | (string) A string containing one or more references that resolve to customised request timeout for the given path. By default no timeout is set. (pattern: .*\${.*}.*)
       - `headers`: {object}
         - `request`: {object}
           - `set`: {object}
           - `add`: {object}
           - `remove`: [array of] (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$)
         - `response`: {object}
           - `set`: {object}
           - `add`: {object}
           - `remove`: [array of] (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$)
       - `corsPolicy`: {object}
         - `enabled`: (boolean) (required)
         - `allowOrigins`: [array of] {object}
             - `mode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: prefix, exact, regex) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
             - `origin`: (multiple options) (string) Origin definition. | (string) A string containing one or more references that resolve to origin definition. (pattern: .*\${.*}.*)
         - `allowMethods`: [array of] (string) (enum: GET, POST, PUT, PATCH, DELETE, OPTIONS, TRACE, CONNECT, HEAD)
         - `allowCredentials`: (boolean)
         - `allowHeaders`: [array of] (string)
         - `maxAge`: (string) (pattern: ^[1-9][0-9]*(s|m|h)$)
       - `retries`: {object}
         - `enabled`: (boolean) (required)
         - `attempts`: (integer) (required)
         - `perTryTimeout`: (string) Timeout per attempt. By default uses the path level timeout. (pattern: ^[1-9][0-9]*(s|ms)$)
         - `retryOn`: [array of] (string) (enum: 5xx, gateway-error, reset, connect-failure, envoy-ratelimited, retriable-4xx, refused-stream, retriable-status-codes, retriable-headers, cancelled, deadline-exceeded, internal, resource-exhausted, unavailable) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: ResourceTag)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `useAsInfrastructureLabel`: (boolean) Expose this tag as an infrastructure label on service, harness, and job workloads after their next deployment. Required for usage in egress IP selectors.
     - `useSpotNodes`: (boolean) Schedule workloads to spot nodes
     - `useOnDemandNodes`: (boolean) Also allow workloads to schedule to on demand nodes. Only relevant if you want workloads to schedule across both spot and on demand nodes
     - `nodeAffinities`: [array of] {object}
         - `preference`: (boolean)
         - `weight`: (number) The node affinity weight. Required when `preference` is `true`. (format: float)
         - `matchExpressions`: [array of] {object}
             - `key`: (string) (required)
             - `operator`: (string) (required) (enum: In, NotIn)
             - `values`: [array of] (string)
     - `sandboxing`: {object}
       - `builds`: {object}
         - `enabled`: (boolean) (required) Enables runtime scheduling constraints for builds
         - `runtimeClass`: (multiple options) (string) Defines which runtime scheduling constraints apply for builds (enum: none, gvisor, kata-clh, kata-qemu)
       - `services`: {object}
         - `enabled`: (boolean) (required) Enables runtime scheduling constraints for services
         - `runtimeClass`: (multiple options) (string) Defines which runtime scheduling constraints apply for services (enum: none, gvisor, kata-clh, kata-qemu)
       - `addons`: {object}
         - `enabled`: (boolean) (required) Enables runtime scheduling constraints for addons
         - `runtimeClass`: (multiple options) (string) Defines which runtime scheduling constraints apply for addons (enum: none, gvisor, kata-clh, kata-qemu)
       - `jobs`: {object}
         - `enabled`: (boolean) (required) Enables runtime scheduling constraints for jobs
         - `runtimeClass`: (multiple options) (string) Defines which runtime scheduling constraints apply for jobs (enum: none, gvisor, kata-clh, kata-qemu)
     - `color`: (string) (pattern: ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$)
     - `description`: (string) (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
     - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: ResourceTag)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `useAsInfrastructureLabel`: (boolean) Expose this tag as an infrastructure label on service, harness, and job workloads after their next deployment. Required for usage in egress IP selectors.
     - `useSpotNodes`: (boolean) Schedule workloads to spot nodes
     - `useOnDemandNodes`: (boolean) Also allow workloads to schedule to on demand nodes. Only relevant if you want workloads to schedule across both spot and on demand nodes
     - `nodeAffinities`: [array of] {object}
         - `preference`: (boolean)
         - `weight`: (number) The node affinity weight. Required when `preference` is `true`. (format: float)
         - `matchExpressions`: [array of] {object}
             - `key`: (string) (required)
             - `operator`: (string) (required) (enum: In, NotIn)
             - `values`: [array of] (string)
     - `sandboxing`: {object}
       - `builds`: {object}
         - `enabled`: (boolean) (required) Enables runtime scheduling constraints for builds
         - `runtimeClass`: (multiple options) (string) Defines which runtime scheduling constraints apply for builds (enum: none, gvisor, kata-clh, kata-qemu)
       - `services`: {object}
         - `enabled`: (boolean) (required) Enables runtime scheduling constraints for services
         - `runtimeClass`: (multiple options) (string) Defines which runtime scheduling constraints apply for services (enum: none, gvisor, kata-clh, kata-qemu)
       - `addons`: {object}
         - `enabled`: (boolean) (required) Enables runtime scheduling constraints for addons
         - `runtimeClass`: (multiple options) (string) Defines which runtime scheduling constraints apply for addons (enum: none, gvisor, kata-clh, kata-qemu)
       - `jobs`: {object}
         - `enabled`: (boolean) (required) Enables runtime scheduling constraints for jobs
         - `runtimeClass`: (multiple options) (string) Defines which runtime scheduling constraints apply for jobs (enum: none, gvisor, kata-clh, kata-qemu)
     - `color`: (string) (pattern: ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$)
     - `description`: (string) (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
     - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: BYOCIntegration)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `description`: (string) The description of the integration. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
     - `features`: [array of] (string) The type of provider integration. (enum: byoc, byoc-static-egress, byoc-custom-launch-templates, byoc-custom-vpc, byoc-logs, cloudfront, route53, registry-pull, registry-push, opentofu, workload-identity, workload-identity-managed)
     - `restrictions`: {object}
       - `enabled`: (boolean) (required) Enable or disable BYOC restrictions for this entity
       - `teams`: [array of] {object}
           - `teamId`: (string) (required) The ID of the team that has access to this BYOC cluster (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 45)
     - `credentials`: {object}
       - `keyfileJson`: (multiple options) (string) Contents of a GCP key file. | (string) A string containing one or more references that resolve to contents of a GCP key file. (pattern: .*\${.*}.*)
       - `accessKey`: (multiple options) (string) AWS access key. | (string) A string containing one or more references that resolve to aWS access key. (pattern: .*\${.*}.*)
       - `secretKey`: (multiple options) (string) AWS secret key. | (string) A string containing one or more references that resolve to aWS secret key. (pattern: .*\${.*}.*)
       - `roleArn`: (multiple options) (string) AWS IAM role ARN. | (string) A string containing one or more references that resolve to aWS IAM role ARN. (pattern: .*\${.*}.*)
       - `externalId`: (multiple options) (string) AWS shared secret (external id). | (string) A string containing one or more references that resolve to aWS shared secret (external id). (pattern: .*\${.*}.*)
       - `apiKey`: (multiple options) (string) API key. | (string) A string containing one or more references that resolve to aPI key. (pattern: .*\${.*}.*)
       - `email`: (multiple options) (string) Email address for Cloudflare global API key. (format: email) | (string) A string containing one or more references that resolve to email address for Cloudflare global API key. (pattern: .*\${.*}.*)
       - `tenantId`: (multiple options) (string) Directory (tenant) ID  | (string) A string containing one or more references that resolve to directory (tenant) ID  (pattern: .*\${.*}.*)
       - `clientId`: (multiple options) (string) Application (client) ID  | (string) A string containing one or more references that resolve to application (client) ID  (pattern: .*\${.*}.*)
       - `objectId`: (multiple options) (string) Object ID | (string) A string containing one or more references that resolve to object ID (pattern: .*\${.*}.*)
       - `secret`: (multiple options) (string) Secret | (string) A string containing one or more references that resolve to secret (pattern: .*\${.*}.*)
       - `subscriptionId`: (multiple options) (string) Azure Subscription ID | (string) A string containing one or more references that resolve to azure Subscription ID (pattern: .*\${.*}.*)
       - `region`: (multiple options) (string) OCI Authentication Region | (string) A string containing one or more references that resolve to oCI Authentication Region (pattern: .*\${.*}.*)
       - `tenancyId`: (multiple options) (string) OCI Tenancy ID | (string) A string containing one or more references that resolve to oCI Tenancy ID (pattern: .*\${.*}.*)
       - `userId`: (multiple options) (string) User ID | (string) A string containing one or more references that resolve to user ID (pattern: .*\${.*}.*)
       - `fingerprint`: (multiple options) (string) Fingerprint | (string) A string containing one or more references that resolve to fingerprint (pattern: .*\${.*}.*)
       - `privateKey`: (multiple options) (string) OCI Private Key | (string) A string containing one or more references that resolve to oCI Private Key (pattern: .*\${.*}.*)
       - `passphrase`: (multiple options) (string) Passphrase | (string) A string containing one or more references that resolve to passphrase (pattern: .*\${.*}.*)
       - `compartmentId`: (multiple options) (string) OCI Compartment ID | (string) A string containing one or more references that resolve to oCI Compartment ID (pattern: .*\${.*}.*)
       - `serviceAccountId`: (multiple options) (string) Nebius service account ID | (string) A string containing one or more references that resolve to nebius service account ID (pattern: .*\${.*}.*)
       - `publicKeyId`: (multiple options) (string) Nebius authorized public key ID | (string) A string containing one or more references that resolve to nebius authorized public key ID (pattern: .*\${.*}.*)
       - `privateKeyPem`: (multiple options) (string) Nebius private key in PEM format | (string) A string containing one or more references that resolve to nebius private key in PEM format (pattern: .*\${.*}.*)
       - `kubeconfig`: (multiple options) (string) Kubeconfig | (string) A string containing one or more references that resolve to kubeconfig (pattern: .*\${.*}.*)
       - `applicationKeyId`: (multiple options) (string) Backblaze Application Key ID | (string) A string containing one or more references that resolve to backblaze Application Key ID (pattern: .*\${.*}.*)
       - `applicationKey`: (multiple options) (string) Backblaze Application Key | (string) A string containing one or more references that resolve to backblaze Application Key (pattern: .*\${.*}.*)
       - `host`: (multiple options) (string) Akamai Host | (string) A string containing one or more references that resolve to akamai Host (pattern: .*\${.*}.*)
       - `accessToken`: (multiple options) (string) Akamai Access Token | (string) A string containing one or more references that resolve to akamai Access Token (pattern: .*\${.*}.*)
       - `clientToken`: (multiple options) (string) Akamai Client Token | (string) A string containing one or more references that resolve to akamai Client Token (pattern: .*\${.*}.*)
       - `clientSecret`: (multiple options) (string) Akamai Client Secret | (string) A string containing one or more references that resolve to akamai Client Secret (pattern: .*\${.*}.*)
     - `aws`: (undefined)
     - `name`: (multiple options) (string) The name of the cloud provider integration. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the cloud provider integration. (pattern: .*\${.*}.*)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: BYOCIntegration)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) The name of the cloud provider integration. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the cloud provider integration. (pattern: .*\${.*}.*)
     - `description`: (string) The description of the integration. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
     - `provider`: (multiple options) (string) Cloud provider to be used for the selected resource (enum: aws, azure, civo, gcp, oci, cloudflare, coreweave, nebius, aiven, backblaze, akamai, byok) | (string) A string containing one or more references that resolve to cloud provider to be used for the selected resource (pattern: .*\${.*}.*)
     - `features`: [array of] (string) The type of provider integration. (enum: byoc, byoc-static-egress, byoc-custom-launch-templates, byoc-custom-vpc, byoc-logs, cloudfront, route53, registry-pull, registry-push, opentofu, workload-identity, workload-identity-managed)
     - `restrictions`: {object}
       - `enabled`: (boolean) (required) Enable or disable BYOC restrictions for this entity
       - `teams`: [array of] {object}
           - `teamId`: (string) (required) The ID of the team that has access to this BYOC cluster (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 45)
     - `credentials`: {object}
       - `keyfileJson`: (multiple options) (string) Contents of a GCP key file. | (string) A string containing one or more references that resolve to contents of a GCP key file. (pattern: .*\${.*}.*)
       - `accessKey`: (multiple options) (string) AWS access key. | (string) A string containing one or more references that resolve to aWS access key. (pattern: .*\${.*}.*)
       - `secretKey`: (multiple options) (string) AWS secret key. | (string) A string containing one or more references that resolve to aWS secret key. (pattern: .*\${.*}.*)
       - `roleArn`: (multiple options) (string) AWS IAM role ARN. | (string) A string containing one or more references that resolve to aWS IAM role ARN. (pattern: .*\${.*}.*)
       - `externalId`: (multiple options) (string) AWS shared secret (external id). | (string) A string containing one or more references that resolve to aWS shared secret (external id). (pattern: .*\${.*}.*)
       - `apiKey`: (multiple options) (string) API key. | (string) A string containing one or more references that resolve to aPI key. (pattern: .*\${.*}.*)
       - `email`: (multiple options) (string) Email address for Cloudflare global API key. (format: email) | (string) A string containing one or more references that resolve to email address for Cloudflare global API key. (pattern: .*\${.*}.*)
       - `tenantId`: (multiple options) (string) Directory (tenant) ID  | (string) A string containing one or more references that resolve to directory (tenant) ID  (pattern: .*\${.*}.*)
       - `clientId`: (multiple options) (string) Application (client) ID  | (string) A string containing one or more references that resolve to application (client) ID  (pattern: .*\${.*}.*)
       - `objectId`: (multiple options) (string) Object ID | (string) A string containing one or more references that resolve to object ID (pattern: .*\${.*}.*)
       - `secret`: (multiple options) (string) Secret | (string) A string containing one or more references that resolve to secret (pattern: .*\${.*}.*)
       - `subscriptionId`: (multiple options) (string) Azure Subscription ID | (string) A string containing one or more references that resolve to azure Subscription ID (pattern: .*\${.*}.*)
       - `region`: (multiple options) (string) OCI Authentication Region | (string) A string containing one or more references that resolve to oCI Authentication Region (pattern: .*\${.*}.*)
       - `tenancyId`: (multiple options) (string) OCI Tenancy ID | (string) A string containing one or more references that resolve to oCI Tenancy ID (pattern: .*\${.*}.*)
       - `userId`: (multiple options) (string) User ID | (string) A string containing one or more references that resolve to user ID (pattern: .*\${.*}.*)
       - `fingerprint`: (multiple options) (string) Fingerprint | (string) A string containing one or more references that resolve to fingerprint (pattern: .*\${.*}.*)
       - `privateKey`: (multiple options) (string) OCI Private Key | (string) A string containing one or more references that resolve to oCI Private Key (pattern: .*\${.*}.*)
       - `passphrase`: (multiple options) (string) Passphrase | (string) A string containing one or more references that resolve to passphrase (pattern: .*\${.*}.*)
       - `compartmentId`: (multiple options) (string) OCI Compartment ID | (string) A string containing one or more references that resolve to oCI Compartment ID (pattern: .*\${.*}.*)
       - `serviceAccountId`: (multiple options) (string) Nebius service account ID | (string) A string containing one or more references that resolve to nebius service account ID (pattern: .*\${.*}.*)
       - `publicKeyId`: (multiple options) (string) Nebius authorized public key ID | (string) A string containing one or more references that resolve to nebius authorized public key ID (pattern: .*\${.*}.*)
       - `privateKeyPem`: (multiple options) (string) Nebius private key in PEM format | (string) A string containing one or more references that resolve to nebius private key in PEM format (pattern: .*\${.*}.*)
       - `kubeconfig`: (multiple options) (string) Kubeconfig | (string) A string containing one or more references that resolve to kubeconfig (pattern: .*\${.*}.*)
       - `applicationKeyId`: (multiple options) (string) Backblaze Application Key ID | (string) A string containing one or more references that resolve to backblaze Application Key ID (pattern: .*\${.*}.*)
       - `applicationKey`: (multiple options) (string) Backblaze Application Key | (string) A string containing one or more references that resolve to backblaze Application Key (pattern: .*\${.*}.*)
       - `host`: (multiple options) (string) Akamai Host | (string) A string containing one or more references that resolve to akamai Host (pattern: .*\${.*}.*)
       - `accessToken`: (multiple options) (string) Akamai Access Token | (string) A string containing one or more references that resolve to akamai Access Token (pattern: .*\${.*}.*)
       - `clientToken`: (multiple options) (string) Akamai Client Token | (string) A string containing one or more references that resolve to akamai Client Token (pattern: .*\${.*}.*)
       - `clientSecret`: (multiple options) (string) Akamai Client Secret | (string) A string containing one or more references that resolve to akamai Client Secret (pattern: .*\${.*}.*)
     - `aws`: {object}
       - `authenticationMode`: (string) The provider authentication mode to use for this integration. (enum: accessKey, crossAccountRole)
       - `permissionCheckLevel`: (string) (enum: enabled, disabled, ignore-implicit-deny-by-organization)
     - `gcp`: {object}
       - `projectId`: (string) (required) GCP Project ID
       - `authenticationMode`: (string) The provider authentication mode to use for this integration. (enum: accessKey, crossAccountRole)
     - `cloudflare`: {object}
       - `credentialType`: (string) The type of api key (enum: apiToken, originCAKey, globalApiKey)
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: RolloutStrategy)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) Display name for the gradual rollout strategy | (string) A string containing one or more references that resolve to display name for the gradual rollout strategy (pattern: .*\${.*}.*)
     - `type`: (multiple options) (string) Type of the gradual rollout strategy (enum: canary) | (string) A string containing one or more references that resolve to type of the gradual rollout strategy (pattern: .*\${.*}.*)
     - `options`: (multiple options) {object}
         - `triggers`: (multiple options) {object}
             - `releaseFromTemplate`: (multiple options) (boolean) Automatically trigger the rollout strategy when a release is initiated from a template | (string) A string containing one or more references that resolve to automatically trigger the rollout strategy when a release is initiated from a template (pattern: .*\${.*}.*)
             - `releaseFromReleaseFlow`: (multiple options) (boolean) Automatically trigger the rollout strategy when a release is initiated from a release flow | (string) A string containing one or more references that resolve to automatically trigger the rollout strategy when a release is initiated from a release flow (pattern: .*\${.*}.*)
             - `releaseFromCD`: (multiple options) (boolean) Automatically trigger the rollout strategy when a release is initiated from a CD pipeline | (string) A string containing one or more references that resolve to automatically trigger the rollout strategy when a release is initiated from a CD pipeline (pattern: .*\${.*}.*)
             - `releaseFromUI`: (multiple options) (boolean) Automatically trigger the rollout strategy when a release is initiated from the UI | (string) A string containing one or more references that resolve to automatically trigger the rollout strategy when a release is initiated from the UI (pattern: .*\${.*}.*)
             - `releaseFromApi`: (multiple options) (boolean) Automatically trigger the rollout strategy when a release is initiated via the API | (string) A string containing one or more references that resolve to automatically trigger the rollout strategy when a release is initiated via the API (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to conditions under which a new release will automatically initiate as a gradual rollout (pattern: .*\${.*}.*)
         - `blockDeploymentOnActiveRollout`: (multiple options) (boolean) When enabled, new deployments are blocked while a rollout is in progress | (string) A string containing one or more references that resolve to when enabled, new deployments are blocked while a rollout is in progress (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
     - `details`: (multiple options) (multiple options) {object}
           - `canaryStrategy`: (multiple options) (string) Strategy used to split traffic between stable and canary deployments (enum: percentage, header) | (string) A string containing one or more references that resolve to strategy used to split traffic between stable and canary deployments (pattern: .*\${.*}.*)
           - `config`: (multiple options) (multiple options) {object}
                 - `canaryPercentage`: (multiple options) (integer) Percentage of traffic to route to the canary deployment | (string) A string containing one or more references that resolve to percentage of traffic to route to the canary deployment (pattern: .*\${.*}.*)
                 - `stablePercentage`: (multiple options) (integer) Percentage of traffic to route to the stable deployment | (string) A string containing one or more references that resolve to percentage of traffic to route to the stable deployment (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to configuration for the selected canary strategy (pattern: .*\${.*}.*) | (multiple options) {object}
                 - `canaryHeader`: {object}
                   - `headerName`: (multiple options) (string) HTTP header name used to identify requests that should be routed to the target deployment (min length: 1) | (string) A string containing one or more references that resolve to hTTP header name used to identify requests that should be routed to the target deployment (pattern: .*\${.*}.*)
                   - `headerValue`: (multiple options) (string) HTTP header value that routes matching requests to the target deployment (min length: 1) | (string) A string containing one or more references that resolve to hTTP header value that routes matching requests to the target deployment (pattern: .*\${.*}.*)
                 - `stableHeader`: {object}
                   - `headerName`: (multiple options) (string) HTTP header name used to identify requests that should be routed to the target deployment (min length: 1) | (string) A string containing one or more references that resolve to hTTP header name used to identify requests that should be routed to the target deployment (pattern: .*\${.*}.*)
                   - `headerValue`: (multiple options) (string) HTTP header value that routes matching requests to the target deployment (min length: 1) | (string) A string containing one or more references that resolve to hTTP header value that routes matching requests to the target deployment (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to configuration for the selected canary strategy (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to strategy-specific configuration details (pattern: .*\${.*}.*)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: RolloutStrategy)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) Display name for the gradual rollout strategy | (string) A string containing one or more references that resolve to display name for the gradual rollout strategy (pattern: .*\${.*}.*)
     - `type`: (multiple options) (string) Type of the gradual rollout strategy (enum: canary) | (string) A string containing one or more references that resolve to type of the gradual rollout strategy (pattern: .*\${.*}.*)
     - `options`: (multiple options) {object}
         - `triggers`: (multiple options) {object}
             - `releaseFromTemplate`: (multiple options) (boolean) Automatically trigger the rollout strategy when a release is initiated from a template | (string) A string containing one or more references that resolve to automatically trigger the rollout strategy when a release is initiated from a template (pattern: .*\${.*}.*)
             - `releaseFromReleaseFlow`: (multiple options) (boolean) Automatically trigger the rollout strategy when a release is initiated from a release flow | (string) A string containing one or more references that resolve to automatically trigger the rollout strategy when a release is initiated from a release flow (pattern: .*\${.*}.*)
             - `releaseFromCD`: (multiple options) (boolean) Automatically trigger the rollout strategy when a release is initiated from a CD pipeline | (string) A string containing one or more references that resolve to automatically trigger the rollout strategy when a release is initiated from a CD pipeline (pattern: .*\${.*}.*)
             - `releaseFromUI`: (multiple options) (boolean) Automatically trigger the rollout strategy when a release is initiated from the UI | (string) A string containing one or more references that resolve to automatically trigger the rollout strategy when a release is initiated from the UI (pattern: .*\${.*}.*)
             - `releaseFromApi`: (multiple options) (boolean) Automatically trigger the rollout strategy when a release is initiated via the API | (string) A string containing one or more references that resolve to automatically trigger the rollout strategy when a release is initiated via the API (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to conditions under which a new release will automatically initiate as a gradual rollout (pattern: .*\${.*}.*)
         - `blockDeploymentOnActiveRollout`: (multiple options) (boolean) When enabled, new deployments are blocked while a rollout is in progress | (string) A string containing one or more references that resolve to when enabled, new deployments are blocked while a rollout is in progress (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
     - `details`: (multiple options) (multiple options) {object}
           - `canaryStrategy`: (multiple options) (string) Strategy used to split traffic between stable and canary deployments (enum: percentage, header) | (string) A string containing one or more references that resolve to strategy used to split traffic between stable and canary deployments (pattern: .*\${.*}.*)
           - `config`: (multiple options) (multiple options) {object}
                 - `canaryPercentage`: (multiple options) (integer) Percentage of traffic to route to the canary deployment | (string) A string containing one or more references that resolve to percentage of traffic to route to the canary deployment (pattern: .*\${.*}.*)
                 - `stablePercentage`: (multiple options) (integer) Percentage of traffic to route to the stable deployment | (string) A string containing one or more references that resolve to percentage of traffic to route to the stable deployment (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to configuration for the selected canary strategy (pattern: .*\${.*}.*) | (multiple options) {object}
                 - `canaryHeader`: {object}
                   - `headerName`: (multiple options) (string) HTTP header name used to identify requests that should be routed to the target deployment (min length: 1) | (string) A string containing one or more references that resolve to hTTP header name used to identify requests that should be routed to the target deployment (pattern: .*\${.*}.*)
                   - `headerValue`: (multiple options) (string) HTTP header value that routes matching requests to the target deployment (min length: 1) | (string) A string containing one or more references that resolve to hTTP header value that routes matching requests to the target deployment (pattern: .*\${.*}.*)
                 - `stableHeader`: {object}
                   - `headerName`: (multiple options) (string) HTTP header name used to identify requests that should be routed to the target deployment (min length: 1) | (string) A string containing one or more references that resolve to hTTP header name used to identify requests that should be routed to the target deployment (pattern: .*\${.*}.*)
                   - `headerValue`: (multiple options) (string) HTTP header value that routes matching requests to the target deployment (min length: 1) | (string) A string containing one or more references that resolve to hTTP header value that routes matching requests to the target deployment (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to configuration for the selected canary strategy (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to strategy-specific configuration details (pattern: .*\${.*}.*)
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: BYOCCluster)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) The name of the cluster. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 20) | (string) A string containing one or more references that resolve to the name of the cluster. (pattern: .*\${.*}.*)
     - `description`: (string) The description of the cluster. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
     - `kubernetesVersion`: (multiple options) (string) Deprecated: This field is no longer used, the version is now set by the platform. | (string) A string containing one or more references that resolve to deprecated: This field is no longer used, the version is now set by the platform. (pattern: .*\${.*}.*)
     - `nodePools`: (multiple options) [array of] {object}
           - `id`: (string) (required) ID of existing node pool. Must be passed when modifying existing node pools. Not relevant for new node pools (pattern: (^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)|(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89ABab][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$)) (min length: 3) (max length: 63)
           - `nodeType`: (multiple options) (string) Machine type to be used by the node pool. | (string) A string containing one or more references that resolve to machine type to be used by the node pool. (pattern: .*\${.*}.*)
           - `oci`: {object}
             - `ocpu`: (integer) (required)
             - `memory`: (integer) (required)
           - `gcp`: {object}
             - `enablePrivateNodes`: (boolean) Set this flag to disable public IP assignment for nodes in this node pool.
           - `azure`: {object}
             - `systemPool`: (boolean) When 'provider' is 'azure', at least one system node pool is required per cluster.
             - `enablePublicNodeIp`: (boolean) When 'provider' is 'azure', set this flag to use public node IPs.
             - `vnetSubnetId`: (multiple options) (string) ID of the vnet subnet to use. | (string) A string containing one or more references that resolve to iD of the vnet subnet to use. (pattern: .*\${.*}.*)
           - `aws`: {object}
             - `launchTemplate`: {object}
               - `id`: (multiple options) (string) ID of the launch template to use. | (string) A string containing one or more references that resolve to iD of the launch template to use. (pattern: .*\${.*}.*)
               - `version`: (multiple options) (integer) Version of the launch template that should be used. | (string) A string containing one or more references that resolve to version of the launch template that should be used. (pattern: .*\${.*}.*)
           - `nebius`: {object}
             - `enablePublicNodeIps`: (boolean) Set this flag to assign public IPs to nodes in this node pool.
             - `osVersion`: (string) OS image version for nodes in this node pool.
             - `gpuDriverVersion`: (string) GPU driver version for nodes in this node pool.
             - `gpuClusterId`: (string) Nebius GPU cluster to attach the node pool to.
           - `nodeCount`: (multiple options) (integer) Number of nodes to the node pool should be provisioned with. | (string) A string containing one or more references that resolve to number of nodes to the node pool should be provisioned with. (pattern: .*\${.*}.*)
           - `autoscaling`: {object}
             - `enabled`: (multiple options) (boolean) Whether autoscaling is enabled for the node pool. | (string) A string containing one or more references that resolve to whether autoscaling is enabled for the node pool. (pattern: .*\${.*}.*)
             - `min`: (multiple options) (integer) The minimum number of nodes the node pool can be scaled down to. | (string) A string containing one or more references that resolve to the minimum number of nodes the node pool can be scaled down to. (pattern: .*\${.*}.*)
             - `max`: (multiple options) (integer) The maximum number of nodes the node pool can be scaled up to. | (string) A string containing one or more references that resolve to the maximum number of nodes the node pool can be scaled up to. (pattern: .*\${.*}.*)
           - `computeResources`: {object}
             - `gpu`: {object}
               - `timeslicing`: {object}
                 - `enabled`: (boolean) Whether or not to enable time-slicing on the GPU.
                 - `numSlices`: (number) Sets the amount of slices per GPU, e.g. how many pods may be scheduled concurrently on each GPU. (format: float)
           - `preemptible`: (boolean) Configures node pool with preemptible / spot instances if enabled.
           - `diskType`: (multiple options) (string) The disk type to use. | (string) A string containing one or more references that resolve to the disk type to use. (pattern: .*\${.*}.*)
           - `diskSize`: (multiple options) (integer) Disk size in GB | (string) A string containing one or more references that resolve to disk size in GB (pattern: .*\${.*}.*)
           - `availabilityZones`: [array of] (multiple options) (string) | (string) (pattern: .*\${.*}.*)
           - `subnets`: [array of] (multiple options) (string) | (string) (pattern: .*\${.*}.*)
           - `scheduling`: {object}
             - `allowJobs`: (boolean) Allow jobs to schedule to this node pool
             - `onlyGpuJobs`: (boolean) Restrict job scheduling to jobs which have GPU resources configured. Only relevant for GPU node pools.
             - `allowServices`: (boolean) Allow services to schedule to this node pool
             - `onlyGpuServices`: (boolean) Restrict service scheduling to services which have GPU resources configured. Only relevant for GPU node pools.
             - `allowAddons`: (boolean) Allow addons to schedule to this node pool
             - `allowBuilds`: (boolean) Allow builds to schedule to this node pool
             - `onlyGpuBuilds`: (boolean) Restrict build scheduling to builds which have GPU resources configured. Only relevant for GPU node pools.
             - `allowCeph`: (boolean) Allow the placement of Ceph pods
           - `labels`: {object} | [array of] {object}
           - `id`: (string) (required) ID of the node pool. Must be passed when modifying existing node pools. Not relevant for new node pools (pattern: (^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)|(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89ABab][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$)) (min length: 3) (max length: 63)
           - `providerId`: (string) (required) ID which identifies kubernetes nodes as belonging to this pool. (pattern: (^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)|(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89ABab][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$)) (min length: 3) (max length: 63)
           - `computeResources`: {object}
             - `gpu`: {object}
               - `supported`: (boolean) Whether this node pool consists of GPU nodes .
               - `type`: (string) GPU type associated with the node pool. (pattern: [a-z0-9])
               - `resources`: {object}
                 - `memoryInfo`: {object}
                   - `sizeInGiB`: (number) Memory amount of the GPU in Gib. (format: float)
               - `mig`: {object}
                 - `enabled`: (boolean) Whether or not to enable Multi-Instance GPU (MIG).
                 - `partitions`: [array of] (string)
               - `timeslicing`: {object}
                 - `enabled`: (boolean) Whether or not to enable time-slicing on the GPU.
                 - `numSlices`: (number) Sets the amount of slices per GPU, e.g. how many pods may be scheduled concurrently on each GPU. (format: float)
               - `count`: (integer) Number of GPUs per node.
           - `defaultPool`: (boolean) Fallback pool to which nodes which do not match any defined node pool are assigned. Exactly one default pool is required.
           - `preemptible`: (boolean) Configures node pool with preemptible / spot instances if enabled.
           - `scheduling`: {object}
             - `allowJobs`: (boolean) Allow jobs to schedule to this node pool
             - `onlyGpuJobs`: (boolean) Restrict job scheduling to jobs which have GPU resources configured. Only relevant for GPU node pools.
             - `allowServices`: (boolean) Allow services to schedule to this node pool
             - `onlyGpuServices`: (boolean) Restrict service scheduling to services which have GPU resources configured. Only relevant for GPU node pools.
             - `allowAddons`: (boolean) Allow addons to schedule to this node pool
             - `allowBuilds`: (boolean) Allow builds to schedule to this node pool
             - `onlyGpuBuilds`: (boolean) Restrict build scheduling to builds which have GPU resources configured. Only relevant for GPU node pools.
             - `allowCeph`: (boolean) Allow the placement of Ceph pods
           - `platform`: {object}
             - `architecture`: (string) Platform architecture of the underlying node type. (enum: amd64, arm64)
           - `labels`: {object}
     - `settings`: {object}
       - `builds`: {object}
         - `mode`: (multiple options) (string) Determines where builds are run: on Northflank infrastructure (paas), on this cluster (internal) or on a dedicated build cluster (build-cluster). (enum: paas, internal, build-cluster) | (string) A string containing one or more references that resolve to determines where builds are run: on Northflank infrastructure (paas), on this cluster (internal) or on a dedicated build cluster (build-cluster). (pattern: .*\${.*}.*)
         - `plan`: (multiple options) (string) Plan to use for builds if they are run on the cluster (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to plan to use for builds if they are run on the cluster (pattern: .*\${.*}.*)
         - `clusterId`: (multiple options) (string) Cluster to use for scheduling builds (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to cluster to use for scheduling builds (pattern: .*\${.*}.*)
         - `caching`: {object}
           - `allow`: (boolean) Whether to allow local disk based caching for builds.
           - `storageClassName`: (string) Storage class used by default for local disk based caching.
       - `registry`: {object}
         - `mode`: (multiple options) (string) Determines where built images are stored: in the Northflank registry (paas) or in a self-hosted registry. (enum: paas, self-hosted) | (string) A string containing one or more references that resolve to determines where built images are stored: in the Northflank registry (paas) or in a self-hosted registry. (pattern: .*\${.*}.*)
         - `registryId`: (multiple options) (string) Credentials to use for storing of images. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to credentials to use for storing of images. (pattern: .*\${.*}.*)
       - `logging`: (multiple options) {object}
           - `mode`: (multiple options) (string) The logging mode. `paas` stores logs on Northflank infrastructure. (enum: paas) | (string) A string containing one or more references that resolve to the logging mode. `paas` stores logs on Northflank infrastructure. (pattern: .*\${.*}.*) | {object}
           - `mode`: (multiple options) (string) The logging mode. `loki` stores logs in your own storage via Loki. (enum: loki) | (string) A string containing one or more references that resolve to the logging mode. `loki` stores logs in your own storage via Loki. (pattern: .*\${.*}.*)
           - `loki`: {object}
             - `storageType`: (string) (required) (enum: s3)
             - `s3BucketName`: (multiple options) (string) Name of the S3 bucket used for Loki log storage. | (string) A string containing one or more references that resolve to name of the S3 bucket used for Loki log storage. (pattern: .*\${.*}.*)
             - `s3AccessKey`: (multiple options) (string) Access key for the S3 bucket used for Loki log storage. | (string) A string containing one or more references that resolve to access key for the S3 bucket used for Loki log storage. (pattern: .*\${.*}.*)
             - `s3SecretKey`: (multiple options) (string) Secret key for the S3 bucket used for Loki log storage. | (string) A string containing one or more references that resolve to secret key for the S3 bucket used for Loki log storage. (pattern: .*\${.*}.*)
             - `s3Region`: (multiple options) (string) Region of the S3 bucket used for Loki log storage. | (string) A string containing one or more references that resolve to region of the S3 bucket used for Loki log storage. (pattern: .*\${.*}.*) | {object}
           - `mode`: (multiple options) (string) The logging mode. `loki` stores logs in your own storage via Loki. (enum: loki) | (string) A string containing one or more references that resolve to the logging mode. `loki` stores logs in your own storage via Loki. (pattern: .*\${.*}.*)
           - `loki`: {object}
             - `storageType`: (string) (required) (enum: gcs)
             - `gcsBucketName`: (multiple options) (string) Name of the GCS bucket used for Loki log storage. | (string) A string containing one or more references that resolve to name of the GCS bucket used for Loki log storage. (pattern: .*\${.*}.*)
             - `gcpIntegrationId`: (multiple options) (string) ID of the GCP integration used to access the GCS bucket. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to iD of the GCP integration used to access the GCS bucket. (pattern: .*\${.*}.*)
       - `networking`: {object}
         - `overlayNetwork`: (boolean) Whether overlay networking is enabled for this cluster.
         - `overlayCIDR`: (string) CIDR range for the overlay network. (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$)
       - `vanityDomains`: {object}
         - `apps`: {object}
           - `zoneName`: (string) (required)
           - `integrationId`: (string) (required)
         - `customDomains`: {object}
           - `zoneName`: (string) (required)
           - `integrationId`: (string) (required)
         - `loadBalancers`: {object}
           - `zoneName`: (string) (required)
           - `integrationId`: (string) (required)
       - `infrastructure`: {object}
         - `workloads`: {object}
           - `runtimeClass`: (multiple options) (string) Defines which runtime scheduling constraints apply for workloads (enum: none, gvisor, kata-clh, kata-qemu) | (string) A string containing one or more references that resolve to defines which runtime scheduling constraints apply for workloads (pattern: .*\${.*}.*)
         - `builds`: {object}
           - `runtimeClass`: (multiple options) (string) Defines which runtime scheduling constraints apply for builds (enum: none, gvisor, kata-clh, kata-qemu) | (string) A string containing one or more references that resolve to defines which runtime scheduling constraints apply for builds (pattern: .*\${.*}.*)
         - `sandboxing`: {object}
           - `installGvisor`: (boolean)
           - `installMicroVm`: (boolean)
           - `defaultSandbox`: {object}
             - `builds`: (multiple options) (string) Default runtime class used for builds if none is configured (enum: none, gvisor, kata-clh, kata-qemu) | (string) A string containing one or more references that resolve to default runtime class used for builds if none is configured (pattern: .*\${.*}.*)
             - `jobs`: (multiple options) (string) Default runtime class used for jobs if none is configured (enum: none, gvisor, kata-clh, kata-qemu) | (string) A string containing one or more references that resolve to default runtime class used for jobs if none is configured (pattern: .*\${.*}.*)
             - `services`: (multiple options) (string) Default runtime class used for services if none is configured (enum: none, gvisor, kata-clh, kata-qemu) | (string) A string containing one or more references that resolve to default runtime class used for services if none is configured (pattern: .*\${.*}.*)
             - `addons`: (multiple options) (string) Default runtime class used for addons if none is configured (enum: none, gvisor, kata-clh, kata-qemu) | (string) A string containing one or more references that resolve to default runtime class used for addons if none is configured (pattern: .*\${.*}.*)
         - `installKata`: (boolean) DEPRECATED: This field will be removed in the near future.
         - `installGvisor`: (boolean) DEPRECATED: This field will be removed in the near future.
         - `cleanupVolumes`: (boolean)
         - `cleanupSnapshots`: (boolean)
         - `cephStorageProvider`: {object}
           - `enabled`: (boolean)
           - `resources`: {object}
             - `cpu`: (number) Configure the CPU resources per Ceph replica (format: float)
             - `memory`: (number) Configure the memory resources per Ceph replica (format: float)
             - `storage`: (number) Configure the data disk size per Ceph replica (format: float)
           - `enableMultiReadWriteStorage`: (boolean) Configure Ceph to be enable use of multi read write storage for persistent volumes on the cluster.
           - `enableSingleReadWriteStorage`: (boolean) Configure Ceph to be used as default storage class for single read write storage. This will replace the default storage of the cloud provider.
           - `enableErasureCoding`: (boolean) Configure Ceph to be set up with erasure coding. This will be less fault tolerant but more cost effective.
           - `enableTopologyAwareScheduling`: (boolean) Configure Ceph to be set up with topology aware scheduling, enforcing deployment across multiple zones.
       - `requestModifiers`: {object}
         - `services`: {object}
           - `cpu`: (number) (required) (format: float)
           - `memory`: (number) (required) (format: float)
         - `jobs`: {object}
           - `cpu`: (number) (required) (format: float)
           - `memory`: (number) (required) (format: float)
         - `builds`: {object}
           - `cpu`: (number) (required) (format: float)
           - `memory`: (number) (required) (format: float)
         - `addons`: {object}
           - `cpu`: (number) (required) (format: float)
           - `memory`: (number) (required) (format: float)
     - `restrictions`: {object}
       - `enabled`: (boolean) (required) Enable or disable BYOC restrictions for this entity
       - `teams`: [array of] {object}
           - `teamId`: (string) (required) The ID of the team that has access to this BYOC cluster (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 45)
     - `gcp`: {object}
       - `networking`: {object}
         - `network`: (multiple options) (string) Name of the GCP network the cluster should be created in. By default a new network will be created. | (string) A string containing one or more references that resolve to name of the GCP network the cluster should be created in. By default a new network will be created. (pattern: .*\${.*}.*)
         - `subnetwork`: (multiple options) (string) Name of the GCP subnetwork the cluster should be created in. By default a new subnetwork will be created. | (string) A string containing one or more references that resolve to name of the GCP subnetwork the cluster should be created in. By default a new subnetwork will be created. (pattern: .*\${.*}.*)
       - `enableAuthorizedIpRanges`: (multiple options) (boolean) Whether access to the Kubernetes API server should be restricted to authorized IP ranges. | (string) A string containing one or more references that resolve to whether access to the Kubernetes API server should be restricted to authorized IP ranges. (pattern: .*\${.*}.*)
       - `authorizedIpRanges`: (multiple options) [array of] (string) (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$) | (string) A string containing one or more references that resolve to iP ranges that are authorized to access the Kubernetes API server. (pattern: .*\${.*}.*)
       - `projectId`: (multiple options) (string) GCP Project ID (pattern: ^[a-z][a-z0-9-]{4,28}[a-z0-9]$) | (string) A string containing one or more references that resolve to gCP Project ID (pattern: .*\${.*}.*)
     - `aws`: {object}
       - `enablePublicAccessCidrs`: (multiple options) (boolean) Whether access to the public Kubernetes API endpoint should be restricted to specific CIDR ranges. | (string) A string containing one or more references that resolve to whether access to the public Kubernetes API endpoint should be restricted to specific CIDR ranges. (pattern: .*\${.*}.*)
       - `publicAccessCidrs`: (multiple options) [array of] (string) (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$) | (string) A string containing one or more references that resolve to cIDR ranges that are allowed to access the public Kubernetes API endpoint. (pattern: .*\${.*}.*)
       - `subnetConfiguration`: {object}
         - `mode`: (multiple options) (string) The mode of the AWS subnet configuration (enum: default-subnets-for-azs, explicit-subnets) | (string) A string containing one or more references that resolve to the mode of the AWS subnet configuration (pattern: .*\${.*}.*)
         - `vpcId`: (multiple options) (string) Id of the VPC | (string) A string containing one or more references that resolve to id of the VPC (pattern: .*\${.*}.*)
         - `subnets`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to list of subnets the cluster should be created for. At least 2 must be specified. (pattern: .*\${.*}.*)
       - `vpcEgress`: (multiple options) (boolean) If egress traffic from the cluster should come from a single static egress IP. | (string) A string containing one or more references that resolve to if egress traffic from the cluster should come from a single static egress IP. (pattern: .*\${.*}.*)
     - `azure`: {object}
       - `networking`: {object}
         - `vnetConfiguration`: {object}
           - `mode`: (multiple options) (string) The vnet mode to use for this cluster. Use this to switch between creation of a new vnet per cluster or specifying a custom vnet. (enum: create-default, custom-vnet) | (string) A string containing one or more references that resolve to the vnet mode to use for this cluster. Use this to switch between creation of a new vnet per cluster or specifying a custom vnet. (pattern: .*\${.*}.*)
           - `vnetId`: (multiple options) (string) Azure vnetId that should be used for this cluster. By default a new vnet will be created. | (string) A string containing one or more references that resolve to azure vnetId that should be used for this cluster. By default a new vnet will be created. (pattern: .*\${.*}.*)
         - `networkPluginMode`: (multiple options) (string) Optional setting to configure overlay mode on Azure. (enum: overlay) | (string) A string containing one or more references that resolve to optional setting to configure overlay mode on Azure. (pattern: .*\${.*}.*)
       - `enableAuthorizedIpRanges`: (multiple options) (boolean) Whether access to the Kubernetes API server should be restricted to authorized IP ranges. | (string) A string containing one or more references that resolve to whether access to the Kubernetes API server should be restricted to authorized IP ranges. (pattern: .*\${.*}.*)
       - `authorizedIpRanges`: (multiple options) [array of] (string) (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$) | (string) A string containing one or more references that resolve to iP ranges that are authorized to access the Kubernetes API server. (pattern: .*\${.*}.*)
     - `byok`: {object}
       - `nodePoolProviderIdLabel`: (multiple options) (string) The node label used to identify which provider node pool a node belongs to. | (string) A string containing one or more references that resolve to the node label used to identify which provider node pool a node belongs to. (pattern: .*\${.*}.*)
     - `coordinates`: {object}
       - `latitude`: (number) (required) (format: float)
       - `longitude`: (number) (required) (format: float)
     - `region`: (multiple options) (string) Region of the cluster. Can only be updated for BYOK clusters. | (string) A string containing one or more references that resolve to region of the cluster. Can only be updated for BYOK clusters. (pattern: .*\${.*}.*)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: BYOCCluster)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) The name of the cluster. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 20) | (string) A string containing one or more references that resolve to the name of the cluster. (pattern: .*\${.*}.*)
     - `description`: (string) The description of the cluster. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
     - `provider`: (multiple options) (string) Cloud provider to be used for the selected resource (enum: aws, azure, civo, gcp, oci, cloudflare, coreweave, nebius, aiven, backblaze, akamai, byok) | (string) A string containing one or more references that resolve to cloud provider to be used for the selected resource (pattern: .*\${.*}.*)
     - `region`: (string) Region of the cluster. Can only be updated for BYOK clusters.
     - `kubernetesVersion`: (multiple options) (string) Deprecated: This field is no longer used, the version is now set by the platform. | (string) A string containing one or more references that resolve to deprecated: This field is no longer used, the version is now set by the platform. (pattern: .*\${.*}.*)
     - `integrationId`: (multiple options) (string) Existing integration to use for this cluster. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to existing integration to use for this cluster. (pattern: .*\${.*}.*)
     - `storage`: {object}
       - `storageClasses`: [array of] {object}
           - `id`: (string) (required)
           - `name`: (string) (required)
           - `description`: (string)
           - `type`: (string) (enum: storage-class, snapshot-class)
           - `kubernetesName`: (string) (required)
           - `defaultSnapshotClass`: (string)
           - `options`: {object}
             - `capabilities`: {object}
               - `expansion`: (boolean) Increasing volume size after provisioning.
               - `snapshot`: (boolean) Point in time snapshotting of volumes.
             - `accessModes`: {object}
               - `ReadWriteOnce`: (boolean) Access mode where a volume is exclusively attached to a single pod at a time.
               - `ReadWriteMany`: (boolean) Access mode where a volume can be attached to multiple single pods at a time for read and write operations.
             - `storageSize`: {object}
               - `minValidSize`: (integer) Enforces a minimum storage size per addon or volume.
               - `maxValidSize`: (integer) Enforces a maximum storage size per addon or volume.
               - `suggestedOptions`: [array of] (integer)
             - `platform`: {object}
               - `supportedResources`: [array of] (string) (enum: addon, volume, build-cache)
       - `snapshotClasses`: [array of] {object}
           - `id`: (string) (required)
           - `name`: (string) (required)
           - `description`: (string)
           - `kubernetesName`: (string) (required)
     - `nodePools`: (multiple options) [array of] {object}
           - `id`: (string) (required) ID of existing node pool. Must be passed when modifying existing node pools. Not relevant for new node pools (pattern: (^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)|(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89ABab][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$)) (min length: 3) (max length: 63)
           - `nodeType`: (multiple options) (string) Machine type to be used by the node pool. | (string) A string containing one or more references that resolve to machine type to be used by the node pool. (pattern: .*\${.*}.*)
           - `oci`: {object}
             - `ocpu`: (integer) (required)
             - `memory`: (integer) (required)
           - `gcp`: {object}
             - `enablePrivateNodes`: (boolean) Set this flag to disable public IP assignment for nodes in this node pool.
           - `azure`: {object}
             - `systemPool`: (boolean) When 'provider' is 'azure', at least one system node pool is required per cluster.
             - `enablePublicNodeIp`: (boolean) When 'provider' is 'azure', set this flag to use public node IPs.
             - `vnetSubnetId`: (multiple options) (string) ID of the vnet subnet to use. | (string) A string containing one or more references that resolve to iD of the vnet subnet to use. (pattern: .*\${.*}.*)
           - `aws`: {object}
             - `launchTemplate`: {object}
               - `id`: (multiple options) (string) ID of the launch template to use. | (string) A string containing one or more references that resolve to iD of the launch template to use. (pattern: .*\${.*}.*)
               - `version`: (multiple options) (integer) Version of the launch template that should be used. | (string) A string containing one or more references that resolve to version of the launch template that should be used. (pattern: .*\${.*}.*)
           - `nebius`: {object}
             - `enablePublicNodeIps`: (boolean) Set this flag to assign public IPs to nodes in this node pool.
             - `osVersion`: (string) OS image version for nodes in this node pool.
             - `gpuDriverVersion`: (string) GPU driver version for nodes in this node pool.
             - `gpuClusterId`: (string) Nebius GPU cluster to attach the node pool to.
           - `nodeCount`: (multiple options) (integer) Number of nodes to the node pool should be provisioned with. | (string) A string containing one or more references that resolve to number of nodes to the node pool should be provisioned with. (pattern: .*\${.*}.*)
           - `autoscaling`: {object}
             - `enabled`: (multiple options) (boolean) Whether autoscaling is enabled for the node pool. | (string) A string containing one or more references that resolve to whether autoscaling is enabled for the node pool. (pattern: .*\${.*}.*)
             - `min`: (multiple options) (integer) The minimum number of nodes the node pool can be scaled down to. | (string) A string containing one or more references that resolve to the minimum number of nodes the node pool can be scaled down to. (pattern: .*\${.*}.*)
             - `max`: (multiple options) (integer) The maximum number of nodes the node pool can be scaled up to. | (string) A string containing one or more references that resolve to the maximum number of nodes the node pool can be scaled up to. (pattern: .*\${.*}.*)
           - `computeResources`: {object}
             - `gpu`: {object}
               - `timeslicing`: {object}
                 - `enabled`: (boolean) Whether or not to enable time-slicing on the GPU.
                 - `numSlices`: (number) Sets the amount of slices per GPU, e.g. how many pods may be scheduled concurrently on each GPU. (format: float)
           - `preemptible`: (boolean) Configures node pool with preemptible / spot instances if enabled.
           - `diskType`: (multiple options) (string) The disk type to use. | (string) A string containing one or more references that resolve to the disk type to use. (pattern: .*\${.*}.*)
           - `diskSize`: (multiple options) (integer) Disk size in GB | (string) A string containing one or more references that resolve to disk size in GB (pattern: .*\${.*}.*)
           - `availabilityZones`: [array of] (multiple options) (string) | (string) (pattern: .*\${.*}.*)
           - `subnets`: [array of] (multiple options) (string) | (string) (pattern: .*\${.*}.*)
           - `scheduling`: {object}
             - `allowJobs`: (boolean) Allow jobs to schedule to this node pool
             - `onlyGpuJobs`: (boolean) Restrict job scheduling to jobs which have GPU resources configured. Only relevant for GPU node pools.
             - `allowServices`: (boolean) Allow services to schedule to this node pool
             - `onlyGpuServices`: (boolean) Restrict service scheduling to services which have GPU resources configured. Only relevant for GPU node pools.
             - `allowAddons`: (boolean) Allow addons to schedule to this node pool
             - `allowBuilds`: (boolean) Allow builds to schedule to this node pool
             - `onlyGpuBuilds`: (boolean) Restrict build scheduling to builds which have GPU resources configured. Only relevant for GPU node pools.
             - `allowCeph`: (boolean) Allow the placement of Ceph pods
           - `labels`: {object} | [array of] {object}
           - `id`: (string) (required) ID of the node pool. Must be passed when modifying existing node pools. Not relevant for new node pools (pattern: (^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)|(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89ABab][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$)) (min length: 3) (max length: 63)
           - `providerId`: (string) (required) ID which identifies kubernetes nodes as belonging to this pool. (pattern: (^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)|(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89ABab][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$)) (min length: 3) (max length: 63)
           - `computeResources`: {object}
             - `gpu`: {object}
               - `supported`: (boolean) Whether this node pool consists of GPU nodes .
               - `type`: (string) GPU type associated with the node pool. (pattern: [a-z0-9])
               - `resources`: {object}
                 - `memoryInfo`: {object}
                   - `sizeInGiB`: (number) Memory amount of the GPU in Gib. (format: float)
               - `mig`: {object}
                 - `enabled`: (boolean) Whether or not to enable Multi-Instance GPU (MIG).
                 - `partitions`: [array of] (string)
               - `timeslicing`: {object}
                 - `enabled`: (boolean) Whether or not to enable time-slicing on the GPU.
                 - `numSlices`: (number) Sets the amount of slices per GPU, e.g. how many pods may be scheduled concurrently on each GPU. (format: float)
               - `count`: (integer) Number of GPUs per node.
           - `defaultPool`: (boolean) Fallback pool to which nodes which do not match any defined node pool are assigned. Exactly one default pool is required.
           - `preemptible`: (boolean) Configures node pool with preemptible / spot instances if enabled.
           - `scheduling`: {object}
             - `allowJobs`: (boolean) Allow jobs to schedule to this node pool
             - `onlyGpuJobs`: (boolean) Restrict job scheduling to jobs which have GPU resources configured. Only relevant for GPU node pools.
             - `allowServices`: (boolean) Allow services to schedule to this node pool
             - `onlyGpuServices`: (boolean) Restrict service scheduling to services which have GPU resources configured. Only relevant for GPU node pools.
             - `allowAddons`: (boolean) Allow addons to schedule to this node pool
             - `allowBuilds`: (boolean) Allow builds to schedule to this node pool
             - `onlyGpuBuilds`: (boolean) Restrict build scheduling to builds which have GPU resources configured. Only relevant for GPU node pools.
             - `allowCeph`: (boolean) Allow the placement of Ceph pods
           - `platform`: {object}
             - `architecture`: (string) Platform architecture of the underlying node type. (enum: amd64, arm64)
           - `labels`: {object}
     - `settings`: {object}
       - `builds`: {object}
         - `mode`: (multiple options) (string) Determines where builds are run: on Northflank infrastructure (paas), on this cluster (internal) or on a dedicated build cluster (build-cluster). (enum: paas, internal, build-cluster) | (string) A string containing one or more references that resolve to determines where builds are run: on Northflank infrastructure (paas), on this cluster (internal) or on a dedicated build cluster (build-cluster). (pattern: .*\${.*}.*)
         - `plan`: (multiple options) (string) Plan to use for builds if they are run on the cluster (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to plan to use for builds if they are run on the cluster (pattern: .*\${.*}.*)
         - `clusterId`: (multiple options) (string) Cluster to use for scheduling builds (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to cluster to use for scheduling builds (pattern: .*\${.*}.*)
         - `caching`: {object}
           - `allow`: (boolean) Whether to allow local disk based caching for builds.
           - `storageClassName`: (string) Storage class used by default for local disk based caching.
       - `registry`: {object}
         - `mode`: (multiple options) (string) Determines where built images are stored: in the Northflank registry (paas) or in a self-hosted registry. (enum: paas, self-hosted) | (string) A string containing one or more references that resolve to determines where built images are stored: in the Northflank registry (paas) or in a self-hosted registry. (pattern: .*\${.*}.*)
         - `registryId`: (multiple options) (string) Credentials to use for storing of images. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to credentials to use for storing of images. (pattern: .*\${.*}.*)
       - `logging`: (multiple options) {object}
           - `mode`: (multiple options) (string) The logging mode. `paas` stores logs on Northflank infrastructure. (enum: paas) | (string) A string containing one or more references that resolve to the logging mode. `paas` stores logs on Northflank infrastructure. (pattern: .*\${.*}.*) | {object}
           - `mode`: (multiple options) (string) The logging mode. `loki` stores logs in your own storage via Loki. (enum: loki) | (string) A string containing one or more references that resolve to the logging mode. `loki` stores logs in your own storage via Loki. (pattern: .*\${.*}.*)
           - `loki`: {object}
             - `storageType`: (string) (required) (enum: s3)
             - `s3BucketName`: (multiple options) (string) Name of the S3 bucket used for Loki log storage. | (string) A string containing one or more references that resolve to name of the S3 bucket used for Loki log storage. (pattern: .*\${.*}.*)
             - `s3AccessKey`: (multiple options) (string) Access key for the S3 bucket used for Loki log storage. | (string) A string containing one or more references that resolve to access key for the S3 bucket used for Loki log storage. (pattern: .*\${.*}.*)
             - `s3SecretKey`: (multiple options) (string) Secret key for the S3 bucket used for Loki log storage. | (string) A string containing one or more references that resolve to secret key for the S3 bucket used for Loki log storage. (pattern: .*\${.*}.*)
             - `s3Region`: (multiple options) (string) Region of the S3 bucket used for Loki log storage. | (string) A string containing one or more references that resolve to region of the S3 bucket used for Loki log storage. (pattern: .*\${.*}.*) | {object}
           - `mode`: (multiple options) (string) The logging mode. `loki` stores logs in your own storage via Loki. (enum: loki) | (string) A string containing one or more references that resolve to the logging mode. `loki` stores logs in your own storage via Loki. (pattern: .*\${.*}.*)
           - `loki`: {object}
             - `storageType`: (string) (required) (enum: gcs)
             - `gcsBucketName`: (multiple options) (string) Name of the GCS bucket used for Loki log storage. | (string) A string containing one or more references that resolve to name of the GCS bucket used for Loki log storage. (pattern: .*\${.*}.*)
             - `gcpIntegrationId`: (multiple options) (string) ID of the GCP integration used to access the GCS bucket. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to iD of the GCP integration used to access the GCS bucket. (pattern: .*\${.*}.*)
       - `networking`: {object}
         - `overlayNetwork`: (boolean) Whether overlay networking is enabled for this cluster.
         - `overlayCIDR`: (string) CIDR range for the overlay network. (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$)
       - `vanityDomains`: {object}
         - `apps`: {object}
           - `zoneName`: (string) (required)
           - `integrationId`: (string) (required)
         - `customDomains`: {object}
           - `zoneName`: (string) (required)
           - `integrationId`: (string) (required)
         - `loadBalancers`: {object}
           - `zoneName`: (string) (required)
           - `integrationId`: (string) (required)
       - `infrastructure`: {object}
         - `workloads`: {object}
           - `runtimeClass`: (multiple options) (string) Defines which runtime scheduling constraints apply for workloads (enum: none, gvisor, kata-clh, kata-qemu) | (string) A string containing one or more references that resolve to defines which runtime scheduling constraints apply for workloads (pattern: .*\${.*}.*)
         - `builds`: {object}
           - `runtimeClass`: (multiple options) (string) Defines which runtime scheduling constraints apply for builds (enum: none, gvisor, kata-clh, kata-qemu) | (string) A string containing one or more references that resolve to defines which runtime scheduling constraints apply for builds (pattern: .*\${.*}.*)
         - `sandboxing`: {object}
           - `installGvisor`: (boolean)
           - `installMicroVm`: (boolean)
           - `defaultSandbox`: {object}
             - `builds`: (multiple options) (string) Default runtime class used for builds if none is configured (enum: none, gvisor, kata-clh, kata-qemu) | (string) A string containing one or more references that resolve to default runtime class used for builds if none is configured (pattern: .*\${.*}.*)
             - `jobs`: (multiple options) (string) Default runtime class used for jobs if none is configured (enum: none, gvisor, kata-clh, kata-qemu) | (string) A string containing one or more references that resolve to default runtime class used for jobs if none is configured (pattern: .*\${.*}.*)
             - `services`: (multiple options) (string) Default runtime class used for services if none is configured (enum: none, gvisor, kata-clh, kata-qemu) | (string) A string containing one or more references that resolve to default runtime class used for services if none is configured (pattern: .*\${.*}.*)
             - `addons`: (multiple options) (string) Default runtime class used for addons if none is configured (enum: none, gvisor, kata-clh, kata-qemu) | (string) A string containing one or more references that resolve to default runtime class used for addons if none is configured (pattern: .*\${.*}.*)
         - `installKata`: (boolean) DEPRECATED: This field will be removed in the near future.
         - `installGvisor`: (boolean) DEPRECATED: This field will be removed in the near future.
         - `cleanupVolumes`: (boolean)
         - `cleanupSnapshots`: (boolean)
         - `cephStorageProvider`: {object}
           - `enabled`: (boolean)
           - `resources`: {object}
             - `cpu`: (number) Configure the CPU resources per Ceph replica (format: float)
             - `memory`: (number) Configure the memory resources per Ceph replica (format: float)
             - `storage`: (number) Configure the data disk size per Ceph replica (format: float)
           - `enableMultiReadWriteStorage`: (boolean) Configure Ceph to be enable use of multi read write storage for persistent volumes on the cluster.
           - `enableSingleReadWriteStorage`: (boolean) Configure Ceph to be used as default storage class for single read write storage. This will replace the default storage of the cloud provider.
           - `enableErasureCoding`: (boolean) Configure Ceph to be set up with erasure coding. This will be less fault tolerant but more cost effective.
           - `enableTopologyAwareScheduling`: (boolean) Configure Ceph to be set up with topology aware scheduling, enforcing deployment across multiple zones.
       - `requestModifiers`: {object}
         - `services`: {object}
           - `cpu`: (number) (required) (format: float)
           - `memory`: (number) (required) (format: float)
         - `jobs`: {object}
           - `cpu`: (number) (required) (format: float)
           - `memory`: (number) (required) (format: float)
         - `builds`: {object}
           - `cpu`: (number) (required) (format: float)
           - `memory`: (number) (required) (format: float)
         - `addons`: {object}
           - `cpu`: (number) (required) (format: float)
           - `memory`: (number) (required) (format: float)
     - `restrictions`: {object}
       - `enabled`: (boolean) (required) Enable or disable BYOC restrictions for this entity
       - `teams`: [array of] {object}
           - `teamId`: (string) (required) The ID of the team that has access to this BYOC cluster (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 45)
     - `gcp`: {object}
       - `networking`: {object}
         - `network`: (multiple options) (string) Name of the GCP network the cluster should be created in. By default a new network will be created. | (string) A string containing one or more references that resolve to name of the GCP network the cluster should be created in. By default a new network will be created. (pattern: .*\${.*}.*)
         - `subnetwork`: (multiple options) (string) Name of the GCP subnetwork the cluster should be created in. By default a new subnetwork will be created. | (string) A string containing one or more references that resolve to name of the GCP subnetwork the cluster should be created in. By default a new subnetwork will be created. (pattern: .*\${.*}.*)
       - `enableAuthorizedIpRanges`: (multiple options) (boolean) Whether access to the Kubernetes API server should be restricted to authorized IP ranges. | (string) A string containing one or more references that resolve to whether access to the Kubernetes API server should be restricted to authorized IP ranges. (pattern: .*\${.*}.*)
       - `authorizedIpRanges`: (multiple options) [array of] (string) (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$) | (string) A string containing one or more references that resolve to iP ranges that are authorized to access the Kubernetes API server. (pattern: .*\${.*}.*)
       - `projectId`: (multiple options) (string) GCP Project ID (pattern: ^[a-z][a-z0-9-]{4,28}[a-z0-9]$) | (string) A string containing one or more references that resolve to gCP Project ID (pattern: .*\${.*}.*)
     - `aws`: {object}
       - `enablePublicAccessCidrs`: (multiple options) (boolean) Whether access to the public Kubernetes API endpoint should be restricted to specific CIDR ranges. | (string) A string containing one or more references that resolve to whether access to the public Kubernetes API endpoint should be restricted to specific CIDR ranges. (pattern: .*\${.*}.*)
       - `publicAccessCidrs`: (multiple options) [array of] (string) (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$) | (string) A string containing one or more references that resolve to cIDR ranges that are allowed to access the public Kubernetes API endpoint. (pattern: .*\${.*}.*)
       - `subnetConfiguration`: {object}
         - `mode`: (multiple options) (string) The mode of the AWS subnet configuration (enum: default-subnets-for-azs, explicit-subnets) | (string) A string containing one or more references that resolve to the mode of the AWS subnet configuration (pattern: .*\${.*}.*)
         - `vpcId`: (multiple options) (string) Id of the VPC | (string) A string containing one or more references that resolve to id of the VPC (pattern: .*\${.*}.*)
         - `subnets`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to list of subnets the cluster should be created for. At least 2 must be specified. (pattern: .*\${.*}.*)
       - `vpcEgress`: (multiple options) (boolean) If egress traffic from the cluster should come from a single static egress IP. | (string) A string containing one or more references that resolve to if egress traffic from the cluster should come from a single static egress IP. (pattern: .*\${.*}.*)
     - `oci`: {object}
       - `vcnConfiguration`: {object}
         - `vcnId`: (multiple options) (string) ID of the OCI VCN the cluster should be created in. | (string) A string containing one or more references that resolve to iD of the OCI VCN the cluster should be created in. (pattern: .*\${.*}.*)
         - `subnetIdForKubernetesApi`: (multiple options) (string) ID of the subnet to use for the Kubernetes API endpoint. | (string) A string containing one or more references that resolve to iD of the subnet to use for the Kubernetes API endpoint. (pattern: .*\${.*}.*)
         - `subnetIdsForServiceLBs`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to iDs of the subnets to use for service load balancers. (pattern: .*\${.*}.*)
     - `azure`: {object}
       - `networking`: {object}
         - `vnetConfiguration`: {object}
           - `mode`: (multiple options) (string) The vnet mode to use for this cluster. Use this to switch between creation of a new vnet per cluster or specifying a custom vnet. (enum: create-default, custom-vnet) | (string) A string containing one or more references that resolve to the vnet mode to use for this cluster. Use this to switch between creation of a new vnet per cluster or specifying a custom vnet. (pattern: .*\${.*}.*)
           - `vnetId`: (multiple options) (string) Azure vnetId that should be used for this cluster. By default a new vnet will be created. | (string) A string containing one or more references that resolve to azure vnetId that should be used for this cluster. By default a new vnet will be created. (pattern: .*\${.*}.*)
         - `networkPluginMode`: (multiple options) (string) Optional setting to configure overlay mode on Azure. (enum: overlay) | (string) A string containing one or more references that resolve to optional setting to configure overlay mode on Azure. (pattern: .*\${.*}.*)
       - `enableAuthorizedIpRanges`: (multiple options) (boolean) Whether access to the Kubernetes API server should be restricted to authorized IP ranges. | (string) A string containing one or more references that resolve to whether access to the Kubernetes API server should be restricted to authorized IP ranges. (pattern: .*\${.*}.*)
       - `authorizedIpRanges`: (multiple options) [array of] (string) (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$) | (string) A string containing one or more references that resolve to iP ranges that are authorized to access the Kubernetes API server. (pattern: .*\${.*}.*)
     - `coreweave`: {object}
       - `zone`: (multiple options) (string) AZ of the cluster | (string) A string containing one or more references that resolve to aZ of the cluster (pattern: .*\${.*}.*)
       - `network`: {object}
         - `networkMode`: (multiple options) (string) The network mode to use for this cluster. Use this to switch between the default network configuration and a custom VPC. (enum: create-default, custom) | (string) A string containing one or more references that resolve to the network mode to use for this cluster. Use this to switch between the default network configuration and a custom VPC. (pattern: .*\${.*}.*)
         - `vpcId`: (multiple options) (string) ID of the CoreWeave VPC to use for this cluster. | (string) A string containing one or more references that resolve to iD of the CoreWeave VPC to use for this cluster. (pattern: .*\${.*}.*)
         - `customPrefixNames`: {object}
           - `podCidrName`: (multiple options) (string) Name of the VPC prefix to use for the pod CIDR. | (string) A string containing one or more references that resolve to name of the VPC prefix to use for the pod CIDR. (pattern: .*\${.*}.*)
           - `serviceCidrName`: (multiple options) (string) Name of the VPC prefix to use for the service CIDR. | (string) A string containing one or more references that resolve to name of the VPC prefix to use for the service CIDR. (pattern: .*\${.*}.*)
           - `internalLbCidrNames`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to names of the VPC prefixes to use for internal load balancer CIDRs. (pattern: .*\${.*}.*)
     - `nebius`: {object}
       - `projectId`: (multiple options) (string) Nebius project ID to place the cluster in. | (string) A string containing one or more references that resolve to nebius project ID to place the cluster in. (pattern: .*\${.*}.*)
       - `subnetId`: (multiple options) (string) Nebius VPC subnet ID for the cluster. | (string) A string containing one or more references that resolve to nebius VPC subnet ID for the cluster. (pattern: .*\${.*}.*)
     - `byok`: {object}
       - `nodePoolProviderIdLabel`: (multiple options) (string) The node label used to identify which provider node pool a node belongs to. | (string) A string containing one or more references that resolve to the node label used to identify which provider node pool a node belongs to. (pattern: .*\${.*}.*)
     - `coordinates`: {object}
       - `latitude`: (number) (required) (format: float)
       - `longitude`: (number) (required) (format: float)
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: BYOCRegistry)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `description`: (string) The description of the integration. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
     - `restrictions`: {object}
       - `enabled`: (boolean) (required) Enable or disable BYOC restrictions for this entity
       - `teams`: [array of] {object}
           - `teamId`: (string) (required) The ID of the team that has access to this BYOC cluster (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 45)
     - `updatedAt`: (string) time of update (format: date-time)
     - `createdAt`: (string) time of creation (format: date-time)
     - `name`: (multiple options) (string) The name of the cloud provider registry. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the cloud provider registry. (pattern: .*\${.*}.*)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: BYOCRegistry)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) The name of the cloud provider registry. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the cloud provider registry. (pattern: .*\${.*}.*)
     - `description`: (string) The description of the integration. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
     - `uid`: (string) Unique id of the registry.
     - `provider`: (multiple options) (string) Cloud provider to be used for the selected resource (enum: aws, azure, civo, gcp, oci, cloudflare, coreweave, nebius, aiven, backblaze, akamai, byok) | (string) A string containing one or more references that resolve to cloud provider to be used for the selected resource (pattern: .*\${.*}.*)
     - `region`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
     - `integrationId`: (multiple options) (string) Integration to use for this registry. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to integration to use for this registry. (pattern: .*\${.*}.*)
     - `restrictions`: {object}
       - `enabled`: (boolean) (required) Enable or disable BYOC restrictions for this entity
       - `teams`: [array of] {object}
           - `teamId`: (string) (required) The ID of the team that has access to this BYOC cluster (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 45)
     - `updatedAt`: (string) time of update (format: date-time)
     - `createdAt`: (string) time of creation (format: date-time)
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: CustomDockerCredentials)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) The name of the docker credentials. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the docker credentials. (pattern: .*\${.*}.*)
     - `provider`: (string) (required) The provider of the docker registry. (enum: acr, ecr, gar, dockerhub, dhi, github, gitlab, custom, legacy)
     - `registryUrl`: (multiple options) (string) The URL of the docker registry. | (string) A string containing one or more references that resolve to the URL of the docker registry. (pattern: .*\${.*}.*)
     - `aws`: {object}
       - `region`: (string) The region of the docker registry.
     - `gcp`: {object}
       - `projectId`: (string) The project ID of the GCP docker registry.
     - `azure`: {object}
       - `resourceGroup`: (string) The resource group of the Azure docker registry.
     - `integrationId`: (multiple options) (string) Integration to use for this registry. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to integration to use for this registry. (pattern: .*\${.*}.*)
     - `credentials`: {object}
       - `username`: (string) Username for the docker registry. Required when `integrationId` is provided.
       - `password`: (string) Password for the docker registry. Required when `integrationId` is provided.
       - `scope`: {object}
         - `pull`: (boolean) Whether the credentials can pull images.
         - `push`: (boolean) Whether the credentials can push images.
     - `restrictions`: {object}
       - `restricted`: (boolean) (required) Whether access to this credential is restricted.
       - `projects`: [array of] (string)
     - `updatedAt`: (string) time of update (format: date-time)
     - `createdAt`: (string) time of creation (format: date-time) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: Project)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `description`: (multiple options) (string) The description of the project. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to the description of the project. (pattern: .*\${.*}.*)
     - `color`: (multiple options) (string) The color of the project in the Northflank App. (pattern: ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$) | (string) A string containing one or more references that resolve to the color of the project in the Northflank App. (pattern: .*\${.*}.*)
     - `networking`: {object}
       - `allowedIngressProjects`: [array of] (multiple options) (string) (pattern: ^[A-Za-z0-9-]+$) | (string) (pattern: .*\${.*}.*)
       - `tailscale`: {object}
         - `enabled`: (boolean) Whether or not to inject a Tailscale sidecar for this project's resources
         - `authKeyTags`: [array of] (multiple options) (string) (pattern: ^tag:.+) | (string) (pattern: .*\${.*}.*)
         - `restrictions`: {object}
           - `enabled`: (boolean) Whether or not to restrict the settings to resources with specific tags
           - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) (pattern: .*\${.*}.*)
           - `tagMatchCondition`: (multiple options) (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or) | (string) A string containing one or more references that resolve to if all or any of the tags must be present on the target for it to match the condition. (pattern: .*\${.*}.*)
         - `options`: {object}
           - `applyToAddons`: (boolean) Apply the Tailscale configuration to addons.
           - `applyToAddonJobs`: (boolean) Apply the Tailscale configuration to addon jobs (backups, restores).
           - `autoRedeployOnRegeneration`: (boolean) Automatically restart applicable services when the auth key is regenerated
         - `tailscaleOptions`: {object}
           - `acceptRoutes`: (boolean) Accept advertised routes from the Tailscale network
           - `tailnetServicesEnabled`: (boolean) Enable automatic creation of Tailnet services for resources in this project
           - `useUnscopedServiceNames`: (boolean) Use the service internal ID as the Tailnet Service name without the project UID. This causes undefined behavior when two services in the tailnet have matching internal IDs.
           - `tailnetServicesRestrictions`: {object}
             - `enabled`: (boolean) (required) Whether or not to restrict the settings to resources with specific tags
             - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) (pattern: .*\${.*}.*)
             - `tagMatchCondition`: (multiple options) (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or) | (string) A string containing one or more references that resolve to if all or any of the tags must be present on the target for it to match the condition. (pattern: .*\${.*}.*)
         - `secrets`: {object}
           - `clientId`: (multiple options) (string) Tailscale OAuth client ID (required for generating auth keys for Tailscale) | (string) A string containing one or more references that resolve to tailscale OAuth client ID (required for generating auth keys for Tailscale) (pattern: .*\${.*}.*)
           - `clientSecret`: (multiple options) (string) Tailscale OAuth client secret (required for generating auth keys for Tailscale) | (string) A string containing one or more references that resolve to tailscale OAuth client secret (required for generating auth keys for Tailscale) (pattern: .*\${.*}.*)
       - `hostAliases`: {object}
         - `enabled`: (boolean) Enable support for adding /etc/hosts overrides for a container
         - `hostEntries`: [array of] (multiple options) {object}
               - `ipAddress`: (multiple options) (string) (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$) | (string) (pattern: .*\${.*}.*)
               - `hostnames`: (multiple options) [array of] (multiple options) (string) (pattern: ^(([a-z0-9][a-z0-9\-]*)|[a-z0-9]\.)*([a-z]+|xn\-\-[a-z0-9]+)\.?$) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
         - `restrictions`: {object}
           - `enabled`: (boolean) Whether or not to restrict the settings to resources with specific tags
           - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) (pattern: .*\${.*}.*)
           - `tagMatchCondition`: (multiple options) (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or) | (string) A string containing one or more references that resolve to if all or any of the tags must be present on the target for it to match the condition. (pattern: .*\${.*}.*)
     - `name`: (multiple options) (string) The name of the project. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the project. (pattern: .*\${.*}.*)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: Project)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: (multiple options) {object}
      - `name`: (multiple options) (string) The name of the project. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the project. (pattern: .*\${.*}.*)
      - `description`: (multiple options) (string) The description of the project. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to the description of the project. (pattern: .*\${.*}.*)
      - `color`: (multiple options) (string) The color of the project in the Northflank App. (pattern: ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$) | (string) A string containing one or more references that resolve to the color of the project in the Northflank App. (pattern: .*\${.*}.*)
      - `region`: (multiple options) (string) The region the project will be hosted in. | (string) A string containing one or more references that resolve to the region the project will be hosted in. (pattern: .*\${.*}.*)
      - `networking`: {object}
        - `allowedIngressProjects`: [array of] (multiple options) (string) (pattern: ^[A-Za-z0-9-]+$) | (string) (pattern: .*\${.*}.*)
        - `tailscale`: {object}
          - `enabled`: (boolean) Whether or not to inject a Tailscale sidecar for this project's resources
          - `authKeyTags`: [array of] (multiple options) (string) (pattern: ^tag:.+) | (string) (pattern: .*\${.*}.*)
          - `restrictions`: {object}
            - `enabled`: (boolean) (required) Whether or not to restrict the settings to resources with specific tags
            - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) (pattern: .*\${.*}.*)
            - `tagMatchCondition`: (multiple options) (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or) | (string) A string containing one or more references that resolve to if all or any of the tags must be present on the target for it to match the condition. (pattern: .*\${.*}.*)
          - `options`: {object}
            - `applyToAddons`: (boolean) Apply the Tailscale configuration to addons.
            - `applyToAddonJobs`: (boolean) Apply the Tailscale configuration to addon jobs (backups, restores).
            - `autoRedeployOnRegeneration`: (boolean) Automatically restart applicable services when the auth key is regenerated
          - `tailscaleOptions`: {object}
            - `acceptRoutes`: (boolean) Accept advertised routes from the Tailscale network
            - `tailnetServicesEnabled`: (boolean) Enable automatic creation of Tailnet services for resources in this project
            - `useUnscopedServiceNames`: (boolean) Use the service internal ID as the Tailnet Service name without the project UID. This causes undefined behavior when two services in the tailnet have matching internal IDs.
            - `tailnetServicesRestrictions`: {object}
              - `enabled`: (boolean) (required) Whether or not to restrict the settings to resources with specific tags
              - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) (pattern: .*\${.*}.*)
              - `tagMatchCondition`: (multiple options) (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or) | (string) A string containing one or more references that resolve to if all or any of the tags must be present on the target for it to match the condition. (pattern: .*\${.*}.*)
          - `secrets`: {object}
            - `clientId`: (multiple options) (string) Tailscale OAuth client ID (required for generating auth keys for Tailscale) | (string) A string containing one or more references that resolve to tailscale OAuth client ID (required for generating auth keys for Tailscale) (pattern: .*\${.*}.*)
            - `clientSecret`: (multiple options) (string) Tailscale OAuth client secret (required for generating auth keys for Tailscale) | (string) A string containing one or more references that resolve to tailscale OAuth client secret (required for generating auth keys for Tailscale) (pattern: .*\${.*}.*)
        - `hostAliases`: {object}
          - `enabled`: (boolean) Enable support for adding /etc/hosts overrides for a container
          - `hostEntries`: [array of] (multiple options) {object}
                - `ipAddress`: (multiple options) (string) (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$) | (string) (pattern: .*\${.*}.*)
                - `hostnames`: (multiple options) [array of] (multiple options) (string) (pattern: ^(([a-z0-9][a-z0-9\-]*)|[a-z0-9]\.)*([a-z]+|xn\-\-[a-z0-9]+)\.?$) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
          - `restrictions`: {object}
            - `enabled`: (boolean) (required) Whether or not to restrict the settings to resources with specific tags
            - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) (pattern: .*\${.*}.*)
            - `tagMatchCondition`: (multiple options) (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or) | (string) A string containing one or more references that resolve to if all or any of the tags must be present on the target for it to match the condition. (pattern: .*\${.*}.*) | {object}
      - `name`: (multiple options) (string) The name of the project. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the project. (pattern: .*\${.*}.*)
      - `description`: (multiple options) (string) The description of the project. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to the description of the project. (pattern: .*\${.*}.*)
      - `color`: (multiple options) (string) The color of the project in the Northflank App. (pattern: ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$) | (string) A string containing one or more references that resolve to the color of the project in the Northflank App. (pattern: .*\${.*}.*)
      - `clusterId`: (multiple options) (string) The BYOC cluster this project will be hosted in. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to the BYOC cluster this project will be hosted in. (pattern: .*\${.*}.*)
      - `networking`: {object}
        - `allowedIngressProjects`: [array of] (multiple options) (string) (pattern: ^[A-Za-z0-9-]+$) | (string) (pattern: .*\${.*}.*)
        - `tailscale`: {object}
          - `enabled`: (boolean) Whether or not to inject a Tailscale sidecar for this project's resources
          - `authKeyTags`: [array of] (multiple options) (string) (pattern: ^tag:.+) | (string) (pattern: .*\${.*}.*)
          - `restrictions`: {object}
            - `enabled`: (boolean) (required) Whether or not to restrict the settings to resources with specific tags
            - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) (pattern: .*\${.*}.*)
            - `tagMatchCondition`: (multiple options) (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or) | (string) A string containing one or more references that resolve to if all or any of the tags must be present on the target for it to match the condition. (pattern: .*\${.*}.*)
          - `options`: {object}
            - `applyToAddons`: (boolean) Apply the Tailscale configuration to addons.
            - `applyToAddonJobs`: (boolean) Apply the Tailscale configuration to addon jobs (backups, restores).
            - `autoRedeployOnRegeneration`: (boolean) Automatically restart applicable services when the auth key is regenerated
          - `tailscaleOptions`: {object}
            - `acceptRoutes`: (boolean) Accept advertised routes from the Tailscale network
            - `tailnetServicesEnabled`: (boolean) Enable automatic creation of Tailnet services for resources in this project
            - `useUnscopedServiceNames`: (boolean) Use the service internal ID as the Tailnet Service name without the project UID. This causes undefined behavior when two services in the tailnet have matching internal IDs.
            - `tailnetServicesRestrictions`: {object}
              - `enabled`: (boolean) (required) Whether or not to restrict the settings to resources with specific tags
              - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) (pattern: .*\${.*}.*)
              - `tagMatchCondition`: (multiple options) (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or) | (string) A string containing one or more references that resolve to if all or any of the tags must be present on the target for it to match the condition. (pattern: .*\${.*}.*)
          - `secrets`: {object}
            - `clientId`: (multiple options) (string) Tailscale OAuth client ID (required for generating auth keys for Tailscale) | (string) A string containing one or more references that resolve to tailscale OAuth client ID (required for generating auth keys for Tailscale) (pattern: .*\${.*}.*)
            - `clientSecret`: (multiple options) (string) Tailscale OAuth client secret (required for generating auth keys for Tailscale) | (string) A string containing one or more references that resolve to tailscale OAuth client secret (required for generating auth keys for Tailscale) (pattern: .*\${.*}.*)
        - `hostAliases`: {object}
          - `enabled`: (boolean) Enable support for adding /etc/hosts overrides for a container
          - `hostEntries`: [array of] (multiple options) {object}
                - `ipAddress`: (multiple options) (string) (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$) | (string) (pattern: .*\${.*}.*)
                - `hostnames`: (multiple options) [array of] (multiple options) (string) (pattern: ^(([a-z0-9][a-z0-9\-]*)|[a-z0-9]\.)*([a-z]+|xn\-\-[a-z0-9]+)\.?$) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
          - `restrictions`: {object}
            - `enabled`: (boolean) (required) Whether or not to restrict the settings to resources with specific tags
            - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) (pattern: .*\${.*}.*)
            - `tagMatchCondition`: (multiple options) (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or) | (string) A string containing one or more references that resolve to if all or any of the tags must be present on the target for it to match the condition. (pattern: .*\${.*}.*)
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: BuildService)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `description`: (multiple options) (string) A description of the service. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the service. (pattern: .*\${.*}.*)
     - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `billing`: {object}
       - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (Deprecated - use buildPlan for build resources instead.). (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (Deprecated - use buildPlan for build resources instead.). (pattern: .*\${.*}.*)
       - `buildPlan`: (multiple options) (string) The ID of the build plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the build plan to use. (pattern: .*\${.*}.*)
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
     - `disabledCI`: (boolean) Whether CI (continuous integration) should be disabled.
     - `buildSource`: (string) Defines the build source for this resource (enum: git, bundle)
     - `vcsData`: {object}
       - `projectUrl`: (multiple options) (string) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo to build. (pattern: .*\${.*}.*)
       - `projectType`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
       - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
       - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
       - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24) | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
     - `buildSettings`: {object}
       - `storage`: {object}
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
       - `dockerfile`: {object}
         - `useCache`: (boolean) DEPRECATED: This field will be removed in the near future and currently has no effect.
         - `buildEngine`: (multiple options) (string) Build engine to use. Defaults to recommended build engine `buildkit` (enum: buildkit, kaniko) | (string) A string containing one or more references that resolve to build engine to use. Defaults to recommended build engine `buildkit` (pattern: .*\${.*}.*)
         - `dockerFilePath`: (multiple options) (string) The file path of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$) | (string) A string containing one or more references that resolve to the file path of the Dockerfile. (pattern: .*\${.*}.*)
         - `dockerWorkDir`: (multiple options) (string) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory of the Dockerfile. (pattern: .*\${.*}.*)
         - `buildkit`: {object}
           - `useCache`: (multiple options) (boolean) Use persistent storage to cache build layers. | (string) A string containing one or more references that resolve to use persistent storage to cache build layers. (pattern: .*\${.*}.*)
           - `cacheStorageSize`: (multiple options) (integer) The amount of persistent storage available to each build in MB. | (string) A string containing one or more references that resolve to the amount of persistent storage available to each build in MB. (pattern: .*\${.*}.*)
           - `useInternalCache`: (multiple options) (boolean) DEPRECATED: This field will be removed in the near future. | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*)
           - `internalCacheStorage`: (multiple options) (number) DEPRECATED: This field will be removed in the near future. (format: float) | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*)
       - `buildpack`: {object}
         - `builder`: (multiple options) (string) Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (enum: HEROKU_24, HEROKU_22, HEROKU_22_CLASSIC, HEROKU_20, HEROKU_18, GOOGLE_22, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_JAMMY_TINY, PAKETO_JAMMY_BASE, PAKETO_JAMMY_FULL, PAKETO_TINY, PAKETO_BASE, PAKETO_FULL) | (string) A string containing one or more references that resolve to buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (pattern: .*\${.*}.*)
         - `buildpackLocators`: [array of] (multiple options) (string) Url or registry identifier of custom Buildpack. | (string) A string containing one or more references that resolve to url or registry identifier of custom Buildpack. (pattern: .*\${.*}.*)
         - `buildContext`: (multiple options) (string) The working directory to build in. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory to build in. (pattern: .*\${.*}.*)
         - `useCache`: (multiple options) (boolean) Should build dependencies be cached? | (string) A string containing one or more references that resolve to should build dependencies be cached? (pattern: .*\${.*}.*)
     - `buildConfiguration`: {object}
       - `prRestrictions`: [array of] (multiple options) (string) A pull request build rule. Can contain `*` as a wildcard to match multiple branch names. For example, `feature/*` will build all commits from pull requests from branches that start with `feature/`. (pattern: ^[^?:@$~ [\]{}]*$) | (string) A string containing one or more references that resolve to a pull request build rule. Can contain `*` as a wildcard to match multiple branch names. For example, `feature/*` will build all commits from pull requests from branches that start with `feature/`. (pattern: .*\${.*}.*)
       - `branchRestrictions`: [array of] (multiple options) (string) A branch build rule. Can contain `*` as a wildcard to match multiple branch names. For example, `feature/*` will build all commits from branches that start with `feature/`. (pattern: ^[^?:@$~ [\]{}]*$) | (string) A string containing one or more references that resolve to a branch build rule. Can contain `*` as a wildcard to match multiple branch names. For example, `feature/*` will build all commits from branches that start with `feature/`. (pattern: .*\${.*}.*)
       - `crossProjectAccess`: {object}
         - `enabled`: (boolean) (required) Allow this build service to be referenced by resources in other projects.
         - `projects`: [array of] (multiple options) (string) The ID of a project to include or exclude. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of a project to include or exclude. (pattern: .*\${.*}.*)
         - `isAllowList`: (boolean) (required) If true, only the listed projects can use this build service. If false, all projects except the listed ones can use this build service.
       - `pathIgnoreRules`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
       - `isAllowList`: (multiple options) (boolean) If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. | (string) A string containing one or more references that resolve to if `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. (pattern: .*\${.*}.*)
       - `ciIgnoreFlagsEnabled`: (multiple options) (boolean) If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. | (string) A string containing one or more references that resolve to if `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. (pattern: .*\${.*}.*)
       - `ciIgnoreFlags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
       - `dockerfileTarget`: (multiple options) (string) If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. | (string) A string containing one or more references that resolve to if your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. (pattern: .*\${.*}.*)
       - `dockerCredentials`: [array of] (multiple options) (string) The ID of the docker credentials to use. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of the docker credentials to use. (pattern: .*\${.*}.*)
       - `includeGitFolder`: (boolean) Include .git folder inside the build context
       - `fullGitClone`: (boolean) Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set.
       - `enableGitLfs`: (boolean) Enable Git LFS support for the build
       - `storage`: {object}
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
     - `buildArguments`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `buildFiles`: {object}
     - `dockerSecretMounts`: {object}
     - `name`: (multiple options) (string) The name of the service. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the name of the service. (pattern: .*\${.*}.*)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: BuildService)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) The name of the service. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the name of the service. (pattern: .*\${.*}.*)
     - `description`: (multiple options) (string) A description of the service. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the service. (pattern: .*\${.*}.*)
     - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
     - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `billing`: {object}
       - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (Deprecated - use buildPlan for build resources instead.). (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (Deprecated - use buildPlan for build resources instead.). (pattern: .*\${.*}.*)
       - `buildPlan`: (multiple options) (string) The ID of the build plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the build plan to use. (pattern: .*\${.*}.*)
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
     - `infrastructure`: {object}
       - `architecture`: (string) (enum: x86, arm)
     - `disabledCI`: (boolean) Whether CI (continuous integration) should be disabled.
     - `buildSource`: (string) Defines the build source for this resource (enum: git, bundle)
     - `vcsData`: {object}
       - `projectUrl`: (multiple options) (string) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo to build. (pattern: .*\${.*}.*)
       - `projectType`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
       - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
       - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
       - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24) | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
     - `buildSettings`: (multiple options) {object}
         - `storage`: {object}
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
         - `dockerfile`: {object}
           - `useCache`: (boolean) DEPRECATED: This field will be removed in the near future and currently has no effect.
           - `buildEngine`: (multiple options) (string) Build engine to use. Defaults to recommended build engine `buildkit` (enum: buildkit, kaniko) | (string) A string containing one or more references that resolve to build engine to use. Defaults to recommended build engine `buildkit` (pattern: .*\${.*}.*)
           - `dockerFilePath`: (multiple options) (string) The file path of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$) | (string) A string containing one or more references that resolve to the file path of the Dockerfile. (pattern: .*\${.*}.*)
           - `dockerWorkDir`: (multiple options) (string) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory of the Dockerfile. (pattern: .*\${.*}.*)
           - `buildkit`: {object}
             - `useCache`: (multiple options) (boolean) Use persistent storage to cache build layers. | (string) A string containing one or more references that resolve to use persistent storage to cache build layers. (pattern: .*\${.*}.*)
             - `cacheStorageSize`: (multiple options) (integer) The amount of persistent storage available to each build in MB. | (string) A string containing one or more references that resolve to the amount of persistent storage available to each build in MB. (pattern: .*\${.*}.*)
             - `useInternalCache`: (multiple options) (boolean) DEPRECATED: This field will be removed in the near future. | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*)
             - `internalCacheStorage`: (multiple options) (number) DEPRECATED: This field will be removed in the near future. (format: float) | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*) | {object}
         - `storage`: {object}
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
         - `buildpack`: {object}
           - `builder`: (multiple options) (string) Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (enum: HEROKU_24, HEROKU_22, HEROKU_22_CLASSIC, HEROKU_20, HEROKU_18, GOOGLE_22, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_JAMMY_TINY, PAKETO_JAMMY_BASE, PAKETO_JAMMY_FULL, PAKETO_TINY, PAKETO_BASE, PAKETO_FULL) | (string) A string containing one or more references that resolve to buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (pattern: .*\${.*}.*)
           - `buildpackLocators`: [array of] (multiple options) (string) Url or registry identifier of custom Buildpack. | (string) A string containing one or more references that resolve to url or registry identifier of custom Buildpack. (pattern: .*\${.*}.*)
           - `buildContext`: (multiple options) (string) The working directory to build in. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory to build in. (pattern: .*\${.*}.*)
           - `useCache`: (multiple options) (boolean) Should build dependencies be cached? | (string) A string containing one or more references that resolve to should build dependencies be cached? (pattern: .*\${.*}.*)
     - `buildConfiguration`: {object}
       - `prRestrictions`: [array of] (multiple options) (string) A pull request build rule. Can contain `*` as a wildcard to match multiple branch names. For example, `feature/*` will build all commits from pull requests from branches that start with `feature/`. (pattern: ^[^?:@$~ [\]{}]*$) | (string) A string containing one or more references that resolve to a pull request build rule. Can contain `*` as a wildcard to match multiple branch names. For example, `feature/*` will build all commits from pull requests from branches that start with `feature/`. (pattern: .*\${.*}.*)
       - `branchRestrictions`: [array of] (multiple options) (string) A branch build rule. Can contain `*` as a wildcard to match multiple branch names. For example, `feature/*` will build all commits from branches that start with `feature/`. (pattern: ^[^?:@$~ [\]{}]*$) | (string) A string containing one or more references that resolve to a branch build rule. Can contain `*` as a wildcard to match multiple branch names. For example, `feature/*` will build all commits from branches that start with `feature/`. (pattern: .*\${.*}.*)
       - `crossProjectAccess`: {object}
         - `enabled`: (boolean) (required) Allow this build service to be referenced by resources in other projects.
         - `projects`: [array of] (multiple options) (string) The ID of a project to include or exclude. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of a project to include or exclude. (pattern: .*\${.*}.*)
         - `isAllowList`: (boolean) (required) If true, only the listed projects can use this build service. If false, all projects except the listed ones can use this build service.
       - `pathIgnoreRules`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
       - `isAllowList`: (multiple options) (boolean) If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. | (string) A string containing one or more references that resolve to if `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. (pattern: .*\${.*}.*)
       - `ciIgnoreFlagsEnabled`: (multiple options) (boolean) If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. | (string) A string containing one or more references that resolve to if `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. (pattern: .*\${.*}.*)
       - `ciIgnoreFlags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
       - `dockerfileTarget`: (multiple options) (string) If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. | (string) A string containing one or more references that resolve to if your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. (pattern: .*\${.*}.*)
       - `dockerCredentials`: [array of] (multiple options) (string) The ID of the docker credentials to use. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of the docker credentials to use. (pattern: .*\${.*}.*)
       - `includeGitFolder`: (boolean) Include .git folder inside the build context
       - `fullGitClone`: (boolean) Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set.
       - `enableGitLfs`: (boolean) Enable Git LFS support for the build
       - `storage`: {object}
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
     - `buildArguments`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `buildFiles`: {object}
     - `dockerSecretMounts`: {object}
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: CombinedService)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `description`: (multiple options) (string) A description of the service. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the service. (pattern: .*\${.*}.*)
     - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `billing`: {object}
       - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (pattern: .*\${.*}.*)
       - `buildPlan`: (multiple options) (string) The ID of the build plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the build plan to use. (pattern: .*\${.*}.*)
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
     - `deployment`: {object}
       - `instances`: (multiple options) (integer) The number of instances to run the service on. | (string) A string containing one or more references that resolve to the number of instances to run the service on. (pattern: .*\${.*}.*)
       - `buildpack`: {object}
         - `configType`: (string) (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand)
         - `customProcess`: (multiple options) (string)
         - `customEntrypoint`: (multiple options) (string)
         - `customCommand`: (multiple options) (string)
       - `docker`: {object}
         - `configType`: (string) (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand)
         - `customEntrypoint`: (multiple options) (string)
         - `customCommand`: (multiple options) (string)
       - `storage`: {object}
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per container in MB | (string) A string containing one or more references that resolve to ephemeral storage per container in MB (pattern: .*\${.*}.*)
         - `shmSize`: (multiple options) (integer) Configures the amount of available memory-backed disk space available to /dev/shm | (string) A string containing one or more references that resolve to configures the amount of available memory-backed disk space available to /dev/shm (pattern: .*\${.*}.*)
       - `strategy`: {object}
         - `type`: (multiple options) (string) Configures the instance roll out strategy of your service. Currently only available via feature flag. (enum: recreate, rollout-steady, rollout-balanced, rollout-fast, custom) | (string) A string containing one or more references that resolve to configures the instance roll out strategy of your service. Currently only available via feature flag. (pattern: .*\${.*}.*)
         - `settings`: {object}
           - `maxSurge`: (multiple options) (integer) A non-negative integer. | (string) A percentage string in the range 0% to 100%, e.g. `25%` (pattern: ^\d+%$)
           - `maxUnavailable`: (multiple options) (integer) A non-negative integer. | (string) A percentage string in the range 0% to 100%, e.g. `25%` (pattern: ^\d+%$)
       - `zonalRedundancy`: {object}
         - `type`: (multiple options) (string) Defines scheduling behaviour across different zones within the same region. (enum: disabled, preferred, required) | (string) A string containing one or more references that resolve to defines scheduling behaviour across different zones within the same region. (pattern: .*\${.*}.*)
         - `minZones`: (integer) Defines how many zones are required and will prevent containers from additional scheduling into existing zones. (Only relevant if type is set to "required")
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
       - `gracePeriodSeconds`: (multiple options) (integer) The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. | (string) A string containing one or more references that resolve to the maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. (pattern: .*\${.*}.*)
       - `gradualRolloutStrategyId`: (multiple options) (string) The id of the strategy to be attached to service. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the strategy to be attached to service. (pattern: .*\${.*}.*)
       - `ssh`: {object}
         - `enabled`: (multiple options) (boolean) Enables SSH access if the resource matches an SSH identity selector. | (string) A string containing one or more references that resolve to enables SSH access if the resource matches an SSH identity selector. (pattern: .*\${.*}.*)
       - `metadata`: {object}
         - `labels`: {object}
         - `annotations`: {object}
       - `volumes`: [array of] {object}
           - `id`: (multiple options) (string) Slug identifying this volume within the service. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to slug identifying this volume within the service. (pattern: .*\${.*}.*)
           - `mounts`: [array of] {object}
               - `volumeMountPath`: (string) Optionally specify the path inside this volume that should be mounted (pattern: ^((?!\.\.).)*$)
               - `containerMountPath`: (string) (required) Specify the path into which the volume should be mounted (pattern: ^((?!:).)*$)
           - `spec`: {object}
             - `accessMode`: (string) Access mode of a per-replica volume. Always `ReadWriteOnce`. (enum: ReadWriteOnce)
             - `storageClassName`: (string) The type of the storage.
             - `storageSize`: (integer) (required) The size of the storage, in megabytes. Configurable sizes depend on the storage class.
     - `ports`: [array of] {object}
         - `name`: (multiple options) (string) The name used to identify the port. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 1) (max length: 8) | (string) A string containing one or more references that resolve to the name used to identify the port. (pattern: .*\${.*}.*)
         - `internalPort`: (multiple options) (integer) The port number. | (string) A string containing one or more references that resolve to the port number. (pattern: .*\${.*}.*)
         - `public`: (multiple options) (boolean) If true, the port will be exposed publicly. | (string) A string containing one or more references that resolve to if true, the port will be exposed publicly. (pattern: .*\${.*}.*)
         - `security`: {object}
           - `credentials`: [array of] {object}
               - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
               - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
               - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
           - `ip`: (multiple options) [array of] {object}
                 - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                 - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
           - `policies`: (multiple options) [array of] {object}
                 - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                 - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
           - `sso`: {object}
             - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
             - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
             - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
             - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
             - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
             - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
           - `headers`: [array of] (multiple options) {object}
                 - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                 - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                 - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                 - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
           - `verificationMode`: (string) Mode used to verify multiple security features like ip policies and SSO authentication (enum: or, and)
           - `securePathConfiguration`: {object}
             - `enabled`: (boolean) Enable security policies on a path-level style
             - `skipSecurityPoliciesForInternalTrafficViaPublicDns`: (boolean) Allow internal traffic from same or shared projects via public DNS to skip all security policies
             - `rules`: [array of] {object}
                 - `paths`: [array of] (multiple options) {object}
                       - `path`: (multiple options) (string) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) (pattern: .*\${.*}.*)
                       - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: prefix) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                       - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*) | {object}
                       - `path`: (multiple options) (string) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) (pattern: .*\${.*}.*)
                       - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: exact) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                       - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*) | {object}
                       - `path`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                       - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: regex) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                       - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*)
                 - `accessMode`: (multiple options) (string) Specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path (enum: protected, unprotected) | (string) A string containing one or more references that resolve to specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path (pattern: .*\${.*}.*)
                 - `securityPolicies`: (multiple options) {object}
                     - `orPolicies`: {object}
                       - `credentials`: [array of] {object}
                           - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
                           - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
                           - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
                       - `ip`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `policies`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `sso`: {object}
                         - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
                         - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
                         - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
                         - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
                         - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
                         - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
                       - `headers`: [array of] (multiple options) {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                     - `requiredPolicies`: {object}
                       - `credentials`: [array of] {object}
                           - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
                           - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
                           - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
                       - `ip`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `policies`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `sso`: {object}
                         - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
                         - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
                         - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
                         - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
                         - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
                         - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
                       - `headers`: [array of] (multiple options) {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
         - `domains`: (multiple options) [array of] (multiple options) (string) A domain to redirect to this port. | (string) A string containing one or more references that resolve to a domain to redirect to this port. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of domains to redirect to this port. Each domain must first be verified and registered to your account. (pattern: .*\${.*}.*)
         - `disableNfDomain`: (multiple options) (boolean) Disable routing on the default code.run domain for public HTTP ports with custom domains. | (string) A string containing one or more references that resolve to disable routing on the default code.run domain for public HTTP ports with custom domains. (pattern: .*\${.*}.*)
         - `advancedOptions`: {object}
           - `enableTlsPassthrough`: (multiple options) (boolean) Whether this port should use pass through mode for TLS | (string) A string containing one or more references that resolve to whether this port should use pass through mode for TLS (pattern: .*\${.*}.*)
         - `protocol`: (multiple options) (string) (enum: HTTP, HTTP/2) | (string) (enum: HTTP, HTTP/2, TCP, UDP)
     - `disabledCI`: (boolean) Whether CI (continuous integration) should be disabled.
     - `buildSource`: (string) Defines the build source for this resource (enum: git, bundle)
     - `vcsData`: {object}
       - `projectUrl`: (multiple options) (string) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo to build. (pattern: .*\${.*}.*)
       - `projectType`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
       - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
       - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
       - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24) | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
       - `projectBranch`: (multiple options) (string) The name of the branch to use. | (string) A string containing one or more references that resolve to the name of the branch to use. (pattern: .*\${.*}.*)
     - `bundleData`: {object}
       - `bundleUrl`: (multiple options) (string) URL of the bundle to be built | (string) A string containing one or more references that resolve to uRL of the bundle to be built (pattern: .*\${.*}.*)
       - `branch`: (multiple options) (string) Branch identifier for the bundle. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to branch identifier for the bundle. (pattern: .*\${.*}.*)
     - `buildSettings`: {object}
       - `storage`: {object}
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
       - `dockerfile`: {object}
         - `useCache`: (boolean) DEPRECATED: This field will be removed in the near future and currently has no effect.
         - `buildEngine`: (multiple options) (string) Build engine to use. Defaults to recommended build engine `buildkit` (enum: buildkit, kaniko) | (string) A string containing one or more references that resolve to build engine to use. Defaults to recommended build engine `buildkit` (pattern: .*\${.*}.*)
         - `dockerFilePath`: (multiple options) (string) The file path of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$) | (string) A string containing one or more references that resolve to the file path of the Dockerfile. (pattern: .*\${.*}.*)
         - `dockerWorkDir`: (multiple options) (string) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory of the Dockerfile. (pattern: .*\${.*}.*)
         - `buildkit`: {object}
           - `useCache`: (multiple options) (boolean) Use persistent storage to cache build layers. | (string) A string containing one or more references that resolve to use persistent storage to cache build layers. (pattern: .*\${.*}.*)
           - `cacheStorageSize`: (multiple options) (integer) The amount of persistent storage available to each build in MB. | (string) A string containing one or more references that resolve to the amount of persistent storage available to each build in MB. (pattern: .*\${.*}.*)
           - `useInternalCache`: (multiple options) (boolean) DEPRECATED: This field will be removed in the near future. | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*)
           - `internalCacheStorage`: (multiple options) (number) DEPRECATED: This field will be removed in the near future. (format: float) | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*)
       - `buildpack`: {object}
         - `builder`: (multiple options) (string) Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (enum: HEROKU_24, HEROKU_22, HEROKU_22_CLASSIC, HEROKU_20, HEROKU_18, GOOGLE_22, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_JAMMY_TINY, PAKETO_JAMMY_BASE, PAKETO_JAMMY_FULL, PAKETO_TINY, PAKETO_BASE, PAKETO_FULL) | (string) A string containing one or more references that resolve to buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (pattern: .*\${.*}.*)
         - `buildpackLocators`: [array of] (multiple options) (string) Url or registry identifier of custom Buildpack. | (string) A string containing one or more references that resolve to url or registry identifier of custom Buildpack. (pattern: .*\${.*}.*)
         - `buildContext`: (multiple options) (string) The working directory to build in. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory to build in. (pattern: .*\${.*}.*)
         - `useCache`: (multiple options) (boolean) Should build dependencies be cached? | (string) A string containing one or more references that resolve to should build dependencies be cached? (pattern: .*\${.*}.*)
     - `buildConfiguration`: {object}
       - `pathIgnoreRules`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
       - `isAllowList`: (multiple options) (boolean) If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. | (string) A string containing one or more references that resolve to if `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. (pattern: .*\${.*}.*)
       - `ciIgnoreFlagsEnabled`: (multiple options) (boolean) If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. | (string) A string containing one or more references that resolve to if `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. (pattern: .*\${.*}.*)
       - `ciIgnoreFlags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
       - `dockerfileTarget`: (multiple options) (string) If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. | (string) A string containing one or more references that resolve to if your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. (pattern: .*\${.*}.*)
       - `dockerCredentials`: [array of] (multiple options) (string) The ID of the docker credentials to use. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of the docker credentials to use. (pattern: .*\${.*}.*)
       - `includeGitFolder`: (boolean) Include .git folder inside the build context
       - `fullGitClone`: (boolean) Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set.
       - `enableGitLfs`: (boolean) Enable Git LFS support for the build
       - `storage`: {object}
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
     - `runtimeEnvironment`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `runtimeFiles`: {object}
     - `buildArguments`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `buildFiles`: {object}
     - `dockerSecretMounts`: {object}
     - `healthChecks`: [array of] {object}
         - `protocol`: (multiple options) (string) The protocol to access the health check with. (enum: HTTP, CMD, TCP) | (string) A string containing one or more references that resolve to the protocol to access the health check with. (pattern: .*\${.*}.*)
         - `type`: (multiple options) (string) The type of health check. (enum: livenessProbe, readinessProbe, startupProbe) | (string) A string containing one or more references that resolve to the type of health check. (pattern: .*\${.*}.*)
         - `path`: (multiple options) (string) The path of the health check endpoint. Required when protocol is HTTP. (pattern: ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*((\?([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)(&([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)*)?$) | (string) (pattern: .*\${.*}.*)
         - `cmd`: (multiple options) (string) The command to run for the health check. Required when protocol is CMD | (string) (pattern: .*\${.*}.*)
         - `port`: (multiple options) (integer) Port number for the health check endpoint. Required when protocol is HTTP. | (string) (pattern: .*\${.*}.*)
         - `initialDelaySeconds`: (multiple options) (integer) Initial delay, in seconds, before the health check is first run. | (string) A string containing one or more references that resolve to initial delay, in seconds, before the health check is first run. (pattern: .*\${.*}.*)
         - `periodSeconds`: (multiple options) (integer) The time between each check, in seconds. | (string) A string containing one or more references that resolve to the time between each check, in seconds. (pattern: .*\${.*}.*)
         - `timeoutSeconds`: (multiple options) (integer) The time to wait for a response before marking the health check as a failure. | (string) A string containing one or more references that resolve to the time to wait for a response before marking the health check as a failure. (pattern: .*\${.*}.*)
         - `failureThreshold`: (multiple options) (integer) The maximum number of allowed failures. | (string) A string containing one or more references that resolve to the maximum number of allowed failures. (pattern: .*\${.*}.*)
         - `successThreshold`: (multiple options) (integer) The number of successes required to mark the health check as a success. | (string) (pattern: .*\${.*}.*)
     - `loadBalancing`: {object}
       - `mode`: (string) (enum: leastConnection, consistentHash, roundRobin, consistentReplicaRouting)
       - `consistentHash`: {object}
         - `mode`: (string) (required) (enum: ip, customHeader)
         - `header`: (string)
       - `consistentReplicaRouting`: {object}
         - `mode`: (string) (required) (enum: path, header)
     - `autoscaling`: {object}
       - `horizontal`: {object}
         - `enabled`: (multiple options) (boolean) Whether horizontal autoscaling should be enabled | (string) A string containing one or more references that resolve to whether horizontal autoscaling should be enabled (pattern: .*\${.*}.*)
         - `minReplicas`: (multiple options) (number) Minimum number of replicas which should be running at any time (format: float) | (string) A string containing one or more references that resolve to minimum number of replicas which should be running at any time (pattern: .*\${.*}.*)
         - `maxReplicas`: (multiple options) (number) Maximum number of replicas which can be running at any time (format: float) | (string) A string containing one or more references that resolve to maximum number of replicas which can be running at any time (pattern: .*\${.*}.*)
         - `cpu`: {object}
           - `enabled`: (multiple options) (boolean) Whether autoscaling should take into account cpu usage | (string) A string containing one or more references that resolve to whether autoscaling should take into account cpu usage (pattern: .*\${.*}.*)
           - `thresholdPercentage`: (multiple options) (integer) Threshold CPU usage percentage at which the workload will be scaled | (string) A string containing one or more references that resolve to threshold CPU usage percentage at which the workload will be scaled (pattern: .*\${.*}.*)
         - `memory`: {object}
           - `enabled`: (multiple options) (boolean) Whether autoscaling should take into account memory usage | (string) A string containing one or more references that resolve to whether autoscaling should take into account memory usage (pattern: .*\${.*}.*)
           - `thresholdPercentage`: (multiple options) (integer) Threshold memory usage percentage at which the workload will be scaled | (string) A string containing one or more references that resolve to threshold memory usage percentage at which the workload will be scaled (pattern: .*\${.*}.*)
         - `rps`: {object}
           - `enabled`: (multiple options) (boolean) Whether autoscaling should take into requests-per-second | (string) A string containing one or more references that resolve to whether autoscaling should take into requests-per-second (pattern: .*\${.*}.*)
           - `thresholdValue`: (multiple options) (integer) Threshold rps value on which the workload will be scaled | (string) A string containing one or more references that resolve to threshold rps value on which the workload will be scaled (pattern: .*\${.*}.*)
         - `userMetrics`: {object}
           - `enabled`: (multiple options) (boolean) Whether to enable handling for custom metrics in the autoscaling configuration | (string) A string containing one or more references that resolve to whether to enable handling for custom metrics in the autoscaling configuration (pattern: .*\${.*}.*)
           - `exposedMetricsPath`: (multiple options) (string) Path on which the metrics will be exposed by the service.. (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) A string containing one or more references that resolve to path on which the metrics will be exposed by the service.. (pattern: .*\${.*}.*)
           - `exposedMetricsPort`: (multiple options) (integer) Port on which the metrics will be exposed by the service. | (string) A string containing one or more references that resolve to port on which the metrics will be exposed by the service. (pattern: .*\${.*}.*)
           - `metrics`: [array of] {object}
               - `metricName`: (multiple options) (string) Name of the custom metric (pattern: [a-zA-Z_:][a-zA-Z0-9_:]*$) | (string) A string containing one or more references that resolve to name of the custom metric (pattern: .*\${.*}.*)
               - `metricType`: (multiple options) (string) Type of metric exposed, this will affect how it'll be queried by the autoscaler component: Gauge will be used as is, Counter will be used with rate() (enum: gauge, counter) | (string) A string containing one or more references that resolve to type of metric exposed, this will affect how it'll be queried by the autoscaler component: Gauge will be used as is, Counter will be used with rate() (pattern: .*\${.*}.*)
               - `thresholdValue`: (multiple options) (number) Threshold value on which the workload will be scaled. Represents the average value across all running pods. (format: float) | (string) A string containing one or more references that resolve to threshold value on which the workload will be scaled. Represents the average value across all running pods. (pattern: .*\${.*}.*)
     - `name`: (multiple options) (string) The name of the service. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the name of the service. (pattern: .*\${.*}.*)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: CombinedService)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) The name of the service. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the name of the service. (pattern: .*\${.*}.*)
     - `description`: (multiple options) (string) A description of the service. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the service. (pattern: .*\${.*}.*)
     - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
     - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `billing`: {object}
       - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (pattern: .*\${.*}.*)
       - `buildPlan`: (multiple options) (string) The ID of the build plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the build plan to use. (pattern: .*\${.*}.*)
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
     - `infrastructure`: {object}
       - `architecture`: (string) (enum: x86, arm)
     - `deployment`: {object}
       - `type`: (multiple options) (string) The way the service should be deployed. Either as a deployment (default), or as a stateful set. (enum: deployment, statefulSet) | (string) A string containing one or more references that resolve to the way the service should be deployed. Either as a deployment (default), or as a stateful set. (pattern: .*\${.*}.*)
       - `instances`: (multiple options) (integer) The number of instances to run the service on. | (string) A string containing one or more references that resolve to the number of instances to run the service on. (pattern: .*\${.*}.*)
       - `buildpack`: {object}
         - `configType`: (string) (required) Type of buildpack run configuration (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand)
         - `customProcess`: (string) Custom process which should be run. Required in case where `configType` is `customProcess`
         - `customEntrypoint`: (string) Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand`
         - `customCommand`: (string) Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand`
       - `docker`: {object}
         - `configType`: (string) (required) Type of entrypoint & command override configuration (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand)
         - `customEntrypoint`: (string) Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand`
         - `customCommand`: (string) Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand`
       - `storage`: {object}
         - `useHdbStorage`: (boolean)
         - `usePdSsdStorage`: (boolean)
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per container in MB | (string) A string containing one or more references that resolve to ephemeral storage per container in MB (pattern: .*\${.*}.*)
         - `shmSize`: (multiple options) (integer) Configures the amount of available memory-backed disk space available to /dev/shm | (string) A string containing one or more references that resolve to configures the amount of available memory-backed disk space available to /dev/shm (pattern: .*\${.*}.*)
       - `strategy`: {object}
         - `type`: (multiple options) (string) Configures the instance roll out strategy of your service. Currently only available via feature flag. (enum: recreate, rollout-steady, rollout-balanced, rollout-fast, custom) | (string) A string containing one or more references that resolve to configures the instance roll out strategy of your service. Currently only available via feature flag. (pattern: .*\${.*}.*)
         - `settings`: {object}
           - `maxSurge`: (multiple options) (integer) A non-negative integer. | (string) A percentage string in the range 0% to 100%, e.g. `25%` (pattern: ^\d+%$)
           - `maxUnavailable`: (multiple options) (integer) A non-negative integer. | (string) A percentage string in the range 0% to 100%, e.g. `25%` (pattern: ^\d+%$)
       - `zonalRedundancy`: {object}
         - `type`: (multiple options) (string) Defines scheduling behaviour across different zones within the same region. (enum: disabled, preferred, required) | (string) A string containing one or more references that resolve to defines scheduling behaviour across different zones within the same region. (pattern: .*\${.*}.*)
         - `minZones`: (integer) Defines how many zones are required and will prevent containers from additional scheduling into existing zones. (Only relevant if type is set to "required")
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
       - `gracePeriodSeconds`: (multiple options) (integer) The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. | (string) A string containing one or more references that resolve to the maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. (pattern: .*\${.*}.*)
       - `gradualRolloutStrategyId`: (multiple options) (string) The id of the strategy to be attached to service. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the strategy to be attached to service. (pattern: .*\${.*}.*)
       - `ssh`: {object}
         - `enabled`: (multiple options) (boolean) Enables SSH access if the resource matches an SSH identity selector. | (string) A string containing one or more references that resolve to enables SSH access if the resource matches an SSH identity selector. (pattern: .*\${.*}.*)
       - `metadata`: {object}
         - `labels`: {object}
         - `annotations`: {object}
       - `volumes`: [array of] {object}
           - `id`: (multiple options) (string) Slug identifying this volume within the service. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to slug identifying this volume within the service. (pattern: .*\${.*}.*)
           - `mounts`: [array of] {object}
               - `volumeMountPath`: (string) Optionally specify the path inside this volume that should be mounted (pattern: ^((?!\.\.).)*$)
               - `containerMountPath`: (string) (required) Specify the path into which the volume should be mounted (pattern: ^((?!:).)*$)
           - `spec`: {object}
             - `accessMode`: (string) Access mode of a per-replica volume. Always `ReadWriteOnce`. (enum: ReadWriteOnce)
             - `storageClassName`: (string) The type of the storage.
             - `storageSize`: (integer) (required) The size of the storage, in megabytes. Configurable sizes depend on the storage class.
     - `ports`: [array of] {object}
         - `name`: (multiple options) (string) The name used to identify the port. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 1) (max length: 8) | (string) A string containing one or more references that resolve to the name used to identify the port. (pattern: .*\${.*}.*)
         - `internalPort`: (multiple options) (integer) The port number. | (string) A string containing one or more references that resolve to the port number. (pattern: .*\${.*}.*)
         - `public`: (multiple options) (boolean) If true, the port will be exposed publicly. | (string) A string containing one or more references that resolve to if true, the port will be exposed publicly. (pattern: .*\${.*}.*)
         - `security`: {object}
           - `credentials`: [array of] {object}
               - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
               - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
               - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
           - `ip`: (multiple options) [array of] {object}
                 - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                 - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
           - `policies`: (multiple options) [array of] {object}
                 - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                 - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
           - `sso`: {object}
             - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
             - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
             - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
             - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
             - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
             - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
           - `headers`: [array of] (multiple options) {object}
                 - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                 - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                 - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                 - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
           - `verificationMode`: (string) Mode used to verify multiple security features like ip policies and SSO authentication (enum: or, and)
           - `securePathConfiguration`: {object}
             - `enabled`: (boolean) Enable security policies on a path-level style
             - `skipSecurityPoliciesForInternalTrafficViaPublicDns`: (boolean) Allow internal traffic from same or shared projects via public DNS to skip all security policies
             - `rules`: [array of] {object}
                 - `paths`: [array of] (multiple options) {object}
                       - `path`: (multiple options) (string) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) (pattern: .*\${.*}.*)
                       - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: prefix) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                       - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*) | {object}
                       - `path`: (multiple options) (string) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) (pattern: .*\${.*}.*)
                       - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: exact) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                       - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*) | {object}
                       - `path`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                       - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: regex) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                       - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*)
                 - `accessMode`: (multiple options) (string) Specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path (enum: protected, unprotected) | (string) A string containing one or more references that resolve to specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path (pattern: .*\${.*}.*)
                 - `securityPolicies`: (multiple options) {object}
                     - `orPolicies`: {object}
                       - `credentials`: [array of] {object}
                           - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
                           - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
                           - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
                       - `ip`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `policies`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `sso`: {object}
                         - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
                         - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
                         - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
                         - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
                         - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
                         - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
                       - `headers`: [array of] (multiple options) {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                     - `requiredPolicies`: {object}
                       - `credentials`: [array of] {object}
                           - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
                           - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
                           - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
                       - `ip`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `policies`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `sso`: {object}
                         - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
                         - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
                         - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
                         - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
                         - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
                         - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
                       - `headers`: [array of] (multiple options) {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
         - `domains`: (multiple options) [array of] (multiple options) (string) A domain to redirect to this port. | (string) A string containing one or more references that resolve to a domain to redirect to this port. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of domains to redirect to this port. Each domain must first be verified and registered to your account. (pattern: .*\${.*}.*)
         - `disableNfDomain`: (multiple options) (boolean) Disable routing on the default code.run domain for public HTTP ports with custom domains. | (string) A string containing one or more references that resolve to disable routing on the default code.run domain for public HTTP ports with custom domains. (pattern: .*\${.*}.*)
         - `advancedOptions`: {object}
           - `enableTlsPassthrough`: (multiple options) (boolean) Whether this port should use pass through mode for TLS | (string) A string containing one or more references that resolve to whether this port should use pass through mode for TLS (pattern: .*\${.*}.*)
         - `protocol`: (multiple options) (string) (enum: HTTP, HTTP/2) | (string) (enum: HTTP, HTTP/2, TCP, UDP)
     - `disabledCI`: (boolean) Whether CI (continuous integration) should be disabled.
     - `buildSource`: (string) Defines the build source for this resource (enum: git, bundle)
     - `vcsData`: {object}
       - `projectUrl`: (multiple options) (string) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo to build. (pattern: .*\${.*}.*)
       - `projectType`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
       - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
       - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
       - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24) | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
       - `projectBranch`: (multiple options) (string) The name of the branch to use. | (string) A string containing one or more references that resolve to the name of the branch to use. (pattern: .*\${.*}.*)
     - `bundleData`: {object}
       - `bundleUrl`: (multiple options) (string) URL of the bundle to be built | (string) A string containing one or more references that resolve to uRL of the bundle to be built (pattern: .*\${.*}.*)
       - `branch`: (multiple options) (string) Branch identifier for the bundle. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to branch identifier for the bundle. (pattern: .*\${.*}.*)
     - `buildSettings`: (multiple options) {object}
         - `storage`: {object}
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
         - `dockerfile`: {object}
           - `useCache`: (boolean) DEPRECATED: This field will be removed in the near future and currently has no effect.
           - `buildEngine`: (multiple options) (string) Build engine to use. Defaults to recommended build engine `buildkit` (enum: buildkit, kaniko) | (string) A string containing one or more references that resolve to build engine to use. Defaults to recommended build engine `buildkit` (pattern: .*\${.*}.*)
           - `dockerFilePath`: (multiple options) (string) The file path of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$) | (string) A string containing one or more references that resolve to the file path of the Dockerfile. (pattern: .*\${.*}.*)
           - `dockerWorkDir`: (multiple options) (string) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory of the Dockerfile. (pattern: .*\${.*}.*)
           - `buildkit`: {object}
             - `useCache`: (multiple options) (boolean) Use persistent storage to cache build layers. | (string) A string containing one or more references that resolve to use persistent storage to cache build layers. (pattern: .*\${.*}.*)
             - `cacheStorageSize`: (multiple options) (integer) The amount of persistent storage available to each build in MB. | (string) A string containing one or more references that resolve to the amount of persistent storage available to each build in MB. (pattern: .*\${.*}.*)
             - `useInternalCache`: (multiple options) (boolean) DEPRECATED: This field will be removed in the near future. | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*)
             - `internalCacheStorage`: (multiple options) (number) DEPRECATED: This field will be removed in the near future. (format: float) | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*) | {object}
         - `storage`: {object}
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
         - `buildpack`: {object}
           - `builder`: (multiple options) (string) Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (enum: HEROKU_24, HEROKU_22, HEROKU_22_CLASSIC, HEROKU_20, HEROKU_18, GOOGLE_22, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_JAMMY_TINY, PAKETO_JAMMY_BASE, PAKETO_JAMMY_FULL, PAKETO_TINY, PAKETO_BASE, PAKETO_FULL) | (string) A string containing one or more references that resolve to buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (pattern: .*\${.*}.*)
           - `buildpackLocators`: [array of] (multiple options) (string) Url or registry identifier of custom Buildpack. | (string) A string containing one or more references that resolve to url or registry identifier of custom Buildpack. (pattern: .*\${.*}.*)
           - `buildContext`: (multiple options) (string) The working directory to build in. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory to build in. (pattern: .*\${.*}.*)
           - `useCache`: (multiple options) (boolean) Should build dependencies be cached? | (string) A string containing one or more references that resolve to should build dependencies be cached? (pattern: .*\${.*}.*)
     - `buildConfiguration`: {object}
       - `pathIgnoreRules`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
       - `isAllowList`: (multiple options) (boolean) If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. | (string) A string containing one or more references that resolve to if `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. (pattern: .*\${.*}.*)
       - `ciIgnoreFlagsEnabled`: (multiple options) (boolean) If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. | (string) A string containing one or more references that resolve to if `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. (pattern: .*\${.*}.*)
       - `ciIgnoreFlags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
       - `dockerfileTarget`: (multiple options) (string) If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. | (string) A string containing one or more references that resolve to if your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. (pattern: .*\${.*}.*)
       - `dockerCredentials`: [array of] (multiple options) (string) The ID of the docker credentials to use. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of the docker credentials to use. (pattern: .*\${.*}.*)
       - `includeGitFolder`: (boolean) Include .git folder inside the build context
       - `fullGitClone`: (boolean) Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set.
       - `enableGitLfs`: (boolean) Enable Git LFS support for the build
       - `storage`: {object}
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
     - `runtimeEnvironment`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `runtimeFiles`: {object}
     - `buildArguments`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `buildFiles`: {object}
     - `dockerSecretMounts`: {object}
     - `healthChecks`: [array of] {object}
         - `protocol`: (multiple options) (string) The protocol to access the health check with. (enum: HTTP, CMD, TCP) | (string) A string containing one or more references that resolve to the protocol to access the health check with. (pattern: .*\${.*}.*)
         - `type`: (multiple options) (string) The type of health check. (enum: livenessProbe, readinessProbe, startupProbe) | (string) A string containing one or more references that resolve to the type of health check. (pattern: .*\${.*}.*)
         - `path`: (multiple options) (string) The path of the health check endpoint. Required when protocol is HTTP. (pattern: ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*((\?([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)(&([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)*)?$) | (string) (pattern: .*\${.*}.*)
         - `cmd`: (multiple options) (string) The command to run for the health check. Required when protocol is CMD | (string) (pattern: .*\${.*}.*)
         - `port`: (multiple options) (integer) Port number for the health check endpoint. Required when protocol is HTTP. | (string) (pattern: .*\${.*}.*)
         - `initialDelaySeconds`: (multiple options) (integer) Initial delay, in seconds, before the health check is first run. | (string) A string containing one or more references that resolve to initial delay, in seconds, before the health check is first run. (pattern: .*\${.*}.*)
         - `periodSeconds`: (multiple options) (integer) The time between each check, in seconds. | (string) A string containing one or more references that resolve to the time between each check, in seconds. (pattern: .*\${.*}.*)
         - `timeoutSeconds`: (multiple options) (integer) The time to wait for a response before marking the health check as a failure. | (string) A string containing one or more references that resolve to the time to wait for a response before marking the health check as a failure. (pattern: .*\${.*}.*)
         - `failureThreshold`: (multiple options) (integer) The maximum number of allowed failures. | (string) A string containing one or more references that resolve to the maximum number of allowed failures. (pattern: .*\${.*}.*)
         - `successThreshold`: (multiple options) (integer) The number of successes required to mark the health check as a success. | (string) (pattern: .*\${.*}.*)
     - `loadBalancing`: {object}
       - `mode`: (string) (required) (enum: leastConnection, consistentHash, roundRobin, consistentReplicaRouting)
       - `consistentHash`: {object}
         - `mode`: (string) (required) (enum: ip, customHeader)
         - `header`: (string)
       - `consistentReplicaRouting`: {object}
         - `mode`: (string) (required) (enum: path, header)
     - `autoscaling`: {object}
       - `horizontal`: {object}
         - `enabled`: (multiple options) (boolean) Whether horizontal autoscaling should be enabled | (string) A string containing one or more references that resolve to whether horizontal autoscaling should be enabled (pattern: .*\${.*}.*)
         - `minReplicas`: (multiple options) (number) Minimum number of replicas which should be running at any time (format: float) | (string) A string containing one or more references that resolve to minimum number of replicas which should be running at any time (pattern: .*\${.*}.*)
         - `maxReplicas`: (multiple options) (number) Maximum number of replicas which can be running at any time (format: float) | (string) A string containing one or more references that resolve to maximum number of replicas which can be running at any time (pattern: .*\${.*}.*)
         - `cpu`: {object}
           - `enabled`: (multiple options) (boolean) Whether autoscaling should take into account cpu usage | (string) A string containing one or more references that resolve to whether autoscaling should take into account cpu usage (pattern: .*\${.*}.*)
           - `thresholdPercentage`: (multiple options) (integer) Threshold CPU usage percentage at which the workload will be scaled | (string) A string containing one or more references that resolve to threshold CPU usage percentage at which the workload will be scaled (pattern: .*\${.*}.*)
         - `memory`: {object}
           - `enabled`: (multiple options) (boolean) Whether autoscaling should take into account memory usage | (string) A string containing one or more references that resolve to whether autoscaling should take into account memory usage (pattern: .*\${.*}.*)
           - `thresholdPercentage`: (multiple options) (integer) Threshold memory usage percentage at which the workload will be scaled | (string) A string containing one or more references that resolve to threshold memory usage percentage at which the workload will be scaled (pattern: .*\${.*}.*)
         - `rps`: {object}
           - `enabled`: (multiple options) (boolean) Whether autoscaling should take into requests-per-second | (string) A string containing one or more references that resolve to whether autoscaling should take into requests-per-second (pattern: .*\${.*}.*)
           - `thresholdValue`: (multiple options) (integer) Threshold rps value on which the workload will be scaled | (string) A string containing one or more references that resolve to threshold rps value on which the workload will be scaled (pattern: .*\${.*}.*)
         - `userMetrics`: {object}
           - `enabled`: (multiple options) (boolean) Whether to enable handling for custom metrics in the autoscaling configuration | (string) A string containing one or more references that resolve to whether to enable handling for custom metrics in the autoscaling configuration (pattern: .*\${.*}.*)
           - `exposedMetricsPath`: (multiple options) (string) Path on which the metrics will be exposed by the service.. (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) A string containing one or more references that resolve to path on which the metrics will be exposed by the service.. (pattern: .*\${.*}.*)
           - `exposedMetricsPort`: (multiple options) (integer) Port on which the metrics will be exposed by the service. | (string) A string containing one or more references that resolve to port on which the metrics will be exposed by the service. (pattern: .*\${.*}.*)
           - `metrics`: [array of] {object}
               - `metricName`: (multiple options) (string) Name of the custom metric (pattern: [a-zA-Z_:][a-zA-Z0-9_:]*$) | (string) A string containing one or more references that resolve to name of the custom metric (pattern: .*\${.*}.*)
               - `metricType`: (multiple options) (string) Type of metric exposed, this will affect how it'll be queried by the autoscaler component: Gauge will be used as is, Counter will be used with rate() (enum: gauge, counter) | (string) A string containing one or more references that resolve to type of metric exposed, this will affect how it'll be queried by the autoscaler component: Gauge will be used as is, Counter will be used with rate() (pattern: .*\${.*}.*)
               - `thresholdValue`: (multiple options) (number) Threshold value on which the workload will be scaled. Represents the average value across all running pods. (format: float) | (string) A string containing one or more references that resolve to threshold value on which the workload will be scaled. Represents the average value across all running pods. (pattern: .*\${.*}.*)
     - `createOptions`: {object}
       - `volumesToAttach`: [array of] (string) (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
       - `expiryTime`: (integer) Number of seconds from creation after which the service should automatically expire. Once reached, the service is paused and scheduled for deletion. Must be between 300 (5 minutes) and 604800 (7 days).
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: DeploymentService)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `description`: (multiple options) (string) A description of the service. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the service. (pattern: .*\${.*}.*)
     - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `billing`: {object}
       - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (pattern: .*\${.*}.*)
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
     - `deployment`: {object}
       - `instances`: (multiple options) (integer) The number of instances to run the service on. | (string) A string containing one or more references that resolve to the number of instances to run the service on. (pattern: .*\${.*}.*)
       - `buildpack`: {object}
         - `configType`: (string) (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand)
         - `customProcess`: (multiple options) (string)
         - `customEntrypoint`: (multiple options) (string)
         - `customCommand`: (multiple options) (string)
       - `docker`: {object}
         - `configType`: (string) (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand)
         - `customEntrypoint`: (multiple options) (string)
         - `customCommand`: (multiple options) (string)
       - `storage`: {object}
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per container in MB | (string) A string containing one or more references that resolve to ephemeral storage per container in MB (pattern: .*\${.*}.*)
         - `shmSize`: (multiple options) (integer) Configures the amount of available memory-backed disk space available to /dev/shm | (string) A string containing one or more references that resolve to configures the amount of available memory-backed disk space available to /dev/shm (pattern: .*\${.*}.*)
       - `strategy`: {object}
         - `type`: (multiple options) (string) Configures the instance roll out strategy of your service. Currently only available via feature flag. (enum: recreate, rollout-steady, rollout-balanced, rollout-fast, custom) | (string) A string containing one or more references that resolve to configures the instance roll out strategy of your service. Currently only available via feature flag. (pattern: .*\${.*}.*)
         - `settings`: {object}
           - `maxSurge`: (multiple options) (integer) A non-negative integer. | (string) A percentage string in the range 0% to 100%, e.g. `25%` (pattern: ^\d+%$)
           - `maxUnavailable`: (multiple options) (integer) A non-negative integer. | (string) A percentage string in the range 0% to 100%, e.g. `25%` (pattern: ^\d+%$)
       - `zonalRedundancy`: {object}
         - `type`: (multiple options) (string) Defines scheduling behaviour across different zones within the same region. (enum: disabled, preferred, required) | (string) A string containing one or more references that resolve to defines scheduling behaviour across different zones within the same region. (pattern: .*\${.*}.*)
         - `minZones`: (integer) Defines how many zones are required and will prevent containers from additional scheduling into existing zones. (Only relevant if type is set to "required")
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
       - `gracePeriodSeconds`: (multiple options) (integer) The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. | (string) A string containing one or more references that resolve to the maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. (pattern: .*\${.*}.*)
       - `gradualRolloutStrategyId`: (multiple options) (string) The id of the strategy to be attached to service. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the strategy to be attached to service. (pattern: .*\${.*}.*)
       - `ssh`: {object}
         - `enabled`: (multiple options) (boolean) Enables SSH access if the resource matches an SSH identity selector. | (string) A string containing one or more references that resolve to enables SSH access if the resource matches an SSH identity selector. (pattern: .*\${.*}.*)
       - `metadata`: {object}
         - `labels`: {object}
         - `annotations`: {object}
       - `volumes`: [array of] {object}
           - `id`: (multiple options) (string) Slug identifying this volume within the service. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to slug identifying this volume within the service. (pattern: .*\${.*}.*)
           - `mounts`: [array of] {object}
               - `volumeMountPath`: (string) Optionally specify the path inside this volume that should be mounted (pattern: ^((?!\.\.).)*$)
               - `containerMountPath`: (string) (required) Specify the path into which the volume should be mounted (pattern: ^((?!:).)*$)
           - `spec`: {object}
             - `accessMode`: (string) Access mode of a per-replica volume. Always `ReadWriteOnce`. (enum: ReadWriteOnce)
             - `storageClassName`: (string) The type of the storage.
             - `storageSize`: (integer) (required) The size of the storage, in megabytes. Configurable sizes depend on the storage class.
       - `containerSnapshot`: {object}
         - `capture`: {object}
           - `onTermination`: (multiple options) (boolean) Creates a snapshot when a service container terminates, including crashes, rollouts, scale-downs, evictions, and manual restarts. | (string) A string containing one or more references that resolve to creates a snapshot when a service container terminates, including crashes, rollouts, scale-downs, evictions, and manual restarts. (pattern: .*\${.*}.*)
           - `retention`: {object}
             - `maxSnapshots`: (multiple options) (integer) The maximum number of termination snapshots retained for the service. | (string) A string containing one or more references that resolve to the maximum number of termination snapshots retained for the service. (pattern: .*\${.*}.*)
       - `internal`: {object}
         - `id`: (multiple options) (multiple options) (string) The ID of a build service in the same project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) The ID of a build service in another project, in the format `project-id/build-service-id` | (string) A string containing one or more references that resolve to iD of the build service to deploy (pattern: .*\${.*}.*)
         - `branch`: (multiple options) (string) Branch to deploy | (string) A string containing one or more references that resolve to branch to deploy (pattern: .*\${.*}.*)
         - `buildSHA`: (multiple options) (multiple options) (string) A commit sha. (min length: 40) (max length: 40) | (string) Latest commit. (enum: latest) | (string) A string containing one or more references that resolve to commit SHA to deploy, or 'latest' to deploy the most recent commit (pattern: .*\${.*}.*)
         - `buildId`: (multiple options) (string) ID of the build that should be deployed | (string) A string containing one or more references that resolve to iD of the build that should be deployed (pattern: .*\${.*}.*)
       - `external`: {object}
         - `imagePath`: (multiple options) (string) Image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: ^(?:(?:https?:\/\/)?([a-zA-Z0-9\-]+\.[a-zA-Z0-9\.\-]+))?(?:\/)?([a-zA-Z/-9\.\-_]+)(?:\:([a-zA-Z/-9\.\-_\:]+)|\@([a-zA-Z/-9\.\-_\:]+))$) | (string) A string containing one or more references that resolve to image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: .*\${.*}.*)
         - `credentials`: (multiple options) (string) ID of the saved credentials to use to access this external image. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of the saved credentials to use to access this external image. (pattern: .*\${.*}.*)
     - `ports`: [array of] {object}
         - `name`: (multiple options) (string) The name used to identify the port. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 1) (max length: 8) | (string) A string containing one or more references that resolve to the name used to identify the port. (pattern: .*\${.*}.*)
         - `internalPort`: (multiple options) (integer) The port number. | (string) A string containing one or more references that resolve to the port number. (pattern: .*\${.*}.*)
         - `public`: (multiple options) (boolean) If true, the port will be exposed publicly. | (string) A string containing one or more references that resolve to if true, the port will be exposed publicly. (pattern: .*\${.*}.*)
         - `security`: {object}
           - `credentials`: [array of] {object}
               - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
               - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
               - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
           - `ip`: (multiple options) [array of] {object}
                 - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                 - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
           - `policies`: (multiple options) [array of] {object}
                 - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                 - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
           - `sso`: {object}
             - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
             - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
             - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
             - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
             - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
             - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
           - `headers`: [array of] (multiple options) {object}
                 - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                 - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                 - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                 - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
           - `verificationMode`: (string) Mode used to verify multiple security features like ip policies and SSO authentication (enum: or, and)
           - `securePathConfiguration`: {object}
             - `enabled`: (boolean) Enable security policies on a path-level style
             - `skipSecurityPoliciesForInternalTrafficViaPublicDns`: (boolean) Allow internal traffic from same or shared projects via public DNS to skip all security policies
             - `rules`: [array of] {object}
                 - `paths`: [array of] (multiple options) {object}
                       - `path`: (multiple options) (string) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) (pattern: .*\${.*}.*)
                       - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: prefix) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                       - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*) | {object}
                       - `path`: (multiple options) (string) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) (pattern: .*\${.*}.*)
                       - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: exact) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                       - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*) | {object}
                       - `path`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                       - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: regex) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                       - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*)
                 - `accessMode`: (multiple options) (string) Specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path (enum: protected, unprotected) | (string) A string containing one or more references that resolve to specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path (pattern: .*\${.*}.*)
                 - `securityPolicies`: (multiple options) {object}
                     - `orPolicies`: {object}
                       - `credentials`: [array of] {object}
                           - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
                           - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
                           - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
                       - `ip`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `policies`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `sso`: {object}
                         - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
                         - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
                         - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
                         - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
                         - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
                         - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
                       - `headers`: [array of] (multiple options) {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                     - `requiredPolicies`: {object}
                       - `credentials`: [array of] {object}
                           - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
                           - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
                           - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
                       - `ip`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `policies`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `sso`: {object}
                         - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
                         - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
                         - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
                         - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
                         - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
                         - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
                       - `headers`: [array of] (multiple options) {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
         - `domains`: (multiple options) [array of] (multiple options) (string) A domain to redirect to this port. | (string) A string containing one or more references that resolve to a domain to redirect to this port. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of domains to redirect to this port. Each domain must first be verified and registered to your account. (pattern: .*\${.*}.*)
         - `disableNfDomain`: (multiple options) (boolean) Disable routing on the default code.run domain for public HTTP ports with custom domains. | (string) A string containing one or more references that resolve to disable routing on the default code.run domain for public HTTP ports with custom domains. (pattern: .*\${.*}.*)
         - `advancedOptions`: {object}
           - `enableTlsPassthrough`: (multiple options) (boolean) Whether this port should use pass through mode for TLS | (string) A string containing one or more references that resolve to whether this port should use pass through mode for TLS (pattern: .*\${.*}.*)
         - `protocol`: (multiple options) (string) (enum: HTTP, HTTP/2) | (string) (enum: HTTP, HTTP/2, TCP, UDP)
     - `runtimeEnvironment`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `runtimeFiles`: {object}
     - `healthChecks`: [array of] {object}
         - `protocol`: (multiple options) (string) The protocol to access the health check with. (enum: HTTP, CMD, TCP) | (string) A string containing one or more references that resolve to the protocol to access the health check with. (pattern: .*\${.*}.*)
         - `type`: (multiple options) (string) The type of health check. (enum: livenessProbe, readinessProbe, startupProbe) | (string) A string containing one or more references that resolve to the type of health check. (pattern: .*\${.*}.*)
         - `path`: (multiple options) (string) The path of the health check endpoint. Required when protocol is HTTP. (pattern: ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*((\?([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)(&([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)*)?$) | (string) (pattern: .*\${.*}.*)
         - `cmd`: (multiple options) (string) The command to run for the health check. Required when protocol is CMD | (string) (pattern: .*\${.*}.*)
         - `port`: (multiple options) (integer) Port number for the health check endpoint. Required when protocol is HTTP. | (string) (pattern: .*\${.*}.*)
         - `initialDelaySeconds`: (multiple options) (integer) Initial delay, in seconds, before the health check is first run. | (string) A string containing one or more references that resolve to initial delay, in seconds, before the health check is first run. (pattern: .*\${.*}.*)
         - `periodSeconds`: (multiple options) (integer) The time between each check, in seconds. | (string) A string containing one or more references that resolve to the time between each check, in seconds. (pattern: .*\${.*}.*)
         - `timeoutSeconds`: (multiple options) (integer) The time to wait for a response before marking the health check as a failure. | (string) A string containing one or more references that resolve to the time to wait for a response before marking the health check as a failure. (pattern: .*\${.*}.*)
         - `failureThreshold`: (multiple options) (integer) The maximum number of allowed failures. | (string) A string containing one or more references that resolve to the maximum number of allowed failures. (pattern: .*\${.*}.*)
         - `successThreshold`: (multiple options) (integer) The number of successes required to mark the health check as a success. | (string) (pattern: .*\${.*}.*)
     - `loadBalancing`: {object}
       - `mode`: (string) (enum: leastConnection, consistentHash, roundRobin, consistentReplicaRouting)
       - `consistentHash`: {object}
         - `mode`: (string) (required) (enum: ip, customHeader)
         - `header`: (string)
       - `consistentReplicaRouting`: {object}
         - `mode`: (string) (required) (enum: path, header)
     - `autoscaling`: {object}
       - `horizontal`: {object}
         - `enabled`: (multiple options) (boolean) Whether horizontal autoscaling should be enabled | (string) A string containing one or more references that resolve to whether horizontal autoscaling should be enabled (pattern: .*\${.*}.*)
         - `minReplicas`: (multiple options) (number) Minimum number of replicas which should be running at any time (format: float) | (string) A string containing one or more references that resolve to minimum number of replicas which should be running at any time (pattern: .*\${.*}.*)
         - `maxReplicas`: (multiple options) (number) Maximum number of replicas which can be running at any time (format: float) | (string) A string containing one or more references that resolve to maximum number of replicas which can be running at any time (pattern: .*\${.*}.*)
         - `cpu`: {object}
           - `enabled`: (multiple options) (boolean) Whether autoscaling should take into account cpu usage | (string) A string containing one or more references that resolve to whether autoscaling should take into account cpu usage (pattern: .*\${.*}.*)
           - `thresholdPercentage`: (multiple options) (integer) Threshold CPU usage percentage at which the workload will be scaled | (string) A string containing one or more references that resolve to threshold CPU usage percentage at which the workload will be scaled (pattern: .*\${.*}.*)
         - `memory`: {object}
           - `enabled`: (multiple options) (boolean) Whether autoscaling should take into account memory usage | (string) A string containing one or more references that resolve to whether autoscaling should take into account memory usage (pattern: .*\${.*}.*)
           - `thresholdPercentage`: (multiple options) (integer) Threshold memory usage percentage at which the workload will be scaled | (string) A string containing one or more references that resolve to threshold memory usage percentage at which the workload will be scaled (pattern: .*\${.*}.*)
         - `rps`: {object}
           - `enabled`: (multiple options) (boolean) Whether autoscaling should take into requests-per-second | (string) A string containing one or more references that resolve to whether autoscaling should take into requests-per-second (pattern: .*\${.*}.*)
           - `thresholdValue`: (multiple options) (integer) Threshold rps value on which the workload will be scaled | (string) A string containing one or more references that resolve to threshold rps value on which the workload will be scaled (pattern: .*\${.*}.*)
         - `userMetrics`: {object}
           - `enabled`: (multiple options) (boolean) Whether to enable handling for custom metrics in the autoscaling configuration | (string) A string containing one or more references that resolve to whether to enable handling for custom metrics in the autoscaling configuration (pattern: .*\${.*}.*)
           - `exposedMetricsPath`: (multiple options) (string) Path on which the metrics will be exposed by the service.. (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) A string containing one or more references that resolve to path on which the metrics will be exposed by the service.. (pattern: .*\${.*}.*)
           - `exposedMetricsPort`: (multiple options) (integer) Port on which the metrics will be exposed by the service. | (string) A string containing one or more references that resolve to port on which the metrics will be exposed by the service. (pattern: .*\${.*}.*)
           - `metrics`: [array of] {object}
               - `metricName`: (multiple options) (string) Name of the custom metric (pattern: [a-zA-Z_:][a-zA-Z0-9_:]*$) | (string) A string containing one or more references that resolve to name of the custom metric (pattern: .*\${.*}.*)
               - `metricType`: (multiple options) (string) Type of metric exposed, this will affect how it'll be queried by the autoscaler component: Gauge will be used as is, Counter will be used with rate() (enum: gauge, counter) | (string) A string containing one or more references that resolve to type of metric exposed, this will affect how it'll be queried by the autoscaler component: Gauge will be used as is, Counter will be used with rate() (pattern: .*\${.*}.*)
               - `thresholdValue`: (multiple options) (number) Threshold value on which the workload will be scaled. Represents the average value across all running pods. (format: float) | (string) A string containing one or more references that resolve to threshold value on which the workload will be scaled. Represents the average value across all running pods. (pattern: .*\${.*}.*)
     - `name`: (multiple options) (string) The name of the service. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the name of the service. (pattern: .*\${.*}.*)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: DeploymentService)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) The name of the service. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the name of the service. (pattern: .*\${.*}.*)
     - `description`: (multiple options) (string) A description of the service. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the service. (pattern: .*\${.*}.*)
     - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
     - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `billing`: {object}
       - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (pattern: .*\${.*}.*)
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
     - `infrastructure`: {object}
       - `architecture`: (string) (enum: x86, arm)
     - `deployment`: {object}
       - `type`: (multiple options) (string) The way the service should be deployed. Either as a deployment (default), or as a stateful set. (enum: deployment, statefulSet) | (string) A string containing one or more references that resolve to the way the service should be deployed. Either as a deployment (default), or as a stateful set. (pattern: .*\${.*}.*)
       - `instances`: (multiple options) (integer) The number of instances to run the service on. | (string) A string containing one or more references that resolve to the number of instances to run the service on. (pattern: .*\${.*}.*)
       - `buildpack`: {object}
         - `configType`: (string) (required) Type of buildpack run configuration (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand)
         - `customProcess`: (string) Custom process which should be run. Required in case where `configType` is `customProcess`
         - `customEntrypoint`: (string) Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand`
         - `customCommand`: (string) Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand`
       - `docker`: {object}
         - `configType`: (string) (required) Type of entrypoint & command override configuration (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand)
         - `customEntrypoint`: (string) Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand`
         - `customCommand`: (string) Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand`
       - `storage`: {object}
         - `useHdbStorage`: (boolean)
         - `usePdSsdStorage`: (boolean)
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per container in MB | (string) A string containing one or more references that resolve to ephemeral storage per container in MB (pattern: .*\${.*}.*)
         - `shmSize`: (multiple options) (integer) Configures the amount of available memory-backed disk space available to /dev/shm | (string) A string containing one or more references that resolve to configures the amount of available memory-backed disk space available to /dev/shm (pattern: .*\${.*}.*)
       - `strategy`: {object}
         - `type`: (multiple options) (string) Configures the instance roll out strategy of your service. Currently only available via feature flag. (enum: recreate, rollout-steady, rollout-balanced, rollout-fast, custom) | (string) A string containing one or more references that resolve to configures the instance roll out strategy of your service. Currently only available via feature flag. (pattern: .*\${.*}.*)
         - `settings`: {object}
           - `maxSurge`: (multiple options) (integer) A non-negative integer. | (string) A percentage string in the range 0% to 100%, e.g. `25%` (pattern: ^\d+%$)
           - `maxUnavailable`: (multiple options) (integer) A non-negative integer. | (string) A percentage string in the range 0% to 100%, e.g. `25%` (pattern: ^\d+%$)
       - `zonalRedundancy`: {object}
         - `type`: (multiple options) (string) Defines scheduling behaviour across different zones within the same region. (enum: disabled, preferred, required) | (string) A string containing one or more references that resolve to defines scheduling behaviour across different zones within the same region. (pattern: .*\${.*}.*)
         - `minZones`: (integer) Defines how many zones are required and will prevent containers from additional scheduling into existing zones. (Only relevant if type is set to "required")
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
       - `gracePeriodSeconds`: (multiple options) (integer) The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. | (string) A string containing one or more references that resolve to the maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. (pattern: .*\${.*}.*)
       - `gradualRolloutStrategyId`: (multiple options) (string) The id of the strategy to be attached to service. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the strategy to be attached to service. (pattern: .*\${.*}.*)
       - `ssh`: {object}
         - `enabled`: (multiple options) (boolean) Enables SSH access if the resource matches an SSH identity selector. | (string) A string containing one or more references that resolve to enables SSH access if the resource matches an SSH identity selector. (pattern: .*\${.*}.*)
       - `metadata`: {object}
         - `labels`: {object}
         - `annotations`: {object}
       - `volumes`: [array of] {object}
           - `id`: (multiple options) (string) Slug identifying this volume within the service. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to slug identifying this volume within the service. (pattern: .*\${.*}.*)
           - `mounts`: [array of] {object}
               - `volumeMountPath`: (string) Optionally specify the path inside this volume that should be mounted (pattern: ^((?!\.\.).)*$)
               - `containerMountPath`: (string) (required) Specify the path into which the volume should be mounted (pattern: ^((?!:).)*$)
           - `spec`: {object}
             - `accessMode`: (string) Access mode of a per-replica volume. Always `ReadWriteOnce`. (enum: ReadWriteOnce)
             - `storageClassName`: (string) The type of the storage.
             - `storageSize`: (integer) (required) The size of the storage, in megabytes. Configurable sizes depend on the storage class.
       - `containerSnapshot`: {object}
         - `restoreFrom`: (multiple options) (string) The successful container snapshot to restore the service from. (format: uuid) | (string) A string containing one or more references that resolve to the successful container snapshot to restore the service from. (pattern: .*\${.*}.*)
         - `capture`: {object}
           - `onTermination`: (multiple options) (boolean) Creates a snapshot when a service container terminates, including crashes, rollouts, scale-downs, evictions, and manual restarts. | (string) A string containing one or more references that resolve to creates a snapshot when a service container terminates, including crashes, rollouts, scale-downs, evictions, and manual restarts. (pattern: .*\${.*}.*)
           - `retention`: {object}
             - `maxSnapshots`: (multiple options) (integer) The maximum number of termination snapshots retained for the service. | (string) A string containing one or more references that resolve to the maximum number of termination snapshots retained for the service. (pattern: .*\${.*}.*)
       - `internal`: {object}
         - `id`: (multiple options) (multiple options) (string) The ID of a build service in the same project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) The ID of a build service in another project, in the format `project-id/build-service-id` | (string) A string containing one or more references that resolve to iD of the build service to deploy (pattern: .*\${.*}.*)
         - `branch`: (multiple options) (string) Branch to deploy | (string) A string containing one or more references that resolve to branch to deploy (pattern: .*\${.*}.*)
         - `buildSHA`: (multiple options) (multiple options) (string) A commit sha. (min length: 40) (max length: 40) | (string) Latest commit. (enum: latest) | (string) A string containing one or more references that resolve to commit SHA to deploy, or 'latest' to deploy the most recent commit (pattern: .*\${.*}.*)
         - `buildId`: (multiple options) (string) ID of the build that should be deployed | (string) A string containing one or more references that resolve to iD of the build that should be deployed (pattern: .*\${.*}.*)
       - `external`: {object}
         - `imagePath`: (multiple options) (string) Image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: ^(?:(?:https?:\/\/)?([a-zA-Z0-9\-]+\.[a-zA-Z0-9\.\-]+))?(?:\/)?([a-zA-Z/-9\.\-_]+)(?:\:([a-zA-Z/-9\.\-_\:]+)|\@([a-zA-Z/-9\.\-_\:]+))$) | (string) A string containing one or more references that resolve to image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: .*\${.*}.*)
         - `credentials`: (multiple options) (string) ID of the saved credentials to use to access this external image. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of the saved credentials to use to access this external image. (pattern: .*\${.*}.*)
       - `releaseFlowControlled`: (boolean) When enabled the deployment source will only be set on creation. All changes to the deployment source must be done via a release flow or manually.
     - `ports`: [array of] {object}
         - `name`: (multiple options) (string) The name used to identify the port. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 1) (max length: 8) | (string) A string containing one or more references that resolve to the name used to identify the port. (pattern: .*\${.*}.*)
         - `internalPort`: (multiple options) (integer) The port number. | (string) A string containing one or more references that resolve to the port number. (pattern: .*\${.*}.*)
         - `public`: (multiple options) (boolean) If true, the port will be exposed publicly. | (string) A string containing one or more references that resolve to if true, the port will be exposed publicly. (pattern: .*\${.*}.*)
         - `security`: {object}
           - `credentials`: [array of] {object}
               - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
               - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
               - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
           - `ip`: (multiple options) [array of] {object}
                 - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                 - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
           - `policies`: (multiple options) [array of] {object}
                 - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                 - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
           - `sso`: {object}
             - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
             - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
             - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
             - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
             - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
             - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
           - `headers`: [array of] (multiple options) {object}
                 - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                 - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                 - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                 - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
           - `verificationMode`: (string) Mode used to verify multiple security features like ip policies and SSO authentication (enum: or, and)
           - `securePathConfiguration`: {object}
             - `enabled`: (boolean) Enable security policies on a path-level style
             - `skipSecurityPoliciesForInternalTrafficViaPublicDns`: (boolean) Allow internal traffic from same or shared projects via public DNS to skip all security policies
             - `rules`: [array of] {object}
                 - `paths`: [array of] (multiple options) {object}
                       - `path`: (multiple options) (string) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) (pattern: .*\${.*}.*)
                       - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: prefix) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                       - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*) | {object}
                       - `path`: (multiple options) (string) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) (pattern: .*\${.*}.*)
                       - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: exact) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                       - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*) | {object}
                       - `path`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                       - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: regex) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                       - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*)
                 - `accessMode`: (multiple options) (string) Specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path (enum: protected, unprotected) | (string) A string containing one or more references that resolve to specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path (pattern: .*\${.*}.*)
                 - `securityPolicies`: (multiple options) {object}
                     - `orPolicies`: {object}
                       - `credentials`: [array of] {object}
                           - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
                           - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
                           - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
                       - `ip`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `policies`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `sso`: {object}
                         - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
                         - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
                         - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
                         - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
                         - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
                         - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
                       - `headers`: [array of] (multiple options) {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                     - `requiredPolicies`: {object}
                       - `credentials`: [array of] {object}
                           - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
                           - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
                           - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
                       - `ip`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `policies`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `sso`: {object}
                         - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
                         - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
                         - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
                         - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
                         - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
                         - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
                       - `headers`: [array of] (multiple options) {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
         - `domains`: (multiple options) [array of] (multiple options) (string) A domain to redirect to this port. | (string) A string containing one or more references that resolve to a domain to redirect to this port. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of domains to redirect to this port. Each domain must first be verified and registered to your account. (pattern: .*\${.*}.*)
         - `disableNfDomain`: (multiple options) (boolean) Disable routing on the default code.run domain for public HTTP ports with custom domains. | (string) A string containing one or more references that resolve to disable routing on the default code.run domain for public HTTP ports with custom domains. (pattern: .*\${.*}.*)
         - `advancedOptions`: {object}
           - `enableTlsPassthrough`: (multiple options) (boolean) Whether this port should use pass through mode for TLS | (string) A string containing one or more references that resolve to whether this port should use pass through mode for TLS (pattern: .*\${.*}.*)
         - `protocol`: (multiple options) (string) (enum: HTTP, HTTP/2) | (string) (enum: HTTP, HTTP/2, TCP, UDP)
     - `runtimeEnvironment`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `runtimeFiles`: {object}
     - `healthChecks`: [array of] {object}
         - `protocol`: (multiple options) (string) The protocol to access the health check with. (enum: HTTP, CMD, TCP) | (string) A string containing one or more references that resolve to the protocol to access the health check with. (pattern: .*\${.*}.*)
         - `type`: (multiple options) (string) The type of health check. (enum: livenessProbe, readinessProbe, startupProbe) | (string) A string containing one or more references that resolve to the type of health check. (pattern: .*\${.*}.*)
         - `path`: (multiple options) (string) The path of the health check endpoint. Required when protocol is HTTP. (pattern: ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*((\?([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)(&([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)*)?$) | (string) (pattern: .*\${.*}.*)
         - `cmd`: (multiple options) (string) The command to run for the health check. Required when protocol is CMD | (string) (pattern: .*\${.*}.*)
         - `port`: (multiple options) (integer) Port number for the health check endpoint. Required when protocol is HTTP. | (string) (pattern: .*\${.*}.*)
         - `initialDelaySeconds`: (multiple options) (integer) Initial delay, in seconds, before the health check is first run. | (string) A string containing one or more references that resolve to initial delay, in seconds, before the health check is first run. (pattern: .*\${.*}.*)
         - `periodSeconds`: (multiple options) (integer) The time between each check, in seconds. | (string) A string containing one or more references that resolve to the time between each check, in seconds. (pattern: .*\${.*}.*)
         - `timeoutSeconds`: (multiple options) (integer) The time to wait for a response before marking the health check as a failure. | (string) A string containing one or more references that resolve to the time to wait for a response before marking the health check as a failure. (pattern: .*\${.*}.*)
         - `failureThreshold`: (multiple options) (integer) The maximum number of allowed failures. | (string) A string containing one or more references that resolve to the maximum number of allowed failures. (pattern: .*\${.*}.*)
         - `successThreshold`: (multiple options) (integer) The number of successes required to mark the health check as a success. | (string) (pattern: .*\${.*}.*)
     - `loadBalancing`: {object}
       - `mode`: (string) (required) (enum: leastConnection, consistentHash, roundRobin, consistentReplicaRouting)
       - `consistentHash`: {object}
         - `mode`: (string) (required) (enum: ip, customHeader)
         - `header`: (string)
       - `consistentReplicaRouting`: {object}
         - `mode`: (string) (required) (enum: path, header)
     - `autoscaling`: {object}
       - `horizontal`: {object}
         - `enabled`: (multiple options) (boolean) Whether horizontal autoscaling should be enabled | (string) A string containing one or more references that resolve to whether horizontal autoscaling should be enabled (pattern: .*\${.*}.*)
         - `minReplicas`: (multiple options) (number) Minimum number of replicas which should be running at any time (format: float) | (string) A string containing one or more references that resolve to minimum number of replicas which should be running at any time (pattern: .*\${.*}.*)
         - `maxReplicas`: (multiple options) (number) Maximum number of replicas which can be running at any time (format: float) | (string) A string containing one or more references that resolve to maximum number of replicas which can be running at any time (pattern: .*\${.*}.*)
         - `cpu`: {object}
           - `enabled`: (multiple options) (boolean) Whether autoscaling should take into account cpu usage | (string) A string containing one or more references that resolve to whether autoscaling should take into account cpu usage (pattern: .*\${.*}.*)
           - `thresholdPercentage`: (multiple options) (integer) Threshold CPU usage percentage at which the workload will be scaled | (string) A string containing one or more references that resolve to threshold CPU usage percentage at which the workload will be scaled (pattern: .*\${.*}.*)
         - `memory`: {object}
           - `enabled`: (multiple options) (boolean) Whether autoscaling should take into account memory usage | (string) A string containing one or more references that resolve to whether autoscaling should take into account memory usage (pattern: .*\${.*}.*)
           - `thresholdPercentage`: (multiple options) (integer) Threshold memory usage percentage at which the workload will be scaled | (string) A string containing one or more references that resolve to threshold memory usage percentage at which the workload will be scaled (pattern: .*\${.*}.*)
         - `rps`: {object}
           - `enabled`: (multiple options) (boolean) Whether autoscaling should take into requests-per-second | (string) A string containing one or more references that resolve to whether autoscaling should take into requests-per-second (pattern: .*\${.*}.*)
           - `thresholdValue`: (multiple options) (integer) Threshold rps value on which the workload will be scaled | (string) A string containing one or more references that resolve to threshold rps value on which the workload will be scaled (pattern: .*\${.*}.*)
         - `userMetrics`: {object}
           - `enabled`: (multiple options) (boolean) Whether to enable handling for custom metrics in the autoscaling configuration | (string) A string containing one or more references that resolve to whether to enable handling for custom metrics in the autoscaling configuration (pattern: .*\${.*}.*)
           - `exposedMetricsPath`: (multiple options) (string) Path on which the metrics will be exposed by the service.. (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) A string containing one or more references that resolve to path on which the metrics will be exposed by the service.. (pattern: .*\${.*}.*)
           - `exposedMetricsPort`: (multiple options) (integer) Port on which the metrics will be exposed by the service. | (string) A string containing one or more references that resolve to port on which the metrics will be exposed by the service. (pattern: .*\${.*}.*)
           - `metrics`: [array of] {object}
               - `metricName`: (multiple options) (string) Name of the custom metric (pattern: [a-zA-Z_:][a-zA-Z0-9_:]*$) | (string) A string containing one or more references that resolve to name of the custom metric (pattern: .*\${.*}.*)
               - `metricType`: (multiple options) (string) Type of metric exposed, this will affect how it'll be queried by the autoscaler component: Gauge will be used as is, Counter will be used with rate() (enum: gauge, counter) | (string) A string containing one or more references that resolve to type of metric exposed, this will affect how it'll be queried by the autoscaler component: Gauge will be used as is, Counter will be used with rate() (pattern: .*\${.*}.*)
               - `thresholdValue`: (multiple options) (number) Threshold value on which the workload will be scaled. Represents the average value across all running pods. (format: float) | (string) A string containing one or more references that resolve to threshold value on which the workload will be scaled. Represents the average value across all running pods. (pattern: .*\${.*}.*)
     - `createOptions`: {object}
       - `volumesToAttach`: [array of] (string) (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
       - `expiryTime`: (integer) Number of seconds from creation after which the service should automatically expire. Once reached, the service is paused and scheduled for deletion. Must be between 300 (5 minutes) and 604800 (7 days).
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: Harness)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `description`: (multiple options) (string) A description of the harness. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the harness. (pattern: .*\${.*}.*)
     - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `billing`: {object}
       - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (pattern: .*\${.*}.*)
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
     - `deployment`: {object}
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
       - `storage`: {object}
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per container in MB | (string) A string containing one or more references that resolve to ephemeral storage per container in MB (pattern: .*\${.*}.*)
       - `workspaceSize`: (multiple options) (integer) Size of the persistent workspace volume in MiB. Can only be grown after creation; shrinking is rejected because Kubernetes does not support shrinking persistent volume claims. | (string) A string containing one or more references that resolve to size of the persistent workspace volume in MiB. Can only be grown after creation; shrinking is rejected because Kubernetes does not support shrinking persistent volume claims. (pattern: .*\${.*}.*)
     - `ports`: [array of] {object}
         - `name`: (multiple options) (string) The name used to identify the port. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 1) (max length: 8) | (string) A string containing one or more references that resolve to the name used to identify the port. (pattern: .*\${.*}.*)
         - `internalPort`: (multiple options) (integer) The port number. | (string) A string containing one or more references that resolve to the port number. (pattern: .*\${.*}.*)
         - `public`: (multiple options) (boolean) If true, the port will be exposed publicly. | (string) A string containing one or more references that resolve to if true, the port will be exposed publicly. (pattern: .*\${.*}.*)
         - `security`: {object}
           - `credentials`: [array of] {object}
               - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
               - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
               - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
           - `ip`: (multiple options) [array of] {object}
                 - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                 - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
           - `policies`: (multiple options) [array of] {object}
                 - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                 - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
           - `sso`: {object}
             - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
             - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
             - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
             - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
             - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
             - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
           - `headers`: [array of] (multiple options) {object}
                 - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                 - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                 - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                 - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
           - `verificationMode`: (string) Mode used to verify multiple security features like ip policies and SSO authentication (enum: or, and)
           - `securePathConfiguration`: {object}
             - `enabled`: (boolean) Enable security policies on a path-level style
             - `skipSecurityPoliciesForInternalTrafficViaPublicDns`: (boolean) Allow internal traffic from same or shared projects via public DNS to skip all security policies
             - `rules`: [array of] {object}
                 - `paths`: [array of] (multiple options) {object}
                       - `path`: (multiple options) (string) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) (pattern: .*\${.*}.*)
                       - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: prefix) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                       - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*) | {object}
                       - `path`: (multiple options) (string) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) (pattern: .*\${.*}.*)
                       - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: exact) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                       - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*) | {object}
                       - `path`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                       - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: regex) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                       - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*)
                 - `accessMode`: (multiple options) (string) Specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path (enum: protected, unprotected) | (string) A string containing one or more references that resolve to specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path (pattern: .*\${.*}.*)
                 - `securityPolicies`: (multiple options) {object}
                     - `orPolicies`: {object}
                       - `credentials`: [array of] {object}
                           - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
                           - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
                           - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
                       - `ip`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `policies`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `sso`: {object}
                         - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
                         - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
                         - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
                         - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
                         - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
                         - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
                       - `headers`: [array of] (multiple options) {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                     - `requiredPolicies`: {object}
                       - `credentials`: [array of] {object}
                           - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
                           - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
                           - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
                       - `ip`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `policies`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `sso`: {object}
                         - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
                         - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
                         - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
                         - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
                         - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
                         - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
                       - `headers`: [array of] (multiple options) {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
         - `domains`: (multiple options) [array of] (multiple options) (string) A domain to redirect to this port. | (string) A string containing one or more references that resolve to a domain to redirect to this port. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of domains to redirect to this port. Each domain must first be verified and registered to your account. (pattern: .*\${.*}.*)
         - `disableNfDomain`: (multiple options) (boolean) Disable routing on the default code.run domain for public HTTP ports with custom domains. | (string) A string containing one or more references that resolve to disable routing on the default code.run domain for public HTTP ports with custom domains. (pattern: .*\${.*}.*)
         - `advancedOptions`: {object}
           - `enableTlsPassthrough`: (multiple options) (boolean) Whether this port should use pass through mode for TLS | (string) A string containing one or more references that resolve to whether this port should use pass through mode for TLS (pattern: .*\${.*}.*)
         - `protocol`: (multiple options) (string) (enum: HTTP, HTTP/2) | (string) (enum: HTTP, HTTP/2, TCP, UDP)
     - `source`: {object}
       - `projectUrl`: (multiple options) (string) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo to build. (pattern: .*\${.*}.*)
       - `projectType`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
       - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
       - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
       - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24) | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
       - `projectBranch`: (multiple options) (string) The name of the branch to pre-pull for the harness environment. | (string) A string containing one or more references that resolve to the name of the branch to pre-pull for the harness environment. (pattern: .*\${.*}.*)
       - `publicRepo`: (multiple options) (boolean) Whether the linked repository is public. | (string) A string containing one or more references that resolve to whether the linked repository is public. (pattern: .*\${.*}.*)
     - `harness`: {object}
       - `authMode`: (multiple options) (string) How the harness authenticates: `apiKey` (a provider API key is supplied) or `account` (interactive/account login, no key stored). When omitted, defaults to `apiKey` if an apiKey is provided. (enum: apiKey, account) | (string) A string containing one or more references that resolve to how the harness authenticates: `apiKey` (a provider API key is supplied) or `account` (interactive/account login, no key stored). When omitted, defaults to `apiKey` if an apiKey is provided. (pattern: .*\${.*}.*)
       - `apiKey`: (multiple options) (string) API key used by the harness environment. | (string) A string containing one or more references that resolve to aPI key used by the harness environment. (pattern: .*\${.*}.*)
     - `runtimeEnvironment`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `runtimeFiles`: {object}
     - `name`: (multiple options) (string) The name of the harness. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the name of the harness. (pattern: .*\${.*}.*)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: Harness)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) The name of the harness. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the name of the harness. (pattern: .*\${.*}.*)
     - `description`: (multiple options) (string) A description of the harness. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the harness. (pattern: .*\${.*}.*)
     - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
     - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `billing`: {object}
       - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (pattern: .*\${.*}.*)
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
     - `deployment`: {object}
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
       - `storage`: {object}
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per container in MB | (string) A string containing one or more references that resolve to ephemeral storage per container in MB (pattern: .*\${.*}.*)
       - `workspaceSize`: (multiple options) (integer) Size of the persistent workspace volume in MiB. Can only be grown after creation; shrinking is rejected because Kubernetes does not support shrinking persistent volume claims. | (string) A string containing one or more references that resolve to size of the persistent workspace volume in MiB. Can only be grown after creation; shrinking is rejected because Kubernetes does not support shrinking persistent volume claims. (pattern: .*\${.*}.*)
     - `ports`: [array of] {object}
         - `name`: (multiple options) (string) The name used to identify the port. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 1) (max length: 8) | (string) A string containing one or more references that resolve to the name used to identify the port. (pattern: .*\${.*}.*)
         - `internalPort`: (multiple options) (integer) The port number. | (string) A string containing one or more references that resolve to the port number. (pattern: .*\${.*}.*)
         - `public`: (multiple options) (boolean) If true, the port will be exposed publicly. | (string) A string containing one or more references that resolve to if true, the port will be exposed publicly. (pattern: .*\${.*}.*)
         - `security`: {object}
           - `credentials`: [array of] {object}
               - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
               - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
               - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
           - `ip`: (multiple options) [array of] {object}
                 - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                 - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
           - `policies`: (multiple options) [array of] {object}
                 - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                 - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
           - `sso`: {object}
             - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
             - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
             - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
             - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
             - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
             - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
           - `headers`: [array of] (multiple options) {object}
                 - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                 - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                 - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                 - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
           - `verificationMode`: (string) Mode used to verify multiple security features like ip policies and SSO authentication (enum: or, and)
           - `securePathConfiguration`: {object}
             - `enabled`: (boolean) Enable security policies on a path-level style
             - `skipSecurityPoliciesForInternalTrafficViaPublicDns`: (boolean) Allow internal traffic from same or shared projects via public DNS to skip all security policies
             - `rules`: [array of] {object}
                 - `paths`: [array of] (multiple options) {object}
                       - `path`: (multiple options) (string) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) (pattern: .*\${.*}.*)
                       - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: prefix) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                       - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*) | {object}
                       - `path`: (multiple options) (string) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) (pattern: .*\${.*}.*)
                       - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: exact) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                       - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*) | {object}
                       - `path`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                       - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: regex) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                       - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*)
                 - `accessMode`: (multiple options) (string) Specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path (enum: protected, unprotected) | (string) A string containing one or more references that resolve to specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path (pattern: .*\${.*}.*)
                 - `securityPolicies`: (multiple options) {object}
                     - `orPolicies`: {object}
                       - `credentials`: [array of] {object}
                           - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
                           - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
                           - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
                       - `ip`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `policies`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `sso`: {object}
                         - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
                         - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
                         - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
                         - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
                         - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
                         - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
                       - `headers`: [array of] (multiple options) {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                     - `requiredPolicies`: {object}
                       - `credentials`: [array of] {object}
                           - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
                           - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
                           - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
                       - `ip`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `policies`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `sso`: {object}
                         - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
                         - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
                         - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
                         - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
                         - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
                         - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
                       - `headers`: [array of] (multiple options) {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
         - `domains`: (multiple options) [array of] (multiple options) (string) A domain to redirect to this port. | (string) A string containing one or more references that resolve to a domain to redirect to this port. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of domains to redirect to this port. Each domain must first be verified and registered to your account. (pattern: .*\${.*}.*)
         - `disableNfDomain`: (multiple options) (boolean) Disable routing on the default code.run domain for public HTTP ports with custom domains. | (string) A string containing one or more references that resolve to disable routing on the default code.run domain for public HTTP ports with custom domains. (pattern: .*\${.*}.*)
         - `advancedOptions`: {object}
           - `enableTlsPassthrough`: (multiple options) (boolean) Whether this port should use pass through mode for TLS | (string) A string containing one or more references that resolve to whether this port should use pass through mode for TLS (pattern: .*\${.*}.*)
         - `protocol`: (multiple options) (string) (enum: HTTP, HTTP/2) | (string) (enum: HTTP, HTTP/2, TCP, UDP)
     - `source`: {object}
       - `projectUrl`: (multiple options) (string) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo to build. (pattern: .*\${.*}.*)
       - `projectType`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
       - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
       - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
       - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24) | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
       - `projectBranch`: (multiple options) (string) The name of the branch to pre-pull for the harness environment. | (string) A string containing one or more references that resolve to the name of the branch to pre-pull for the harness environment. (pattern: .*\${.*}.*)
       - `publicRepo`: (multiple options) (boolean) Whether the linked repository is public. | (string) A string containing one or more references that resolve to whether the linked repository is public. (pattern: .*\${.*}.*)
     - `harness`: {object}
       - `type`: (multiple options) (string) The harness environment type to run. (enum: claude, codex) | (string) A string containing one or more references that resolve to the harness environment type to run. (pattern: .*\${.*}.*)
       - `authMode`: (multiple options) (string) How the harness authenticates: `apiKey` (a provider API key is supplied) or `account` (interactive/account login, no key stored). When omitted, defaults to `apiKey` if an apiKey is provided. (enum: apiKey, account) | (string) A string containing one or more references that resolve to how the harness authenticates: `apiKey` (a provider API key is supplied) or `account` (interactive/account login, no key stored). When omitted, defaults to `apiKey` if an apiKey is provided. (pattern: .*\${.*}.*)
       - `apiKey`: (multiple options) (string) API key used by the harness environment. | (string) A string containing one or more references that resolve to aPI key used by the harness environment. (pattern: .*\${.*}.*)
       - `cloneDirectory`: (multiple options) (string) Absolute path the repo is cloned into in the harness container. Must be /home/harness or a directory inside it, the path backed by the harness's persistent workspace volume. Defaults to /home/harness. Can only be set when creating the harness. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to absolute path the repo is cloned into in the harness container. Must be /home/harness or a directory inside it, the path backed by the harness's persistent workspace volume. Defaults to /home/harness. Can only be set when creating the harness. (pattern: .*\${.*}.*)
     - `runtimeEnvironment`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `runtimeFiles`: {object}
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: LLMModelDeployment)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) The name of the AI model. (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the name of the AI model. (pattern: .*\${.*}.*)
     - `description`: (multiple options) (string) A description of the AI model. (pattern: ^[\s\S]*$) (max length: 1024) | (string) A string containing one or more references that resolve to a description of the AI model. (pattern: .*\${.*}.*)
     - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `ports`: [array of] {object}
         - `name`: (multiple options) (string) The name used to identify the port. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 1) (max length: 8) | (string) A string containing one or more references that resolve to the name used to identify the port. (pattern: .*\${.*}.*)
         - `internalPort`: (multiple options) (integer) The port number. | (string) A string containing one or more references that resolve to the port number. (pattern: .*\${.*}.*)
         - `public`: (multiple options) (boolean) If true, the port will be exposed publicly. | (string) A string containing one or more references that resolve to if true, the port will be exposed publicly. (pattern: .*\${.*}.*)
         - `domains`: (multiple options) [array of] (multiple options) (string) A domain to redirect to this port. | (string) A string containing one or more references that resolve to a domain to redirect to this port. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of domains to redirect to this port. Each domain must first be verified and registered to your account. (pattern: .*\${.*}.*)
         - `disableNfDomain`: (multiple options) (boolean) Disable routing on the default code.run domain for public HTTP ports with custom domains. | (string) A string containing one or more references that resolve to disable routing on the default code.run domain for public HTTP ports with custom domains. (pattern: .*\${.*}.*)
         - `protocol`: (string) (required) The protocol to use for the port. (enum: HTTP, HTTP/2, TCP, UDP)
     - `spec`: {object}
       - `configuration`: {object}
         - `name`: (string)
         - `engine`: (string) (enum: vllm)
         - `revision`: (string)
         - `nodeConfiguration`: {object}
           - `gpu`: {object}
             - `enabled`: (boolean)
             - `configuration`: {object}
               - `gpuType`: (string)
               - `gpuCount`: (integer)
               - `timesliced`: (boolean)
           - `storage`: {object}
             - `accessMode`: (string) (enum: ReadWriteMany)
             - `storageClass`: (string) The type of the storage. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
             - `storageSize`: (integer) The size of the storage, in megabytes. Configurable sizes depend on the storage class.
             - `shmSize`: (integer)
         - `architecture`: {object}
           - `type`: (string) (enum: aggregated)
           - `workerConfig`: {object}
             - `replicas`: (integer)
             - `parallelismConfig`: {object}
               - `tensorParallelism`: (integer)
               - `pipelineParallelism`: (integer)
               - `expertParallelism`: (integer)
             - `sequenceLengthConfig`: {object}
               - `maxModelLength`: (multiple options) (integer) A fixed maximum context length, in tokens | (string) `auto` to derive the maximum context length from the model's config (enum: auto)
               - `maxInputLength`: (integer)
               - `maxOutputLength`: (integer)
             - `batchingConfig`: {object}
               - `maxNumSeqs`: (integer)
               - `maxNumBatchedTokens`: (integer)
             - `enableChunkedPrefill`: (boolean)
             - `enablePrefixCaching`: (boolean)
             - `enforceEager`: (boolean)
             - `enableAsyncScheduling`: (boolean)
             - `gpuMemoryUtilization`: (number) (format: float)
             - `trustRemoteCode`: (boolean)
             - `dataType`: (string) (enum: auto, float16, bfloat16)
             - `kvCacheDataType`: (string) (enum: fp8, fp8_e5m2, fp8_e4m3)
             - `quantization`: (string) (enum: fp8, awq, gptq, int4)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: LLMModelDeployment)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) The name of the AI model. (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the name of the AI model. (pattern: .*\${.*}.*)
     - `description`: (multiple options) (string) A description of the AI model. (pattern: ^[\s\S]*$) (max length: 1024) | (string) A string containing one or more references that resolve to a description of the AI model. (pattern: .*\${.*}.*)
     - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `ports`: [array of] {object}
         - `name`: (multiple options) (string) The name used to identify the port. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 1) (max length: 8) | (string) A string containing one or more references that resolve to the name used to identify the port. (pattern: .*\${.*}.*)
         - `internalPort`: (multiple options) (integer) The port number. | (string) A string containing one or more references that resolve to the port number. (pattern: .*\${.*}.*)
         - `public`: (multiple options) (boolean) If true, the port will be exposed publicly. | (string) A string containing one or more references that resolve to if true, the port will be exposed publicly. (pattern: .*\${.*}.*)
         - `domains`: (multiple options) [array of] (multiple options) (string) A domain to redirect to this port. | (string) A string containing one or more references that resolve to a domain to redirect to this port. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of domains to redirect to this port. Each domain must first be verified and registered to your account. (pattern: .*\${.*}.*)
         - `disableNfDomain`: (multiple options) (boolean) Disable routing on the default code.run domain for public HTTP ports with custom domains. | (string) A string containing one or more references that resolve to disable routing on the default code.run domain for public HTTP ports with custom domains. (pattern: .*\${.*}.*)
         - `protocol`: (string) (required) The protocol to use for the port. (enum: HTTP, HTTP/2, TCP, UDP)
     - `spec`: {object}
       - `type`: (string) (required) Type of model spec - custom for user-defined configuration (enum: custom)
       - `configuration`: {object}
         - `name`: (string)
         - `engine`: (string) (enum: vllm)
         - `revision`: (string)
         - `nodeConfiguration`: {object}
           - `gpu`: {object}
             - `enabled`: (boolean)
             - `configuration`: {object}
               - `gpuType`: (string)
               - `gpuCount`: (integer)
               - `timesliced`: (boolean)
           - `storage`: {object}
             - `accessMode`: (string) (enum: ReadWriteMany)
             - `storageClass`: (string) The type of the storage. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
             - `storageSize`: (integer) (required) The size of the storage, in megabytes. Configurable sizes depend on the storage class.
             - `shmSize`: (integer)
         - `architecture`: {object}
           - `type`: (string) (enum: aggregated)
           - `workerConfig`: {object}
             - `replicas`: (integer)
             - `parallelismConfig`: {object}
               - `tensorParallelism`: (integer)
               - `pipelineParallelism`: (integer)
               - `expertParallelism`: (integer)
             - `sequenceLengthConfig`: {object}
               - `maxModelLength`: (multiple options) (integer) A fixed maximum context length, in tokens | (string) `auto` to derive the maximum context length from the model's config (enum: auto)
               - `maxInputLength`: (integer)
               - `maxOutputLength`: (integer)
             - `batchingConfig`: {object}
               - `maxNumSeqs`: (integer)
               - `maxNumBatchedTokens`: (integer)
             - `enableChunkedPrefill`: (boolean)
             - `enablePrefixCaching`: (boolean)
             - `enforceEager`: (boolean)
             - `enableAsyncScheduling`: (boolean)
             - `gpuMemoryUtilization`: (number) (format: float)
             - `trustRemoteCode`: (boolean)
             - `dataType`: (string) (enum: auto, float16, bfloat16)
             - `kvCacheDataType`: (string) (enum: fp8, fp8_e5m2, fp8_e4m3)
             - `quantization`: (string) (enum: fp8, awq, gptq, int4)
     - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: CronJob)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `description`: (multiple options) (string) A description of the job. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the job. (pattern: .*\${.*}.*)
     - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `billing`: {object}
       - `buildPlan`: (multiple options) (string) The ID of the build plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the build plan to use. (pattern: .*\${.*}.*)
       - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (pattern: .*\${.*}.*)
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
     - `deployment`: {object}
       - `buildpack`: {object}
         - `configType`: (multiple options) (string) (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand) | (string) (pattern: .*\${.*}.*)
         - `customProcess`: (multiple options) (multiple options) (string) | (string) (pattern: .*\${.*}.*)
         - `customEntrypoint`: (multiple options) (multiple options) (string) | (string) (pattern: .*\${.*}.*)
         - `customCommand`: (multiple options) (multiple options) (string) | (string) (pattern: .*\${.*}.*)
       - `docker`: {object}
         - `configType`: (multiple options) (string) (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand) | (string) (pattern: .*\${.*}.*)
         - `customEntrypoint`: (multiple options) (multiple options) (string) | (string) (pattern: .*\${.*}.*)
         - `customCommand`: (multiple options) (multiple options) (string) | (string) (pattern: .*\${.*}.*)
       - `storage`: {object}
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per container in MB | (string) A string containing one or more references that resolve to ephemeral storage per container in MB (pattern: .*\${.*}.*)
         - `shmSize`: (multiple options) (integer) Configures the amount of available memory-backed disk space available to /dev/shm | (string) A string containing one or more references that resolve to configures the amount of available memory-backed disk space available to /dev/shm (pattern: .*\${.*}.*)
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
       - `gracePeriodSeconds`: (multiple options) (integer) The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. | (string) A string containing one or more references that resolve to the maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. (pattern: .*\${.*}.*)
       - `metadata`: {object}
         - `labels`: {object}
         - `annotations`: {object}
       - `vcs`: {object}
         - `projectUrl`: (multiple options) (string) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo to build. (pattern: .*\${.*}.*)
         - `projectType`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
         - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
         - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
         - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24) | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
         - `projectBranch`: (multiple options) (string) The name of the branch to use. | (string) A string containing one or more references that resolve to the name of the branch to use. (pattern: .*\${.*}.*)
       - `external`: {object}
         - `imagePath`: (multiple options) (string) Image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: ^(?:(?:https?:\/\/)?([a-zA-Z0-9\-]+\.[a-zA-Z0-9\.\-]+))?(?:\/)?([a-zA-Z/-9\.\-_]+)(?:\:([a-zA-Z/-9\.\-_\:]+)|\@([a-zA-Z/-9\.\-_\:]+))$) | (string) A string containing one or more references that resolve to image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: .*\${.*}.*)
         - `credentials`: (multiple options) (string) ID of the saved credentials to use to access this external image. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of the saved credentials to use to access this external image. (pattern: .*\${.*}.*)
       - `internal`: {object}
         - `id`: (multiple options) (multiple options) (string) The ID of a build service in the same project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) The ID of a build service in another project, in the format `project-id/build-service-id` | (string) A string containing one or more references that resolve to iD of the build service to deploy (pattern: .*\${.*}.*)
         - `branch`: (multiple options) (string) Branch to deploy | (string) A string containing one or more references that resolve to branch to deploy (pattern: .*\${.*}.*)
         - `buildSHA`: (multiple options) (multiple options) (string) A commit sha. (min length: 40) (max length: 40) | (string) Latest commit. (enum: latest) | (string) A string containing one or more references that resolve to commit SHA to deploy, or 'latest' to deploy the most recent commit (pattern: .*\${.*}.*)
         - `buildId`: (multiple options) (string) ID of the build that should be deployed | (string) A string containing one or more references that resolve to iD of the build that should be deployed (pattern: .*\${.*}.*)
     - `disabledCI`: (multiple options) (boolean) Whether CI should be disabled. Only relevant for jobs deploying directly from version control. | (string) A string containing one or more references that resolve to whether CI should be disabled. Only relevant for jobs deploying directly from version control. (pattern: .*\${.*}.*)
     - `buildConfiguration`: {object}
       - `pathIgnoreRules`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
       - `isAllowList`: (multiple options) (boolean) If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. | (string) A string containing one or more references that resolve to if `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. (pattern: .*\${.*}.*)
       - `ciIgnoreFlagsEnabled`: (multiple options) (boolean) If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. | (string) A string containing one or more references that resolve to if `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. (pattern: .*\${.*}.*)
       - `ciIgnoreFlags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
       - `dockerfileTarget`: (multiple options) (string) If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. | (string) A string containing one or more references that resolve to if your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. (pattern: .*\${.*}.*)
       - `dockerCredentials`: [array of] (multiple options) (string) The ID of the docker credentials to use. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of the docker credentials to use. (pattern: .*\${.*}.*)
       - `includeGitFolder`: (boolean) Include .git folder inside the build context
       - `fullGitClone`: (boolean) Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set.
       - `enableGitLfs`: (boolean) Enable Git LFS support for the build
       - `storage`: {object}
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
     - `buildSettings`: {object}
       - `storage`: {object}
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
       - `dockerfile`: {object}
         - `useCache`: (boolean) DEPRECATED: This field will be removed in the near future and currently has no effect.
         - `buildEngine`: (multiple options) (string) Build engine to use. Defaults to recommended build engine `buildkit` (enum: buildkit, kaniko) | (string) A string containing one or more references that resolve to build engine to use. Defaults to recommended build engine `buildkit` (pattern: .*\${.*}.*)
         - `dockerFilePath`: (multiple options) (string) The file path of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$) | (string) A string containing one or more references that resolve to the file path of the Dockerfile. (pattern: .*\${.*}.*)
         - `dockerWorkDir`: (multiple options) (string) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory of the Dockerfile. (pattern: .*\${.*}.*)
         - `buildkit`: {object}
           - `useCache`: (multiple options) (boolean) Use persistent storage to cache build layers. | (string) A string containing one or more references that resolve to use persistent storage to cache build layers. (pattern: .*\${.*}.*)
           - `cacheStorageSize`: (multiple options) (integer) The amount of persistent storage available to each build in MB. | (string) A string containing one or more references that resolve to the amount of persistent storage available to each build in MB. (pattern: .*\${.*}.*)
           - `useInternalCache`: (multiple options) (boolean) DEPRECATED: This field will be removed in the near future. | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*)
           - `internalCacheStorage`: (multiple options) (number) DEPRECATED: This field will be removed in the near future. (format: float) | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*)
       - `buildpack`: {object}
         - `builder`: (multiple options) (string) Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (enum: HEROKU_24, HEROKU_22, HEROKU_22_CLASSIC, HEROKU_20, HEROKU_18, GOOGLE_22, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_JAMMY_TINY, PAKETO_JAMMY_BASE, PAKETO_JAMMY_FULL, PAKETO_TINY, PAKETO_BASE, PAKETO_FULL) | (string) A string containing one or more references that resolve to buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (pattern: .*\${.*}.*)
         - `buildpackLocators`: [array of] (multiple options) (string) Url or registry identifier of custom Buildpack. | (string) A string containing one or more references that resolve to url or registry identifier of custom Buildpack. (pattern: .*\${.*}.*)
         - `buildContext`: (multiple options) (string) The working directory to build in. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory to build in. (pattern: .*\${.*}.*)
         - `useCache`: (multiple options) (boolean) Should build dependencies be cached? | (string) A string containing one or more references that resolve to should build dependencies be cached? (pattern: .*\${.*}.*)
     - `runtimeEnvironment`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `runtimeFiles`: {object}
     - `buildArguments`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `buildFiles`: {object}
     - `dockerSecretMounts`: {object}
     - `healthChecks`: [array of] {object}
         - `protocol`: (multiple options) (string) The protocol to access the health check with. (enum: HTTP, CMD, TCP) | (string) A string containing one or more references that resolve to the protocol to access the health check with. (pattern: .*\${.*}.*)
         - `type`: (multiple options) (string) The type of health check. (enum: livenessProbe, readinessProbe, startupProbe) | (string) A string containing one or more references that resolve to the type of health check. (pattern: .*\${.*}.*)
         - `path`: (multiple options) (string) The path of the health check endpoint. Required when protocol is HTTP. (pattern: ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*((\?([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)(&([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)*)?$) | (string) (pattern: .*\${.*}.*)
         - `cmd`: (multiple options) (string) The command to run for the health check. Required when protocol is CMD | (string) (pattern: .*\${.*}.*)
         - `port`: (multiple options) (integer) Port number for the health check endpoint. Required when protocol is HTTP. | (string) (pattern: .*\${.*}.*)
         - `initialDelaySeconds`: (multiple options) (integer) Initial delay, in seconds, before the health check is first run. | (string) A string containing one or more references that resolve to initial delay, in seconds, before the health check is first run. (pattern: .*\${.*}.*)
         - `periodSeconds`: (multiple options) (integer) The time between each check, in seconds. | (string) A string containing one or more references that resolve to the time between each check, in seconds. (pattern: .*\${.*}.*)
         - `timeoutSeconds`: (multiple options) (integer) The time to wait for a response before marking the health check as a failure. | (string) A string containing one or more references that resolve to the time to wait for a response before marking the health check as a failure. (pattern: .*\${.*}.*)
         - `failureThreshold`: (multiple options) (integer) The maximum number of allowed failures. | (string) A string containing one or more references that resolve to the maximum number of allowed failures. (pattern: .*\${.*}.*)
         - `successThreshold`: (multiple options) (integer) The number of successes required to mark the health check as a success. | (string) (pattern: .*\${.*}.*)
     - `backoffLimit`: (multiple options) (integer) The number of attempts to rerun a job before it is marked as failed. | (string) A string containing one or more references that resolve to the number of attempts to rerun a job before it is marked as failed. (pattern: .*\${.*}.*)
     - `runOnSourceChange`: (multiple options) (string) Configure when the job should be run if the source image changes. (enum: never, cd-promote, always) | (string) A string containing one or more references that resolve to configure when the job should be run if the source image changes. (pattern: .*\${.*}.*)
     - `activeDeadlineSeconds`: (multiple options) (integer) The maximum amount of time, in seconds, for a job to run before it is marked as failed. | (string) A string containing one or more references that resolve to the maximum amount of time, in seconds, for a job to run before it is marked as failed. (pattern: .*\${.*}.*)
     - `schedule`: (multiple options) (string) The cron timer scheduling when to run the job. | (string) A string containing one or more references that resolve to the cron timer scheduling when to run the job. (pattern: .*\${.*}.*)
     - `suspended`: (multiple options) (boolean) Whether the cron's automatic scheduling is suspended | (string) A string containing one or more references that resolve to whether the cron's automatic scheduling is suspended (pattern: .*\${.*}.*)
     - `concurrencyPolicy`: (multiple options) (string) Whether this job should run when another instance of the job is already running. `allow` will enable multiple instances of this job to run. `forbid` will keep the current instance of the job running and stop a new instance from being run. `replace` will terminate any currently running instance of the job and start a new one. (enum: allow, forbid, replace) | (string) A string containing one or more references that resolve to whether this job should run when another instance of the job is already running. `allow` will enable multiple instances of this job to run. `forbid` will keep the current instance of the job running and stop a new instance from being run. `replace` will terminate any currently running instance of the job and start a new one. (pattern: .*\${.*}.*)
     - `name`: (multiple options) (string) The name of the job. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 52) | (string) A string containing one or more references that resolve to the name of the job. (pattern: .*\${.*}.*)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: CronJob)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) The name of the job. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 52) | (string) A string containing one or more references that resolve to the name of the job. (pattern: .*\${.*}.*)
     - `description`: (multiple options) (string) A description of the job. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the job. (pattern: .*\${.*}.*)
     - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
     - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `infrastructure`: {object}
       - `architecture`: (string) (enum: x86, arm)
     - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `billing`: {object}
       - `buildPlan`: (multiple options) (string) The ID of the build plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the build plan to use. (pattern: .*\${.*}.*)
       - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (pattern: .*\${.*}.*)
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
     - `deployment`: {object}
       - `buildpack`: {object}
         - `configType`: (string) (required) Type of buildpack run configuration (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand)
         - `customProcess`: (string) Custom process which should be run. Required in case where `configType` is `customProcess`
         - `customEntrypoint`: (string) Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand`
         - `customCommand`: (string) Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand`
       - `docker`: {object}
         - `configType`: (string) (required) Type of entrypoint & command override configuration (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand)
         - `customEntrypoint`: (string) Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand`
         - `customCommand`: (string) Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand`
       - `storage`: {object}
         - `useHdbStorage`: (boolean)
         - `usePdSsdStorage`: (boolean)
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per container in MB | (string) A string containing one or more references that resolve to ephemeral storage per container in MB (pattern: .*\${.*}.*)
         - `shmSize`: (multiple options) (integer) Configures the amount of available memory-backed disk space available to /dev/shm | (string) A string containing one or more references that resolve to configures the amount of available memory-backed disk space available to /dev/shm (pattern: .*\${.*}.*)
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
       - `gracePeriodSeconds`: (multiple options) (integer) The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. | (string) A string containing one or more references that resolve to the maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. (pattern: .*\${.*}.*)
       - `metadata`: {object}
         - `labels`: {object}
         - `annotations`: {object}
       - `vcs`: {object}
         - `projectUrl`: (multiple options) (string) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo to build. (pattern: .*\${.*}.*)
         - `projectType`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
         - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
         - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
         - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24) | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
         - `projectBranch`: (multiple options) (string) The name of the branch to use. | (string) A string containing one or more references that resolve to the name of the branch to use. (pattern: .*\${.*}.*)
       - `external`: {object}
         - `imagePath`: (multiple options) (string) Image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: ^(?:(?:https?:\/\/)?([a-zA-Z0-9\-]+\.[a-zA-Z0-9\.\-]+))?(?:\/)?([a-zA-Z/-9\.\-_]+)(?:\:([a-zA-Z/-9\.\-_\:]+)|\@([a-zA-Z/-9\.\-_\:]+))$) | (string) A string containing one or more references that resolve to image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: .*\${.*}.*)
         - `credentials`: (multiple options) (string) ID of the saved credentials to use to access this external image. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of the saved credentials to use to access this external image. (pattern: .*\${.*}.*)
       - `internal`: {object}
         - `id`: (multiple options) (multiple options) (string) The ID of a build service in the same project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) The ID of a build service in another project, in the format `project-id/build-service-id` | (string) A string containing one or more references that resolve to iD of the build service to deploy (pattern: .*\${.*}.*)
         - `branch`: (multiple options) (string) Branch to deploy | (string) A string containing one or more references that resolve to branch to deploy (pattern: .*\${.*}.*)
         - `buildSHA`: (multiple options) (multiple options) (string) A commit sha. (min length: 40) (max length: 40) | (string) Latest commit. (enum: latest) | (string) A string containing one or more references that resolve to commit SHA to deploy, or 'latest' to deploy the most recent commit (pattern: .*\${.*}.*)
         - `buildId`: (multiple options) (string) ID of the build that should be deployed | (string) A string containing one or more references that resolve to iD of the build that should be deployed (pattern: .*\${.*}.*)
       - `releaseFlowControlled`: (boolean) When enabled the deployment source will only be set on creation. All changes to the deployment source must be done via a release flow or manually.
     - `disabledCI`: (multiple options) (boolean) Whether CI should be disabled. Only relevant for jobs deploying directly from version control. | (string) A string containing one or more references that resolve to whether CI should be disabled. Only relevant for jobs deploying directly from version control. (pattern: .*\${.*}.*)
     - `buildConfiguration`: {object}
       - `pathIgnoreRules`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
       - `isAllowList`: (multiple options) (boolean) If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. | (string) A string containing one or more references that resolve to if `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. (pattern: .*\${.*}.*)
       - `ciIgnoreFlagsEnabled`: (multiple options) (boolean) If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. | (string) A string containing one or more references that resolve to if `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. (pattern: .*\${.*}.*)
       - `ciIgnoreFlags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
       - `dockerfileTarget`: (multiple options) (string) If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. | (string) A string containing one or more references that resolve to if your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. (pattern: .*\${.*}.*)
       - `dockerCredentials`: [array of] (multiple options) (string) The ID of the docker credentials to use. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of the docker credentials to use. (pattern: .*\${.*}.*)
       - `includeGitFolder`: (boolean) Include .git folder inside the build context
       - `fullGitClone`: (boolean) Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set.
       - `enableGitLfs`: (boolean) Enable Git LFS support for the build
       - `storage`: {object}
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
     - `buildSettings`: (multiple options) {object}
         - `storage`: {object}
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
         - `dockerfile`: {object}
           - `useCache`: (boolean) DEPRECATED: This field will be removed in the near future and currently has no effect.
           - `buildEngine`: (multiple options) (string) Build engine to use. Defaults to recommended build engine `buildkit` (enum: buildkit, kaniko) | (string) A string containing one or more references that resolve to build engine to use. Defaults to recommended build engine `buildkit` (pattern: .*\${.*}.*)
           - `dockerFilePath`: (multiple options) (string) The file path of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$) | (string) A string containing one or more references that resolve to the file path of the Dockerfile. (pattern: .*\${.*}.*)
           - `dockerWorkDir`: (multiple options) (string) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory of the Dockerfile. (pattern: .*\${.*}.*)
           - `buildkit`: {object}
             - `useCache`: (multiple options) (boolean) Use persistent storage to cache build layers. | (string) A string containing one or more references that resolve to use persistent storage to cache build layers. (pattern: .*\${.*}.*)
             - `cacheStorageSize`: (multiple options) (integer) The amount of persistent storage available to each build in MB. | (string) A string containing one or more references that resolve to the amount of persistent storage available to each build in MB. (pattern: .*\${.*}.*)
             - `useInternalCache`: (multiple options) (boolean) DEPRECATED: This field will be removed in the near future. | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*)
             - `internalCacheStorage`: (multiple options) (number) DEPRECATED: This field will be removed in the near future. (format: float) | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*) | {object}
         - `storage`: {object}
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
         - `buildpack`: {object}
           - `builder`: (multiple options) (string) Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (enum: HEROKU_24, HEROKU_22, HEROKU_22_CLASSIC, HEROKU_20, HEROKU_18, GOOGLE_22, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_JAMMY_TINY, PAKETO_JAMMY_BASE, PAKETO_JAMMY_FULL, PAKETO_TINY, PAKETO_BASE, PAKETO_FULL) | (string) A string containing one or more references that resolve to buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (pattern: .*\${.*}.*)
           - `buildpackLocators`: [array of] (multiple options) (string) Url or registry identifier of custom Buildpack. | (string) A string containing one or more references that resolve to url or registry identifier of custom Buildpack. (pattern: .*\${.*}.*)
           - `buildContext`: (multiple options) (string) The working directory to build in. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory to build in. (pattern: .*\${.*}.*)
           - `useCache`: (multiple options) (boolean) Should build dependencies be cached? | (string) A string containing one or more references that resolve to should build dependencies be cached? (pattern: .*\${.*}.*)
     - `runtimeEnvironment`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `runtimeFiles`: {object}
     - `buildArguments`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `buildFiles`: {object}
     - `dockerSecretMounts`: {object}
     - `healthChecks`: [array of] {object}
         - `protocol`: (multiple options) (string) The protocol to access the health check with. (enum: HTTP, CMD, TCP) | (string) A string containing one or more references that resolve to the protocol to access the health check with. (pattern: .*\${.*}.*)
         - `type`: (multiple options) (string) The type of health check. (enum: livenessProbe, readinessProbe, startupProbe) | (string) A string containing one or more references that resolve to the type of health check. (pattern: .*\${.*}.*)
         - `path`: (multiple options) (string) The path of the health check endpoint. Required when protocol is HTTP. (pattern: ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*((\?([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)(&([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)*)?$) | (string) (pattern: .*\${.*}.*)
         - `cmd`: (multiple options) (string) The command to run for the health check. Required when protocol is CMD | (string) (pattern: .*\${.*}.*)
         - `port`: (multiple options) (integer) Port number for the health check endpoint. Required when protocol is HTTP. | (string) (pattern: .*\${.*}.*)
         - `initialDelaySeconds`: (multiple options) (integer) Initial delay, in seconds, before the health check is first run. | (string) A string containing one or more references that resolve to initial delay, in seconds, before the health check is first run. (pattern: .*\${.*}.*)
         - `periodSeconds`: (multiple options) (integer) The time between each check, in seconds. | (string) A string containing one or more references that resolve to the time between each check, in seconds. (pattern: .*\${.*}.*)
         - `timeoutSeconds`: (multiple options) (integer) The time to wait for a response before marking the health check as a failure. | (string) A string containing one or more references that resolve to the time to wait for a response before marking the health check as a failure. (pattern: .*\${.*}.*)
         - `failureThreshold`: (multiple options) (integer) The maximum number of allowed failures. | (string) A string containing one or more references that resolve to the maximum number of allowed failures. (pattern: .*\${.*}.*)
         - `successThreshold`: (multiple options) (integer) The number of successes required to mark the health check as a success. | (string) (pattern: .*\${.*}.*)
     - `backoffLimit`: (multiple options) (integer) The number of attempts to rerun a job before it is marked as failed. | (string) A string containing one or more references that resolve to the number of attempts to rerun a job before it is marked as failed. (pattern: .*\${.*}.*)
     - `runOnSourceChange`: (multiple options) (string) Configure when the job should be run if the source image changes. (enum: never, cd-promote, always) | (string) A string containing one or more references that resolve to configure when the job should be run if the source image changes. (pattern: .*\${.*}.*)
     - `activeDeadlineSeconds`: (multiple options) (integer) The maximum amount of time, in seconds, for a job to run before it is marked as failed. | (string) A string containing one or more references that resolve to the maximum amount of time, in seconds, for a job to run before it is marked as failed. (pattern: .*\${.*}.*)
     - `schedule`: (multiple options) (string) The cron timer scheduling when to run the job. | (string) A string containing one or more references that resolve to the cron timer scheduling when to run the job. (pattern: .*\${.*}.*)
     - `suspended`: (multiple options) (boolean) Whether the cron's automatic scheduling is suspended | (string) A string containing one or more references that resolve to whether the cron's automatic scheduling is suspended (pattern: .*\${.*}.*)
     - `concurrencyPolicy`: (multiple options) (string) Whether this job should run when another instance of the job is already running. `allow` will enable multiple instances of this job to run. `forbid` will keep the current instance of the job running and stop a new instance from being run. `replace` will terminate any currently running instance of the job and start a new one. (enum: allow, forbid, replace) | (string) A string containing one or more references that resolve to whether this job should run when another instance of the job is already running. `allow` will enable multiple instances of this job to run. `forbid` will keep the current instance of the job running and stop a new instance from being run. `replace` will terminate any currently running instance of the job and start a new one. (pattern: .*\${.*}.*)
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: ManualJob)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `description`: (multiple options) (string) A description of the job. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the job. (pattern: .*\${.*}.*)
     - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `billing`: {object}
       - `buildPlan`: (multiple options) (string) The ID of the build plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the build plan to use. (pattern: .*\${.*}.*)
       - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (pattern: .*\${.*}.*)
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
     - `deployment`: {object}
       - `buildpack`: {object}
         - `configType`: (multiple options) (string) (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand) | (string) (pattern: .*\${.*}.*)
         - `customProcess`: (multiple options) (multiple options) (string) | (string) (pattern: .*\${.*}.*)
         - `customEntrypoint`: (multiple options) (multiple options) (string) | (string) (pattern: .*\${.*}.*)
         - `customCommand`: (multiple options) (multiple options) (string) | (string) (pattern: .*\${.*}.*)
       - `docker`: {object}
         - `configType`: (multiple options) (string) (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand) | (string) (pattern: .*\${.*}.*)
         - `customEntrypoint`: (multiple options) (multiple options) (string) | (string) (pattern: .*\${.*}.*)
         - `customCommand`: (multiple options) (multiple options) (string) | (string) (pattern: .*\${.*}.*)
       - `storage`: {object}
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per container in MB | (string) A string containing one or more references that resolve to ephemeral storage per container in MB (pattern: .*\${.*}.*)
         - `shmSize`: (multiple options) (integer) Configures the amount of available memory-backed disk space available to /dev/shm | (string) A string containing one or more references that resolve to configures the amount of available memory-backed disk space available to /dev/shm (pattern: .*\${.*}.*)
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
       - `gracePeriodSeconds`: (multiple options) (integer) The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. | (string) A string containing one or more references that resolve to the maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. (pattern: .*\${.*}.*)
       - `metadata`: {object}
         - `labels`: {object}
         - `annotations`: {object}
       - `vcs`: {object}
         - `projectUrl`: (multiple options) (string) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo to build. (pattern: .*\${.*}.*)
         - `projectType`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
         - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
         - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
         - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24) | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
         - `projectBranch`: (multiple options) (string) The name of the branch to use. | (string) A string containing one or more references that resolve to the name of the branch to use. (pattern: .*\${.*}.*)
       - `external`: {object}
         - `imagePath`: (multiple options) (string) Image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: ^(?:(?:https?:\/\/)?([a-zA-Z0-9\-]+\.[a-zA-Z0-9\.\-]+))?(?:\/)?([a-zA-Z/-9\.\-_]+)(?:\:([a-zA-Z/-9\.\-_\:]+)|\@([a-zA-Z/-9\.\-_\:]+))$) | (string) A string containing one or more references that resolve to image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: .*\${.*}.*)
         - `credentials`: (multiple options) (string) ID of the saved credentials to use to access this external image. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of the saved credentials to use to access this external image. (pattern: .*\${.*}.*)
       - `internal`: {object}
         - `id`: (multiple options) (multiple options) (string) The ID of a build service in the same project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) The ID of a build service in another project, in the format `project-id/build-service-id` | (string) A string containing one or more references that resolve to iD of the build service to deploy (pattern: .*\${.*}.*)
         - `branch`: (multiple options) (string) Branch to deploy | (string) A string containing one or more references that resolve to branch to deploy (pattern: .*\${.*}.*)
         - `buildSHA`: (multiple options) (multiple options) (string) A commit sha. (min length: 40) (max length: 40) | (string) Latest commit. (enum: latest) | (string) A string containing one or more references that resolve to commit SHA to deploy, or 'latest' to deploy the most recent commit (pattern: .*\${.*}.*)
         - `buildId`: (multiple options) (string) ID of the build that should be deployed | (string) A string containing one or more references that resolve to iD of the build that should be deployed (pattern: .*\${.*}.*)
     - `disabledCI`: (multiple options) (boolean) Whether CI should be disabled. Only relevant for jobs deploying directly from version control. | (string) A string containing one or more references that resolve to whether CI should be disabled. Only relevant for jobs deploying directly from version control. (pattern: .*\${.*}.*)
     - `buildConfiguration`: {object}
       - `pathIgnoreRules`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
       - `isAllowList`: (multiple options) (boolean) If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. | (string) A string containing one or more references that resolve to if `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. (pattern: .*\${.*}.*)
       - `ciIgnoreFlagsEnabled`: (multiple options) (boolean) If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. | (string) A string containing one or more references that resolve to if `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. (pattern: .*\${.*}.*)
       - `ciIgnoreFlags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
       - `dockerfileTarget`: (multiple options) (string) If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. | (string) A string containing one or more references that resolve to if your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. (pattern: .*\${.*}.*)
       - `dockerCredentials`: [array of] (multiple options) (string) The ID of the docker credentials to use. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of the docker credentials to use. (pattern: .*\${.*}.*)
       - `includeGitFolder`: (boolean) Include .git folder inside the build context
       - `fullGitClone`: (boolean) Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set.
       - `enableGitLfs`: (boolean) Enable Git LFS support for the build
       - `storage`: {object}
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
     - `buildSettings`: {object}
       - `storage`: {object}
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
       - `dockerfile`: {object}
         - `useCache`: (boolean) DEPRECATED: This field will be removed in the near future and currently has no effect.
         - `buildEngine`: (multiple options) (string) Build engine to use. Defaults to recommended build engine `buildkit` (enum: buildkit, kaniko) | (string) A string containing one or more references that resolve to build engine to use. Defaults to recommended build engine `buildkit` (pattern: .*\${.*}.*)
         - `dockerFilePath`: (multiple options) (string) The file path of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$) | (string) A string containing one or more references that resolve to the file path of the Dockerfile. (pattern: .*\${.*}.*)
         - `dockerWorkDir`: (multiple options) (string) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory of the Dockerfile. (pattern: .*\${.*}.*)
         - `buildkit`: {object}
           - `useCache`: (multiple options) (boolean) Use persistent storage to cache build layers. | (string) A string containing one or more references that resolve to use persistent storage to cache build layers. (pattern: .*\${.*}.*)
           - `cacheStorageSize`: (multiple options) (integer) The amount of persistent storage available to each build in MB. | (string) A string containing one or more references that resolve to the amount of persistent storage available to each build in MB. (pattern: .*\${.*}.*)
           - `useInternalCache`: (multiple options) (boolean) DEPRECATED: This field will be removed in the near future. | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*)
           - `internalCacheStorage`: (multiple options) (number) DEPRECATED: This field will be removed in the near future. (format: float) | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*)
       - `buildpack`: {object}
         - `builder`: (multiple options) (string) Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (enum: HEROKU_24, HEROKU_22, HEROKU_22_CLASSIC, HEROKU_20, HEROKU_18, GOOGLE_22, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_JAMMY_TINY, PAKETO_JAMMY_BASE, PAKETO_JAMMY_FULL, PAKETO_TINY, PAKETO_BASE, PAKETO_FULL) | (string) A string containing one or more references that resolve to buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (pattern: .*\${.*}.*)
         - `buildpackLocators`: [array of] (multiple options) (string) Url or registry identifier of custom Buildpack. | (string) A string containing one or more references that resolve to url or registry identifier of custom Buildpack. (pattern: .*\${.*}.*)
         - `buildContext`: (multiple options) (string) The working directory to build in. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory to build in. (pattern: .*\${.*}.*)
         - `useCache`: (multiple options) (boolean) Should build dependencies be cached? | (string) A string containing one or more references that resolve to should build dependencies be cached? (pattern: .*\${.*}.*)
     - `runtimeEnvironment`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `runtimeFiles`: {object}
     - `buildArguments`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `buildFiles`: {object}
     - `dockerSecretMounts`: {object}
     - `healthChecks`: [array of] {object}
         - `protocol`: (multiple options) (string) The protocol to access the health check with. (enum: HTTP, CMD, TCP) | (string) A string containing one or more references that resolve to the protocol to access the health check with. (pattern: .*\${.*}.*)
         - `type`: (multiple options) (string) The type of health check. (enum: livenessProbe, readinessProbe, startupProbe) | (string) A string containing one or more references that resolve to the type of health check. (pattern: .*\${.*}.*)
         - `path`: (multiple options) (string) The path of the health check endpoint. Required when protocol is HTTP. (pattern: ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*((\?([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)(&([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)*)?$) | (string) (pattern: .*\${.*}.*)
         - `cmd`: (multiple options) (string) The command to run for the health check. Required when protocol is CMD | (string) (pattern: .*\${.*}.*)
         - `port`: (multiple options) (integer) Port number for the health check endpoint. Required when protocol is HTTP. | (string) (pattern: .*\${.*}.*)
         - `initialDelaySeconds`: (multiple options) (integer) Initial delay, in seconds, before the health check is first run. | (string) A string containing one or more references that resolve to initial delay, in seconds, before the health check is first run. (pattern: .*\${.*}.*)
         - `periodSeconds`: (multiple options) (integer) The time between each check, in seconds. | (string) A string containing one or more references that resolve to the time between each check, in seconds. (pattern: .*\${.*}.*)
         - `timeoutSeconds`: (multiple options) (integer) The time to wait for a response before marking the health check as a failure. | (string) A string containing one or more references that resolve to the time to wait for a response before marking the health check as a failure. (pattern: .*\${.*}.*)
         - `failureThreshold`: (multiple options) (integer) The maximum number of allowed failures. | (string) A string containing one or more references that resolve to the maximum number of allowed failures. (pattern: .*\${.*}.*)
         - `successThreshold`: (multiple options) (integer) The number of successes required to mark the health check as a success. | (string) (pattern: .*\${.*}.*)
     - `backoffLimit`: (multiple options) (integer) The number of attempts to rerun a job before it is marked as failed. | (string) A string containing one or more references that resolve to the number of attempts to rerun a job before it is marked as failed. (pattern: .*\${.*}.*)
     - `runOnSourceChange`: (multiple options) (string) Configure when the job should be run if the source image changes. (enum: never, cd-promote, always) | (string) A string containing one or more references that resolve to configure when the job should be run if the source image changes. (pattern: .*\${.*}.*)
     - `activeDeadlineSeconds`: (multiple options) (integer) The maximum amount of time, in seconds, for a job to run before it is marked as failed. | (string) A string containing one or more references that resolve to the maximum amount of time, in seconds, for a job to run before it is marked as failed. (pattern: .*\${.*}.*)
     - `name`: (multiple options) (string) The name of the job. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 52) | (string) A string containing one or more references that resolve to the name of the job. (pattern: .*\${.*}.*)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: ManualJob)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) The name of the job. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 52) | (string) A string containing one or more references that resolve to the name of the job. (pattern: .*\${.*}.*)
     - `description`: (multiple options) (string) A description of the job. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the job. (pattern: .*\${.*}.*)
     - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
     - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `infrastructure`: {object}
       - `architecture`: (string) (enum: x86, arm)
     - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `billing`: {object}
       - `buildPlan`: (multiple options) (string) The ID of the build plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the build plan to use. (pattern: .*\${.*}.*)
       - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (pattern: .*\${.*}.*)
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
     - `deployment`: {object}
       - `buildpack`: {object}
         - `configType`: (string) (required) Type of buildpack run configuration (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand)
         - `customProcess`: (string) Custom process which should be run. Required in case where `configType` is `customProcess`
         - `customEntrypoint`: (string) Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand`
         - `customCommand`: (string) Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand`
       - `docker`: {object}
         - `configType`: (string) (required) Type of entrypoint & command override configuration (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand)
         - `customEntrypoint`: (string) Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand`
         - `customCommand`: (string) Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand`
       - `storage`: {object}
         - `useHdbStorage`: (boolean)
         - `usePdSsdStorage`: (boolean)
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per container in MB | (string) A string containing one or more references that resolve to ephemeral storage per container in MB (pattern: .*\${.*}.*)
         - `shmSize`: (multiple options) (integer) Configures the amount of available memory-backed disk space available to /dev/shm | (string) A string containing one or more references that resolve to configures the amount of available memory-backed disk space available to /dev/shm (pattern: .*\${.*}.*)
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
       - `gracePeriodSeconds`: (multiple options) (integer) The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. | (string) A string containing one or more references that resolve to the maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. (pattern: .*\${.*}.*)
       - `metadata`: {object}
         - `labels`: {object}
         - `annotations`: {object}
       - `vcs`: {object}
         - `projectUrl`: (multiple options) (string) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo to build. (pattern: .*\${.*}.*)
         - `projectType`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
         - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
         - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
         - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24) | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
         - `projectBranch`: (multiple options) (string) The name of the branch to use. | (string) A string containing one or more references that resolve to the name of the branch to use. (pattern: .*\${.*}.*)
       - `external`: {object}
         - `imagePath`: (multiple options) (string) Image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: ^(?:(?:https?:\/\/)?([a-zA-Z0-9\-]+\.[a-zA-Z0-9\.\-]+))?(?:\/)?([a-zA-Z/-9\.\-_]+)(?:\:([a-zA-Z/-9\.\-_\:]+)|\@([a-zA-Z/-9\.\-_\:]+))$) | (string) A string containing one or more references that resolve to image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: .*\${.*}.*)
         - `credentials`: (multiple options) (string) ID of the saved credentials to use to access this external image. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of the saved credentials to use to access this external image. (pattern: .*\${.*}.*)
       - `internal`: {object}
         - `id`: (multiple options) (multiple options) (string) The ID of a build service in the same project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) The ID of a build service in another project, in the format `project-id/build-service-id` | (string) A string containing one or more references that resolve to iD of the build service to deploy (pattern: .*\${.*}.*)
         - `branch`: (multiple options) (string) Branch to deploy | (string) A string containing one or more references that resolve to branch to deploy (pattern: .*\${.*}.*)
         - `buildSHA`: (multiple options) (multiple options) (string) A commit sha. (min length: 40) (max length: 40) | (string) Latest commit. (enum: latest) | (string) A string containing one or more references that resolve to commit SHA to deploy, or 'latest' to deploy the most recent commit (pattern: .*\${.*}.*)
         - `buildId`: (multiple options) (string) ID of the build that should be deployed | (string) A string containing one or more references that resolve to iD of the build that should be deployed (pattern: .*\${.*}.*)
       - `releaseFlowControlled`: (boolean) When enabled the deployment source will only be set on creation. All changes to the deployment source must be done via a release flow or manually.
     - `disabledCI`: (multiple options) (boolean) Whether CI should be disabled. Only relevant for jobs deploying directly from version control. | (string) A string containing one or more references that resolve to whether CI should be disabled. Only relevant for jobs deploying directly from version control. (pattern: .*\${.*}.*)
     - `buildConfiguration`: {object}
       - `pathIgnoreRules`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
       - `isAllowList`: (multiple options) (boolean) If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. | (string) A string containing one or more references that resolve to if `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. (pattern: .*\${.*}.*)
       - `ciIgnoreFlagsEnabled`: (multiple options) (boolean) If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. | (string) A string containing one or more references that resolve to if `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. (pattern: .*\${.*}.*)
       - `ciIgnoreFlags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
       - `dockerfileTarget`: (multiple options) (string) If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. | (string) A string containing one or more references that resolve to if your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. (pattern: .*\${.*}.*)
       - `dockerCredentials`: [array of] (multiple options) (string) The ID of the docker credentials to use. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of the docker credentials to use. (pattern: .*\${.*}.*)
       - `includeGitFolder`: (boolean) Include .git folder inside the build context
       - `fullGitClone`: (boolean) Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set.
       - `enableGitLfs`: (boolean) Enable Git LFS support for the build
       - `storage`: {object}
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
     - `buildSettings`: (multiple options) {object}
         - `storage`: {object}
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
         - `dockerfile`: {object}
           - `useCache`: (boolean) DEPRECATED: This field will be removed in the near future and currently has no effect.
           - `buildEngine`: (multiple options) (string) Build engine to use. Defaults to recommended build engine `buildkit` (enum: buildkit, kaniko) | (string) A string containing one or more references that resolve to build engine to use. Defaults to recommended build engine `buildkit` (pattern: .*\${.*}.*)
           - `dockerFilePath`: (multiple options) (string) The file path of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$) | (string) A string containing one or more references that resolve to the file path of the Dockerfile. (pattern: .*\${.*}.*)
           - `dockerWorkDir`: (multiple options) (string) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory of the Dockerfile. (pattern: .*\${.*}.*)
           - `buildkit`: {object}
             - `useCache`: (multiple options) (boolean) Use persistent storage to cache build layers. | (string) A string containing one or more references that resolve to use persistent storage to cache build layers. (pattern: .*\${.*}.*)
             - `cacheStorageSize`: (multiple options) (integer) The amount of persistent storage available to each build in MB. | (string) A string containing one or more references that resolve to the amount of persistent storage available to each build in MB. (pattern: .*\${.*}.*)
             - `useInternalCache`: (multiple options) (boolean) DEPRECATED: This field will be removed in the near future. | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*)
             - `internalCacheStorage`: (multiple options) (number) DEPRECATED: This field will be removed in the near future. (format: float) | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*) | {object}
         - `storage`: {object}
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
         - `buildpack`: {object}
           - `builder`: (multiple options) (string) Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (enum: HEROKU_24, HEROKU_22, HEROKU_22_CLASSIC, HEROKU_20, HEROKU_18, GOOGLE_22, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_JAMMY_TINY, PAKETO_JAMMY_BASE, PAKETO_JAMMY_FULL, PAKETO_TINY, PAKETO_BASE, PAKETO_FULL) | (string) A string containing one or more references that resolve to buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (pattern: .*\${.*}.*)
           - `buildpackLocators`: [array of] (multiple options) (string) Url or registry identifier of custom Buildpack. | (string) A string containing one or more references that resolve to url or registry identifier of custom Buildpack. (pattern: .*\${.*}.*)
           - `buildContext`: (multiple options) (string) The working directory to build in. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory to build in. (pattern: .*\${.*}.*)
           - `useCache`: (multiple options) (boolean) Should build dependencies be cached? | (string) A string containing one or more references that resolve to should build dependencies be cached? (pattern: .*\${.*}.*)
     - `runtimeEnvironment`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `runtimeFiles`: {object}
     - `buildArguments`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `buildFiles`: {object}
     - `dockerSecretMounts`: {object}
     - `healthChecks`: [array of] {object}
         - `protocol`: (multiple options) (string) The protocol to access the health check with. (enum: HTTP, CMD, TCP) | (string) A string containing one or more references that resolve to the protocol to access the health check with. (pattern: .*\${.*}.*)
         - `type`: (multiple options) (string) The type of health check. (enum: livenessProbe, readinessProbe, startupProbe) | (string) A string containing one or more references that resolve to the type of health check. (pattern: .*\${.*}.*)
         - `path`: (multiple options) (string) The path of the health check endpoint. Required when protocol is HTTP. (pattern: ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*((\?([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)(&([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)*)?$) | (string) (pattern: .*\${.*}.*)
         - `cmd`: (multiple options) (string) The command to run for the health check. Required when protocol is CMD | (string) (pattern: .*\${.*}.*)
         - `port`: (multiple options) (integer) Port number for the health check endpoint. Required when protocol is HTTP. | (string) (pattern: .*\${.*}.*)
         - `initialDelaySeconds`: (multiple options) (integer) Initial delay, in seconds, before the health check is first run. | (string) A string containing one or more references that resolve to initial delay, in seconds, before the health check is first run. (pattern: .*\${.*}.*)
         - `periodSeconds`: (multiple options) (integer) The time between each check, in seconds. | (string) A string containing one or more references that resolve to the time between each check, in seconds. (pattern: .*\${.*}.*)
         - `timeoutSeconds`: (multiple options) (integer) The time to wait for a response before marking the health check as a failure. | (string) A string containing one or more references that resolve to the time to wait for a response before marking the health check as a failure. (pattern: .*\${.*}.*)
         - `failureThreshold`: (multiple options) (integer) The maximum number of allowed failures. | (string) A string containing one or more references that resolve to the maximum number of allowed failures. (pattern: .*\${.*}.*)
         - `successThreshold`: (multiple options) (integer) The number of successes required to mark the health check as a success. | (string) (pattern: .*\${.*}.*)
     - `backoffLimit`: (multiple options) (integer) The number of attempts to rerun a job before it is marked as failed. | (string) A string containing one or more references that resolve to the number of attempts to rerun a job before it is marked as failed. (pattern: .*\${.*}.*)
     - `runOnSourceChange`: (multiple options) (string) Configure when the job should be run if the source image changes. (enum: never, cd-promote, always) | (string) A string containing one or more references that resolve to configure when the job should be run if the source image changes. (pattern: .*\${.*}.*)
     - `activeDeadlineSeconds`: (multiple options) (integer) The maximum amount of time, in seconds, for a job to run before it is marked as failed. | (string) A string containing one or more references that resolve to the maximum amount of time, in seconds, for a job to run before it is marked as failed. (pattern: .*\${.*}.*)
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: Job)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `description`: (multiple options) (string) A description of the job. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the job. (pattern: .*\${.*}.*)
     - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `billing`: {object}
       - `buildPlan`: (multiple options) (string) The ID of the build plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the build plan to use. (pattern: .*\${.*}.*)
       - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (pattern: .*\${.*}.*)
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
     - `deployment`: {object}
       - `buildpack`: {object}
         - `configType`: (multiple options) (string) (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand) | (string) (pattern: .*\${.*}.*)
         - `customProcess`: (multiple options) (multiple options) (string) | (string) (pattern: .*\${.*}.*)
         - `customEntrypoint`: (multiple options) (multiple options) (string) | (string) (pattern: .*\${.*}.*)
         - `customCommand`: (multiple options) (multiple options) (string) | (string) (pattern: .*\${.*}.*)
       - `docker`: {object}
         - `configType`: (multiple options) (string) (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand) | (string) (pattern: .*\${.*}.*)
         - `customEntrypoint`: (multiple options) (multiple options) (string) | (string) (pattern: .*\${.*}.*)
         - `customCommand`: (multiple options) (multiple options) (string) | (string) (pattern: .*\${.*}.*)
       - `storage`: {object}
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per container in MB | (string) A string containing one or more references that resolve to ephemeral storage per container in MB (pattern: .*\${.*}.*)
         - `shmSize`: (multiple options) (integer) Configures the amount of available memory-backed disk space available to /dev/shm | (string) A string containing one or more references that resolve to configures the amount of available memory-backed disk space available to /dev/shm (pattern: .*\${.*}.*)
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
       - `gracePeriodSeconds`: (multiple options) (integer) The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. | (string) A string containing one or more references that resolve to the maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. (pattern: .*\${.*}.*)
       - `metadata`: {object}
         - `labels`: {object}
         - `annotations`: {object}
       - `vcs`: {object}
         - `projectUrl`: (multiple options) (string) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo to build. (pattern: .*\${.*}.*)
         - `projectType`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
         - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
         - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
         - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24) | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
         - `projectBranch`: (multiple options) (string) The name of the branch to use. | (string) A string containing one or more references that resolve to the name of the branch to use. (pattern: .*\${.*}.*)
       - `external`: {object}
         - `imagePath`: (multiple options) (string) Image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: ^(?:(?:https?:\/\/)?([a-zA-Z0-9\-]+\.[a-zA-Z0-9\.\-]+))?(?:\/)?([a-zA-Z/-9\.\-_]+)(?:\:([a-zA-Z/-9\.\-_\:]+)|\@([a-zA-Z/-9\.\-_\:]+))$) | (string) A string containing one or more references that resolve to image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: .*\${.*}.*)
         - `credentials`: (multiple options) (string) ID of the saved credentials to use to access this external image. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of the saved credentials to use to access this external image. (pattern: .*\${.*}.*)
       - `internal`: {object}
         - `id`: (multiple options) (multiple options) (string) The ID of a build service in the same project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) The ID of a build service in another project, in the format `project-id/build-service-id` | (string) A string containing one or more references that resolve to iD of the build service to deploy (pattern: .*\${.*}.*)
         - `branch`: (multiple options) (string) Branch to deploy | (string) A string containing one or more references that resolve to branch to deploy (pattern: .*\${.*}.*)
         - `buildSHA`: (multiple options) (multiple options) (string) A commit sha. (min length: 40) (max length: 40) | (string) Latest commit. (enum: latest) | (string) A string containing one or more references that resolve to commit SHA to deploy, or 'latest' to deploy the most recent commit (pattern: .*\${.*}.*)
         - `buildId`: (multiple options) (string) ID of the build that should be deployed | (string) A string containing one or more references that resolve to iD of the build that should be deployed (pattern: .*\${.*}.*)
     - `disabledCI`: (multiple options) (boolean) Whether CI should be disabled. Only relevant for jobs deploying directly from version control. | (string) A string containing one or more references that resolve to whether CI should be disabled. Only relevant for jobs deploying directly from version control. (pattern: .*\${.*}.*)
     - `buildConfiguration`: {object}
       - `pathIgnoreRules`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
       - `isAllowList`: (multiple options) (boolean) If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. | (string) A string containing one or more references that resolve to if `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. (pattern: .*\${.*}.*)
       - `ciIgnoreFlagsEnabled`: (multiple options) (boolean) If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. | (string) A string containing one or more references that resolve to if `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. (pattern: .*\${.*}.*)
       - `ciIgnoreFlags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
       - `dockerfileTarget`: (multiple options) (string) If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. | (string) A string containing one or more references that resolve to if your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. (pattern: .*\${.*}.*)
       - `dockerCredentials`: [array of] (multiple options) (string) The ID of the docker credentials to use. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of the docker credentials to use. (pattern: .*\${.*}.*)
       - `includeGitFolder`: (boolean) Include .git folder inside the build context
       - `fullGitClone`: (boolean) Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set.
       - `enableGitLfs`: (boolean) Enable Git LFS support for the build
       - `storage`: {object}
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
     - `buildSettings`: {object}
       - `storage`: {object}
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
       - `dockerfile`: {object}
         - `useCache`: (boolean) DEPRECATED: This field will be removed in the near future and currently has no effect.
         - `buildEngine`: (multiple options) (string) Build engine to use. Defaults to recommended build engine `buildkit` (enum: buildkit, kaniko) | (string) A string containing one or more references that resolve to build engine to use. Defaults to recommended build engine `buildkit` (pattern: .*\${.*}.*)
         - `dockerFilePath`: (multiple options) (string) The file path of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$) | (string) A string containing one or more references that resolve to the file path of the Dockerfile. (pattern: .*\${.*}.*)
         - `dockerWorkDir`: (multiple options) (string) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory of the Dockerfile. (pattern: .*\${.*}.*)
         - `buildkit`: {object}
           - `useCache`: (multiple options) (boolean) Use persistent storage to cache build layers. | (string) A string containing one or more references that resolve to use persistent storage to cache build layers. (pattern: .*\${.*}.*)
           - `cacheStorageSize`: (multiple options) (integer) The amount of persistent storage available to each build in MB. | (string) A string containing one or more references that resolve to the amount of persistent storage available to each build in MB. (pattern: .*\${.*}.*)
           - `useInternalCache`: (multiple options) (boolean) DEPRECATED: This field will be removed in the near future. | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*)
           - `internalCacheStorage`: (multiple options) (number) DEPRECATED: This field will be removed in the near future. (format: float) | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*)
       - `buildpack`: {object}
         - `builder`: (multiple options) (string) Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (enum: HEROKU_24, HEROKU_22, HEROKU_22_CLASSIC, HEROKU_20, HEROKU_18, GOOGLE_22, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_JAMMY_TINY, PAKETO_JAMMY_BASE, PAKETO_JAMMY_FULL, PAKETO_TINY, PAKETO_BASE, PAKETO_FULL) | (string) A string containing one or more references that resolve to buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (pattern: .*\${.*}.*)
         - `buildpackLocators`: [array of] (multiple options) (string) Url or registry identifier of custom Buildpack. | (string) A string containing one or more references that resolve to url or registry identifier of custom Buildpack. (pattern: .*\${.*}.*)
         - `buildContext`: (multiple options) (string) The working directory to build in. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory to build in. (pattern: .*\${.*}.*)
         - `useCache`: (multiple options) (boolean) Should build dependencies be cached? | (string) A string containing one or more references that resolve to should build dependencies be cached? (pattern: .*\${.*}.*)
     - `runtimeEnvironment`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `runtimeFiles`: {object}
     - `buildArguments`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `buildFiles`: {object}
     - `dockerSecretMounts`: {object}
     - `healthChecks`: [array of] {object}
         - `protocol`: (multiple options) (string) The protocol to access the health check with. (enum: HTTP, CMD, TCP) | (string) A string containing one or more references that resolve to the protocol to access the health check with. (pattern: .*\${.*}.*)
         - `type`: (multiple options) (string) The type of health check. (enum: livenessProbe, readinessProbe, startupProbe) | (string) A string containing one or more references that resolve to the type of health check. (pattern: .*\${.*}.*)
         - `path`: (multiple options) (string) The path of the health check endpoint. Required when protocol is HTTP. (pattern: ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*((\?([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)(&([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)*)?$) | (string) (pattern: .*\${.*}.*)
         - `cmd`: (multiple options) (string) The command to run for the health check. Required when protocol is CMD | (string) (pattern: .*\${.*}.*)
         - `port`: (multiple options) (integer) Port number for the health check endpoint. Required when protocol is HTTP. | (string) (pattern: .*\${.*}.*)
         - `initialDelaySeconds`: (multiple options) (integer) Initial delay, in seconds, before the health check is first run. | (string) A string containing one or more references that resolve to initial delay, in seconds, before the health check is first run. (pattern: .*\${.*}.*)
         - `periodSeconds`: (multiple options) (integer) The time between each check, in seconds. | (string) A string containing one or more references that resolve to the time between each check, in seconds. (pattern: .*\${.*}.*)
         - `timeoutSeconds`: (multiple options) (integer) The time to wait for a response before marking the health check as a failure. | (string) A string containing one or more references that resolve to the time to wait for a response before marking the health check as a failure. (pattern: .*\${.*}.*)
         - `failureThreshold`: (multiple options) (integer) The maximum number of allowed failures. | (string) A string containing one or more references that resolve to the maximum number of allowed failures. (pattern: .*\${.*}.*)
         - `successThreshold`: (multiple options) (integer) The number of successes required to mark the health check as a success. | (string) (pattern: .*\${.*}.*)
     - `settings`: {object}
       - `backoffLimit`: (multiple options) (integer) The number of attempts to rerun a job before it is marked as failed. | (string) A string containing one or more references that resolve to the number of attempts to rerun a job before it is marked as failed. (pattern: .*\${.*}.*)
       - `runOnSourceChange`: (multiple options) (string) Configure when the job should be run if the source image changes. (enum: never, cd-promote, always) | (string) A string containing one or more references that resolve to configure when the job should be run if the source image changes. (pattern: .*\${.*}.*)
       - `activeDeadlineSeconds`: (multiple options) (integer) The maximum amount of time, in seconds, for a job to run before it is marked as failed. | (string) A string containing one or more references that resolve to the maximum amount of time, in seconds, for a job to run before it is marked as failed. (pattern: .*\${.*}.*)
       - `cron`: {object}
         - `schedule`: (multiple options) (string) The cron timer scheduling when to run the job. | (string) A string containing one or more references that resolve to the cron timer scheduling when to run the job. (pattern: .*\${.*}.*)
         - `suspended`: (multiple options) (boolean) Whether the cron's automatic scheduling is suspended | (string) A string containing one or more references that resolve to whether the cron's automatic scheduling is suspended (pattern: .*\${.*}.*)
         - `concurrencyPolicy`: (multiple options) (string) Whether this job should run when another instance of the job is already running. `allow` will enable multiple instances of this job to run. `forbid` will keep the current instance of the job running and stop a new instance from being run. `replace` will terminate any currently running instance of the job and start a new one. (enum: allow, forbid, replace) | (string) A string containing one or more references that resolve to whether this job should run when another instance of the job is already running. `allow` will enable multiple instances of this job to run. `forbid` will keep the current instance of the job running and stop a new instance from being run. `replace` will terminate any currently running instance of the job and start a new one. (pattern: .*\${.*}.*)
     - `name`: (multiple options) (string) The name of the job. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 52) | (string) A string containing one or more references that resolve to the name of the job. (pattern: .*\${.*}.*)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: Job)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) The name of the job. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 52) | (string) A string containing one or more references that resolve to the name of the job. (pattern: .*\${.*}.*)
     - `description`: (multiple options) (string) A description of the job. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the job. (pattern: .*\${.*}.*)
     - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
     - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `infrastructure`: {object}
       - `architecture`: (string) (enum: x86, arm)
     - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `billing`: {object}
       - `buildPlan`: (multiple options) (string) The ID of the build plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the build plan to use. (pattern: .*\${.*}.*)
       - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (pattern: .*\${.*}.*)
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
     - `deployment`: {object}
       - `buildpack`: {object}
         - `configType`: (string) (required) Type of buildpack run configuration (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand)
         - `customProcess`: (string) Custom process which should be run. Required in case where `configType` is `customProcess`
         - `customEntrypoint`: (string) Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand`
         - `customCommand`: (string) Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand`
       - `docker`: {object}
         - `configType`: (string) (required) Type of entrypoint & command override configuration (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand)
         - `customEntrypoint`: (string) Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand`
         - `customCommand`: (string) Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand`
       - `storage`: {object}
         - `useHdbStorage`: (boolean)
         - `usePdSsdStorage`: (boolean)
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per container in MB | (string) A string containing one or more references that resolve to ephemeral storage per container in MB (pattern: .*\${.*}.*)
         - `shmSize`: (multiple options) (integer) Configures the amount of available memory-backed disk space available to /dev/shm | (string) A string containing one or more references that resolve to configures the amount of available memory-backed disk space available to /dev/shm (pattern: .*\${.*}.*)
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
       - `gracePeriodSeconds`: (multiple options) (integer) The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. | (string) A string containing one or more references that resolve to the maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. (pattern: .*\${.*}.*)
       - `metadata`: {object}
         - `labels`: {object}
         - `annotations`: {object}
       - `vcs`: {object}
         - `projectUrl`: (multiple options) (string) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo to build. (pattern: .*\${.*}.*)
         - `projectType`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
         - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
         - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
         - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24) | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
         - `projectBranch`: (multiple options) (string) The name of the branch to use. | (string) A string containing one or more references that resolve to the name of the branch to use. (pattern: .*\${.*}.*)
       - `external`: {object}
         - `imagePath`: (multiple options) (string) Image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: ^(?:(?:https?:\/\/)?([a-zA-Z0-9\-]+\.[a-zA-Z0-9\.\-]+))?(?:\/)?([a-zA-Z/-9\.\-_]+)(?:\:([a-zA-Z/-9\.\-_\:]+)|\@([a-zA-Z/-9\.\-_\:]+))$) | (string) A string containing one or more references that resolve to image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: .*\${.*}.*)
         - `credentials`: (multiple options) (string) ID of the saved credentials to use to access this external image. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of the saved credentials to use to access this external image. (pattern: .*\${.*}.*)
       - `internal`: {object}
         - `id`: (multiple options) (multiple options) (string) The ID of a build service in the same project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) The ID of a build service in another project, in the format `project-id/build-service-id` | (string) A string containing one or more references that resolve to iD of the build service to deploy (pattern: .*\${.*}.*)
         - `branch`: (multiple options) (string) Branch to deploy | (string) A string containing one or more references that resolve to branch to deploy (pattern: .*\${.*}.*)
         - `buildSHA`: (multiple options) (multiple options) (string) A commit sha. (min length: 40) (max length: 40) | (string) Latest commit. (enum: latest) | (string) A string containing one or more references that resolve to commit SHA to deploy, or 'latest' to deploy the most recent commit (pattern: .*\${.*}.*)
         - `buildId`: (multiple options) (string) ID of the build that should be deployed | (string) A string containing one or more references that resolve to iD of the build that should be deployed (pattern: .*\${.*}.*)
       - `releaseFlowControlled`: (boolean) When enabled the deployment source will only be set on creation. All changes to the deployment source must be done via a release flow or manually.
     - `disabledCI`: (multiple options) (boolean) Whether CI should be disabled. Only relevant for jobs deploying directly from version control. | (string) A string containing one or more references that resolve to whether CI should be disabled. Only relevant for jobs deploying directly from version control. (pattern: .*\${.*}.*)
     - `buildConfiguration`: {object}
       - `pathIgnoreRules`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
       - `isAllowList`: (multiple options) (boolean) If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. | (string) A string containing one or more references that resolve to if `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. (pattern: .*\${.*}.*)
       - `ciIgnoreFlagsEnabled`: (multiple options) (boolean) If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. | (string) A string containing one or more references that resolve to if `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. (pattern: .*\${.*}.*)
       - `ciIgnoreFlags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
       - `dockerfileTarget`: (multiple options) (string) If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. | (string) A string containing one or more references that resolve to if your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. (pattern: .*\${.*}.*)
       - `dockerCredentials`: [array of] (multiple options) (string) The ID of the docker credentials to use. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of the docker credentials to use. (pattern: .*\${.*}.*)
       - `includeGitFolder`: (boolean) Include .git folder inside the build context
       - `fullGitClone`: (boolean) Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set.
       - `enableGitLfs`: (boolean) Enable Git LFS support for the build
       - `storage`: {object}
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
     - `buildSettings`: (multiple options) {object}
         - `storage`: {object}
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
         - `dockerfile`: {object}
           - `useCache`: (boolean) DEPRECATED: This field will be removed in the near future and currently has no effect.
           - `buildEngine`: (multiple options) (string) Build engine to use. Defaults to recommended build engine `buildkit` (enum: buildkit, kaniko) | (string) A string containing one or more references that resolve to build engine to use. Defaults to recommended build engine `buildkit` (pattern: .*\${.*}.*)
           - `dockerFilePath`: (multiple options) (string) The file path of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$) | (string) A string containing one or more references that resolve to the file path of the Dockerfile. (pattern: .*\${.*}.*)
           - `dockerWorkDir`: (multiple options) (string) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory of the Dockerfile. (pattern: .*\${.*}.*)
           - `buildkit`: {object}
             - `useCache`: (multiple options) (boolean) Use persistent storage to cache build layers. | (string) A string containing one or more references that resolve to use persistent storage to cache build layers. (pattern: .*\${.*}.*)
             - `cacheStorageSize`: (multiple options) (integer) The amount of persistent storage available to each build in MB. | (string) A string containing one or more references that resolve to the amount of persistent storage available to each build in MB. (pattern: .*\${.*}.*)
             - `useInternalCache`: (multiple options) (boolean) DEPRECATED: This field will be removed in the near future. | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*)
             - `internalCacheStorage`: (multiple options) (number) DEPRECATED: This field will be removed in the near future. (format: float) | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*) | {object}
         - `storage`: {object}
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
         - `buildpack`: {object}
           - `builder`: (multiple options) (string) Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (enum: HEROKU_24, HEROKU_22, HEROKU_22_CLASSIC, HEROKU_20, HEROKU_18, GOOGLE_22, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_JAMMY_TINY, PAKETO_JAMMY_BASE, PAKETO_JAMMY_FULL, PAKETO_TINY, PAKETO_BASE, PAKETO_FULL) | (string) A string containing one or more references that resolve to buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (pattern: .*\${.*}.*)
           - `buildpackLocators`: [array of] (multiple options) (string) Url or registry identifier of custom Buildpack. | (string) A string containing one or more references that resolve to url or registry identifier of custom Buildpack. (pattern: .*\${.*}.*)
           - `buildContext`: (multiple options) (string) The working directory to build in. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory to build in. (pattern: .*\${.*}.*)
           - `useCache`: (multiple options) (boolean) Should build dependencies be cached? | (string) A string containing one or more references that resolve to should build dependencies be cached? (pattern: .*\${.*}.*)
     - `runtimeEnvironment`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `runtimeFiles`: {object}
     - `buildArguments`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `buildFiles`: {object}
     - `dockerSecretMounts`: {object}
     - `healthChecks`: [array of] {object}
         - `protocol`: (multiple options) (string) The protocol to access the health check with. (enum: HTTP, CMD, TCP) | (string) A string containing one or more references that resolve to the protocol to access the health check with. (pattern: .*\${.*}.*)
         - `type`: (multiple options) (string) The type of health check. (enum: livenessProbe, readinessProbe, startupProbe) | (string) A string containing one or more references that resolve to the type of health check. (pattern: .*\${.*}.*)
         - `path`: (multiple options) (string) The path of the health check endpoint. Required when protocol is HTTP. (pattern: ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*((\?([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)(&([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)*)?$) | (string) (pattern: .*\${.*}.*)
         - `cmd`: (multiple options) (string) The command to run for the health check. Required when protocol is CMD | (string) (pattern: .*\${.*}.*)
         - `port`: (multiple options) (integer) Port number for the health check endpoint. Required when protocol is HTTP. | (string) (pattern: .*\${.*}.*)
         - `initialDelaySeconds`: (multiple options) (integer) Initial delay, in seconds, before the health check is first run. | (string) A string containing one or more references that resolve to initial delay, in seconds, before the health check is first run. (pattern: .*\${.*}.*)
         - `periodSeconds`: (multiple options) (integer) The time between each check, in seconds. | (string) A string containing one or more references that resolve to the time between each check, in seconds. (pattern: .*\${.*}.*)
         - `timeoutSeconds`: (multiple options) (integer) The time to wait for a response before marking the health check as a failure. | (string) A string containing one or more references that resolve to the time to wait for a response before marking the health check as a failure. (pattern: .*\${.*}.*)
         - `failureThreshold`: (multiple options) (integer) The maximum number of allowed failures. | (string) A string containing one or more references that resolve to the maximum number of allowed failures. (pattern: .*\${.*}.*)
         - `successThreshold`: (multiple options) (integer) The number of successes required to mark the health check as a success. | (string) (pattern: .*\${.*}.*)
     - `settings`: {object}
       - `backoffLimit`: (multiple options) (integer) The number of attempts to rerun a job before it is marked as failed. | (string) A string containing one or more references that resolve to the number of attempts to rerun a job before it is marked as failed. (pattern: .*\${.*}.*)
       - `runOnSourceChange`: (multiple options) (string) Configure when the job should be run if the source image changes. (enum: never, cd-promote, always) | (string) A string containing one or more references that resolve to configure when the job should be run if the source image changes. (pattern: .*\${.*}.*)
       - `activeDeadlineSeconds`: (multiple options) (integer) The maximum amount of time, in seconds, for a job to run before it is marked as failed. | (string) A string containing one or more references that resolve to the maximum amount of time, in seconds, for a job to run before it is marked as failed. (pattern: .*\${.*}.*)
       - `cron`: {object}
         - `schedule`: (multiple options) (string) The cron timer scheduling when to run the job. | (string) A string containing one or more references that resolve to the cron timer scheduling when to run the job. (pattern: .*\${.*}.*)
         - `suspended`: (multiple options) (boolean) Whether the cron's automatic scheduling is suspended | (string) A string containing one or more references that resolve to whether the cron's automatic scheduling is suspended (pattern: .*\${.*}.*)
         - `concurrencyPolicy`: (multiple options) (string) Whether this job should run when another instance of the job is already running. `allow` will enable multiple instances of this job to run. `forbid` will keep the current instance of the job running and stop a new instance from being run. `replace` will terminate any currently running instance of the job and start a new one. (enum: allow, forbid, replace) | (string) A string containing one or more references that resolve to whether this job should run when another instance of the job is already running. `allow` will enable multiple instances of this job to run. `forbid` will keep the current instance of the job running and stop a new instance from being run. `replace` will terminate any currently running instance of the job and start a new one. (pattern: .*\${.*}.*)
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: Addon)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: (multiple options) {object}
      - `description`: (multiple options) (string) A description of the addon. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the addon. (pattern: .*\${.*}.*)
      - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
      - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
      - `version`: (string) The version of the addon type to use. If set to `latest`, the addon will be created with the most recent addon version. If set to a major version appended with `-latest`, e.g. e.g. `14-latest` or `14.5-latest`, the addon will be created with the most recent minor/patch version belonging to that major version.
      - `billing`: {object}
        - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (pattern: .*\${.*}.*)
        - `storageClass`: (multiple options) (string) The type of storage. Only configurable if the relevant feature flag is enabled for you account (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the type of storage. Only configurable if the relevant feature flag is enabled for you account (pattern: .*\${.*}.*)
        - `storage`: (multiple options) (integer) The size of the addon storage, in megabytes. | (string) A string containing one or more references that resolve to the size of the addon storage, in megabytes. (pattern: .*\${.*}.*)
        - `replicas`: (multiple options) (integer) The number of addon replicas to run. | (string) A string containing one or more references that resolve to the number of addon replicas to run. (pattern: .*\${.*}.*)
        - `diskAutoscaling`: {object}
          - `enabled`: (boolean) (required) Enable automatic disk scaling when usage exceeds the configured threshold.
          - `thresholdPercent`: (number) Disk usage percentage that triggers a resize. Defaults to 90. (format: float) (enum: 75, 90)
          - `maxSizeMib`: (integer) Maximum disk size in mebibytes. When set, autoscaling will not expand storage beyond this value. Must be greater than the current storage size.
      - `tlsEnabled`: (boolean) Enables access to the addon via TLS (if supported by the addon type).
      - `externalAccessEnabled`: (boolean) Enables external access to the addon via TLS (if supported by the addon type).
      - `ipPolicies`: [array of] {object}
          - `addresses`: [array of] (string) An IP address used by this rule
          - `action`: (string) (required) The action for this rule. (enum: ALLOW, DENY)
      - `typeSpecificSettings`: {object}
        - `redisMaxMemoryPolicy`: (string) Redis only: Key eviction policy at memory pressure. (enum: noeviction, allkeys-lru, allkeys-lfu, volatile-lru, volatile-lfu, allkeys-random, volatile-random, volatile-ttl, volatile-lrm, allkeys-lrm)
        - `redisSentinelEnabled`: (boolean) Redis only: Deploy Redis with Sentinel high availability. Default: false
        - `postgresqlWalLevel`: (string) PostgreSQL only: Configure wal_level setting. (enum: replica, logical)
        - `postgresqlSupabaseMode`: (boolean) PostgreSQL only: Enable Supabase mode (additional extensions and event trigger creation support). Cannot be changed after creation.
        - `postgresqlEdbMode`: (boolean) PostgreSQL only: Enable EDB mode (EDB extension set: edb_stat_monitor, query_advisor, edb_pg_tuner, aidb, pgaa and others). Requires PostgreSQL 18 or newer. Cannot be changed after creation.
        - `postgresqlConnectionPoolerEnabled`: (boolean) PostgreSQL only: Run connection pooler in front of postgres instance.
        - `postgresqlConnectionPoolerReplicas`: (integer) PostgreSQL only: Number of connection pooler instances in case connection pooler is enabled.
        - `postgresqlReadConnectionPoolerEnabled`: (boolean) PostgreSQL only: Run connection pooler in front of read-only postgres instance.
        - `postgresqlReadConnectionPoolerReplicas`: (integer) PostgreSQL only: Number of read-only connection pooler replicas in case read-only connection pooler is enabled.
        - `postgresqlImportMode`: (boolean) PostgreSQL only: Configure PostgreSQL for higher import speed. Not recommended for production workloads.
        - `mysqlHaModeEnabled`: (boolean) MySQL only: Run MySQL in HA configuration with auto-failover and connection poolers.
        - `mysqlHaRouterEnabled`: (boolean) MySQL HA only: Run connection routers in front of MySQL instances.
        - `mysqlRouterReplicas`: (multiple options) (integer) MysqlHA only: Number of connection router replicas in case connection router is enabled. | (string) A string containing one or more references that resolve to mysqlHA only: Number of connection router replicas in case connection router is enabled. (pattern: .*\${.*}.*)
      - `backupSchedules`: [array of] {object}
          - `scheduling`: (multiple options) {object}
              - `interval`: (multiple options) (string) The interval between backups. Each addon can only have one backup schedule of each interval for each backup type. (enum: hourly, daily, weekly) | (string) A string containing one or more references that resolve to the interval between backups. Each addon can only have one backup schedule of each interval for each backup type. (pattern: .*\${.*}.*)
              - `minute`: (multiple options) [array of] (integer) A minute when the backup should be performed. | (string) A string containing one or more references that resolve to an array of minutes when the backup should be performed. (pattern: .*\${.*}.*)
              - `hour`: (multiple options) [array of] (integer) An hour when the backup should be performed, in 24 hour format. | (string) A string containing one or more references that resolve to an array of hours in 24 hour format when the backup should be performed. At these hours, a backup will be performed at each of the minutes provided in the `minute` field. Required for `daily` and `weekly` intervals and unavailable for `hourly` intervals. (pattern: .*\${.*}.*)
              - `day`: (multiple options) [array of] (integer) A day of the week when the backup should be performed, where `0` represents Monday and `6` represents Sunday. | (string) A string containing one or more references that resolve to an array of days of the week when the backup should be performed, where `0` represents Monday and `6` represents Sunday. On these days, a backup will be performed at each of the minutes provided in the `minute` field whenever it is an hour from the `hour` field. Required for `weekly` intervals and unavailable for `hourly` and `daily` intervals. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to schedule for the backup. (pattern: .*\${.*}.*)
          - `backupType`: (multiple options) (string) The type of the backup to be performed. (enum: dump, snapshot) | (string) A string containing one or more references that resolve to the type of the backup to be performed. (pattern: .*\${.*}.*)
          - `customDestinationId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
          - `additionalDestinations`: [array of] {object}
              - `destinationId`: (multiple options) (string) Additional custom back up destination that should be used to store the snapshot. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to additional custom back up destination that should be used to store the snapshot. (pattern: .*\${.*}.*)
              - `retentionTime`: (multiple options) (integer) Retention time of the additional back up in days. | (string) A string containing one or more references that resolve to retention time of the additional back up in days. (pattern: .*\${.*}.*)
              - `type`: (string) (required) The type of backup destination to use (enum: custom)
          - `compressionType`: (multiple options) (string) The compression algorithm of the backup. Only applicable for dump backups. Defaults to `gz`. (enum: gz, zstd) | (string) A string containing one or more references that resolve to the compression algorithm of the backup. Only applicable for dump backups. Defaults to `gz`. (pattern: .*\${.*}.*)
          - `retentionTime`: (multiple options) (integer) The time the backup is retained for, in days. | (string) A string containing one or more references that resolve to the time the backup is retained for, in days. (pattern: .*\${.*}.*)
      - `metadata`: {object}
        - `labels`: {object}
        - `annotations`: {object} | {object}
      - `description`: (multiple options) (string) A description of the addon. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the addon. (pattern: .*\${.*}.*)
      - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
      - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
      - `templateValues`: {object} | {object}
      - `description`: (multiple options) (string) A description of the addon. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the addon. (pattern: .*\${.*}.*)
      - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
      - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: Addon)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: (multiple options) {object}
      - `name`: (multiple options) (string) The name of the addon. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the addon. (pattern: .*\${.*}.*)
      - `description`: (multiple options) (string) A description of the addon. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the addon. (pattern: .*\${.*}.*)
      - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
      - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
      - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
      - `type`: (string) (required) The identifier for the type of addon. Addon types can be found at the Get Addon Types endpoint.
      - `infrastructure`: {object}
        - `architecture`: (string) (enum: x86, arm)
      - `version`: (string) (required) The version of the addon type to use. If set to `latest`, the addon will be created with the most recent addon version. If set to a major version appended with `-latest`, e.g. e.g. `14-latest` or `14.5-latest`, the addon will be created with the most recent minor/patch version belonging to that major version.
      - `billing`: {object}
        - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (pattern: .*\${.*}.*)
        - `storageClass`: (multiple options) (string) The type of storage. Only configurable if the relevant feature flag is enabled for you account (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the type of storage. Only configurable if the relevant feature flag is enabled for you account (pattern: .*\${.*}.*)
        - `storage`: (multiple options) (integer) The size of the addon storage, in megabytes. | (string) A string containing one or more references that resolve to the size of the addon storage, in megabytes. (pattern: .*\${.*}.*)
        - `replicas`: (multiple options) (integer) The number of addon replicas to run. | (string) A string containing one or more references that resolve to the number of addon replicas to run. (pattern: .*\${.*}.*)
        - `zonalRedundancy`: {object}
          - `type`: (multiple options) (string) Defines scheduling behaviour across different zones within the same region. (enum: required, disabled) | (string) A string containing one or more references that resolve to defines scheduling behaviour across different zones within the same region. (pattern: .*\${.*}.*)
          - `minZones`: (integer) Defines how many zones are required and will prevent containers from additional scheduling into existing zones. (Only relevant if type is set to "required")
        - `diskAutoscaling`: {object}
          - `enabled`: (boolean) (required) Enable automatic disk scaling when usage exceeds the configured threshold.
          - `thresholdPercent`: (number) Disk usage percentage that triggers a resize. Defaults to 90. (format: float) (enum: 75, 90)
          - `maxSizeMib`: (integer) Maximum disk size in mebibytes. When set, autoscaling will not expand storage beyond this value. Must be greater than the current storage size.
      - `source`: (multiple options) {object}
          - `projectId`: (multiple options) (string) ID of the project of the source addon. Only required if not the same as target addon (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of the project of the source addon. Only required if not the same as target addon (pattern: .*\${.*}.*)
          - `addonId`: (multiple options) (string) ID of the addon to fork. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of the addon to fork. (pattern: .*\${.*}.*)
          - `backupId`: (multiple options) (string) ID of a backup belonging to that addon to use for the fork. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of a backup belonging to that addon to use for the fork. (pattern: .*\${.*}.*) | {object}
          - `backupUid`: (multiple options) (string) Uid of the backup (format: uuid) | (string) A string containing one or more references that resolve to uid of the backup (pattern: .*\${.*}.*)
      - `tlsEnabled`: (boolean) Enables access to the addon via TLS (if supported by the addon type).
      - `externalAccessEnabled`: (boolean) Enables external access to the addon via TLS (if supported by the addon type).
      - `ipPolicies`: [array of] {object}
          - `addresses`: [array of] (string) An IP address used by this rule
          - `action`: (string) (required) The action for this rule. (enum: ALLOW, DENY)
      - `typeSpecificSettings`: {object}
        - `redisMaxMemoryPolicy`: (string) Redis only: Key eviction policy at memory pressure. (enum: noeviction, allkeys-lru, allkeys-lfu, volatile-lru, volatile-lfu, allkeys-random, volatile-random, volatile-ttl, volatile-lrm, allkeys-lrm)
        - `redisSentinelEnabled`: (boolean) Redis only: Deploy Redis with Sentinel high availability. Default: false
        - `postgresqlWalLevel`: (string) PostgreSQL only: Configure wal_level setting. (enum: replica, logical)
        - `postgresqlSupabaseMode`: (boolean) PostgreSQL only: Enable Supabase mode (additional extensions and event trigger creation support). Cannot be changed after creation.
        - `postgresqlEdbMode`: (boolean) PostgreSQL only: Enable EDB mode (EDB extension set: edb_stat_monitor, query_advisor, edb_pg_tuner, aidb, pgaa and others). Requires PostgreSQL 18 or newer. Cannot be changed after creation.
        - `postgresqlConnectionPoolerEnabled`: (boolean) PostgreSQL only: Run connection pooler in front of postgres instance.
        - `postgresqlConnectionPoolerReplicas`: (integer) PostgreSQL only: Number of connection pooler instances in case connection pooler is enabled.
        - `postgresqlReadConnectionPoolerEnabled`: (boolean) PostgreSQL only: Run connection pooler in front of read-only postgres instance.
        - `postgresqlReadConnectionPoolerReplicas`: (integer) PostgreSQL only: Number of read-only connection pooler replicas in case read-only connection pooler is enabled.
        - `postgresqlImportMode`: (boolean) PostgreSQL only: Configure PostgreSQL for higher import speed. Not recommended for production workloads.
        - `mysqlHaModeEnabled`: (boolean) MySQL only: Run MySQL in HA configuration with auto-failover and connection poolers.
        - `mysqlHaRouterEnabled`: (boolean) MySQL HA only: Run connection routers in front of MySQL instances.
        - `mysqlRouterReplicas`: (multiple options) (integer) MysqlHA only: Number of connection router replicas in case connection router is enabled. | (string) A string containing one or more references that resolve to mysqlHA only: Number of connection router replicas in case connection router is enabled. (pattern: .*\${.*}.*)
      - `customCredentials`: {object}
        - `dbName`: (multiple options) (string) Custom database name. Not supported for all addon types. | (string) A string containing one or more references that resolve to custom database name. Not supported for all addon types. (pattern: .*\${.*}.*)
      - `backupSchedules`: [array of] {object}
          - `scheduling`: (multiple options) {object}
              - `interval`: (multiple options) (string) The interval between backups. Each addon can only have one backup schedule of each interval for each backup type. (enum: hourly, daily, weekly) | (string) A string containing one or more references that resolve to the interval between backups. Each addon can only have one backup schedule of each interval for each backup type. (pattern: .*\${.*}.*)
              - `minute`: (multiple options) [array of] (integer) A minute when the backup should be performed. | (string) A string containing one or more references that resolve to an array of minutes when the backup should be performed. (pattern: .*\${.*}.*)
              - `hour`: (multiple options) [array of] (integer) An hour when the backup should be performed, in 24 hour format. | (string) A string containing one or more references that resolve to an array of hours in 24 hour format when the backup should be performed. At these hours, a backup will be performed at each of the minutes provided in the `minute` field. Required for `daily` and `weekly` intervals and unavailable for `hourly` intervals. (pattern: .*\${.*}.*)
              - `day`: (multiple options) [array of] (integer) A day of the week when the backup should be performed, where `0` represents Monday and `6` represents Sunday. | (string) A string containing one or more references that resolve to an array of days of the week when the backup should be performed, where `0` represents Monday and `6` represents Sunday. On these days, a backup will be performed at each of the minutes provided in the `minute` field whenever it is an hour from the `hour` field. Required for `weekly` intervals and unavailable for `hourly` and `daily` intervals. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to schedule for the backup. (pattern: .*\${.*}.*)
          - `backupType`: (multiple options) (string) The type of the backup to be performed. (enum: dump, snapshot) | (string) A string containing one or more references that resolve to the type of the backup to be performed. (pattern: .*\${.*}.*)
          - `customDestinationId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
          - `additionalDestinations`: [array of] {object}
              - `destinationId`: (multiple options) (string) Additional custom back up destination that should be used to store the snapshot. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to additional custom back up destination that should be used to store the snapshot. (pattern: .*\${.*}.*)
              - `retentionTime`: (multiple options) (integer) Retention time of the additional back up in days. | (string) A string containing one or more references that resolve to retention time of the additional back up in days. (pattern: .*\${.*}.*)
              - `type`: (string) (required) The type of backup destination to use (enum: custom)
          - `compressionType`: (multiple options) (string) The compression algorithm of the backup. Only applicable for dump backups. Defaults to `gz`. (enum: gz, zstd) | (string) A string containing one or more references that resolve to the compression algorithm of the backup. Only applicable for dump backups. Defaults to `gz`. (pattern: .*\${.*}.*)
          - `retentionTime`: (multiple options) (integer) The time the backup is retained for, in days. | (string) A string containing one or more references that resolve to the time the backup is retained for, in days. (pattern: .*\${.*}.*)
      - `metadata`: {object}
        - `labels`: {object}
        - `annotations`: {object} | {object}
      - `name`: (multiple options) (string) The name of the addon. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the addon. (pattern: .*\${.*}.*)
      - `description`: (multiple options) (string) A description of the addon. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the addon. (pattern: .*\${.*}.*)
      - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
      - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
      - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
      - `type`: (string) (required) The identifier for the type of addon. Addon types can be found at the Get Addon Types endpoint.
      - `infrastructure`: {object}
        - `architecture`: (string) (enum: x86, arm)
      - `templateValues`: {object} | {object}
      - `name`: (multiple options) (string) The name of the addon. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the addon. (pattern: .*\${.*}.*)
      - `description`: (multiple options) (string) A description of the addon. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the addon. (pattern: .*\${.*}.*)
      - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
      - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
      - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
      - `type`: (string) (required) The identifier for the type of addon. Addon types can be found at the Get Addon Types endpoint.
      - `infrastructure`: {object}
        - `architecture`: (string) (enum: x86, arm)
      - `region`: (string) The AWS region identifier for the bucket location.
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: ExternalAddon)
   - `condition`: (string) (enum: success)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `description`: (multiple options) (string) (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) (pattern: .*\${.*}.*)
     - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `environmentId`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
     - `spec`: {object}
       - `resourceType`: (string) (required) (enum: s3, rds, cloudSql, memorystore)
       - `provider`: {object}
         - `aws`: {object}
           - `region`: (string) (required)
           - `integrationId`: (string) (required) Integration to use for this job. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)
         - `google`: {object}
           - `project`: (string) (required)
           - `region`: (string)
           - `zone`: (string)
           - `integrationId`: (string) (required) Integration to use for this job. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)
         - `cloudflare`: {object}
           - `integrationId`: (string) (required) Integration to use for this job. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)
         - `aiven`: {object}
           - `integrationId`: (string) (required) Integration to use for this job. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)
         - `backblaze`: {object}
           - `integrationId`: (string) (required) Integration to use for this job. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)
         - `azure`: {object}
           - `integrationId`: (string) (required) Integration to use for this job. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)
         - `akamai`: {object}
           - `integrationId`: (string) (required) Integration to use for this job. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)
       - `config`: {object}
       - `outputs`: {object}
       - `workloadIdentityId`: (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
     - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `usePlan`: (boolean) Require approval of a plan before applying | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: AddonBackup)
   - `condition`: (string) (enum: success)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `runNodeOnce`: (multiple options) (string) (enum: true, false) | (string) (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `projectId`: (multiple options) (string) The ID of the addon to backup. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of the addon to backup. (pattern: .*\${.*}.*)
     - `addonId`: (multiple options) (string) The ID of the addon to backup. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of the addon to backup. (pattern: .*\${.*}.*)
     - `backupType`: (string) The type of backup to perform. Defaults to `snapshot`. (enum: dump, snapshot)
     - `compressionType`: (multiple options) (string) (enum: zstd, gz, none) | (string) (pattern: .*\${.*}.*)
     - `customDestinationId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `additionalDestinations`: [array of] {object}
         - `destinationId`: (multiple options) (string) Additional custom back up destination that should be used to store the snapshot. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to additional custom back up destination that should be used to store the snapshot. (pattern: .*\${.*}.*)
         - `retentionTime`: (multiple options) (integer) Retention time of the additional back up in days. | (string) A string containing one or more references that resolve to retention time of the additional back up in days. (pattern: .*\${.*}.*)
         - `type`: (string) (required) The type of backup destination to use (enum: custom) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: AddonImport)
   - `condition`: (string) (enum: success)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `runNodeOnce`: (multiple options) (string) (enum: true, false) | (string) (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `projectId`: (multiple options) (string) The ID of the project containing the addon. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of the project containing the addon. (pattern: .*\${.*}.*)
     - `addonId`: (multiple options) (string) The ID of the addon to import a backup into. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of the addon to import a backup into. (pattern: .*\${.*}.*)
     - `importUrl`: (multiple options) (string) A URL to import a backup file from. | (string) A string containing one or more references that resolve to a URL to import a backup file from. (pattern: .*\${.*}.*)
     - `connectionString`: (multiple options) (string) A connection string for a live database to dump and import. | (string) A string containing one or more references that resolve to a connection string for a live database to dump and import. (pattern: .*\${.*}.*)
     - `importAllDatabases`: (boolean) When true, all non-system databases will be detected and dumped. Only applicable when using a connection string with PostgreSQL.
     - `compressionType`: (multiple options) (string) (enum: zstd, gz, none) | (string) (pattern: .*\${.*}.*)
     - `customDestinationId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: SecretGroup)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `description`: (multiple options) (string) A description of the secret. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the secret. (pattern: .*\${.*}.*)
     - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `type`: (string) The hierarchy type of the created secret. (enum: secret, config)
     - `secretType`: (string) The injection scope of the created secret (enum: environment-arguments, environment, arguments)
     - `priority`: (multiple options) (integer) The priority with which different secrets will be merged. | (string) A string containing one or more references that resolve to the priority with which different secrets will be merged. (pattern: .*\${.*}.*)
     - `restrictions`: {object}
       - `restricted`: (boolean) Whether the secret is restricted to specific resources, tags, or environments. If this is `true`, resources listed in `nfObjects`, with a tag listed in `tags`, or in an environment listed in `stageIds` will have access to these secrets. Otherwise, all resources in the project will be able to access it.
       - `nfObjects`: [array of] {object}
           - `id`: (multiple options) (string) ID of the entity the secret is restricted to. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of the entity the secret is restricted to. (pattern: .*\${.*}.*)
           - `type`: (string) (required) Type of the entity the secret is restricted to. (enum: service, job)
       - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `tagMatchCondition`: (multiple options) (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or) | (string) A string containing one or more references that resolve to if all or any of the tags must be present on the target for it to match the condition. (pattern: .*\${.*}.*)
       - `stageIds`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `addonDependencies`: [array of] {object}
         - `addonId`: (multiple options) (string) The id of the addon to link. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the addon to link. (pattern: .*\${.*}.*)
         - `keys`: [array of] {object}
             - `keyName`: (string) (required) The name of the key to link. (pattern: [a-zA-Z]+)
             - `aliases`: [array of] (multiple options) (string) The name of the alias. Keys may only contain letters, numbers, hyphens, forward slashes and dots. (pattern: ^[a-zA-Z0-9_./-]*$) | (string) A string containing one or more references that resolve to the name of the alias. Keys may only contain letters, numbers, hyphens, forward slashes and dots. (pattern: .*\${.*}.*)
     - `externalAddonDependencies`: [array of] {object}
         - `addonId`: (multiple options) (string) The id of the external addon to link. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the external addon to link. (pattern: .*\${.*}.*)
         - `keys`: [array of] {object}
             - `keyName`: (string) (required) The name of the key to link. (pattern: [a-zA-Z]+)
             - `aliases`: [array of] (multiple options) (string) The name of the alias. Keys may only contain letters, numbers, hyphens, forward slashes and dots. (pattern: ^[a-zA-Z0-9_./-]*$) | (string) A string containing one or more references that resolve to the name of the alias. Keys may only contain letters, numbers, hyphens, forward slashes and dots. (pattern: .*\${.*}.*)
     - `secrets`: {object}
       - `variables`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
       - `files`: {object}
       - `dockerSecretMounts`: {object}
     - `name`: (multiple options) (string) The name of the secret. (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the name of the secret. (pattern: .*\${.*}.*)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: SecretGroup)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) The name of the secret. (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the name of the secret. (pattern: .*\${.*}.*)
     - `description`: (multiple options) (string) A description of the secret. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the secret. (pattern: .*\${.*}.*)
     - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
     - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `type`: (string) The hierarchy type of the created secret. (enum: secret, config)
     - `secretType`: (string) (required) The injection scope of the created secret (enum: environment-arguments, environment, arguments)
     - `priority`: (multiple options) (integer) The priority with which different secrets will be merged. | (string) A string containing one or more references that resolve to the priority with which different secrets will be merged. (pattern: .*\${.*}.*)
     - `restrictions`: {object}
       - `restricted`: (boolean) Whether the secret is restricted to specific resources, tags, or environments. If this is `true`, resources listed in `nfObjects`, with a tag listed in `tags`, or in an environment listed in `stageIds` will have access to these secrets. Otherwise, all resources in the project will be able to access it.
       - `nfObjects`: [array of] {object}
           - `id`: (multiple options) (string) ID of the entity the secret is restricted to. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of the entity the secret is restricted to. (pattern: .*\${.*}.*)
           - `type`: (string) (required) Type of the entity the secret is restricted to. (enum: service, job)
       - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `tagMatchCondition`: (multiple options) (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or) | (string) A string containing one or more references that resolve to if all or any of the tags must be present on the target for it to match the condition. (pattern: .*\${.*}.*)
       - `stageIds`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `addonDependencies`: [array of] {object}
         - `addonId`: (multiple options) (string) The id of the addon to link. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the addon to link. (pattern: .*\${.*}.*)
         - `keys`: [array of] {object}
             - `keyName`: (string) (required) The name of the key to link. (pattern: [a-zA-Z]+)
             - `aliases`: [array of] (multiple options) (string) The name of the alias. Keys may only contain letters, numbers, hyphens, forward slashes and dots. (pattern: ^[a-zA-Z0-9_./-]*$) | (string) A string containing one or more references that resolve to the name of the alias. Keys may only contain letters, numbers, hyphens, forward slashes and dots. (pattern: .*\${.*}.*)
     - `externalAddonDependencies`: [array of] {object}
         - `addonId`: (multiple options) (string) The id of the external addon to link. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the external addon to link. (pattern: .*\${.*}.*)
         - `keys`: [array of] {object}
             - `keyName`: (string) (required) The name of the key to link. (pattern: [a-zA-Z]+)
             - `aliases`: [array of] (multiple options) (string) The name of the alias. Keys may only contain letters, numbers, hyphens, forward slashes and dots. (pattern: ^[a-zA-Z0-9_./-]*$) | (string) A string containing one or more references that resolve to the name of the alias. Keys may only contain letters, numbers, hyphens, forward slashes and dots. (pattern: .*\${.*}.*)
     - `secrets`: {object}
       - `variables`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
       - `files`: {object}
       - `dockerSecretMounts`: {object}
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: SSHIdentity)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `description`: (multiple options) (string) (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) (pattern: .*\${.*}.*)
     - `sshPublicKeys`: [array of] {object}
         - `key`: (multiple options) (string) The SSH public key. | (string) A string containing one or more references that resolve to the SSH public key. (pattern: .*\${.*}.*)
     - `restrictions`: {object}
       - `projects`: {object}
         - `enabled`: (boolean) Whether restriction by project should be enabled.
         - `items`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `tags`: {object}
         - `enabled`: (boolean) Whether restriction by tag should be enabled.
         - `items`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
         - `matchCondition`: (multiple options) (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or) | (string) A string containing one or more references that resolve to if all or any of the tags must be present on the target for it to match the condition. (pattern: .*\${.*}.*)
     - `updatedAt`: (string) time of update (format: date-time)
     - `createdAt`: (string) time of creation (format: date-time)
     - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: SSHIdentity)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `description`: (multiple options) (string) (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) (pattern: .*\${.*}.*)
     - `sshPublicKeys`: [array of] {object}
         - `key`: (multiple options) (string) The SSH public key. | (string) A string containing one or more references that resolve to the SSH public key. (pattern: .*\${.*}.*)
     - `restrictions`: {object}
       - `projects`: {object}
         - `enabled`: (boolean) Whether restriction by project should be enabled.
         - `items`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `tags`: {object}
         - `enabled`: (boolean) Whether restriction by tag should be enabled.
         - `items`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
         - `matchCondition`: (multiple options) (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or) | (string) A string containing one or more references that resolve to if all or any of the tags must be present on the target for it to match the condition. (pattern: .*\${.*}.*)
     - `updatedAt`: (string) time of update (format: date-time)
     - `createdAt`: (string) time of creation (format: date-time)
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: WorkloadIdentity)
   - `condition`: (string) (enum: success)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `description`: (multiple options) (string) (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) (pattern: .*\${.*}.*)
     - `spec`: {object}
       - `provider`: (multiple options) {object}
           - `type`: (string) (required) (enum: aws)
           - `policyDocument`: (multiple options) {object}
               - `Version`: (string) (required) (enum: 2012-10-17, 2008-10-17)
               - `Statement`: (multiple options) {object}
                   - `Sid`: (string) (pattern: ^[a-zA-Z0-9]*$)
                   - `Effect`: (string) (required) (enum: Allow, Deny)
                   - `Action`: (multiple options) (string) A single IAM action. | [array of] (string)
                   - `Resource`: (multiple options) (string) A single resource ARN. (pattern: ^(\*|arn:[a-zA-Z0-9:*/\-?_+=,.@]+)$) | [array of] (string) (pattern: ^(\*|arn:[a-zA-Z0-9:*/\-?_+=,.@]+)$)
                   - `Condition`: {object} | [array of] {object}
                     - `Sid`: (string) (pattern: ^[a-zA-Z0-9]*$)
                     - `Effect`: (string) (required) (enum: Allow, Deny)
                     - `Action`: (multiple options) (string) A single IAM action. | [array of] (string)
                     - `Resource`: (multiple options) (string) A single resource ARN. (pattern: ^(\*|arn:[a-zA-Z0-9:*/\-?_+=,.@]+)$) | [array of] (string) (pattern: ^(\*|arn:[a-zA-Z0-9:*/\-?_+=,.@]+)$)
                     - `Condition`: {object} | (string) A string containing one or more references that resolve to the AWS IAM policy document. (pattern: .*\${.*}.*)
           - `roleName`: (multiple options) (string) The name for the AWS IAM role to create. If not specified, a name is generated automatically. (pattern: ^[\w+=,.@\-]{1,64}$) | (string) A string containing one or more references that resolve to the name for the AWS IAM role to create. If not specified, a name is generated automatically. (pattern: .*\${.*}.*)
           - `rolePath`: (multiple options) (string) The path for the AWS IAM role to create. (pattern: ^\/?[\w+=,.@\-]+(?:\/[\w+=,.@\-]+)*\/?$) | (string) A string containing one or more references that resolve to the path for the AWS IAM role to create. (pattern: .*\${.*}.*)
           - `arn`: (string) | {object}
           - `type`: (string) (required) (enum: aws)
           - `existingRoleArn`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
           - `arn`: (string) | {object}
           - `type`: (string) (required) (enum: gcp)
           - `permissions`: (multiple options) [array of] (string) (pattern: ^[a-zA-Z0-9.]+$) | (string) A string containing one or more references that resolve to a list of GCP permissions to assign to this workload identity. (pattern: .*\${.*}.*)
           - `impersonationUrl`: (string)
           - `audience`: (string) | {object}
           - `type`: (string) (required) (enum: gcp)
           - `existingRoleAudience`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
           - `existingRoleImpersonationUrl`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
           - `impersonationUrl`: (string)
           - `audience`: (string)
       - `restrictions`: {object}
         - `projects`: {object}
           - `enabled`: (boolean) Whether restriction by project should be enabled.
           - `items`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
         - `tags`: {object}
           - `enabled`: (boolean) Whether restriction by tag should be enabled.
           - `items`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
           - `matchCondition`: (multiple options) (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or) | (string) A string containing one or more references that resolve to if all or any of the tags must be present on the target for it to match the condition. (pattern: .*\${.*}.*)
     - `updatedAt`: (string) time of update (format: date-time)
     - `createdAt`: (string) time of creation (format: date-time)
     - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: WorkloadIdentity)
   - `condition`: (string) (enum: success)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `description`: (multiple options) (string) (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) (pattern: .*\${.*}.*)
     - `spec`: {object}
       - `providerLinkId`: (multiple options) (string) The internal ID of the BYOC provider integration to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the internal ID of the BYOC provider integration to use. (pattern: .*\${.*}.*)
       - `roleMode`: (string) (required) (enum: managed, existing)
       - `providerSetupMode`: (string) (enum: auto, manual)
       - `provider`: (multiple options) {object}
           - `type`: (string) (required) (enum: aws)
           - `policyDocument`: (multiple options) {object}
               - `Version`: (string) (required) (enum: 2012-10-17, 2008-10-17)
               - `Statement`: (multiple options) {object}
                   - `Sid`: (string) (pattern: ^[a-zA-Z0-9]*$)
                   - `Effect`: (string) (required) (enum: Allow, Deny)
                   - `Action`: (multiple options) (string) A single IAM action. | [array of] (string)
                   - `Resource`: (multiple options) (string) A single resource ARN. (pattern: ^(\*|arn:[a-zA-Z0-9:*/\-?_+=,.@]+)$) | [array of] (string) (pattern: ^(\*|arn:[a-zA-Z0-9:*/\-?_+=,.@]+)$)
                   - `Condition`: {object} | [array of] {object}
                     - `Sid`: (string) (pattern: ^[a-zA-Z0-9]*$)
                     - `Effect`: (string) (required) (enum: Allow, Deny)
                     - `Action`: (multiple options) (string) A single IAM action. | [array of] (string)
                     - `Resource`: (multiple options) (string) A single resource ARN. (pattern: ^(\*|arn:[a-zA-Z0-9:*/\-?_+=,.@]+)$) | [array of] (string) (pattern: ^(\*|arn:[a-zA-Z0-9:*/\-?_+=,.@]+)$)
                     - `Condition`: {object} | (string) A string containing one or more references that resolve to the AWS IAM policy document. (pattern: .*\${.*}.*)
           - `roleName`: (multiple options) (string) The name for the AWS IAM role to create. If not specified, a name is generated automatically. (pattern: ^[\w+=,.@\-]{1,64}$) | (string) A string containing one or more references that resolve to the name for the AWS IAM role to create. If not specified, a name is generated automatically. (pattern: .*\${.*}.*)
           - `rolePath`: (multiple options) (string) The path for the AWS IAM role to create. (pattern: ^\/?[\w+=,.@\-]+(?:\/[\w+=,.@\-]+)*\/?$) | (string) A string containing one or more references that resolve to the path for the AWS IAM role to create. (pattern: .*\${.*}.*)
           - `arn`: (string) | {object}
           - `type`: (string) (required) (enum: aws)
           - `existingRoleArn`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
           - `arn`: (string) | {object}
           - `type`: (string) (required) (enum: gcp)
           - `permissions`: (multiple options) [array of] (string) (pattern: ^[a-zA-Z0-9.]+$) | (string) A string containing one or more references that resolve to a list of GCP permissions to assign to this workload identity. (pattern: .*\${.*}.*)
           - `impersonationUrl`: (string)
           - `audience`: (string) | {object}
           - `type`: (string) (required) (enum: gcp)
           - `existingRoleAudience`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
           - `existingRoleImpersonationUrl`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
           - `impersonationUrl`: (string)
           - `audience`: (string)
       - `restrictions`: {object}
         - `projects`: {object}
           - `enabled`: (boolean) Whether restriction by project should be enabled.
           - `items`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
         - `tags`: {object}
           - `enabled`: (boolean) Whether restriction by tag should be enabled.
           - `items`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
           - `matchCondition`: (multiple options) (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or) | (string) A string containing one or more references that resolve to if all or any of the tags must be present on the target for it to match the condition. (pattern: .*\${.*}.*)
     - `updatedAt`: (string) time of update (format: date-time)
     - `createdAt`: (string) time of creation (format: date-time)
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: Pipeline)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `description`: (multiple options) (string) A description of the pipeline. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the pipeline. (pattern: .*\${.*}.*)
     - `preview`: {object}
       - `kind`: (undefined) (required) (enum: PreviewEnv)
       - `spec`: {object}
         - `apiVersion`: (string) (required) The version of the Northflank API to run the template against. (enum: v1.2)
         - `options`: {object}
           - `concurrencyPolicy`: (string) Defines the concurrency behaviour of the template with respect to parallel runs. (enum: allow, queue, forbid, latest, replace)
           - `nameFormat`: (string) The format of the automatically generated preview name. This is a parsed ref string.
           - `prefixName`: (boolean) If true, the preview name will default to the front of the resource name.
           - `useBranchContents`: (boolean) If true, and gitops is enabled, the preview will run based on the contents of the branch that triggered it, rather than the set branch.
           - `schedule`: {object}
             - `mon`: {object}
               - `startTime`: (integer)
               - `endTime`: (integer)
             - `tue`: {object}
               - `startTime`: (integer)
               - `endTime`: (integer)
             - `wed`: {object}
               - `startTime`: (integer)
               - `endTime`: (integer)
             - `thu`: {object}
               - `startTime`: (integer)
               - `endTime`: (integer)
             - `fri`: {object}
               - `startTime`: (integer)
               - `endTime`: (integer)
             - `sat`: {object}
               - `startTime`: (integer)
               - `endTime`: (integer)
             - `sun`: {object}
               - `startTime`: (integer)
               - `endTime`: (integer)
           - `expiry`: {object}
             - `previewLifetime`: (integer) If set, preview environments will be automatically deleted after this many minutes since their last update.
             - `resetOnUpdate`: (boolean) If `true`, the expiry time for an existing preview will be reset when it is ran again.
         - `arguments`: {object}
         - `gitops`: {object}
           - `vcsService`: (string) (required) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure)
           - `selfHostedVcsId`: (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$)
           - `accountLogin`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name.
           - `vcsLinkId`: (string) Legacy key. Please used accountLogin instead.
           - `repoUrl`: (string) (required) URL of the Git repo to sync the file with. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$)
           - `branch`: (string) (required) The name of the branch to use.
           - `filePath`: (string) (required) The file path in the repository. If using an existing file, it should be in JSON format. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$)
         - `$schema`: (string)
         - `spec`: (undefined)
         - `triggers`: [array of] {object}
             - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
             - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
             - `selfHostedVcsId`: (multiple options) (string) If vcsService is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if vcsService is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
             - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
             - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
             - `repoUrl`: (multiple options) (string) URL of the Git repo that will trigger the template. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo that will trigger the template. (pattern: .*\${.*}.*)
             - `branchRestrictions`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
             - `prRestrictions`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
             - `pathIgnoreRules`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
             - `ciIgnoreFlags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
             - `ciIgnoreFlagsEnabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
             - `isAllowList`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
             - `ignoreDrafts`: (multiple options) (boolean) If `true`, draft pull requests from this repo will not trigger the template. | (string) A string containing one or more references that resolve to if `true`, draft pull requests from this repo will not trigger the template. (pattern: .*\${.*}.*)
     - `stages`: [array of] {object}
         - `name`: (string) (required) The stage in the pipeline to include the resource. (enum: Development, Staging, Production)
         - `releaseFlow`: {object}
           - `kind`: (undefined) (required) (enum: ReleaseFlow)
           - `spec`: {object}
             - `apiVersion`: (string) (required) The version of the Northflank API to run the template against. (enum: v1.2)
             - `arguments`: {object}
             - `options`: {object}
               - `concurrencyPolicy`: (string) Defines the concurrency behaviour of the template with respect to parallel runs. (enum: allow, queue, forbid, latest, replace)
               - `paused`: (boolean) If `true`, the template will not run when triggered by git.
             - `gitops`: {object}
               - `vcsService`: (string) (required) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure)
               - `selfHostedVcsId`: (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$)
               - `accountLogin`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name.
               - `vcsLinkId`: (string) Legacy key. Please used accountLogin instead.
               - `repoUrl`: (string) (required) URL of the Git repo to sync the file with. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$)
               - `branch`: (string) (required) The name of the branch to use.
               - `filePath`: (string) (required) The file path in the repository. If using an existing file, it should be in JSON format. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$)
             - `$schema`: (string)
             - `spec`: (undefined)
             - `richInputs`: [array of] (undefined)
             - `triggers`: [array of] {object}
                 - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
                 - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
                 - `selfHostedVcsId`: (multiple options) (string) If vcsService is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if vcsService is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
                 - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
                 - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
                 - `repoUrl`: (multiple options) (string) URL of the Git repo that will trigger the template. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo that will trigger the template. (pattern: .*\${.*}.*)
                 - `branchRestrictions`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
                 - `prRestrictions`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
                 - `pathIgnoreRules`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
                 - `ciIgnoreFlags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
                 - `ciIgnoreFlagsEnabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `isAllowList`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `ignoreDrafts`: (multiple options) (boolean) If `true`, draft pull requests from this repo will not trigger the template. | (string) A string containing one or more references that resolve to if `true`, draft pull requests from this repo will not trigger the template. (pattern: .*\${.*}.*)
         - `nfObjects`: [array of] {object}
             - `id`: (multiple options) (string) The ID of the service, job or addon to include in the pipeline. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the ID of the service, job or addon to include in the pipeline. (pattern: .*\${.*}.*)
             - `type`: (string) (required) The type of the resource to include in the pipeline. (enum: service, job, addon)
     - `name`: (multiple options) (string) The name of the pipeline. (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the name of the pipeline. (pattern: .*\${.*}.*)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: Pipeline)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) The name of the pipeline. (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the name of the pipeline. (pattern: .*\${.*}.*)
     - `description`: (multiple options) (string) A description of the pipeline. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the pipeline. (pattern: .*\${.*}.*)
     - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
     - `preview`: {object}
       - `kind`: (undefined) (required) (enum: PreviewEnv)
       - `spec`: {object}
         - `apiVersion`: (string) (required) The version of the Northflank API to run the template against. (enum: v1.2)
         - `options`: {object}
           - `concurrencyPolicy`: (string) Defines the concurrency behaviour of the template with respect to parallel runs. (enum: allow, queue, forbid, latest, replace)
           - `nameFormat`: (string) The format of the automatically generated preview name. This is a parsed ref string.
           - `prefixName`: (boolean) If true, the preview name will default to the front of the resource name.
           - `useBranchContents`: (boolean) If true, and gitops is enabled, the preview will run based on the contents of the branch that triggered it, rather than the set branch.
           - `schedule`: {object}
             - `mon`: {object}
               - `startTime`: (integer)
               - `endTime`: (integer)
             - `tue`: {object}
               - `startTime`: (integer)
               - `endTime`: (integer)
             - `wed`: {object}
               - `startTime`: (integer)
               - `endTime`: (integer)
             - `thu`: {object}
               - `startTime`: (integer)
               - `endTime`: (integer)
             - `fri`: {object}
               - `startTime`: (integer)
               - `endTime`: (integer)
             - `sat`: {object}
               - `startTime`: (integer)
               - `endTime`: (integer)
             - `sun`: {object}
               - `startTime`: (integer)
               - `endTime`: (integer)
           - `expiry`: {object}
             - `previewLifetime`: (integer) If set, preview environments will be automatically deleted after this many minutes since their last update.
             - `resetOnUpdate`: (boolean) If `true`, the expiry time for an existing preview will be reset when it is ran again.
         - `arguments`: {object}
         - `gitops`: {object}
           - `vcsService`: (string) (required) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure)
           - `selfHostedVcsId`: (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$)
           - `accountLogin`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name.
           - `vcsLinkId`: (string) Legacy key. Please used accountLogin instead.
           - `repoUrl`: (string) (required) URL of the Git repo to sync the file with. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$)
           - `branch`: (string) (required) The name of the branch to use.
           - `filePath`: (string) (required) The file path in the repository. If using an existing file, it should be in JSON format. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$)
         - `$schema`: (string)
         - `spec`: (undefined)
         - `triggers`: [array of] {object}
             - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
             - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
             - `selfHostedVcsId`: (multiple options) (string) If vcsService is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if vcsService is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
             - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
             - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
             - `repoUrl`: (multiple options) (string) URL of the Git repo that will trigger the template. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo that will trigger the template. (pattern: .*\${.*}.*)
             - `branchRestrictions`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
             - `prRestrictions`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
             - `pathIgnoreRules`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
             - `ciIgnoreFlags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
             - `ciIgnoreFlagsEnabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
             - `isAllowList`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
             - `ignoreDrafts`: (multiple options) (boolean) If `true`, draft pull requests from this repo will not trigger the template. | (string) A string containing one or more references that resolve to if `true`, draft pull requests from this repo will not trigger the template. (pattern: .*\${.*}.*)
     - `stages`: [array of] {object}
         - `name`: (string) (required) The stage in the pipeline to include the resource. (enum: Development, Staging, Production)
         - `releaseFlow`: {object}
           - `kind`: (undefined) (required) (enum: ReleaseFlow)
           - `spec`: {object}
             - `apiVersion`: (string) (required) The version of the Northflank API to run the template against. (enum: v1.2)
             - `arguments`: {object}
             - `options`: {object}
               - `concurrencyPolicy`: (string) Defines the concurrency behaviour of the template with respect to parallel runs. (enum: allow, queue, forbid, latest, replace)
               - `paused`: (boolean) If `true`, the template will not run when triggered by git.
             - `gitops`: {object}
               - `vcsService`: (string) (required) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure)
               - `selfHostedVcsId`: (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$)
               - `accountLogin`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name.
               - `vcsLinkId`: (string) Legacy key. Please used accountLogin instead.
               - `repoUrl`: (string) (required) URL of the Git repo to sync the file with. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$)
               - `branch`: (string) (required) The name of the branch to use.
               - `filePath`: (string) (required) The file path in the repository. If using an existing file, it should be in JSON format. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$)
             - `$schema`: (string)
             - `spec`: (undefined)
             - `richInputs`: [array of] (undefined)
             - `triggers`: [array of] {object}
                 - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
                 - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
                 - `selfHostedVcsId`: (multiple options) (string) If vcsService is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if vcsService is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
                 - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
                 - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
                 - `repoUrl`: (multiple options) (string) URL of the Git repo that will trigger the template. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo that will trigger the template. (pattern: .*\${.*}.*)
                 - `branchRestrictions`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
                 - `prRestrictions`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
                 - `pathIgnoreRules`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
                 - `ciIgnoreFlags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
                 - `ciIgnoreFlagsEnabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `isAllowList`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `ignoreDrafts`: (multiple options) (boolean) If `true`, draft pull requests from this repo will not trigger the template. | (string) A string containing one or more references that resolve to if `true`, draft pull requests from this repo will not trigger the template. (pattern: .*\${.*}.*)
         - `nfObjects`: [array of] {object}
             - `id`: (multiple options) (string) The ID of the service, job or addon to include in the pipeline. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the ID of the service, job or addon to include in the pipeline. (pattern: .*\${.*}.*)
             - `type`: (string) (required) The type of the resource to include in the pipeline. (enum: service, job, addon)
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: Volume)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `mounts`: [array of] {object}
         - `volumeMountPath`: (string) Optionally specify the path inside this volume that should be mounted (pattern: ^((?!\.\.).)*$)
         - `containerMountPath`: (string) (required) Specify the path into which the volume should be mounted (pattern: ^((?!:).)*$)
     - `spec`: {object}
       - `storageSize`: (multiple options) (integer) The size of the storage, in megabytes. Configurable sizes depend on the storage class. | (string) A string containing one or more references that resolve to the size of the storage, in megabytes. Configurable sizes depend on the storage class. (pattern: .*\${.*}.*)
     - `owningObject`: {object}
       - `id`: (multiple options) (string) The id of object to attach this volume to. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of object to attach this volume to. (pattern: .*\${.*}.*)
       - `type`: (string) (required) The type of the object to attach this volume to. (enum: service, job)
     - `attachedObjects`: [array of] {object}
         - `id`: (multiple options) (string) The id of object to attach this volume to. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of object to attach this volume to. (pattern: .*\${.*}.*)
         - `type`: (string) (required) The type of the object to attach this volume to. (enum: service, job)
     - `name`: (multiple options) (string) The name of the volume. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the volume. (pattern: .*\${.*}.*)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: Volume)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) The name of the volume. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the volume. (pattern: .*\${.*}.*)
     - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
     - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `mounts`: [array of] {object}
         - `volumeMountPath`: (string) Optionally specify the path inside this volume that should be mounted (pattern: ^((?!\.\.).)*$)
         - `containerMountPath`: (string) (required) Specify the path into which the volume should be mounted (pattern: ^((?!:).)*$)
     - `spec`: {object}
       - `accessMode`: (string) (required) Access mode of the volume. Only `ReadWriteOnce` is generally available. (enum: ReadWriteOnce, ReadWriteMany)
       - `storageClassName`: (string) The type of the storage.
       - `storageSize`: (integer) (required) The size of the storage, in megabytes. Configurable sizes depend on the storage class.
     - `source`: {object}
       - `type`: (multiple options) (string) (enum: volume, backup) | (string) (pattern: .*\${.*}.*)
       - `sourceId`: (multiple options) (string) Reference to the source object. For a volume source: "<volumeId>". For a backup source: "<volumeId>/<backupId>", or "<projectId>/<volumeId>/<backupId>" to restore from a backup in another project on the same cluster (requires the cross-project clone feature). | (string) A string containing one or more references that resolve to reference to the source object. For a volume source: "<volumeId>". For a backup source: "<volumeId>/<backupId>", or "<projectId>/<volumeId>/<backupId>" to restore from a backup in another project on the same cluster (requires the cross-project clone feature). (pattern: .*\${.*}.*)
     - `owningObject`: {object}
       - `id`: (multiple options) (string) The id of object to attach this volume to. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of object to attach this volume to. (pattern: .*\${.*}.*)
       - `type`: (string) (required) The type of the object to attach this volume to. (enum: service, job)
     - `attachedObjects`: [array of] {object}
         - `id`: (multiple options) (string) The id of object to attach this volume to. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of object to attach this volume to. (pattern: .*\${.*}.*)
         - `type`: (string) (required) The type of the object to attach this volume to. (enum: service, job)
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: Build)
   - `condition`: (string) (enum: success)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
     - `buildRules`: {object}
       - `pathIgnoreRules`: [array of] (string) (max length: 260)
       - `isAllowList`: (boolean)
       - `ciIgnoreFlagsEnabled`: (boolean)
       - `ciIgnoreFlags`: [array of] (string) (max length: 72)
     - `buildOverrides`: {object}
       - `buildArguments`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
       - `buildFiles`: {object}
       - `dockerSecretMounts`: {object}
       - `docker`: {object}
         - `dockerFilePath`: (string) The file path of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$)
         - `dockerWorkDir`: (string) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$)
         - `dockerfileTarget`: (string) If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. (pattern: ^[a-zA-Z0-9-_]+$)
     - `id`: (multiple options) (string) The id of object to build. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of object to build. (pattern: .*\${.*}.*)
     - `type`: (string) (required) The type of the object to build. (enum: service, job)
     - `sha`: (multiple options) (string) Commit sha to build. If not provided, builds the most recent relevant commit. (min length: 40) (max length: 40) | (string) A string containing one or more references that resolve to commit sha to build. If not provided, builds the most recent relevant commit. (pattern: .*\${.*}.*)
     - `branch`: (multiple options) (string) Branch to build from. If `sha` is not provided, the latest commit of this branch will be built. Only supported by build services. Build services require either `branch` or `pullRequestId` field, but cannot be provided with both. | (string) A string containing one or more references that resolve to branch to build from. If `sha` is not provided, the latest commit of this branch will be built. Only supported by build services. Build services require either `branch` or `pullRequestId` field, but cannot be provided with both. (pattern: .*\${.*}.*)
     - `pullRequestId`: (multiple options) (integer) ID of a pull request to build from. If `sha` is not provided, the latest commit of this pull request will be built. Only supported by build services. Build services require either `branch` or `pullRequestId` field, but cannot be provided with both. | (string) A string containing one or more references that resolve to iD of a pull request to build from. If `sha` is not provided, the latest commit of this pull request will be built. Only supported by build services. Build services require either `branch` or `pullRequestId` field, but cannot be provided with both. (pattern: .*\${.*}.*)
     - `reuseExistingBuilds`: (boolean) If true, the build node will return an existing build if one is available for that commit. Otherwise, a new build will be created with every new preview environment. Defaults to `true`.
     - `buildRuleFallThroughHandling`: (string) Define handling if build rules do not match the specified commit (enum: fail, skip, useLastBuild) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: JobRun)
   - `condition`: (string) (enum: success)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `runNodeOnce`: (multiple options) (string) (enum: true, false) | (string) (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
     - `runtimeEnvironment`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `runtimeFiles`: {object}
     - `dockerSecretMounts`: {object}
     - `billing`: {object}
       - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan override to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan override to use. (pattern: .*\${.*}.*)
     - `deployment`: (multiple options) {object}
         - `docker`: {object}
           - `configType`: (string) (required) Type of entrypoint & command override configuration (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand)
           - `customEntrypoint`: (string) Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand`
           - `customCommand`: (string) Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand`
         - `buildpack`: {object}
           - `configType`: (string) (required) Type of buildpack run configuration (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand)
           - `customProcess`: (string) Custom process which should be run. Required in case where `configType` is `customProcess`
           - `customEntrypoint`: (string) Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand`
           - `customCommand`: (string) Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand`
         - `storage`: {object}
           - `useHdbStorage`: (boolean)
           - `usePdSsdStorage`: (boolean)
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per container in MB | (string) A string containing one or more references that resolve to ephemeral storage per container in MB (pattern: .*\${.*}.*)
           - `shmSize`: (multiple options) (integer) Configures the amount of available memory-backed disk space available to /dev/shm | (string) A string containing one or more references that resolve to configures the amount of available memory-backed disk space available to /dev/shm (pattern: .*\${.*}.*)
         - `internal`: {object}
           - `id`: (multiple options) (multiple options) (string) The ID of a build service in the same project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) The ID of a build service in another project, in the format `project-id/build-service-id` | (string) A string containing one or more references that resolve to iD of the build service to deploy (pattern: .*\${.*}.*)
           - `branch`: (multiple options) (string) Branch to deploy | (string) A string containing one or more references that resolve to branch to deploy (pattern: .*\${.*}.*)
           - `buildSHA`: (multiple options) (multiple options) (string) A commit sha. (min length: 40) (max length: 40) | (string) Latest commit. (enum: latest) | (string) A string containing one or more references that resolve to commit SHA to deploy, or 'latest' to deploy the most recent commit (pattern: .*\${.*}.*)
           - `buildId`: (multiple options) (string) ID of the build that should be deployed | (string) A string containing one or more references that resolve to iD of the build that should be deployed (pattern: .*\${.*}.*) | {object}
         - `docker`: {object}
           - `configType`: (string) (required) Type of entrypoint & command override configuration (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand)
           - `customEntrypoint`: (string) Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand`
           - `customCommand`: (string) Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand`
         - `buildpack`: {object}
           - `configType`: (string) (required) Type of buildpack run configuration (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand)
           - `customProcess`: (string) Custom process which should be run. Required in case where `configType` is `customProcess`
           - `customEntrypoint`: (string) Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand`
           - `customCommand`: (string) Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand`
         - `storage`: {object}
           - `useHdbStorage`: (boolean)
           - `usePdSsdStorage`: (boolean)
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per container in MB | (string) A string containing one or more references that resolve to ephemeral storage per container in MB (pattern: .*\${.*}.*)
           - `shmSize`: (multiple options) (integer) Configures the amount of available memory-backed disk space available to /dev/shm | (string) A string containing one or more references that resolve to configures the amount of available memory-backed disk space available to /dev/shm (pattern: .*\${.*}.*)
         - `external`: {object}
           - `imagePath`: (multiple options) (string) Image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: ^(?:(?:https?:\/\/)?([a-zA-Z0-9\-]+\.[a-zA-Z0-9\.\-]+))?(?:\/)?([a-zA-Z/-9\.\-_]+)(?:\:([a-zA-Z/-9\.\-_\:]+)|\@([a-zA-Z/-9\.\-_\:]+))$) | (string) A string containing one or more references that resolve to image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: .*\${.*}.*)
           - `credentials`: (multiple options) (string) ID of the saved credentials to use to access this external image. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of the saved credentials to use to access this external image. (pattern: .*\${.*}.*)
     - `jobId`: (multiple options) (string) The ID of the job to run. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 52) | (string) A string containing one or more references that resolve to the ID of the job to run. (pattern: .*\${.*}.*) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: LoopWorkflow)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `iterations`: (multiple options) [array of] (multiple options) {object} | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
     - `steps`: [array of] (undefined) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: Action)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `runNodeOnce`: (multiple options) (string) (enum: true, false) | (string) (pattern: .*\${.*}.*)
   - `spec`: (multiple options) {object}
      - `kind`: (string) (required) The kind of action. (enum: Addon)
      - `spec`: (multiple options) {object}
          - `type`: (string) (required) The type of action. (enum: restart)
          - `data`: {object}
            - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
            - `addonId`: (multiple options) (string) The id of the addon to restart. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the addon to restart. (pattern: .*\${.*}.*)
            - `timeoutDuration`: (multiple options) (integer) Timeout for the condition in seconds. This will fail the condition after the timeout has elapsed. | (string) A template reference that resolves to a timeout duration in seconds (pattern: .*\${.*}.*)
          - `condition`: (string) (enum: running) | {object}
      - `kind`: (string) (required) The kind of action. (enum: AddonBackup)
      - `spec`: (multiple options) {object}
          - `type`: (string) (required) The type of action. (enum: restore)
          - `data`: {object}
            - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
            - `addonId`: (multiple options) (string) The id of the addon to restore a backup to. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the addon to restore a backup to. (pattern: .*\${.*}.*)
            - `backupId`: (multiple options) (string) The id of the backup to restore. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the backup to restore. (pattern: .*\${.*}.*)
            - `timeoutDuration`: (multiple options) (integer) Timeout for the condition in seconds. This will fail the condition after the timeout has elapsed. | (string) A template reference that resolves to a timeout duration in seconds (pattern: .*\${.*}.*)
          - `condition`: (string) (enum: success) | {object}
      - `kind`: (string) (required) The kind of action. (enum: Job)
      - `spec`: (multiple options) {object}
          - `type`: (string) (required) The type of action. (enum: execute)
          - `data`: {object}
            - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
            - `jobId`: (multiple options) (string) The id of the job to run the command in. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the job to run the command in. (pattern: .*\${.*}.*)
            - `command`: (string) (required)
            - `shell`: (string)
            - `user`: (string)
            - `group`: (string) | {object}
      - `kind`: (string) (required) The kind of action. (enum: Service)
      - `spec`: (multiple options) {object}
          - `type`: (string) (required) The type of action. (enum: restart)
          - `data`: {object}
            - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
            - `serviceId`: (multiple options) (string) The id of the service to restart. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the service to restart. (pattern: .*\${.*}.*)
            - `timeoutDuration`: (multiple options) (integer) Timeout for the condition in seconds. This will fail the condition after the timeout has elapsed. | (string) A template reference that resolves to a timeout duration in seconds (pattern: .*\${.*}.*)
          - `condition`: (string) (enum: running) | {object}
          - `type`: (string) (required) The type of action. (enum: execute)
          - `data`: {object}
            - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
            - `serviceId`: (multiple options) (string) The id of the service to run the command in. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the service to run the command in. (pattern: .*\${.*}.*)
            - `options`: {object}
              - `dispatchOnly`: (boolean) Specify whether the command output should be awaited the node should succeed after having sent the command.
            - `command`: (string) (required)
            - `shell`: (string)
            - `user`: (string)
            - `group`: (string) | {object}
      - `kind`: (string) (required) The kind of action. (enum: VCS)
      - `spec`: (multiple options) {object}
          - `type`: (string) (required) The type of action. (enum: createRepoFromSource)
          - `data`: {object}
            - `sourceData`: {object}
              - `publicRepo`: (multiple options) (boolean) Whether the source repository is a public repository. | (string) A string containing one or more references that resolve to whether the source repository is a public repository. (pattern: .*\${.*}.*)
              - `vcsService`: (multiple options) (string) The VCS provider of the source repository. | (string) A string containing one or more references that resolve to the VCS provider of the source repository. (pattern: .*\${.*}.*)
              - `oauthProvider`: (multiple options) (string) The OAuth provider used to access the source repository. | (string) A string containing one or more references that resolve to the OAuth provider used to access the source repository. (pattern: .*\${.*}.*)
              - `repoUrl`: (multiple options) (string) URL of the source Git repo. | (string) A string containing one or more references that resolve to uRL of the source Git repo. (pattern: .*\${.*}.*)
              - `branch`: (multiple options) (string) The name of the branch to use. | (string) A string containing one or more references that resolve to the name of the branch to use. (pattern: .*\${.*}.*)
              - `accountLogin`: (multiple options) (string) The login name of the linked VCS account used to access the source repository. | (string) A string containing one or more references that resolve to the login name of the linked VCS account used to access the source repository. (pattern: .*\${.*}.*)
              - `commitSha`: (multiple options) (string) The SHA of the commit to use. | (string) A string containing one or more references that resolve to the SHA of the commit to use. (pattern: .*\${.*}.*)
              - `directory`: (multiple options) (string) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory of the Dockerfile. (pattern: .*\${.*}.*)
              - `vcsLinkId`: (multiple options) (string) The ID of the linked VCS account to use. (min length: 24) (max length: 24) | (string) A string containing one or more references that resolve to the ID of the linked VCS account to use. (pattern: .*\${.*}.*)
              - `selfHostedVcsId`: (multiple options) (string) The ID of the self-hosted VCS to use. | (string) A string containing one or more references that resolve to the ID of the self-hosted VCS to use. (pattern: .*\${.*}.*)
            - `targetData`: {object}
              - `name`: (multiple options) (string) The name of the repository to create. | (string) A string containing one or more references that resolve to the name of the repository to create. (pattern: .*\${.*}.*)
              - `description`: (multiple options) (string) A description of the repository to create. | (string) A string containing one or more references that resolve to a description of the repository to create. (pattern: .*\${.*}.*)
              - `privateRepo`: (multiple options) (boolean) Whether the repository should be created as a private repository. | (string) A string containing one or more references that resolve to whether the repository should be created as a private repository. (pattern: .*\${.*}.*)
              - `branch`: (multiple options) (string) The repository branch. | (string) A string containing one or more references that resolve to the repository branch. (pattern: .*\${.*}.*)
              - `context`: (multiple options) (string) The owner context (user or organisation) the repository should be created in. | (string) A string containing one or more references that resolve to the owner context (user or organisation) the repository should be created in. (pattern: .*\${.*}.*)
              - `folder`: (multiple options) (string) The folder or project the repository should be created in, if supported by the VCS provider. | (string) A string containing one or more references that resolve to the folder or project the repository should be created in, if supported by the VCS provider. (pattern: .*\${.*}.*)
              - `accountLogin`: (multiple options) (string) The login name of the linked VCS account used to create the repository. | (string) A string containing one or more references that resolve to the login name of the linked VCS account used to create the repository. (pattern: .*\${.*}.*)
              - `vcsLinkId`: (multiple options) (string) The ID of the linked VCS account to use. (min length: 24) (max length: 24) | (string) A string containing one or more references that resolve to the ID of the linked VCS account to use. (pattern: .*\${.*}.*)
              - `oauthProvider`: (multiple options) (string) The OAuth provider used to create the repository. | (string) A string containing one or more references that resolve to the OAuth provider used to create the repository. (pattern: .*\${.*}.*)
              - `vcsService`: (multiple options) (string) The VCS provider to create the repository with. | (string) A string containing one or more references that resolve to the VCS provider to create the repository with. (pattern: .*\${.*}.*)
              - `selfHostedVcsId`: (multiple options) (string) The ID of the self-hosted VCS to use. | (string) A string containing one or more references that resolve to the ID of the self-hosted VCS to use. (pattern: .*\${.*}.*) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: Condition)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: (multiple options) {object}
      - `kind`: (string) (required) The kind of condition. (enum: Addon)
      - `spec`: (multiple options) {object}
          - `type`: (string) (required) The type of condition. (enum: running)
          - `data`: {object}
            - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
            - `addonId`: (multiple options) (string) The id of the addon to monitor. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the id of the addon to monitor. (pattern: .*\${.*}.*)
            - `timeoutDuration`: (multiple options) (integer) Timeout for the condition in seconds. This will fail the condition after the timeout has elapsed. | (string) A template reference that resolves to a timeout duration in seconds (pattern: .*\${.*}.*) | {object}
      - `kind`: (string) (required) The kind of condition. (enum: AddonBackup)
      - `spec`: (multiple options) {object}
          - `type`: (string) (required) The type of condition. (enum: success)
          - `data`: {object}
            - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
            - `addonId`: (multiple options) (string) The id of the addon to monitor. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the id of the addon to monitor. (pattern: .*\${.*}.*)
            - `backupId`: (multiple options) (string) The id of the backup to monitor. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the backup to monitor. (pattern: .*\${.*}.*) | {object}
      - `kind`: (string) (required) The kind of condition. (enum: AddonImport)
      - `spec`: (multiple options) {object}
          - `type`: (string) (required) The type of condition. (enum: success)
          - `data`: {object}
            - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
            - `addonId`: (multiple options) (string) The id of the addon to monitor. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the id of the addon to monitor. (pattern: .*\${.*}.*)
            - `importId`: (multiple options) (string) The id of the import to monitor. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the import to monitor. (pattern: .*\${.*}.*) | {object}
      - `kind`: (string) (required) The kind of condition. (enum: Build)
      - `spec`: (multiple options) {object}
          - `type`: (string) (required) The type of condition. (enum: success)
          - `data`: {object}
            - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
            - `buildId`: (multiple options) (string) The id of the build to monitor. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the id of the build to monitor. (pattern: .*\${.*}.*) | {object}
      - `kind`: (string) (required) The kind of condition. (enum: BYOCCluster)
      - `spec`: (multiple options) {object}
          - `type`: (string) (required) The type of condition. (enum: running)
          - `data`: {object}
            - `clusterId`: (multiple options) (string) The id of the cluster to monitor. (pattern: ^[a-z]-?[a-z0-9]+(-[a-z0-9]+)*$) (min length: 3) (max length: 20) | (string) A string containing one or more references that resolve to the id of the cluster to monitor. (pattern: .*\${.*}.*)
            - `timeoutDuration`: (multiple options) (integer) Timeout for the condition in seconds. This will fail the condition after the timeout has elapsed. | (string) A template reference that resolves to a timeout duration in seconds (pattern: .*\${.*}.*) | {object}
      - `kind`: (string) (required) The kind of condition. (enum: JobRun)
      - `spec`: (multiple options) {object}
          - `type`: (string) (required) The type of condition. (enum: success)
          - `data`: {object}
            - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
            - `jobId`: (multiple options) (string) The id of the job to monitor. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the id of the job to monitor. (pattern: .*\${.*}.*)
            - `runId`: (multiple options) (string) The id of the job run to monitor. | (string) A string containing one or more references that resolve to the id of the job run to monitor. (pattern: .*\${.*}.*) | {object}
      - `kind`: (string) (required) The kind of condition. (enum: Service)
      - `spec`: (multiple options) {object}
          - `type`: (string) (required) The type of condition. (enum: running)
          - `data`: {object}
            - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
            - `serviceId`: (multiple options) (string) The id of the service to monitor. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the id of the service to monitor. (pattern: .*\${.*}.*)
            - `timeoutDuration`: (multiple options) (integer) Timeout for the condition in seconds. This will fail the condition after the timeout has elapsed. | (string) A template reference that resolves to a timeout duration in seconds (pattern: .*\${.*}.*) | {object}
      - `kind`: (string) (required) The kind of condition. (enum: VCS)
      - `spec`: (multiple options) {object}
          - `type`: (string) (required) The type of condition. (enum: createRepoFromSourceSuccess)
          - `data`: {object}
            - `trackerId`: (multiple options) (string) The tracker id outputted from the 'createRepoFromSource' action to monitor. | (string) A string containing one or more references that resolve to the tracker id outputted from the 'createRepoFromSource' action to monitor. (pattern: .*\${.*}.*) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: Template)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: (multiple options) {object}
      - `kind`: (string) (required) The kind of template. (enum: ResourceTemplate)
      - `spec`: {object} | {object}
      - `kind`: (string) (required) The kind of template. (enum: ReleaseFlow)
      - `spec`: {object} | {object}
      - `kind`: (string) (required) The kind of template. (enum: PreviewEnv)
      - `spec`: {object} | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: Message)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `runNodeOnce`: (multiple options) (string) (enum: true, false) | (string) (pattern: .*\${.*}.*)
   - `spec`: (multiple options) {object}
      - `kind`: (string) (required) The kind of message to send. (enum: VCS)
      - `spec`: {object}
        - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
        - `selfHostedVcsId`: (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$)
        - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
        - `repoUrl`: (multiple options) (string) URL of the Git repo to send this message to. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo to send this message to. (pattern: .*\${.*}.*)
        - `pullRequestId`: (multiple options) (string) The ID of the pull request to comment on. | (string) A string containing one or more references that resolve to the ID of the pull request to comment on. (pattern: .*\${.*}.*)
        - `message`: (multiple options) (string) The rich text message to comment. | (string) A string containing one or more references that resolve to the rich text message to comment. (pattern: .*\${.*}.*) | {object}
      - `kind`: (string) (required) The kind of message to send. (enum: SLACK)
      - `spec`: {object}
        - `webhookUrl`: (multiple options) (string) The Slack webhook URL to send messages to. | (string) A string containing one or more references that resolve to the Slack webhook URL to send messages to. (pattern: .*\${.*}.*)
        - `integrationInternalId`: (multiple options) (string) The ID of an existing Slack integration to use. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the ID of an existing Slack integration to use. (pattern: .*\${.*}.*)
        - `message`: (multiple options) (string) The message content to send to Slack. Supports markdown formatting. | (string) A string containing one or more references that resolve to the message content to send to Slack. Supports markdown formatting. (pattern: .*\${.*}.*) | {object}
      - `kind`: (string) (required) The kind of message to send. (enum: RAW_WEBHOOK)
      - `spec`: {object}
        - `webhookUrl`: (multiple options) (string) The webhook URL to send messages to. | (string) A string containing one or more references that resolve to the webhook URL to send messages to. (pattern: .*\${.*}.*)
        - `message`: (multiple options) (string) The message content to send to the webhook. | (string) A string containing one or more references that resolve to the message content to send to the webhook. (pattern: .*\${.*}.*) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: LoopData)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object} | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: SecretInheritance)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `configs`: (multiple options) [array of] (multiple options) (string) (pattern: ^[A-Za-z0-9-]+$) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
     - `secrets`: (multiple options) [array of] (multiple options) (string) (pattern: ^[A-Za-z0-9-]+$) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
     - `requiredKeys`: (multiple options) [array of] (multiple options) (string) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
     - `requiredFiles`: (multiple options) [array of] (multiple options) (string) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: EgressIp)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) The name of the egress IP. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the egress IP. (pattern: .*\${.*}.*)
     - `description`: (string) The description of the egress IP. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
     - `spec`: {object}
       - `provisioningMode`: (multiple options) (string) Provisioning mode for the egress IP: shared (uses pre-provisioned infrastructure) or dedicated (enum: shared, dedicated) | (string) A string containing one or more references that resolve to provisioning mode for the egress IP: shared (uses pre-provisioned infrastructure) or dedicated (pattern: .*\${.*}.*)
       - `region`: (multiple options) (string) Target region name (pattern: ^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$) | (string) A string containing one or more references that resolve to target region name (pattern: .*\${.*}.*)
       - `mode`: (multiple options) (string) Mode: 'include' (only these projects/resources use this egress IP), 'exclude' (all except these use it), or 'selector' (network-policy-style selector targeting). The selector/rules distinction is immutable after creation. (enum: include, exclude, selector) | (string) A string containing one or more references that resolve to mode: 'include' (only these projects/resources use this egress IP), 'exclude' (all except these use it), or 'selector' (network-policy-style selector targeting). The selector/rules distinction is immutable after creation. (pattern: .*\${.*}.*)
       - `rules`: (multiple options) [array of] {object}
             - `id`: (multiple options) (string) Project internal ID | (string) A string containing one or more references that resolve to project internal ID (pattern: .*\${.*}.*)
             - `restrictions`: {object}
               - `enabled`: (boolean) (required) Whether restrictions scoping the rule to specific resources should be applied.
               - `resources`: [array of] {object}
                   - `type`: (multiple options) (string) Resource type (enum: service, job) | (string) A string containing one or more references that resolve to resource type (pattern: .*\${.*}.*)
                   - `id`: (multiple options) (string) Resource internal ID | (string) A string containing one or more references that resolve to resource internal ID (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to egress IP rules - array of projects the rule applies to (pattern: .*\${.*}.*)
       - `selector`: {object}
         - `projects`: {object}
           - `enabled`: (boolean) (required) Whether to scope the selector to specific projects
           - `items`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
           - `restrictionMode`: (multiple options) (string) (enum: in, notIn) | (string) (pattern: .*\${.*}.*)
         - `tags`: {object}
           - `enabled`: (boolean) (required) Whether to scope to workloads carrying the given tags
           - `items`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
           - `matchCondition`: (multiple options) (string) (enum: or, and) | (string) (pattern: .*\${.*}.*)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: EgressIp)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) The name of the egress IP. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the egress IP. (pattern: .*\${.*}.*)
     - `description`: (string) The description of the egress IP. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
     - `spec`: {object}
       - `provisioningMode`: (multiple options) (string) Provisioning mode for the egress IP: shared (uses pre-provisioned infrastructure) or dedicated (enum: shared, dedicated) | (string) A string containing one or more references that resolve to provisioning mode for the egress IP: shared (uses pre-provisioned infrastructure) or dedicated (pattern: .*\${.*}.*)
       - `region`: (multiple options) (string) Target region name (pattern: ^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$) | (string) A string containing one or more references that resolve to target region name (pattern: .*\${.*}.*)
       - `mode`: (multiple options) (string) Mode: 'include' (only these projects/resources use this egress IP), 'exclude' (all except these use it), or 'selector' (network-policy-style selector targeting). The selector/rules distinction is immutable after creation. (enum: include, exclude, selector) | (string) A string containing one or more references that resolve to mode: 'include' (only these projects/resources use this egress IP), 'exclude' (all except these use it), or 'selector' (network-policy-style selector targeting). The selector/rules distinction is immutable after creation. (pattern: .*\${.*}.*)
       - `rules`: (multiple options) [array of] {object}
             - `id`: (multiple options) (string) Project internal ID | (string) A string containing one or more references that resolve to project internal ID (pattern: .*\${.*}.*)
             - `restrictions`: {object}
               - `enabled`: (boolean) (required) Whether restrictions scoping the rule to specific resources should be applied.
               - `resources`: [array of] {object}
                   - `type`: (multiple options) (string) Resource type (enum: service, job) | (string) A string containing one or more references that resolve to resource type (pattern: .*\${.*}.*)
                   - `id`: (multiple options) (string) Resource internal ID | (string) A string containing one or more references that resolve to resource internal ID (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to egress IP rules - array of projects the rule applies to (pattern: .*\${.*}.*)
       - `selector`: {object}
         - `projects`: {object}
           - `enabled`: (boolean) (required) Whether to scope the selector to specific projects
           - `items`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
           - `restrictionMode`: (multiple options) (string) (enum: in, notIn) | (string) (pattern: .*\${.*}.*)
         - `tags`: {object}
           - `enabled`: (boolean) (required) Whether to scope to workloads carrying the given tags
           - `items`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
           - `matchCondition`: (multiple options) (string) (enum: or, and) | (string) (pattern: .*\${.*}.*)
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: LoadBalancer)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) The name of the load balancer. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the load balancer. (pattern: .*\${.*}.*)
     - `description`: (string) The description of the load balancer. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
     - `spec`: {object}
       - `type`: (multiple options) (string) Protocol type for the load balancer (enum: tcp, udp) | (string) A string containing one or more references that resolve to protocol type for the load balancer (pattern: .*\${.*}.*)
       - `target`: {object}
         - `type`: (multiple options) (string) Target type for the load balancer (enum: region, cluster) | (string) A string containing one or more references that resolve to target type for the load balancer (pattern: .*\${.*}.*)
         - `targetId`: (multiple options) (multiple options) (string) Target region name (pattern: ^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$) | (string) Target cluster internal ID (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to id of the loadbalancer target (pattern: .*\${.*}.*)
       - `ports`: [array of] {object}
           - `id`: (multiple options) (string) Unique port identifier (pattern: ^port-\d+$) | (string) A string containing one or more references that resolve to unique port identifier (pattern: .*\${.*}.*)
           - `port`: (multiple options) (string) Port number or range (single port, multiple comma-separated, or range with dash) | (string) A string containing one or more references that resolve to port number or range (single port, multiple comma-separated, or range with dash) (pattern: .*\${.*}.*)
           - `customSettings`: {object}
             - `bridgeTlsMode`: (boolean)
             - `subdomainId`: (multiple options) (string) Full name of the load balancer subdomain linked to this port (TLS bridge mode) | (string) A string containing one or more references that resolve to full name of the load balancer subdomain linked to this port (TLS bridge mode) (pattern: .*\${.*}.*)
           - `backends`: [array of] {object}
               - `id`: (multiple options) (string) Backend reference in format {projectId}/{nfObjectId} (pattern: ^[a-zA-Z0-9-]+\/[a-zA-Z0-9-]+$) | (string) A string containing one or more references that resolve to backend reference in format {projectId}/{nfObjectId} (pattern: .*\${.*}.*)
               - `type`: (multiple options) (string) Backend type (service or addon) (enum: service, addon) | (string) A string containing one or more references that resolve to backend type (service or addon) (pattern: .*\${.*}.*)
               - `port`: (multiple options) (integer) Backend port number | (string) A string containing one or more references that resolve to backend port number (pattern: .*\${.*}.*)
               - `weight`: (multiple options) (integer) Traffic weight for this backend | (string) A string containing one or more references that resolve to traffic weight for this backend (pattern: .*\${.*}.*)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: LoadBalancer)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) The name of the load balancer. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the load balancer. (pattern: .*\${.*}.*)
     - `description`: (string) The description of the load balancer. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
     - `spec`: {object}
       - `type`: (multiple options) (string) Protocol type for the load balancer (enum: tcp, udp) | (string) A string containing one or more references that resolve to protocol type for the load balancer (pattern: .*\${.*}.*)
       - `target`: {object}
         - `type`: (multiple options) (string) Target type for the load balancer (enum: region, cluster) | (string) A string containing one or more references that resolve to target type for the load balancer (pattern: .*\${.*}.*)
         - `targetId`: (multiple options) (multiple options) (string) Target region name (pattern: ^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$) | (string) Target cluster internal ID (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to id of the loadbalancer target (pattern: .*\${.*}.*)
       - `ports`: [array of] {object}
           - `id`: (multiple options) (string) Unique port identifier (pattern: ^port-\d+$) | (string) A string containing one or more references that resolve to unique port identifier (pattern: .*\${.*}.*)
           - `port`: (multiple options) (string) Port number or range (single port, multiple comma-separated, or range with dash) | (string) A string containing one or more references that resolve to port number or range (single port, multiple comma-separated, or range with dash) (pattern: .*\${.*}.*)
           - `customSettings`: {object}
             - `bridgeTlsMode`: (boolean)
             - `subdomainId`: (multiple options) (string) Full name of the load balancer subdomain linked to this port (TLS bridge mode) | (string) A string containing one or more references that resolve to full name of the load balancer subdomain linked to this port (TLS bridge mode) (pattern: .*\${.*}.*)
           - `backends`: [array of] {object}
               - `id`: (multiple options) (string) Backend reference in format {projectId}/{nfObjectId} (pattern: ^[a-zA-Z0-9-]+\/[a-zA-Z0-9-]+$) | (string) A string containing one or more references that resolve to backend reference in format {projectId}/{nfObjectId} (pattern: .*\${.*}.*)
               - `type`: (multiple options) (string) Backend type (service or addon) (enum: service, addon) | (string) A string containing one or more references that resolve to backend type (service or addon) (pattern: .*\${.*}.*)
               - `port`: (multiple options) (integer) Backend port number | (string) A string containing one or more references that resolve to backend port number (pattern: .*\${.*}.*)
               - `weight`: (multiple options) (integer) Traffic weight for this backend | (string) A string containing one or more references that resolve to traffic weight for this backend (pattern: .*\${.*}.*)
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: OpenTofu)
   - `condition`: (string) (enum: success)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `stateKey`: (string) (required) Key to track state, must not be changed after first run.
     - `isolateResourcesPerEnvironment`: (boolean) Each preview environment will have its own isolated OpenTofu state.
     - `usePlan`: (boolean) Require approval of a plan before applying
     - `spec`: {object}
       - `provider`: {object}
         - `aws`: {object}
           - `region`: (string) (required)
           - `integrationId`: (multiple options) (string) Integration to use for this job. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to integration to use for this job. (pattern: .*\${.*}.*)
         - `google`: {object}
           - `project`: (string) (required)
           - `region`: (string)
           - `zone`: (string)
           - `integrationId`: (multiple options) (string) Integration to use for this job. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to integration to use for this job. (pattern: .*\${.*}.*)
         - `cloudflare`: {object}
           - `integrationId`: (multiple options) (string) Integration to use for this job. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to integration to use for this job. (pattern: .*\${.*}.*)
         - `aiven`: {object}
           - `integrationId`: (multiple options) (string) Integration to use for this job. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to integration to use for this job. (pattern: .*\${.*}.*)
         - `backblaze`: {object}
           - `integrationId`: (multiple options) (string) Integration to use for this job. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to integration to use for this job. (pattern: .*\${.*}.*)
         - `azure`: {object}
           - `integrationId`: (multiple options) (string) Integration to use for this job. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to integration to use for this job. (pattern: .*\${.*}.*)
         - `akamai`: {object}
           - `integrationId`: (multiple options) (string) Integration to use for this job. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to integration to use for this job. (pattern: .*\${.*}.*)
       - `resource`: {object}
       - `output`: {object} | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: WorkflowTemplate)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `apiVersion`: (string) (required) The version of the Northflank API to run the template against. (enum: v1.2)
     - `arguments`: {object}
     - `gitops`: {object}
       - `vcsService`: (string) (required) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure)
       - `selfHostedVcsId`: (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$)
       - `accountLogin`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name.
       - `vcsLinkId`: (string) Legacy key. Please used accountLogin instead.
       - `repoUrl`: (string) (required) URL of the Git repo to sync the file with. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$)
       - `branch`: (string) (required) The name of the branch to use.
       - `filePath`: (string) (required) The file path in the repository. If using an existing file, it should be in JSON format. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$)
     - `$schema`: (string)
     - `name`: (string) (required) (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
     - `description`: (string) (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
     - `spec`: (undefined)
     - `richInputs`: [array of] (undefined)
     - `triggers`: [array of] (multiple options) {object}
           - `kind`: (string) (required) (enum: vcs-push)
           - `spec`: {object}
             - `vcs`: {object}
               - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
               - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
               - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
               - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
               - `repoUrl`: (multiple options) (string) URL of the Git repo that will trigger the template. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo that will trigger the template. (pattern: .*\${.*}.*)
             - `branchNamePatterns`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
             - `commitMessageFlags`: {object}
               - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `flags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
             - `filePaths`: {object}
               - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `allowList`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `paths`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
           - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
           - `id`: (string)
           - `paused`: (boolean) | {object}
           - `kind`: (string) (required) (enum: vcs-pr)
           - `spec`: {object}
             - `vcs`: {object}
               - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
               - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
               - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
               - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
               - `repoUrl`: (multiple options) (string) URL of the Git repo that will trigger the template. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo that will trigger the template. (pattern: .*\${.*}.*)
             - `branchNamePatterns`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
             - `commitMessageFlags`: {object}
               - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `flags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
             - `filePaths`: {object}
               - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `allowList`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `paths`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
             - `ignoreDrafts`: (multiple options) (boolean) If `true`, draft pull requests from this repo will not trigger the template. | (string) A string containing one or more references that resolve to if `true`, draft pull requests from this repo will not trigger the template. (pattern: .*\${.*}.*)
           - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
           - `id`: (string)
           - `paused`: (boolean) | {object}
           - `kind`: (string) (required) (enum: webhook)
           - `spec`: {object}
             - `token`: (string) (required)
           - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
           - `id`: (string)
           - `paused`: (boolean) | {object}
           - `kind`: (string) (required) (enum: vcs-release)
           - `spec`: {object}
             - `vcs`: {object}
               - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
               - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
               - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
               - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
               - `repoUrl`: (multiple options) (string) URL of the Git repo that will trigger the template. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo that will trigger the template. (pattern: .*\${.*}.*)
           - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
           - `id`: (string)
           - `paused`: (boolean) | {object}
           - `kind`: (string) (required) (enum: vcs-pr-label)
           - `spec`: {object}
             - `vcs`: {object}
               - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
               - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
               - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
               - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
               - `repoUrl`: (multiple options) (string) URL of the Git repo that will trigger the template. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo that will trigger the template. (pattern: .*\${.*}.*)
             - `labelNamePatterns`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
             - `branchNamePatterns`: {object}
               - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `names`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
             - `commitMessageFlags`: {object}
               - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `flags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
             - `filePaths`: {object}
               - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `allowList`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `paths`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
             - `ignoreDrafts`: (multiple options) (boolean) If `true`, draft pull requests from this repo will not trigger the template. | (string) A string containing one or more references that resolve to if `true`, draft pull requests from this repo will not trigger the template. (pattern: .*\${.*}.*)
           - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
           - `id`: (string)
           - `paused`: (boolean) | {object}
           - `kind`: (string) (required) (enum: vcs-check-suite)
           - `spec`: {object}
             - `vcs`: {object}
               - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
               - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
               - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
               - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
               - `repoUrl`: (multiple options) (string) URL of the Git repo that will trigger the template. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo that will trigger the template. (pattern: .*\${.*}.*)
             - `branchNamePatterns`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
             - `commitMessageFlags`: {object}
               - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `flags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
             - `filePaths`: {object}
               - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `allowList`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `paths`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
           - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
           - `id`: (string)
           - `paused`: (boolean) | {object}
           - `kind`: (string) (required) (enum: cron)
           - `spec`: {object}
             - `cron`: (string) (required) A cron expression that defines the schedule on which the template will be executed.
           - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
           - `id`: (string)
           - `paused`: (boolean)
     - `options`: {object}
       - `autorun`: (boolean) If true, the template will run automatically whenever a change is made to it.
       - `concurrencyPolicy`: (string) Defines the concurrency behaviour of the template with respect to parallel runs. (enum: allow, queue, forbid, latest, replace)
     - `teardownSpec`: {object}
       - `spec`: (undefined) (required) The root node of the teardown workflow.
       - `failurePolicy`: (string) Controls what happens if the teardown spec fails or times out. `ignore` (default) — proceed with resource deletion regardless. `block` — halt deletion and set the environment to `teardown_failed` (enum: ignore, block)
     - `argumentOverrides`: {object}
     - `crossProjectAccess`: {object}
       - `enabled`: (boolean) (required) Allow this workflow to be run from other projects.
       - `projects`: [array of] (string) (pattern: ^[A-Za-z0-9-]+$)
       - `isAllowList`: (boolean) (required) If true, only the listed projects can run this workflow. If false, all projects except the listed ones can run this workflow.
     - `stageId`: (multiple options) (string) ID of the stage (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to iD of the stage (pattern: .*\${.*}.*)
     - `projectId`: (multiple options) (string) ID of parent project | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: PreviewBlueprint)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `apiVersion`: (string) (required) The version of the Northflank API to run the template against. (enum: v1.2)
     - `arguments`: {object}
     - `gitops`: {object}
       - `vcsService`: (string) (required) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure)
       - `selfHostedVcsId`: (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$)
       - `accountLogin`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name.
       - `vcsLinkId`: (string) Legacy key. Please used accountLogin instead.
       - `repoUrl`: (string) (required) URL of the Git repo to sync the file with. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$)
       - `branch`: (string) (required) The name of the branch to use.
       - `filePath`: (string) (required) The file path in the repository. If using an existing file, it should be in JSON format. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$)
     - `$schema`: (string)
     - `name`: (multiple options) (string) The name of the preview blueprint (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the name of the preview blueprint (pattern: .*\${.*}.*)
     - `description`: (multiple options) (string) A description of the preview blueprint (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the preview blueprint (pattern: .*\${.*}.*)
     - `spec`: (undefined)
     - `triggers`: [array of] (multiple options) {object}
           - `kind`: (string) (required) (enum: vcs-push)
           - `spec`: {object}
             - `vcs`: {object}
               - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
               - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
               - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
               - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
               - `repoUrl`: (multiple options) (string) URL of the Git repo that will trigger the template. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo that will trigger the template. (pattern: .*\${.*}.*)
             - `branchNamePatterns`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
             - `commitMessageFlags`: {object}
               - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `flags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
             - `filePaths`: {object}
               - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `allowList`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `paths`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
           - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
           - `id`: (string)
           - `paused`: (boolean) | {object}
           - `kind`: (string) (required) (enum: vcs-pr)
           - `spec`: {object}
             - `vcs`: {object}
               - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
               - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
               - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
               - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
               - `repoUrl`: (multiple options) (string) URL of the Git repo that will trigger the template. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo that will trigger the template. (pattern: .*\${.*}.*)
             - `branchNamePatterns`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
             - `commitMessageFlags`: {object}
               - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `flags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
             - `filePaths`: {object}
               - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `allowList`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `paths`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
             - `ignoreDrafts`: (multiple options) (boolean) If `true`, draft pull requests from this repo will not trigger the template. | (string) A string containing one or more references that resolve to if `true`, draft pull requests from this repo will not trigger the template. (pattern: .*\${.*}.*)
           - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
           - `id`: (string)
           - `paused`: (boolean) | {object}
           - `kind`: (string) (required) (enum: webhook)
           - `spec`: {object}
             - `token`: (string) (required)
           - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
           - `id`: (string)
           - `paused`: (boolean) | {object}
           - `kind`: (string) (required) (enum: vcs-release)
           - `spec`: {object}
             - `vcs`: {object}
               - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
               - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
               - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
               - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
               - `repoUrl`: (multiple options) (string) URL of the Git repo that will trigger the template. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo that will trigger the template. (pattern: .*\${.*}.*)
           - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
           - `id`: (string)
           - `paused`: (boolean) | {object}
           - `kind`: (string) (required) (enum: vcs-pr-label)
           - `spec`: {object}
             - `vcs`: {object}
               - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
               - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
               - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
               - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
               - `repoUrl`: (multiple options) (string) URL of the Git repo that will trigger the template. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo that will trigger the template. (pattern: .*\${.*}.*)
             - `labelNamePatterns`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
             - `branchNamePatterns`: {object}
               - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `names`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
             - `commitMessageFlags`: {object}
               - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `flags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
             - `filePaths`: {object}
               - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `allowList`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `paths`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
             - `ignoreDrafts`: (multiple options) (boolean) If `true`, draft pull requests from this repo will not trigger the template. | (string) A string containing one or more references that resolve to if `true`, draft pull requests from this repo will not trigger the template. (pattern: .*\${.*}.*)
           - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
           - `id`: (string)
           - `paused`: (boolean) | {object}
           - `kind`: (string) (required) (enum: vcs-check-suite)
           - `spec`: {object}
             - `vcs`: {object}
               - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
               - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
               - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
               - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
               - `repoUrl`: (multiple options) (string) URL of the Git repo that will trigger the template. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo that will trigger the template. (pattern: .*\${.*}.*)
             - `branchNamePatterns`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
             - `commitMessageFlags`: {object}
               - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `flags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
             - `filePaths`: {object}
               - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `allowList`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `paths`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
           - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
           - `id`: (string)
           - `paused`: (boolean) | {object}
           - `kind`: (string) (required) (enum: cron)
           - `spec`: {object}
             - `cron`: (string) (required) A cron expression that defines the schedule on which the template will be executed.
           - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
           - `id`: (string)
           - `paused`: (boolean)
     - `options`: {object}
       - `concurrencyPolicy`: (string) Defines the concurrency behaviour of the template with respect to parallel runs. (enum: allow, queue, forbid, latest, replace)
       - `nameFormat`: (string) The format of the automatically generated preview name. This is a parsed ref string.
       - `prefixName`: (boolean) If true, the preview name will default to the front of the resource name.
       - `useBranchContents`: (boolean) If true, and gitops is enabled, the preview will run based on the contents of the branch that triggered it, rather than the set branch.
       - `schedule`: {object}
         - `mon`: {object}
           - `startTime`: (integer)
           - `endTime`: (integer)
         - `tue`: {object}
           - `startTime`: (integer)
           - `endTime`: (integer)
         - `wed`: {object}
           - `startTime`: (integer)
           - `endTime`: (integer)
         - `thu`: {object}
           - `startTime`: (integer)
           - `endTime`: (integer)
         - `fri`: {object}
           - `startTime`: (integer)
           - `endTime`: (integer)
         - `sat`: {object}
           - `startTime`: (integer)
           - `endTime`: (integer)
         - `sun`: {object}
           - `startTime`: (integer)
           - `endTime`: (integer)
       - `expiry`: {object}
         - `previewLifetime`: (integer) If set, preview environments will be automatically deleted after this many minutes since their last update.
         - `resetOnUpdate`: (boolean) If `true`, the expiry time for an existing preview will be reset when it is ran again.
       - `autorun`: (boolean) If true, the template will run automatically whenever a change is made to it.
     - `argumentOverrides`: {object}
     - `teardownSpec`: {object}
       - `spec`: (undefined) (required) The root node of the teardown workflow.
       - `failurePolicy`: (string) Controls what happens if the teardown spec fails or times out. `ignore` (default) — proceed with resource deletion regardless. `block` — halt deletion and set the environment to `teardown_failed` (enum: ignore, block)
     - `projectId`: (multiple options) (string) ID of parent project | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: Approval)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `amount`: (integer) (required) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: ReleaseStage)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 20) | (string) (pattern: .*\${.*}.*)
     - `position`: (integer) (required)
     - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
- `teardownSpec`: {object}
  - `spec`: (multiple options) {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `kind`: (string) (required) The kind of node. (enum: Workflow)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `spec`: (undefined) (required) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `kind`: (string) (required) The kind of node. (enum: JobRun)
     - `condition`: (string) (enum: success)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `runNodeOnce`: (multiple options) (string) (enum: true, false) | (string) (pattern: .*\${.*}.*)
     - `spec`: {object}
       - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
       - `runtimeEnvironment`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
       - `runtimeFiles`: {object}
       - `dockerSecretMounts`: {object}
       - `billing`: {object}
         - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan override to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan override to use. (pattern: .*\${.*}.*)
       - `deployment`: (multiple options) {object}
           - `docker`: {object}
             - `configType`: (string) (required) Type of entrypoint & command override configuration (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand)
             - `customEntrypoint`: (string) Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand`
             - `customCommand`: (string) Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand`
           - `buildpack`: {object}
             - `configType`: (string) (required) Type of buildpack run configuration (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand)
             - `customProcess`: (string) Custom process which should be run. Required in case where `configType` is `customProcess`
             - `customEntrypoint`: (string) Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand`
             - `customCommand`: (string) Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand`
           - `storage`: {object}
             - `useHdbStorage`: (boolean)
             - `usePdSsdStorage`: (boolean)
             - `ephemeralStorage`: {object}
               - `storageSize`: (multiple options) (integer) Ephemeral storage per container in MB | (string) A string containing one or more references that resolve to ephemeral storage per container in MB (pattern: .*\${.*}.*)
             - `shmSize`: (multiple options) (integer) Configures the amount of available memory-backed disk space available to /dev/shm | (string) A string containing one or more references that resolve to configures the amount of available memory-backed disk space available to /dev/shm (pattern: .*\${.*}.*)
           - `internal`: {object}
             - `id`: (multiple options) (multiple options) (string) The ID of a build service in the same project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) The ID of a build service in another project, in the format `project-id/build-service-id` | (string) A string containing one or more references that resolve to iD of the build service to deploy (pattern: .*\${.*}.*)
             - `branch`: (multiple options) (string) Branch to deploy | (string) A string containing one or more references that resolve to branch to deploy (pattern: .*\${.*}.*)
             - `buildSHA`: (multiple options) (multiple options) (string) A commit sha. (min length: 40) (max length: 40) | (string) Latest commit. (enum: latest) | (string) A string containing one or more references that resolve to commit SHA to deploy, or 'latest' to deploy the most recent commit (pattern: .*\${.*}.*)
             - `buildId`: (multiple options) (string) ID of the build that should be deployed | (string) A string containing one or more references that resolve to iD of the build that should be deployed (pattern: .*\${.*}.*) | {object}
           - `docker`: {object}
             - `configType`: (string) (required) Type of entrypoint & command override configuration (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand)
             - `customEntrypoint`: (string) Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand`
             - `customCommand`: (string) Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand`
           - `buildpack`: {object}
             - `configType`: (string) (required) Type of buildpack run configuration (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand)
             - `customProcess`: (string) Custom process which should be run. Required in case where `configType` is `customProcess`
             - `customEntrypoint`: (string) Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand`
             - `customCommand`: (string) Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand`
           - `storage`: {object}
             - `useHdbStorage`: (boolean)
             - `usePdSsdStorage`: (boolean)
             - `ephemeralStorage`: {object}
               - `storageSize`: (multiple options) (integer) Ephemeral storage per container in MB | (string) A string containing one or more references that resolve to ephemeral storage per container in MB (pattern: .*\${.*}.*)
             - `shmSize`: (multiple options) (integer) Configures the amount of available memory-backed disk space available to /dev/shm | (string) A string containing one or more references that resolve to configures the amount of available memory-backed disk space available to /dev/shm (pattern: .*\${.*}.*)
           - `external`: {object}
             - `imagePath`: (multiple options) (string) Image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: ^(?:(?:https?:\/\/)?([a-zA-Z0-9\-]+\.[a-zA-Z0-9\.\-]+))?(?:\/)?([a-zA-Z/-9\.\-_]+)(?:\:([a-zA-Z/-9\.\-_\:]+)|\@([a-zA-Z/-9\.\-_\:]+))$) | (string) A string containing one or more references that resolve to image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: .*\${.*}.*)
             - `credentials`: (multiple options) (string) ID of the saved credentials to use to access this external image. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of the saved credentials to use to access this external image. (pattern: .*\${.*}.*)
       - `jobId`: (multiple options) (string) The ID of the job to run. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 52) | (string) A string containing one or more references that resolve to the ID of the job to run. (pattern: .*\${.*}.*) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `kind`: (string) (required) The kind of node. (enum: LoopWorkflow)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `spec`: {object}
       - `iterations`: (multiple options) [array of] (multiple options) {object} | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
       - `steps`: [array of] (undefined) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `kind`: (string) (required) The kind of node. (enum: Action)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `runNodeOnce`: (multiple options) (string) (enum: true, false) | (string) (pattern: .*\${.*}.*)
     - `spec`: (multiple options) {object}
         - `kind`: (string) (required) The kind of action. (enum: Addon)
         - `spec`: (multiple options) {object}
             - `type`: (string) (required) The type of action. (enum: restart)
             - `data`: {object}
               - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
               - `addonId`: (multiple options) (string) The id of the addon to restart. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the addon to restart. (pattern: .*\${.*}.*)
               - `timeoutDuration`: (multiple options) (integer) Timeout for the condition in seconds. This will fail the condition after the timeout has elapsed. | (string) A template reference that resolves to a timeout duration in seconds (pattern: .*\${.*}.*)
             - `condition`: (string) (enum: running) | {object}
         - `kind`: (string) (required) The kind of action. (enum: AddonBackup)
         - `spec`: (multiple options) {object}
             - `type`: (string) (required) The type of action. (enum: restore)
             - `data`: {object}
               - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
               - `addonId`: (multiple options) (string) The id of the addon to restore a backup to. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the addon to restore a backup to. (pattern: .*\${.*}.*)
               - `backupId`: (multiple options) (string) The id of the backup to restore. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the backup to restore. (pattern: .*\${.*}.*)
               - `timeoutDuration`: (multiple options) (integer) Timeout for the condition in seconds. This will fail the condition after the timeout has elapsed. | (string) A template reference that resolves to a timeout duration in seconds (pattern: .*\${.*}.*)
             - `condition`: (string) (enum: success) | {object}
         - `kind`: (string) (required) The kind of action. (enum: Job)
         - `spec`: (multiple options) {object}
             - `type`: (string) (required) The type of action. (enum: execute)
             - `data`: {object}
               - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
               - `jobId`: (multiple options) (string) The id of the job to run the command in. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the job to run the command in. (pattern: .*\${.*}.*)
               - `command`: (string) (required)
               - `shell`: (string)
               - `user`: (string)
               - `group`: (string) | {object}
         - `kind`: (string) (required) The kind of action. (enum: Service)
         - `spec`: (multiple options) {object}
             - `type`: (string) (required) The type of action. (enum: restart)
             - `data`: {object}
               - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
               - `serviceId`: (multiple options) (string) The id of the service to restart. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the service to restart. (pattern: .*\${.*}.*)
               - `timeoutDuration`: (multiple options) (integer) Timeout for the condition in seconds. This will fail the condition after the timeout has elapsed. | (string) A template reference that resolves to a timeout duration in seconds (pattern: .*\${.*}.*)
             - `condition`: (string) (enum: running) | {object}
             - `type`: (string) (required) The type of action. (enum: execute)
             - `data`: {object}
               - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
               - `serviceId`: (multiple options) (string) The id of the service to run the command in. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the service to run the command in. (pattern: .*\${.*}.*)
               - `options`: {object}
                 - `dispatchOnly`: (boolean) Specify whether the command output should be awaited the node should succeed after having sent the command.
               - `command`: (string) (required)
               - `shell`: (string)
               - `user`: (string)
               - `group`: (string) | {object}
         - `kind`: (string) (required) The kind of action. (enum: VCS)
         - `spec`: (multiple options) {object}
             - `type`: (string) (required) The type of action. (enum: createRepoFromSource)
             - `data`: {object}
               - `sourceData`: {object}
                 - `publicRepo`: (multiple options) (boolean) Whether the source repository is a public repository. | (string) A string containing one or more references that resolve to whether the source repository is a public repository. (pattern: .*\${.*}.*)
                 - `vcsService`: (multiple options) (string) The VCS provider of the source repository. | (string) A string containing one or more references that resolve to the VCS provider of the source repository. (pattern: .*\${.*}.*)
                 - `oauthProvider`: (multiple options) (string) The OAuth provider used to access the source repository. | (string) A string containing one or more references that resolve to the OAuth provider used to access the source repository. (pattern: .*\${.*}.*)
                 - `repoUrl`: (multiple options) (string) URL of the source Git repo. | (string) A string containing one or more references that resolve to uRL of the source Git repo. (pattern: .*\${.*}.*)
                 - `branch`: (multiple options) (string) The name of the branch to use. | (string) A string containing one or more references that resolve to the name of the branch to use. (pattern: .*\${.*}.*)
                 - `accountLogin`: (multiple options) (string) The login name of the linked VCS account used to access the source repository. | (string) A string containing one or more references that resolve to the login name of the linked VCS account used to access the source repository. (pattern: .*\${.*}.*)
                 - `commitSha`: (multiple options) (string) The SHA of the commit to use. | (string) A string containing one or more references that resolve to the SHA of the commit to use. (pattern: .*\${.*}.*)
                 - `directory`: (multiple options) (string) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory of the Dockerfile. (pattern: .*\${.*}.*)
                 - `vcsLinkId`: (multiple options) (string) The ID of the linked VCS account to use. (min length: 24) (max length: 24) | (string) A string containing one or more references that resolve to the ID of the linked VCS account to use. (pattern: .*\${.*}.*)
                 - `selfHostedVcsId`: (multiple options) (string) The ID of the self-hosted VCS to use. | (string) A string containing one or more references that resolve to the ID of the self-hosted VCS to use. (pattern: .*\${.*}.*)
               - `targetData`: {object}
                 - `name`: (multiple options) (string) The name of the repository to create. | (string) A string containing one or more references that resolve to the name of the repository to create. (pattern: .*\${.*}.*)
                 - `description`: (multiple options) (string) A description of the repository to create. | (string) A string containing one or more references that resolve to a description of the repository to create. (pattern: .*\${.*}.*)
                 - `privateRepo`: (multiple options) (boolean) Whether the repository should be created as a private repository. | (string) A string containing one or more references that resolve to whether the repository should be created as a private repository. (pattern: .*\${.*}.*)
                 - `branch`: (multiple options) (string) The repository branch. | (string) A string containing one or more references that resolve to the repository branch. (pattern: .*\${.*}.*)
                 - `context`: (multiple options) (string) The owner context (user or organisation) the repository should be created in. | (string) A string containing one or more references that resolve to the owner context (user or organisation) the repository should be created in. (pattern: .*\${.*}.*)
                 - `folder`: (multiple options) (string) The folder or project the repository should be created in, if supported by the VCS provider. | (string) A string containing one or more references that resolve to the folder or project the repository should be created in, if supported by the VCS provider. (pattern: .*\${.*}.*)
                 - `accountLogin`: (multiple options) (string) The login name of the linked VCS account used to create the repository. | (string) A string containing one or more references that resolve to the login name of the linked VCS account used to create the repository. (pattern: .*\${.*}.*)
                 - `vcsLinkId`: (multiple options) (string) The ID of the linked VCS account to use. (min length: 24) (max length: 24) | (string) A string containing one or more references that resolve to the ID of the linked VCS account to use. (pattern: .*\${.*}.*)
                 - `oauthProvider`: (multiple options) (string) The OAuth provider used to create the repository. | (string) A string containing one or more references that resolve to the OAuth provider used to create the repository. (pattern: .*\${.*}.*)
                 - `vcsService`: (multiple options) (string) The VCS provider to create the repository with. | (string) A string containing one or more references that resolve to the VCS provider to create the repository with. (pattern: .*\${.*}.*)
                 - `selfHostedVcsId`: (multiple options) (string) The ID of the self-hosted VCS to use. | (string) A string containing one or more references that resolve to the ID of the self-hosted VCS to use. (pattern: .*\${.*}.*) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `kind`: (string) (required) The kind of node. (enum: Condition)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `spec`: (multiple options) {object}
         - `kind`: (string) (required) The kind of condition. (enum: Addon)
         - `spec`: (multiple options) {object}
             - `type`: (string) (required) The type of condition. (enum: running)
             - `data`: {object}
               - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
               - `addonId`: (multiple options) (string) The id of the addon to monitor. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the id of the addon to monitor. (pattern: .*\${.*}.*)
               - `timeoutDuration`: (multiple options) (integer) Timeout for the condition in seconds. This will fail the condition after the timeout has elapsed. | (string) A template reference that resolves to a timeout duration in seconds (pattern: .*\${.*}.*) | {object}
         - `kind`: (string) (required) The kind of condition. (enum: AddonBackup)
         - `spec`: (multiple options) {object}
             - `type`: (string) (required) The type of condition. (enum: success)
             - `data`: {object}
               - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
               - `addonId`: (multiple options) (string) The id of the addon to monitor. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the id of the addon to monitor. (pattern: .*\${.*}.*)
               - `backupId`: (multiple options) (string) The id of the backup to monitor. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the backup to monitor. (pattern: .*\${.*}.*) | {object}
         - `kind`: (string) (required) The kind of condition. (enum: AddonImport)
         - `spec`: (multiple options) {object}
             - `type`: (string) (required) The type of condition. (enum: success)
             - `data`: {object}
               - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
               - `addonId`: (multiple options) (string) The id of the addon to monitor. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the id of the addon to monitor. (pattern: .*\${.*}.*)
               - `importId`: (multiple options) (string) The id of the import to monitor. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the import to monitor. (pattern: .*\${.*}.*) | {object}
         - `kind`: (string) (required) The kind of condition. (enum: Build)
         - `spec`: (multiple options) {object}
             - `type`: (string) (required) The type of condition. (enum: success)
             - `data`: {object}
               - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
               - `buildId`: (multiple options) (string) The id of the build to monitor. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the id of the build to monitor. (pattern: .*\${.*}.*) | {object}
         - `kind`: (string) (required) The kind of condition. (enum: BYOCCluster)
         - `spec`: (multiple options) {object}
             - `type`: (string) (required) The type of condition. (enum: running)
             - `data`: {object}
               - `clusterId`: (multiple options) (string) The id of the cluster to monitor. (pattern: ^[a-z]-?[a-z0-9]+(-[a-z0-9]+)*$) (min length: 3) (max length: 20) | (string) A string containing one or more references that resolve to the id of the cluster to monitor. (pattern: .*\${.*}.*)
               - `timeoutDuration`: (multiple options) (integer) Timeout for the condition in seconds. This will fail the condition after the timeout has elapsed. | (string) A template reference that resolves to a timeout duration in seconds (pattern: .*\${.*}.*) | {object}
         - `kind`: (string) (required) The kind of condition. (enum: JobRun)
         - `spec`: (multiple options) {object}
             - `type`: (string) (required) The type of condition. (enum: success)
             - `data`: {object}
               - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
               - `jobId`: (multiple options) (string) The id of the job to monitor. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the id of the job to monitor. (pattern: .*\${.*}.*)
               - `runId`: (multiple options) (string) The id of the job run to monitor. | (string) A string containing one or more references that resolve to the id of the job run to monitor. (pattern: .*\${.*}.*) | {object}
         - `kind`: (string) (required) The kind of condition. (enum: Service)
         - `spec`: (multiple options) {object}
             - `type`: (string) (required) The type of condition. (enum: running)
             - `data`: {object}
               - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
               - `serviceId`: (multiple options) (string) The id of the service to monitor. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the id of the service to monitor. (pattern: .*\${.*}.*)
               - `timeoutDuration`: (multiple options) (integer) Timeout for the condition in seconds. This will fail the condition after the timeout has elapsed. | (string) A template reference that resolves to a timeout duration in seconds (pattern: .*\${.*}.*) | {object}
         - `kind`: (string) (required) The kind of condition. (enum: VCS)
         - `spec`: (multiple options) {object}
             - `type`: (string) (required) The type of condition. (enum: createRepoFromSourceSuccess)
             - `data`: {object}
               - `trackerId`: (multiple options) (string) The tracker id outputted from the 'createRepoFromSource' action to monitor. | (string) A string containing one or more references that resolve to the tracker id outputted from the 'createRepoFromSource' action to monitor. (pattern: .*\${.*}.*) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `kind`: (string) (required) The kind of node. (enum: Message)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `runNodeOnce`: (multiple options) (string) (enum: true, false) | (string) (pattern: .*\${.*}.*)
     - `spec`: (multiple options) {object}
         - `kind`: (string) (required) The kind of message to send. (enum: VCS)
         - `spec`: {object}
           - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
           - `selfHostedVcsId`: (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$)
           - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
           - `repoUrl`: (multiple options) (string) URL of the Git repo to send this message to. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo to send this message to. (pattern: .*\${.*}.*)
           - `pullRequestId`: (multiple options) (string) The ID of the pull request to comment on. | (string) A string containing one or more references that resolve to the ID of the pull request to comment on. (pattern: .*\${.*}.*)
           - `message`: (multiple options) (string) The rich text message to comment. | (string) A string containing one or more references that resolve to the rich text message to comment. (pattern: .*\${.*}.*) | {object}
         - `kind`: (string) (required) The kind of message to send. (enum: SLACK)
         - `spec`: {object}
           - `webhookUrl`: (multiple options) (string) The Slack webhook URL to send messages to. | (string) A string containing one or more references that resolve to the Slack webhook URL to send messages to. (pattern: .*\${.*}.*)
           - `integrationInternalId`: (multiple options) (string) The ID of an existing Slack integration to use. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the ID of an existing Slack integration to use. (pattern: .*\${.*}.*)
           - `message`: (multiple options) (string) The message content to send to Slack. Supports markdown formatting. | (string) A string containing one or more references that resolve to the message content to send to Slack. Supports markdown formatting. (pattern: .*\${.*}.*) | {object}
         - `kind`: (string) (required) The kind of message to send. (enum: RAW_WEBHOOK)
         - `spec`: {object}
           - `webhookUrl`: (multiple options) (string) The webhook URL to send messages to. | (string) A string containing one or more references that resolve to the webhook URL to send messages to. (pattern: .*\${.*}.*)
           - `message`: (multiple options) (string) The message content to send to the webhook. | (string) A string containing one or more references that resolve to the message content to send to the webhook. (pattern: .*\${.*}.*) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `kind`: (string) (required) The kind of node. (enum: LoopData)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `spec`: {object} | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `kind`: (string) (required) The kind of node. (enum: OpenTofuDestroy)
     - `condition`: (string) (enum: success)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `spec`: {object}
       - `nodeRef`: (string) (required) The `ref` value of the `OpenTofu` node in the parent template whose state should be destroyed. | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `kind`: (string) (required) The kind of node. (enum: Approval)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `spec`: {object}
       - `amount`: (integer) (required)
  - `failurePolicy`: (string) Controls what happens if the teardown spec fails or times out. `ignore` (default) — proceed with resource deletion regardless. `block` — halt deletion and set the environment to `teardown_failed` (enum: ignore, block)
- `argumentOverrides`: {object}

OR

{object}
- `name`: (string) (required) Name of the template. (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
- `description`: (string) Description of the template. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
- `argumentOverrides`: {object}
- `gitops`: {object}
  - `vcsService`: (string) (required) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure)
  - `selfHostedVcsId`: (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$)
  - `accountLogin`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name.
  - `vcsLinkId`: (string) Legacy key. Please used accountLogin instead.
  - `repoUrl`: (string) (required) URL of the Git repo to sync the file with. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$)
  - `branch`: (string) (required) The name of the branch to use.
  - `filePath`: (string) (required) The file path in the repository. If using an existing file, it should be in JSON format. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$)

**Response body:**

{object}
- `data`: {object}
  - `template`: {object}
    - `name`: (string) (required) Name of the template. (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
    - `description`: (string) Description of the template. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
    - `apiVersion`: (string) (required) The version of the Northflank API to run the template against. (enum: v1.2)
    - `arguments`: {object}
    - `$schema`: (string)
    - `spec`: (multiple options) {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: Workflow)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `type`: (string) (required) The type of workflow. If set to `sequential`, nodes in the workflow will run in order. If set to `parallel`, nodes will run simultaneously. (enum: sequential, parallel)
     - `steps`: [array of] (undefined)
     - `context`: {object}
       - `projectId`: (multiple options) (string) Default project to apply to child nodes. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to default project to apply to child nodes. (pattern: .*\${.*}.*) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: CustomPlan)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `type`: [array of] (multiple options) (string) (enum: deployment, build) | (string) (pattern: .*\${.*}.*)
     - `configuration`: {object}
       - `type`: (multiple options) (string) (enum: northflank, kubernetes) | (string) (pattern: .*\${.*}.*)
       - `resources`: {object}
         - `cpu`: {object}
           - `resources`: {object}
             - `limit`: (multiple options) (number) (format: float) | (string) (pattern: .*\${.*}.*)
             - `request`: (multiple options) (number) (format: float) | (string) (pattern: .*\${.*}.*)
           - `options`: {object}
             - `unbounded`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
         - `memory`: {object}
           - `resources`: {object}
             - `limit`: (multiple options) (number) (format: float) | (string) (pattern: .*\${.*}.*)
             - `request`: (multiple options) (number) (format: float) | (string) (pattern: .*\${.*}.*)
     - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: CustomPlan)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `type`: [array of] (multiple options) (string) (enum: deployment, build) | (string) (pattern: .*\${.*}.*)
     - `configuration`: {object}
       - `type`: (multiple options) (string) (enum: northflank, kubernetes) | (string) (pattern: .*\${.*}.*)
       - `resources`: {object}
         - `cpu`: {object}
           - `resources`: {object}
             - `limit`: (multiple options) (number) (format: float) | (string) (pattern: .*\${.*}.*)
             - `request`: (multiple options) (number) (format: float) | (string) (pattern: .*\${.*}.*)
           - `options`: {object}
             - `unbounded`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
         - `memory`: {object}
           - `resources`: {object}
             - `limit`: (multiple options) (number) (format: float) | (string) (pattern: .*\${.*}.*)
             - `request`: (multiple options) (number) (format: float) | (string) (pattern: .*\${.*}.*)
     - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: Subdomain)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `domain`: (multiple options) (string) The domain the path should be created for. (pattern: ^((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+$) | (string) A string containing one or more references that resolve to the domain the path should be created for. (pattern: .*\${.*}.*)
     - `name`: (multiple options) (string) Subdomain prepended to the domain name | (string) A string containing one or more references that resolve to subdomain prepended to the domain name (pattern: .*\${.*}.*)
     - `options`: {object}
       - `tlsMode`: (string) Desired TLS mode for the subdomain. (enum: default, passthrough)
       - `minTlsProtocolVersion`: (string) Minimum TLS protocol version for the subdomain. Only applicable for non-wildcard subdomains. (enum: TLSV1_1, TLSV1_2, TLSV1_3)
       - `autoVerify`: (boolean) The domain will be automatically verified on creation. Only configurable if the relevant feature flag is enabled for you account.
       - `aliasDomains`: [array of] (string)
     - `cdn`: {object}
       - `northflank`: {object}
         - `enabled`: (boolean)
         - `options`: {object}
           - `service`: {object}
             - `forceTlsEnableHsts`: (boolean)
             - `hstsDuration`: (number) HSTS duration. Required when `forceTlsEnableHsts` is `true`. (format: float)
             - `staleIfError`: (boolean)
             - `staleIfErrorTtl`: (number) (format: float)
             - `defaultTtl`: (number) (format: float)
             - `passThrough`: (boolean)
             - `bypassCredentialedRequests`: (boolean)
           - `logging`: {object}
             - `enabled`: (boolean)
           - `http3`: {object}
             - `enabled`: (boolean)
           - `websockets`: {object}
             - `enabled`: (boolean)
           - `ddosProtection`: {object}
             - `enabled`: (boolean)
           - `compression`: {object}
             - `enabled`: (boolean)
             - `mode`: (string) Compression options. Required when `enabled` is `true`. (enum: gzip, brotli)
           - `vclSnippets`: [array of] {object}
               - `id`: (string)
               - `name`: (string) (required) (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
               - `type`: (string) (required) (enum: init, recv, hash, hit, miss, pass, fetch, error, deliver, log, none)
               - `dynamic`: (string) (required) (enum: 0, 1)
               - `priority`: (multiple options) (number) (format: float) | (number) (format: float)
               - `content`: (string) (required)
           - `cacheSettings`: [array of] {object}
               - `id`: (string)
               - `name`: (string) (required) (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
               - `action`: (string) (enum: pass, cache, restart)
               - `cacheCondition`: (string) (required) (min length: 1) (max length: 512)
               - `staleTtl`: (number) (required) (format: float)
               - `ttl`: (number) (required) (format: float) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: SubdomainPath)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `subdomain`: (multiple options) (string) The domain the path should be created for. (pattern: ^\*|^@$|^([0-9a-z]([0-9a-z\-]*[0-9a-z])?\.)*[0-9a-z]([0-9a-z\-]*[0-9a-z])?$) | (string) A string containing one or more references that resolve to the domain the path should be created for. (pattern: .*\${.*}.*)
     - `mode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: prefix, exact, regex) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
     - `uri`: (multiple options) (string) URI of the subdomain path. Interpreted according to the selected path mode | (string) A string containing one or more references that resolve to uRI of the subdomain path. Interpreted according to the selected path mode (pattern: .*\${.*}.*)
     - `options`: {object}
       - `priority`: (multiple options) (integer) In case of uri conflicts, the route with the higher priority will take precedence | (string) A string containing one or more references that resolve to in case of uri conflicts, the route with the higher priority will take precedence (pattern: .*\${.*}.*)
       - `ignoreUriCase`: (multiple options) (boolean) Allows case insensitive matching for 'prefix' and 'exact' modes | (string) A string containing one or more references that resolve to allows case insensitive matching for 'prefix' and 'exact' modes (pattern: .*\${.*}.*)
       - `rewrite`: (multiple options) {object}
           - `uri`: (multiple options) (string) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) (pattern: .*\${.*}.*) | {object}
           - `regex`: {object}
             - `match`: (multiple options) (string) Regex match for the given path | (string) A string containing one or more references that resolve to regex match for the given path (pattern: .*\${.*}.*)
             - `rewrite`: (multiple options) (string) Regex rewrite for the given matched path | (string) A string containing one or more references that resolve to regex rewrite for the given matched path (pattern: .*\${.*}.*)
       - `timeout`: (multiple options) (string) Customised request timeout for the given path. By default no timeout is set. (pattern: ^[1-9][0-9]*(s|ms)$) | (string) A string containing one or more references that resolve to customised request timeout for the given path. By default no timeout is set. (pattern: .*\${.*}.*)
       - `headers`: {object}
         - `request`: {object}
           - `set`: {object}
           - `add`: {object}
           - `remove`: [array of] (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$)
         - `response`: {object}
           - `set`: {object}
           - `add`: {object}
           - `remove`: [array of] (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$)
       - `corsPolicy`: {object}
         - `enabled`: (boolean) (required)
         - `allowOrigins`: [array of] {object}
             - `mode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: prefix, exact, regex) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
             - `origin`: (multiple options) (string) Origin definition. | (string) A string containing one or more references that resolve to origin definition. (pattern: .*\${.*}.*)
         - `allowMethods`: [array of] (string) (enum: GET, POST, PUT, PATCH, DELETE, OPTIONS, TRACE, CONNECT, HEAD)
         - `allowCredentials`: (boolean)
         - `allowHeaders`: [array of] (string)
         - `maxAge`: (string) (pattern: ^[1-9][0-9]*(s|m|h)$)
       - `retries`: {object}
         - `enabled`: (boolean) (required)
         - `attempts`: (integer) (required)
         - `perTryTimeout`: (string) Timeout per attempt. By default uses the path level timeout. (pattern: ^[1-9][0-9]*(s|ms)$)
         - `retryOn`: [array of] (string) (enum: 5xx, gateway-error, reset, connect-failure, envoy-ratelimited, retriable-4xx, refused-stream, retriable-status-codes, retriable-headers, cancelled, deadline-exceeded, internal, resource-exhausted, unavailable) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: ResourceTag)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `useAsInfrastructureLabel`: (boolean) Expose this tag as an infrastructure label on service, harness, and job workloads after their next deployment. Required for usage in egress IP selectors.
     - `useSpotNodes`: (boolean) Schedule workloads to spot nodes
     - `useOnDemandNodes`: (boolean) Also allow workloads to schedule to on demand nodes. Only relevant if you want workloads to schedule across both spot and on demand nodes
     - `nodeAffinities`: [array of] {object}
         - `preference`: (boolean)
         - `weight`: (number) The node affinity weight. Required when `preference` is `true`. (format: float)
         - `matchExpressions`: [array of] {object}
             - `key`: (string) (required)
             - `operator`: (string) (required) (enum: In, NotIn)
             - `values`: [array of] (string)
     - `sandboxing`: {object}
       - `builds`: {object}
         - `enabled`: (boolean) (required) Enables runtime scheduling constraints for builds
         - `runtimeClass`: (multiple options) (string) Defines which runtime scheduling constraints apply for builds (enum: none, gvisor, kata-clh, kata-qemu)
       - `services`: {object}
         - `enabled`: (boolean) (required) Enables runtime scheduling constraints for services
         - `runtimeClass`: (multiple options) (string) Defines which runtime scheduling constraints apply for services (enum: none, gvisor, kata-clh, kata-qemu)
       - `addons`: {object}
         - `enabled`: (boolean) (required) Enables runtime scheduling constraints for addons
         - `runtimeClass`: (multiple options) (string) Defines which runtime scheduling constraints apply for addons (enum: none, gvisor, kata-clh, kata-qemu)
       - `jobs`: {object}
         - `enabled`: (boolean) (required) Enables runtime scheduling constraints for jobs
         - `runtimeClass`: (multiple options) (string) Defines which runtime scheduling constraints apply for jobs (enum: none, gvisor, kata-clh, kata-qemu)
     - `color`: (string) (pattern: ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$)
     - `description`: (string) (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
     - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: ResourceTag)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `useAsInfrastructureLabel`: (boolean) Expose this tag as an infrastructure label on service, harness, and job workloads after their next deployment. Required for usage in egress IP selectors.
     - `useSpotNodes`: (boolean) Schedule workloads to spot nodes
     - `useOnDemandNodes`: (boolean) Also allow workloads to schedule to on demand nodes. Only relevant if you want workloads to schedule across both spot and on demand nodes
     - `nodeAffinities`: [array of] {object}
         - `preference`: (boolean)
         - `weight`: (number) The node affinity weight. Required when `preference` is `true`. (format: float)
         - `matchExpressions`: [array of] {object}
             - `key`: (string) (required)
             - `operator`: (string) (required) (enum: In, NotIn)
             - `values`: [array of] (string)
     - `sandboxing`: {object}
       - `builds`: {object}
         - `enabled`: (boolean) (required) Enables runtime scheduling constraints for builds
         - `runtimeClass`: (multiple options) (string) Defines which runtime scheduling constraints apply for builds (enum: none, gvisor, kata-clh, kata-qemu)
       - `services`: {object}
         - `enabled`: (boolean) (required) Enables runtime scheduling constraints for services
         - `runtimeClass`: (multiple options) (string) Defines which runtime scheduling constraints apply for services (enum: none, gvisor, kata-clh, kata-qemu)
       - `addons`: {object}
         - `enabled`: (boolean) (required) Enables runtime scheduling constraints for addons
         - `runtimeClass`: (multiple options) (string) Defines which runtime scheduling constraints apply for addons (enum: none, gvisor, kata-clh, kata-qemu)
       - `jobs`: {object}
         - `enabled`: (boolean) (required) Enables runtime scheduling constraints for jobs
         - `runtimeClass`: (multiple options) (string) Defines which runtime scheduling constraints apply for jobs (enum: none, gvisor, kata-clh, kata-qemu)
     - `color`: (string) (pattern: ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$)
     - `description`: (string) (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
     - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: BYOCIntegration)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `description`: (string) The description of the integration. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
     - `features`: [array of] (string) The type of provider integration. (enum: byoc, byoc-static-egress, byoc-custom-launch-templates, byoc-custom-vpc, byoc-logs, cloudfront, route53, registry-pull, registry-push, opentofu, workload-identity, workload-identity-managed)
     - `restrictions`: {object}
       - `enabled`: (boolean) (required) Enable or disable BYOC restrictions for this entity
       - `teams`: [array of] {object}
           - `teamId`: (string) (required) The ID of the team that has access to this BYOC cluster (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 45)
     - `credentials`: {object}
       - `keyfileJson`: (multiple options) (string) Contents of a GCP key file. | (string) A string containing one or more references that resolve to contents of a GCP key file. (pattern: .*\${.*}.*)
       - `accessKey`: (multiple options) (string) AWS access key. | (string) A string containing one or more references that resolve to aWS access key. (pattern: .*\${.*}.*)
       - `secretKey`: (multiple options) (string) AWS secret key. | (string) A string containing one or more references that resolve to aWS secret key. (pattern: .*\${.*}.*)
       - `roleArn`: (multiple options) (string) AWS IAM role ARN. | (string) A string containing one or more references that resolve to aWS IAM role ARN. (pattern: .*\${.*}.*)
       - `externalId`: (multiple options) (string) AWS shared secret (external id). | (string) A string containing one or more references that resolve to aWS shared secret (external id). (pattern: .*\${.*}.*)
       - `apiKey`: (multiple options) (string) API key. | (string) A string containing one or more references that resolve to aPI key. (pattern: .*\${.*}.*)
       - `email`: (multiple options) (string) Email address for Cloudflare global API key. (format: email) | (string) A string containing one or more references that resolve to email address for Cloudflare global API key. (pattern: .*\${.*}.*)
       - `tenantId`: (multiple options) (string) Directory (tenant) ID  | (string) A string containing one or more references that resolve to directory (tenant) ID  (pattern: .*\${.*}.*)
       - `clientId`: (multiple options) (string) Application (client) ID  | (string) A string containing one or more references that resolve to application (client) ID  (pattern: .*\${.*}.*)
       - `objectId`: (multiple options) (string) Object ID | (string) A string containing one or more references that resolve to object ID (pattern: .*\${.*}.*)
       - `secret`: (multiple options) (string) Secret | (string) A string containing one or more references that resolve to secret (pattern: .*\${.*}.*)
       - `subscriptionId`: (multiple options) (string) Azure Subscription ID | (string) A string containing one or more references that resolve to azure Subscription ID (pattern: .*\${.*}.*)
       - `region`: (multiple options) (string) OCI Authentication Region | (string) A string containing one or more references that resolve to oCI Authentication Region (pattern: .*\${.*}.*)
       - `tenancyId`: (multiple options) (string) OCI Tenancy ID | (string) A string containing one or more references that resolve to oCI Tenancy ID (pattern: .*\${.*}.*)
       - `userId`: (multiple options) (string) User ID | (string) A string containing one or more references that resolve to user ID (pattern: .*\${.*}.*)
       - `fingerprint`: (multiple options) (string) Fingerprint | (string) A string containing one or more references that resolve to fingerprint (pattern: .*\${.*}.*)
       - `privateKey`: (multiple options) (string) OCI Private Key | (string) A string containing one or more references that resolve to oCI Private Key (pattern: .*\${.*}.*)
       - `passphrase`: (multiple options) (string) Passphrase | (string) A string containing one or more references that resolve to passphrase (pattern: .*\${.*}.*)
       - `compartmentId`: (multiple options) (string) OCI Compartment ID | (string) A string containing one or more references that resolve to oCI Compartment ID (pattern: .*\${.*}.*)
       - `serviceAccountId`: (multiple options) (string) Nebius service account ID | (string) A string containing one or more references that resolve to nebius service account ID (pattern: .*\${.*}.*)
       - `publicKeyId`: (multiple options) (string) Nebius authorized public key ID | (string) A string containing one or more references that resolve to nebius authorized public key ID (pattern: .*\${.*}.*)
       - `privateKeyPem`: (multiple options) (string) Nebius private key in PEM format | (string) A string containing one or more references that resolve to nebius private key in PEM format (pattern: .*\${.*}.*)
       - `kubeconfig`: (multiple options) (string) Kubeconfig | (string) A string containing one or more references that resolve to kubeconfig (pattern: .*\${.*}.*)
       - `applicationKeyId`: (multiple options) (string) Backblaze Application Key ID | (string) A string containing one or more references that resolve to backblaze Application Key ID (pattern: .*\${.*}.*)
       - `applicationKey`: (multiple options) (string) Backblaze Application Key | (string) A string containing one or more references that resolve to backblaze Application Key (pattern: .*\${.*}.*)
       - `host`: (multiple options) (string) Akamai Host | (string) A string containing one or more references that resolve to akamai Host (pattern: .*\${.*}.*)
       - `accessToken`: (multiple options) (string) Akamai Access Token | (string) A string containing one or more references that resolve to akamai Access Token (pattern: .*\${.*}.*)
       - `clientToken`: (multiple options) (string) Akamai Client Token | (string) A string containing one or more references that resolve to akamai Client Token (pattern: .*\${.*}.*)
       - `clientSecret`: (multiple options) (string) Akamai Client Secret | (string) A string containing one or more references that resolve to akamai Client Secret (pattern: .*\${.*}.*)
     - `aws`: (undefined)
     - `name`: (multiple options) (string) The name of the cloud provider integration. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the cloud provider integration. (pattern: .*\${.*}.*)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: BYOCIntegration)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) The name of the cloud provider integration. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the cloud provider integration. (pattern: .*\${.*}.*)
     - `description`: (string) The description of the integration. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
     - `provider`: (multiple options) (string) Cloud provider to be used for the selected resource (enum: aws, azure, civo, gcp, oci, cloudflare, coreweave, nebius, aiven, backblaze, akamai, byok) | (string) A string containing one or more references that resolve to cloud provider to be used for the selected resource (pattern: .*\${.*}.*)
     - `features`: [array of] (string) The type of provider integration. (enum: byoc, byoc-static-egress, byoc-custom-launch-templates, byoc-custom-vpc, byoc-logs, cloudfront, route53, registry-pull, registry-push, opentofu, workload-identity, workload-identity-managed)
     - `restrictions`: {object}
       - `enabled`: (boolean) (required) Enable or disable BYOC restrictions for this entity
       - `teams`: [array of] {object}
           - `teamId`: (string) (required) The ID of the team that has access to this BYOC cluster (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 45)
     - `credentials`: {object}
       - `keyfileJson`: (multiple options) (string) Contents of a GCP key file. | (string) A string containing one or more references that resolve to contents of a GCP key file. (pattern: .*\${.*}.*)
       - `accessKey`: (multiple options) (string) AWS access key. | (string) A string containing one or more references that resolve to aWS access key. (pattern: .*\${.*}.*)
       - `secretKey`: (multiple options) (string) AWS secret key. | (string) A string containing one or more references that resolve to aWS secret key. (pattern: .*\${.*}.*)
       - `roleArn`: (multiple options) (string) AWS IAM role ARN. | (string) A string containing one or more references that resolve to aWS IAM role ARN. (pattern: .*\${.*}.*)
       - `externalId`: (multiple options) (string) AWS shared secret (external id). | (string) A string containing one or more references that resolve to aWS shared secret (external id). (pattern: .*\${.*}.*)
       - `apiKey`: (multiple options) (string) API key. | (string) A string containing one or more references that resolve to aPI key. (pattern: .*\${.*}.*)
       - `email`: (multiple options) (string) Email address for Cloudflare global API key. (format: email) | (string) A string containing one or more references that resolve to email address for Cloudflare global API key. (pattern: .*\${.*}.*)
       - `tenantId`: (multiple options) (string) Directory (tenant) ID  | (string) A string containing one or more references that resolve to directory (tenant) ID  (pattern: .*\${.*}.*)
       - `clientId`: (multiple options) (string) Application (client) ID  | (string) A string containing one or more references that resolve to application (client) ID  (pattern: .*\${.*}.*)
       - `objectId`: (multiple options) (string) Object ID | (string) A string containing one or more references that resolve to object ID (pattern: .*\${.*}.*)
       - `secret`: (multiple options) (string) Secret | (string) A string containing one or more references that resolve to secret (pattern: .*\${.*}.*)
       - `subscriptionId`: (multiple options) (string) Azure Subscription ID | (string) A string containing one or more references that resolve to azure Subscription ID (pattern: .*\${.*}.*)
       - `region`: (multiple options) (string) OCI Authentication Region | (string) A string containing one or more references that resolve to oCI Authentication Region (pattern: .*\${.*}.*)
       - `tenancyId`: (multiple options) (string) OCI Tenancy ID | (string) A string containing one or more references that resolve to oCI Tenancy ID (pattern: .*\${.*}.*)
       - `userId`: (multiple options) (string) User ID | (string) A string containing one or more references that resolve to user ID (pattern: .*\${.*}.*)
       - `fingerprint`: (multiple options) (string) Fingerprint | (string) A string containing one or more references that resolve to fingerprint (pattern: .*\${.*}.*)
       - `privateKey`: (multiple options) (string) OCI Private Key | (string) A string containing one or more references that resolve to oCI Private Key (pattern: .*\${.*}.*)
       - `passphrase`: (multiple options) (string) Passphrase | (string) A string containing one or more references that resolve to passphrase (pattern: .*\${.*}.*)
       - `compartmentId`: (multiple options) (string) OCI Compartment ID | (string) A string containing one or more references that resolve to oCI Compartment ID (pattern: .*\${.*}.*)
       - `serviceAccountId`: (multiple options) (string) Nebius service account ID | (string) A string containing one or more references that resolve to nebius service account ID (pattern: .*\${.*}.*)
       - `publicKeyId`: (multiple options) (string) Nebius authorized public key ID | (string) A string containing one or more references that resolve to nebius authorized public key ID (pattern: .*\${.*}.*)
       - `privateKeyPem`: (multiple options) (string) Nebius private key in PEM format | (string) A string containing one or more references that resolve to nebius private key in PEM format (pattern: .*\${.*}.*)
       - `kubeconfig`: (multiple options) (string) Kubeconfig | (string) A string containing one or more references that resolve to kubeconfig (pattern: .*\${.*}.*)
       - `applicationKeyId`: (multiple options) (string) Backblaze Application Key ID | (string) A string containing one or more references that resolve to backblaze Application Key ID (pattern: .*\${.*}.*)
       - `applicationKey`: (multiple options) (string) Backblaze Application Key | (string) A string containing one or more references that resolve to backblaze Application Key (pattern: .*\${.*}.*)
       - `host`: (multiple options) (string) Akamai Host | (string) A string containing one or more references that resolve to akamai Host (pattern: .*\${.*}.*)
       - `accessToken`: (multiple options) (string) Akamai Access Token | (string) A string containing one or more references that resolve to akamai Access Token (pattern: .*\${.*}.*)
       - `clientToken`: (multiple options) (string) Akamai Client Token | (string) A string containing one or more references that resolve to akamai Client Token (pattern: .*\${.*}.*)
       - `clientSecret`: (multiple options) (string) Akamai Client Secret | (string) A string containing one or more references that resolve to akamai Client Secret (pattern: .*\${.*}.*)
     - `aws`: {object}
       - `authenticationMode`: (string) The provider authentication mode to use for this integration. (enum: accessKey, crossAccountRole)
       - `permissionCheckLevel`: (string) (enum: enabled, disabled, ignore-implicit-deny-by-organization)
     - `gcp`: {object}
       - `projectId`: (string) (required) GCP Project ID
       - `authenticationMode`: (string) The provider authentication mode to use for this integration. (enum: accessKey, crossAccountRole)
     - `cloudflare`: {object}
       - `credentialType`: (string) The type of api key (enum: apiToken, originCAKey, globalApiKey)
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: RolloutStrategy)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) Display name for the gradual rollout strategy | (string) A string containing one or more references that resolve to display name for the gradual rollout strategy (pattern: .*\${.*}.*)
     - `type`: (multiple options) (string) Type of the gradual rollout strategy (enum: canary) | (string) A string containing one or more references that resolve to type of the gradual rollout strategy (pattern: .*\${.*}.*)
     - `options`: (multiple options) {object}
         - `triggers`: (multiple options) {object}
             - `releaseFromTemplate`: (multiple options) (boolean) Automatically trigger the rollout strategy when a release is initiated from a template | (string) A string containing one or more references that resolve to automatically trigger the rollout strategy when a release is initiated from a template (pattern: .*\${.*}.*)
             - `releaseFromReleaseFlow`: (multiple options) (boolean) Automatically trigger the rollout strategy when a release is initiated from a release flow | (string) A string containing one or more references that resolve to automatically trigger the rollout strategy when a release is initiated from a release flow (pattern: .*\${.*}.*)
             - `releaseFromCD`: (multiple options) (boolean) Automatically trigger the rollout strategy when a release is initiated from a CD pipeline | (string) A string containing one or more references that resolve to automatically trigger the rollout strategy when a release is initiated from a CD pipeline (pattern: .*\${.*}.*)
             - `releaseFromUI`: (multiple options) (boolean) Automatically trigger the rollout strategy when a release is initiated from the UI | (string) A string containing one or more references that resolve to automatically trigger the rollout strategy when a release is initiated from the UI (pattern: .*\${.*}.*)
             - `releaseFromApi`: (multiple options) (boolean) Automatically trigger the rollout strategy when a release is initiated via the API | (string) A string containing one or more references that resolve to automatically trigger the rollout strategy when a release is initiated via the API (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to conditions under which a new release will automatically initiate as a gradual rollout (pattern: .*\${.*}.*)
         - `blockDeploymentOnActiveRollout`: (multiple options) (boolean) When enabled, new deployments are blocked while a rollout is in progress | (string) A string containing one or more references that resolve to when enabled, new deployments are blocked while a rollout is in progress (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
     - `details`: (multiple options) (multiple options) {object}
           - `canaryStrategy`: (multiple options) (string) Strategy used to split traffic between stable and canary deployments (enum: percentage, header) | (string) A string containing one or more references that resolve to strategy used to split traffic between stable and canary deployments (pattern: .*\${.*}.*)
           - `config`: (multiple options) (multiple options) {object}
                 - `canaryPercentage`: (multiple options) (integer) Percentage of traffic to route to the canary deployment | (string) A string containing one or more references that resolve to percentage of traffic to route to the canary deployment (pattern: .*\${.*}.*)
                 - `stablePercentage`: (multiple options) (integer) Percentage of traffic to route to the stable deployment | (string) A string containing one or more references that resolve to percentage of traffic to route to the stable deployment (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to configuration for the selected canary strategy (pattern: .*\${.*}.*) | (multiple options) {object}
                 - `canaryHeader`: {object}
                   - `headerName`: (multiple options) (string) HTTP header name used to identify requests that should be routed to the target deployment (min length: 1) | (string) A string containing one or more references that resolve to hTTP header name used to identify requests that should be routed to the target deployment (pattern: .*\${.*}.*)
                   - `headerValue`: (multiple options) (string) HTTP header value that routes matching requests to the target deployment (min length: 1) | (string) A string containing one or more references that resolve to hTTP header value that routes matching requests to the target deployment (pattern: .*\${.*}.*)
                 - `stableHeader`: {object}
                   - `headerName`: (multiple options) (string) HTTP header name used to identify requests that should be routed to the target deployment (min length: 1) | (string) A string containing one or more references that resolve to hTTP header name used to identify requests that should be routed to the target deployment (pattern: .*\${.*}.*)
                   - `headerValue`: (multiple options) (string) HTTP header value that routes matching requests to the target deployment (min length: 1) | (string) A string containing one or more references that resolve to hTTP header value that routes matching requests to the target deployment (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to configuration for the selected canary strategy (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to strategy-specific configuration details (pattern: .*\${.*}.*)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: RolloutStrategy)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) Display name for the gradual rollout strategy | (string) A string containing one or more references that resolve to display name for the gradual rollout strategy (pattern: .*\${.*}.*)
     - `type`: (multiple options) (string) Type of the gradual rollout strategy (enum: canary) | (string) A string containing one or more references that resolve to type of the gradual rollout strategy (pattern: .*\${.*}.*)
     - `options`: (multiple options) {object}
         - `triggers`: (multiple options) {object}
             - `releaseFromTemplate`: (multiple options) (boolean) Automatically trigger the rollout strategy when a release is initiated from a template | (string) A string containing one or more references that resolve to automatically trigger the rollout strategy when a release is initiated from a template (pattern: .*\${.*}.*)
             - `releaseFromReleaseFlow`: (multiple options) (boolean) Automatically trigger the rollout strategy when a release is initiated from a release flow | (string) A string containing one or more references that resolve to automatically trigger the rollout strategy when a release is initiated from a release flow (pattern: .*\${.*}.*)
             - `releaseFromCD`: (multiple options) (boolean) Automatically trigger the rollout strategy when a release is initiated from a CD pipeline | (string) A string containing one or more references that resolve to automatically trigger the rollout strategy when a release is initiated from a CD pipeline (pattern: .*\${.*}.*)
             - `releaseFromUI`: (multiple options) (boolean) Automatically trigger the rollout strategy when a release is initiated from the UI | (string) A string containing one or more references that resolve to automatically trigger the rollout strategy when a release is initiated from the UI (pattern: .*\${.*}.*)
             - `releaseFromApi`: (multiple options) (boolean) Automatically trigger the rollout strategy when a release is initiated via the API | (string) A string containing one or more references that resolve to automatically trigger the rollout strategy when a release is initiated via the API (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to conditions under which a new release will automatically initiate as a gradual rollout (pattern: .*\${.*}.*)
         - `blockDeploymentOnActiveRollout`: (multiple options) (boolean) When enabled, new deployments are blocked while a rollout is in progress | (string) A string containing one or more references that resolve to when enabled, new deployments are blocked while a rollout is in progress (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
     - `details`: (multiple options) (multiple options) {object}
           - `canaryStrategy`: (multiple options) (string) Strategy used to split traffic between stable and canary deployments (enum: percentage, header) | (string) A string containing one or more references that resolve to strategy used to split traffic between stable and canary deployments (pattern: .*\${.*}.*)
           - `config`: (multiple options) (multiple options) {object}
                 - `canaryPercentage`: (multiple options) (integer) Percentage of traffic to route to the canary deployment | (string) A string containing one or more references that resolve to percentage of traffic to route to the canary deployment (pattern: .*\${.*}.*)
                 - `stablePercentage`: (multiple options) (integer) Percentage of traffic to route to the stable deployment | (string) A string containing one or more references that resolve to percentage of traffic to route to the stable deployment (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to configuration for the selected canary strategy (pattern: .*\${.*}.*) | (multiple options) {object}
                 - `canaryHeader`: {object}
                   - `headerName`: (multiple options) (string) HTTP header name used to identify requests that should be routed to the target deployment (min length: 1) | (string) A string containing one or more references that resolve to hTTP header name used to identify requests that should be routed to the target deployment (pattern: .*\${.*}.*)
                   - `headerValue`: (multiple options) (string) HTTP header value that routes matching requests to the target deployment (min length: 1) | (string) A string containing one or more references that resolve to hTTP header value that routes matching requests to the target deployment (pattern: .*\${.*}.*)
                 - `stableHeader`: {object}
                   - `headerName`: (multiple options) (string) HTTP header name used to identify requests that should be routed to the target deployment (min length: 1) | (string) A string containing one or more references that resolve to hTTP header name used to identify requests that should be routed to the target deployment (pattern: .*\${.*}.*)
                   - `headerValue`: (multiple options) (string) HTTP header value that routes matching requests to the target deployment (min length: 1) | (string) A string containing one or more references that resolve to hTTP header value that routes matching requests to the target deployment (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to configuration for the selected canary strategy (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to strategy-specific configuration details (pattern: .*\${.*}.*)
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: BYOCCluster)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) The name of the cluster. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 20) | (string) A string containing one or more references that resolve to the name of the cluster. (pattern: .*\${.*}.*)
     - `description`: (string) The description of the cluster. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
     - `kubernetesVersion`: (multiple options) (string) Deprecated: This field is no longer used, the version is now set by the platform. | (string) A string containing one or more references that resolve to deprecated: This field is no longer used, the version is now set by the platform. (pattern: .*\${.*}.*)
     - `nodePools`: (multiple options) [array of] {object}
           - `id`: (string) (required) ID of existing node pool. Must be passed when modifying existing node pools. Not relevant for new node pools (pattern: (^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)|(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89ABab][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$)) (min length: 3) (max length: 63)
           - `nodeType`: (multiple options) (string) Machine type to be used by the node pool. | (string) A string containing one or more references that resolve to machine type to be used by the node pool. (pattern: .*\${.*}.*)
           - `oci`: {object}
             - `ocpu`: (integer) (required)
             - `memory`: (integer) (required)
           - `gcp`: {object}
             - `enablePrivateNodes`: (boolean) Set this flag to disable public IP assignment for nodes in this node pool.
           - `azure`: {object}
             - `systemPool`: (boolean) When 'provider' is 'azure', at least one system node pool is required per cluster.
             - `enablePublicNodeIp`: (boolean) When 'provider' is 'azure', set this flag to use public node IPs.
             - `vnetSubnetId`: (multiple options) (string) ID of the vnet subnet to use. | (string) A string containing one or more references that resolve to iD of the vnet subnet to use. (pattern: .*\${.*}.*)
           - `aws`: {object}
             - `launchTemplate`: {object}
               - `id`: (multiple options) (string) ID of the launch template to use. | (string) A string containing one or more references that resolve to iD of the launch template to use. (pattern: .*\${.*}.*)
               - `version`: (multiple options) (integer) Version of the launch template that should be used. | (string) A string containing one or more references that resolve to version of the launch template that should be used. (pattern: .*\${.*}.*)
           - `nebius`: {object}
             - `enablePublicNodeIps`: (boolean) Set this flag to assign public IPs to nodes in this node pool.
             - `osVersion`: (string) OS image version for nodes in this node pool.
             - `gpuDriverVersion`: (string) GPU driver version for nodes in this node pool.
             - `gpuClusterId`: (string) Nebius GPU cluster to attach the node pool to.
           - `nodeCount`: (multiple options) (integer) Number of nodes to the node pool should be provisioned with. | (string) A string containing one or more references that resolve to number of nodes to the node pool should be provisioned with. (pattern: .*\${.*}.*)
           - `autoscaling`: {object}
             - `enabled`: (multiple options) (boolean) Whether autoscaling is enabled for the node pool. | (string) A string containing one or more references that resolve to whether autoscaling is enabled for the node pool. (pattern: .*\${.*}.*)
             - `min`: (multiple options) (integer) The minimum number of nodes the node pool can be scaled down to. | (string) A string containing one or more references that resolve to the minimum number of nodes the node pool can be scaled down to. (pattern: .*\${.*}.*)
             - `max`: (multiple options) (integer) The maximum number of nodes the node pool can be scaled up to. | (string) A string containing one or more references that resolve to the maximum number of nodes the node pool can be scaled up to. (pattern: .*\${.*}.*)
           - `computeResources`: {object}
             - `gpu`: {object}
               - `timeslicing`: {object}
                 - `enabled`: (boolean) Whether or not to enable time-slicing on the GPU.
                 - `numSlices`: (number) Sets the amount of slices per GPU, e.g. how many pods may be scheduled concurrently on each GPU. (format: float)
           - `preemptible`: (boolean) Configures node pool with preemptible / spot instances if enabled.
           - `diskType`: (multiple options) (string) The disk type to use. | (string) A string containing one or more references that resolve to the disk type to use. (pattern: .*\${.*}.*)
           - `diskSize`: (multiple options) (integer) Disk size in GB | (string) A string containing one or more references that resolve to disk size in GB (pattern: .*\${.*}.*)
           - `availabilityZones`: [array of] (multiple options) (string) | (string) (pattern: .*\${.*}.*)
           - `subnets`: [array of] (multiple options) (string) | (string) (pattern: .*\${.*}.*)
           - `scheduling`: {object}
             - `allowJobs`: (boolean) Allow jobs to schedule to this node pool
             - `onlyGpuJobs`: (boolean) Restrict job scheduling to jobs which have GPU resources configured. Only relevant for GPU node pools.
             - `allowServices`: (boolean) Allow services to schedule to this node pool
             - `onlyGpuServices`: (boolean) Restrict service scheduling to services which have GPU resources configured. Only relevant for GPU node pools.
             - `allowAddons`: (boolean) Allow addons to schedule to this node pool
             - `allowBuilds`: (boolean) Allow builds to schedule to this node pool
             - `onlyGpuBuilds`: (boolean) Restrict build scheduling to builds which have GPU resources configured. Only relevant for GPU node pools.
             - `allowCeph`: (boolean) Allow the placement of Ceph pods
           - `labels`: {object} | [array of] {object}
           - `id`: (string) (required) ID of the node pool. Must be passed when modifying existing node pools. Not relevant for new node pools (pattern: (^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)|(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89ABab][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$)) (min length: 3) (max length: 63)
           - `providerId`: (string) (required) ID which identifies kubernetes nodes as belonging to this pool. (pattern: (^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)|(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89ABab][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$)) (min length: 3) (max length: 63)
           - `computeResources`: {object}
             - `gpu`: {object}
               - `supported`: (boolean) Whether this node pool consists of GPU nodes .
               - `type`: (string) GPU type associated with the node pool. (pattern: [a-z0-9])
               - `resources`: {object}
                 - `memoryInfo`: {object}
                   - `sizeInGiB`: (number) Memory amount of the GPU in Gib. (format: float)
               - `mig`: {object}
                 - `enabled`: (boolean) Whether or not to enable Multi-Instance GPU (MIG).
                 - `partitions`: [array of] (string)
               - `timeslicing`: {object}
                 - `enabled`: (boolean) Whether or not to enable time-slicing on the GPU.
                 - `numSlices`: (number) Sets the amount of slices per GPU, e.g. how many pods may be scheduled concurrently on each GPU. (format: float)
               - `count`: (integer) Number of GPUs per node.
           - `defaultPool`: (boolean) Fallback pool to which nodes which do not match any defined node pool are assigned. Exactly one default pool is required.
           - `preemptible`: (boolean) Configures node pool with preemptible / spot instances if enabled.
           - `scheduling`: {object}
             - `allowJobs`: (boolean) Allow jobs to schedule to this node pool
             - `onlyGpuJobs`: (boolean) Restrict job scheduling to jobs which have GPU resources configured. Only relevant for GPU node pools.
             - `allowServices`: (boolean) Allow services to schedule to this node pool
             - `onlyGpuServices`: (boolean) Restrict service scheduling to services which have GPU resources configured. Only relevant for GPU node pools.
             - `allowAddons`: (boolean) Allow addons to schedule to this node pool
             - `allowBuilds`: (boolean) Allow builds to schedule to this node pool
             - `onlyGpuBuilds`: (boolean) Restrict build scheduling to builds which have GPU resources configured. Only relevant for GPU node pools.
             - `allowCeph`: (boolean) Allow the placement of Ceph pods
           - `platform`: {object}
             - `architecture`: (string) Platform architecture of the underlying node type. (enum: amd64, arm64)
           - `labels`: {object}
     - `settings`: {object}
       - `builds`: {object}
         - `mode`: (multiple options) (string) Determines where builds are run: on Northflank infrastructure (paas), on this cluster (internal) or on a dedicated build cluster (build-cluster). (enum: paas, internal, build-cluster) | (string) A string containing one or more references that resolve to determines where builds are run: on Northflank infrastructure (paas), on this cluster (internal) or on a dedicated build cluster (build-cluster). (pattern: .*\${.*}.*)
         - `plan`: (multiple options) (string) Plan to use for builds if they are run on the cluster (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to plan to use for builds if they are run on the cluster (pattern: .*\${.*}.*)
         - `clusterId`: (multiple options) (string) Cluster to use for scheduling builds (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to cluster to use for scheduling builds (pattern: .*\${.*}.*)
         - `caching`: {object}
           - `allow`: (boolean) Whether to allow local disk based caching for builds.
           - `storageClassName`: (string) Storage class used by default for local disk based caching.
       - `registry`: {object}
         - `mode`: (multiple options) (string) Determines where built images are stored: in the Northflank registry (paas) or in a self-hosted registry. (enum: paas, self-hosted) | (string) A string containing one or more references that resolve to determines where built images are stored: in the Northflank registry (paas) or in a self-hosted registry. (pattern: .*\${.*}.*)
         - `registryId`: (multiple options) (string) Credentials to use for storing of images. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to credentials to use for storing of images. (pattern: .*\${.*}.*)
       - `logging`: (multiple options) {object}
           - `mode`: (multiple options) (string) The logging mode. `paas` stores logs on Northflank infrastructure. (enum: paas) | (string) A string containing one or more references that resolve to the logging mode. `paas` stores logs on Northflank infrastructure. (pattern: .*\${.*}.*) | {object}
           - `mode`: (multiple options) (string) The logging mode. `loki` stores logs in your own storage via Loki. (enum: loki) | (string) A string containing one or more references that resolve to the logging mode. `loki` stores logs in your own storage via Loki. (pattern: .*\${.*}.*)
           - `loki`: {object}
             - `storageType`: (string) (required) (enum: s3)
             - `s3BucketName`: (multiple options) (string) Name of the S3 bucket used for Loki log storage. | (string) A string containing one or more references that resolve to name of the S3 bucket used for Loki log storage. (pattern: .*\${.*}.*)
             - `s3AccessKey`: (multiple options) (string) Access key for the S3 bucket used for Loki log storage. | (string) A string containing one or more references that resolve to access key for the S3 bucket used for Loki log storage. (pattern: .*\${.*}.*)
             - `s3SecretKey`: (multiple options) (string) Secret key for the S3 bucket used for Loki log storage. | (string) A string containing one or more references that resolve to secret key for the S3 bucket used for Loki log storage. (pattern: .*\${.*}.*)
             - `s3Region`: (multiple options) (string) Region of the S3 bucket used for Loki log storage. | (string) A string containing one or more references that resolve to region of the S3 bucket used for Loki log storage. (pattern: .*\${.*}.*) | {object}
           - `mode`: (multiple options) (string) The logging mode. `loki` stores logs in your own storage via Loki. (enum: loki) | (string) A string containing one or more references that resolve to the logging mode. `loki` stores logs in your own storage via Loki. (pattern: .*\${.*}.*)
           - `loki`: {object}
             - `storageType`: (string) (required) (enum: gcs)
             - `gcsBucketName`: (multiple options) (string) Name of the GCS bucket used for Loki log storage. | (string) A string containing one or more references that resolve to name of the GCS bucket used for Loki log storage. (pattern: .*\${.*}.*)
             - `gcpIntegrationId`: (multiple options) (string) ID of the GCP integration used to access the GCS bucket. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to iD of the GCP integration used to access the GCS bucket. (pattern: .*\${.*}.*)
       - `networking`: {object}
         - `overlayNetwork`: (boolean) Whether overlay networking is enabled for this cluster.
         - `overlayCIDR`: (string) CIDR range for the overlay network. (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$)
       - `vanityDomains`: {object}
         - `apps`: {object}
           - `zoneName`: (string) (required)
           - `integrationId`: (string) (required)
         - `customDomains`: {object}
           - `zoneName`: (string) (required)
           - `integrationId`: (string) (required)
         - `loadBalancers`: {object}
           - `zoneName`: (string) (required)
           - `integrationId`: (string) (required)
       - `infrastructure`: {object}
         - `workloads`: {object}
           - `runtimeClass`: (multiple options) (string) Defines which runtime scheduling constraints apply for workloads (enum: none, gvisor, kata-clh, kata-qemu) | (string) A string containing one or more references that resolve to defines which runtime scheduling constraints apply for workloads (pattern: .*\${.*}.*)
         - `builds`: {object}
           - `runtimeClass`: (multiple options) (string) Defines which runtime scheduling constraints apply for builds (enum: none, gvisor, kata-clh, kata-qemu) | (string) A string containing one or more references that resolve to defines which runtime scheduling constraints apply for builds (pattern: .*\${.*}.*)
         - `sandboxing`: {object}
           - `installGvisor`: (boolean)
           - `installMicroVm`: (boolean)
           - `defaultSandbox`: {object}
             - `builds`: (multiple options) (string) Default runtime class used for builds if none is configured (enum: none, gvisor, kata-clh, kata-qemu) | (string) A string containing one or more references that resolve to default runtime class used for builds if none is configured (pattern: .*\${.*}.*)
             - `jobs`: (multiple options) (string) Default runtime class used for jobs if none is configured (enum: none, gvisor, kata-clh, kata-qemu) | (string) A string containing one or more references that resolve to default runtime class used for jobs if none is configured (pattern: .*\${.*}.*)
             - `services`: (multiple options) (string) Default runtime class used for services if none is configured (enum: none, gvisor, kata-clh, kata-qemu) | (string) A string containing one or more references that resolve to default runtime class used for services if none is configured (pattern: .*\${.*}.*)
             - `addons`: (multiple options) (string) Default runtime class used for addons if none is configured (enum: none, gvisor, kata-clh, kata-qemu) | (string) A string containing one or more references that resolve to default runtime class used for addons if none is configured (pattern: .*\${.*}.*)
         - `installKata`: (boolean) DEPRECATED: This field will be removed in the near future.
         - `installGvisor`: (boolean) DEPRECATED: This field will be removed in the near future.
         - `cleanupVolumes`: (boolean)
         - `cleanupSnapshots`: (boolean)
         - `cephStorageProvider`: {object}
           - `enabled`: (boolean)
           - `resources`: {object}
             - `cpu`: (number) Configure the CPU resources per Ceph replica (format: float)
             - `memory`: (number) Configure the memory resources per Ceph replica (format: float)
             - `storage`: (number) Configure the data disk size per Ceph replica (format: float)
           - `enableMultiReadWriteStorage`: (boolean) Configure Ceph to be enable use of multi read write storage for persistent volumes on the cluster.
           - `enableSingleReadWriteStorage`: (boolean) Configure Ceph to be used as default storage class for single read write storage. This will replace the default storage of the cloud provider.
           - `enableErasureCoding`: (boolean) Configure Ceph to be set up with erasure coding. This will be less fault tolerant but more cost effective.
           - `enableTopologyAwareScheduling`: (boolean) Configure Ceph to be set up with topology aware scheduling, enforcing deployment across multiple zones.
       - `requestModifiers`: {object}
         - `services`: {object}
           - `cpu`: (number) (required) (format: float)
           - `memory`: (number) (required) (format: float)
         - `jobs`: {object}
           - `cpu`: (number) (required) (format: float)
           - `memory`: (number) (required) (format: float)
         - `builds`: {object}
           - `cpu`: (number) (required) (format: float)
           - `memory`: (number) (required) (format: float)
         - `addons`: {object}
           - `cpu`: (number) (required) (format: float)
           - `memory`: (number) (required) (format: float)
     - `restrictions`: {object}
       - `enabled`: (boolean) (required) Enable or disable BYOC restrictions for this entity
       - `teams`: [array of] {object}
           - `teamId`: (string) (required) The ID of the team that has access to this BYOC cluster (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 45)
     - `gcp`: {object}
       - `networking`: {object}
         - `network`: (multiple options) (string) Name of the GCP network the cluster should be created in. By default a new network will be created. | (string) A string containing one or more references that resolve to name of the GCP network the cluster should be created in. By default a new network will be created. (pattern: .*\${.*}.*)
         - `subnetwork`: (multiple options) (string) Name of the GCP subnetwork the cluster should be created in. By default a new subnetwork will be created. | (string) A string containing one or more references that resolve to name of the GCP subnetwork the cluster should be created in. By default a new subnetwork will be created. (pattern: .*\${.*}.*)
       - `enableAuthorizedIpRanges`: (multiple options) (boolean) Whether access to the Kubernetes API server should be restricted to authorized IP ranges. | (string) A string containing one or more references that resolve to whether access to the Kubernetes API server should be restricted to authorized IP ranges. (pattern: .*\${.*}.*)
       - `authorizedIpRanges`: (multiple options) [array of] (string) (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$) | (string) A string containing one or more references that resolve to iP ranges that are authorized to access the Kubernetes API server. (pattern: .*\${.*}.*)
       - `projectId`: (multiple options) (string) GCP Project ID (pattern: ^[a-z][a-z0-9-]{4,28}[a-z0-9]$) | (string) A string containing one or more references that resolve to gCP Project ID (pattern: .*\${.*}.*)
     - `aws`: {object}
       - `enablePublicAccessCidrs`: (multiple options) (boolean) Whether access to the public Kubernetes API endpoint should be restricted to specific CIDR ranges. | (string) A string containing one or more references that resolve to whether access to the public Kubernetes API endpoint should be restricted to specific CIDR ranges. (pattern: .*\${.*}.*)
       - `publicAccessCidrs`: (multiple options) [array of] (string) (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$) | (string) A string containing one or more references that resolve to cIDR ranges that are allowed to access the public Kubernetes API endpoint. (pattern: .*\${.*}.*)
       - `subnetConfiguration`: {object}
         - `mode`: (multiple options) (string) The mode of the AWS subnet configuration (enum: default-subnets-for-azs, explicit-subnets) | (string) A string containing one or more references that resolve to the mode of the AWS subnet configuration (pattern: .*\${.*}.*)
         - `vpcId`: (multiple options) (string) Id of the VPC | (string) A string containing one or more references that resolve to id of the VPC (pattern: .*\${.*}.*)
         - `subnets`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to list of subnets the cluster should be created for. At least 2 must be specified. (pattern: .*\${.*}.*)
       - `vpcEgress`: (multiple options) (boolean) If egress traffic from the cluster should come from a single static egress IP. | (string) A string containing one or more references that resolve to if egress traffic from the cluster should come from a single static egress IP. (pattern: .*\${.*}.*)
     - `azure`: {object}
       - `networking`: {object}
         - `vnetConfiguration`: {object}
           - `mode`: (multiple options) (string) The vnet mode to use for this cluster. Use this to switch between creation of a new vnet per cluster or specifying a custom vnet. (enum: create-default, custom-vnet) | (string) A string containing one or more references that resolve to the vnet mode to use for this cluster. Use this to switch between creation of a new vnet per cluster or specifying a custom vnet. (pattern: .*\${.*}.*)
           - `vnetId`: (multiple options) (string) Azure vnetId that should be used for this cluster. By default a new vnet will be created. | (string) A string containing one or more references that resolve to azure vnetId that should be used for this cluster. By default a new vnet will be created. (pattern: .*\${.*}.*)
         - `networkPluginMode`: (multiple options) (string) Optional setting to configure overlay mode on Azure. (enum: overlay) | (string) A string containing one or more references that resolve to optional setting to configure overlay mode on Azure. (pattern: .*\${.*}.*)
       - `enableAuthorizedIpRanges`: (multiple options) (boolean) Whether access to the Kubernetes API server should be restricted to authorized IP ranges. | (string) A string containing one or more references that resolve to whether access to the Kubernetes API server should be restricted to authorized IP ranges. (pattern: .*\${.*}.*)
       - `authorizedIpRanges`: (multiple options) [array of] (string) (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$) | (string) A string containing one or more references that resolve to iP ranges that are authorized to access the Kubernetes API server. (pattern: .*\${.*}.*)
     - `byok`: {object}
       - `nodePoolProviderIdLabel`: (multiple options) (string) The node label used to identify which provider node pool a node belongs to. | (string) A string containing one or more references that resolve to the node label used to identify which provider node pool a node belongs to. (pattern: .*\${.*}.*)
     - `coordinates`: {object}
       - `latitude`: (number) (required) (format: float)
       - `longitude`: (number) (required) (format: float)
     - `region`: (multiple options) (string) Region of the cluster. Can only be updated for BYOK clusters. | (string) A string containing one or more references that resolve to region of the cluster. Can only be updated for BYOK clusters. (pattern: .*\${.*}.*)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: BYOCCluster)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) The name of the cluster. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 20) | (string) A string containing one or more references that resolve to the name of the cluster. (pattern: .*\${.*}.*)
     - `description`: (string) The description of the cluster. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
     - `provider`: (multiple options) (string) Cloud provider to be used for the selected resource (enum: aws, azure, civo, gcp, oci, cloudflare, coreweave, nebius, aiven, backblaze, akamai, byok) | (string) A string containing one or more references that resolve to cloud provider to be used for the selected resource (pattern: .*\${.*}.*)
     - `region`: (string) Region of the cluster. Can only be updated for BYOK clusters.
     - `kubernetesVersion`: (multiple options) (string) Deprecated: This field is no longer used, the version is now set by the platform. | (string) A string containing one or more references that resolve to deprecated: This field is no longer used, the version is now set by the platform. (pattern: .*\${.*}.*)
     - `integrationId`: (multiple options) (string) Existing integration to use for this cluster. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to existing integration to use for this cluster. (pattern: .*\${.*}.*)
     - `storage`: {object}
       - `storageClasses`: [array of] {object}
           - `id`: (string) (required)
           - `name`: (string) (required)
           - `description`: (string)
           - `type`: (string) (enum: storage-class, snapshot-class)
           - `kubernetesName`: (string) (required)
           - `defaultSnapshotClass`: (string)
           - `options`: {object}
             - `capabilities`: {object}
               - `expansion`: (boolean) Increasing volume size after provisioning.
               - `snapshot`: (boolean) Point in time snapshotting of volumes.
             - `accessModes`: {object}
               - `ReadWriteOnce`: (boolean) Access mode where a volume is exclusively attached to a single pod at a time.
               - `ReadWriteMany`: (boolean) Access mode where a volume can be attached to multiple single pods at a time for read and write operations.
             - `storageSize`: {object}
               - `minValidSize`: (integer) Enforces a minimum storage size per addon or volume.
               - `maxValidSize`: (integer) Enforces a maximum storage size per addon or volume.
               - `suggestedOptions`: [array of] (integer)
             - `platform`: {object}
               - `supportedResources`: [array of] (string) (enum: addon, volume, build-cache)
       - `snapshotClasses`: [array of] {object}
           - `id`: (string) (required)
           - `name`: (string) (required)
           - `description`: (string)
           - `kubernetesName`: (string) (required)
     - `nodePools`: (multiple options) [array of] {object}
           - `id`: (string) (required) ID of existing node pool. Must be passed when modifying existing node pools. Not relevant for new node pools (pattern: (^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)|(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89ABab][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$)) (min length: 3) (max length: 63)
           - `nodeType`: (multiple options) (string) Machine type to be used by the node pool. | (string) A string containing one or more references that resolve to machine type to be used by the node pool. (pattern: .*\${.*}.*)
           - `oci`: {object}
             - `ocpu`: (integer) (required)
             - `memory`: (integer) (required)
           - `gcp`: {object}
             - `enablePrivateNodes`: (boolean) Set this flag to disable public IP assignment for nodes in this node pool.
           - `azure`: {object}
             - `systemPool`: (boolean) When 'provider' is 'azure', at least one system node pool is required per cluster.
             - `enablePublicNodeIp`: (boolean) When 'provider' is 'azure', set this flag to use public node IPs.
             - `vnetSubnetId`: (multiple options) (string) ID of the vnet subnet to use. | (string) A string containing one or more references that resolve to iD of the vnet subnet to use. (pattern: .*\${.*}.*)
           - `aws`: {object}
             - `launchTemplate`: {object}
               - `id`: (multiple options) (string) ID of the launch template to use. | (string) A string containing one or more references that resolve to iD of the launch template to use. (pattern: .*\${.*}.*)
               - `version`: (multiple options) (integer) Version of the launch template that should be used. | (string) A string containing one or more references that resolve to version of the launch template that should be used. (pattern: .*\${.*}.*)
           - `nebius`: {object}
             - `enablePublicNodeIps`: (boolean) Set this flag to assign public IPs to nodes in this node pool.
             - `osVersion`: (string) OS image version for nodes in this node pool.
             - `gpuDriverVersion`: (string) GPU driver version for nodes in this node pool.
             - `gpuClusterId`: (string) Nebius GPU cluster to attach the node pool to.
           - `nodeCount`: (multiple options) (integer) Number of nodes to the node pool should be provisioned with. | (string) A string containing one or more references that resolve to number of nodes to the node pool should be provisioned with. (pattern: .*\${.*}.*)
           - `autoscaling`: {object}
             - `enabled`: (multiple options) (boolean) Whether autoscaling is enabled for the node pool. | (string) A string containing one or more references that resolve to whether autoscaling is enabled for the node pool. (pattern: .*\${.*}.*)
             - `min`: (multiple options) (integer) The minimum number of nodes the node pool can be scaled down to. | (string) A string containing one or more references that resolve to the minimum number of nodes the node pool can be scaled down to. (pattern: .*\${.*}.*)
             - `max`: (multiple options) (integer) The maximum number of nodes the node pool can be scaled up to. | (string) A string containing one or more references that resolve to the maximum number of nodes the node pool can be scaled up to. (pattern: .*\${.*}.*)
           - `computeResources`: {object}
             - `gpu`: {object}
               - `timeslicing`: {object}
                 - `enabled`: (boolean) Whether or not to enable time-slicing on the GPU.
                 - `numSlices`: (number) Sets the amount of slices per GPU, e.g. how many pods may be scheduled concurrently on each GPU. (format: float)
           - `preemptible`: (boolean) Configures node pool with preemptible / spot instances if enabled.
           - `diskType`: (multiple options) (string) The disk type to use. | (string) A string containing one or more references that resolve to the disk type to use. (pattern: .*\${.*}.*)
           - `diskSize`: (multiple options) (integer) Disk size in GB | (string) A string containing one or more references that resolve to disk size in GB (pattern: .*\${.*}.*)
           - `availabilityZones`: [array of] (multiple options) (string) | (string) (pattern: .*\${.*}.*)
           - `subnets`: [array of] (multiple options) (string) | (string) (pattern: .*\${.*}.*)
           - `scheduling`: {object}
             - `allowJobs`: (boolean) Allow jobs to schedule to this node pool
             - `onlyGpuJobs`: (boolean) Restrict job scheduling to jobs which have GPU resources configured. Only relevant for GPU node pools.
             - `allowServices`: (boolean) Allow services to schedule to this node pool
             - `onlyGpuServices`: (boolean) Restrict service scheduling to services which have GPU resources configured. Only relevant for GPU node pools.
             - `allowAddons`: (boolean) Allow addons to schedule to this node pool
             - `allowBuilds`: (boolean) Allow builds to schedule to this node pool
             - `onlyGpuBuilds`: (boolean) Restrict build scheduling to builds which have GPU resources configured. Only relevant for GPU node pools.
             - `allowCeph`: (boolean) Allow the placement of Ceph pods
           - `labels`: {object} | [array of] {object}
           - `id`: (string) (required) ID of the node pool. Must be passed when modifying existing node pools. Not relevant for new node pools (pattern: (^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)|(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89ABab][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$)) (min length: 3) (max length: 63)
           - `providerId`: (string) (required) ID which identifies kubernetes nodes as belonging to this pool. (pattern: (^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)|(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89ABab][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$)) (min length: 3) (max length: 63)
           - `computeResources`: {object}
             - `gpu`: {object}
               - `supported`: (boolean) Whether this node pool consists of GPU nodes .
               - `type`: (string) GPU type associated with the node pool. (pattern: [a-z0-9])
               - `resources`: {object}
                 - `memoryInfo`: {object}
                   - `sizeInGiB`: (number) Memory amount of the GPU in Gib. (format: float)
               - `mig`: {object}
                 - `enabled`: (boolean) Whether or not to enable Multi-Instance GPU (MIG).
                 - `partitions`: [array of] (string)
               - `timeslicing`: {object}
                 - `enabled`: (boolean) Whether or not to enable time-slicing on the GPU.
                 - `numSlices`: (number) Sets the amount of slices per GPU, e.g. how many pods may be scheduled concurrently on each GPU. (format: float)
               - `count`: (integer) Number of GPUs per node.
           - `defaultPool`: (boolean) Fallback pool to which nodes which do not match any defined node pool are assigned. Exactly one default pool is required.
           - `preemptible`: (boolean) Configures node pool with preemptible / spot instances if enabled.
           - `scheduling`: {object}
             - `allowJobs`: (boolean) Allow jobs to schedule to this node pool
             - `onlyGpuJobs`: (boolean) Restrict job scheduling to jobs which have GPU resources configured. Only relevant for GPU node pools.
             - `allowServices`: (boolean) Allow services to schedule to this node pool
             - `onlyGpuServices`: (boolean) Restrict service scheduling to services which have GPU resources configured. Only relevant for GPU node pools.
             - `allowAddons`: (boolean) Allow addons to schedule to this node pool
             - `allowBuilds`: (boolean) Allow builds to schedule to this node pool
             - `onlyGpuBuilds`: (boolean) Restrict build scheduling to builds which have GPU resources configured. Only relevant for GPU node pools.
             - `allowCeph`: (boolean) Allow the placement of Ceph pods
           - `platform`: {object}
             - `architecture`: (string) Platform architecture of the underlying node type. (enum: amd64, arm64)
           - `labels`: {object}
     - `settings`: {object}
       - `builds`: {object}
         - `mode`: (multiple options) (string) Determines where builds are run: on Northflank infrastructure (paas), on this cluster (internal) or on a dedicated build cluster (build-cluster). (enum: paas, internal, build-cluster) | (string) A string containing one or more references that resolve to determines where builds are run: on Northflank infrastructure (paas), on this cluster (internal) or on a dedicated build cluster (build-cluster). (pattern: .*\${.*}.*)
         - `plan`: (multiple options) (string) Plan to use for builds if they are run on the cluster (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to plan to use for builds if they are run on the cluster (pattern: .*\${.*}.*)
         - `clusterId`: (multiple options) (string) Cluster to use for scheduling builds (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to cluster to use for scheduling builds (pattern: .*\${.*}.*)
         - `caching`: {object}
           - `allow`: (boolean) Whether to allow local disk based caching for builds.
           - `storageClassName`: (string) Storage class used by default for local disk based caching.
       - `registry`: {object}
         - `mode`: (multiple options) (string) Determines where built images are stored: in the Northflank registry (paas) or in a self-hosted registry. (enum: paas, self-hosted) | (string) A string containing one or more references that resolve to determines where built images are stored: in the Northflank registry (paas) or in a self-hosted registry. (pattern: .*\${.*}.*)
         - `registryId`: (multiple options) (string) Credentials to use for storing of images. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to credentials to use for storing of images. (pattern: .*\${.*}.*)
       - `logging`: (multiple options) {object}
           - `mode`: (multiple options) (string) The logging mode. `paas` stores logs on Northflank infrastructure. (enum: paas) | (string) A string containing one or more references that resolve to the logging mode. `paas` stores logs on Northflank infrastructure. (pattern: .*\${.*}.*) | {object}
           - `mode`: (multiple options) (string) The logging mode. `loki` stores logs in your own storage via Loki. (enum: loki) | (string) A string containing one or more references that resolve to the logging mode. `loki` stores logs in your own storage via Loki. (pattern: .*\${.*}.*)
           - `loki`: {object}
             - `storageType`: (string) (required) (enum: s3)
             - `s3BucketName`: (multiple options) (string) Name of the S3 bucket used for Loki log storage. | (string) A string containing one or more references that resolve to name of the S3 bucket used for Loki log storage. (pattern: .*\${.*}.*)
             - `s3AccessKey`: (multiple options) (string) Access key for the S3 bucket used for Loki log storage. | (string) A string containing one or more references that resolve to access key for the S3 bucket used for Loki log storage. (pattern: .*\${.*}.*)
             - `s3SecretKey`: (multiple options) (string) Secret key for the S3 bucket used for Loki log storage. | (string) A string containing one or more references that resolve to secret key for the S3 bucket used for Loki log storage. (pattern: .*\${.*}.*)
             - `s3Region`: (multiple options) (string) Region of the S3 bucket used for Loki log storage. | (string) A string containing one or more references that resolve to region of the S3 bucket used for Loki log storage. (pattern: .*\${.*}.*) | {object}
           - `mode`: (multiple options) (string) The logging mode. `loki` stores logs in your own storage via Loki. (enum: loki) | (string) A string containing one or more references that resolve to the logging mode. `loki` stores logs in your own storage via Loki. (pattern: .*\${.*}.*)
           - `loki`: {object}
             - `storageType`: (string) (required) (enum: gcs)
             - `gcsBucketName`: (multiple options) (string) Name of the GCS bucket used for Loki log storage. | (string) A string containing one or more references that resolve to name of the GCS bucket used for Loki log storage. (pattern: .*\${.*}.*)
             - `gcpIntegrationId`: (multiple options) (string) ID of the GCP integration used to access the GCS bucket. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to iD of the GCP integration used to access the GCS bucket. (pattern: .*\${.*}.*)
       - `networking`: {object}
         - `overlayNetwork`: (boolean) Whether overlay networking is enabled for this cluster.
         - `overlayCIDR`: (string) CIDR range for the overlay network. (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$)
       - `vanityDomains`: {object}
         - `apps`: {object}
           - `zoneName`: (string) (required)
           - `integrationId`: (string) (required)
         - `customDomains`: {object}
           - `zoneName`: (string) (required)
           - `integrationId`: (string) (required)
         - `loadBalancers`: {object}
           - `zoneName`: (string) (required)
           - `integrationId`: (string) (required)
       - `infrastructure`: {object}
         - `workloads`: {object}
           - `runtimeClass`: (multiple options) (string) Defines which runtime scheduling constraints apply for workloads (enum: none, gvisor, kata-clh, kata-qemu) | (string) A string containing one or more references that resolve to defines which runtime scheduling constraints apply for workloads (pattern: .*\${.*}.*)
         - `builds`: {object}
           - `runtimeClass`: (multiple options) (string) Defines which runtime scheduling constraints apply for builds (enum: none, gvisor, kata-clh, kata-qemu) | (string) A string containing one or more references that resolve to defines which runtime scheduling constraints apply for builds (pattern: .*\${.*}.*)
         - `sandboxing`: {object}
           - `installGvisor`: (boolean)
           - `installMicroVm`: (boolean)
           - `defaultSandbox`: {object}
             - `builds`: (multiple options) (string) Default runtime class used for builds if none is configured (enum: none, gvisor, kata-clh, kata-qemu) | (string) A string containing one or more references that resolve to default runtime class used for builds if none is configured (pattern: .*\${.*}.*)
             - `jobs`: (multiple options) (string) Default runtime class used for jobs if none is configured (enum: none, gvisor, kata-clh, kata-qemu) | (string) A string containing one or more references that resolve to default runtime class used for jobs if none is configured (pattern: .*\${.*}.*)
             - `services`: (multiple options) (string) Default runtime class used for services if none is configured (enum: none, gvisor, kata-clh, kata-qemu) | (string) A string containing one or more references that resolve to default runtime class used for services if none is configured (pattern: .*\${.*}.*)
             - `addons`: (multiple options) (string) Default runtime class used for addons if none is configured (enum: none, gvisor, kata-clh, kata-qemu) | (string) A string containing one or more references that resolve to default runtime class used for addons if none is configured (pattern: .*\${.*}.*)
         - `installKata`: (boolean) DEPRECATED: This field will be removed in the near future.
         - `installGvisor`: (boolean) DEPRECATED: This field will be removed in the near future.
         - `cleanupVolumes`: (boolean)
         - `cleanupSnapshots`: (boolean)
         - `cephStorageProvider`: {object}
           - `enabled`: (boolean)
           - `resources`: {object}
             - `cpu`: (number) Configure the CPU resources per Ceph replica (format: float)
             - `memory`: (number) Configure the memory resources per Ceph replica (format: float)
             - `storage`: (number) Configure the data disk size per Ceph replica (format: float)
           - `enableMultiReadWriteStorage`: (boolean) Configure Ceph to be enable use of multi read write storage for persistent volumes on the cluster.
           - `enableSingleReadWriteStorage`: (boolean) Configure Ceph to be used as default storage class for single read write storage. This will replace the default storage of the cloud provider.
           - `enableErasureCoding`: (boolean) Configure Ceph to be set up with erasure coding. This will be less fault tolerant but more cost effective.
           - `enableTopologyAwareScheduling`: (boolean) Configure Ceph to be set up with topology aware scheduling, enforcing deployment across multiple zones.
       - `requestModifiers`: {object}
         - `services`: {object}
           - `cpu`: (number) (required) (format: float)
           - `memory`: (number) (required) (format: float)
         - `jobs`: {object}
           - `cpu`: (number) (required) (format: float)
           - `memory`: (number) (required) (format: float)
         - `builds`: {object}
           - `cpu`: (number) (required) (format: float)
           - `memory`: (number) (required) (format: float)
         - `addons`: {object}
           - `cpu`: (number) (required) (format: float)
           - `memory`: (number) (required) (format: float)
     - `restrictions`: {object}
       - `enabled`: (boolean) (required) Enable or disable BYOC restrictions for this entity
       - `teams`: [array of] {object}
           - `teamId`: (string) (required) The ID of the team that has access to this BYOC cluster (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 45)
     - `gcp`: {object}
       - `networking`: {object}
         - `network`: (multiple options) (string) Name of the GCP network the cluster should be created in. By default a new network will be created. | (string) A string containing one or more references that resolve to name of the GCP network the cluster should be created in. By default a new network will be created. (pattern: .*\${.*}.*)
         - `subnetwork`: (multiple options) (string) Name of the GCP subnetwork the cluster should be created in. By default a new subnetwork will be created. | (string) A string containing one or more references that resolve to name of the GCP subnetwork the cluster should be created in. By default a new subnetwork will be created. (pattern: .*\${.*}.*)
       - `enableAuthorizedIpRanges`: (multiple options) (boolean) Whether access to the Kubernetes API server should be restricted to authorized IP ranges. | (string) A string containing one or more references that resolve to whether access to the Kubernetes API server should be restricted to authorized IP ranges. (pattern: .*\${.*}.*)
       - `authorizedIpRanges`: (multiple options) [array of] (string) (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$) | (string) A string containing one or more references that resolve to iP ranges that are authorized to access the Kubernetes API server. (pattern: .*\${.*}.*)
       - `projectId`: (multiple options) (string) GCP Project ID (pattern: ^[a-z][a-z0-9-]{4,28}[a-z0-9]$) | (string) A string containing one or more references that resolve to gCP Project ID (pattern: .*\${.*}.*)
     - `aws`: {object}
       - `enablePublicAccessCidrs`: (multiple options) (boolean) Whether access to the public Kubernetes API endpoint should be restricted to specific CIDR ranges. | (string) A string containing one or more references that resolve to whether access to the public Kubernetes API endpoint should be restricted to specific CIDR ranges. (pattern: .*\${.*}.*)
       - `publicAccessCidrs`: (multiple options) [array of] (string) (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$) | (string) A string containing one or more references that resolve to cIDR ranges that are allowed to access the public Kubernetes API endpoint. (pattern: .*\${.*}.*)
       - `subnetConfiguration`: {object}
         - `mode`: (multiple options) (string) The mode of the AWS subnet configuration (enum: default-subnets-for-azs, explicit-subnets) | (string) A string containing one or more references that resolve to the mode of the AWS subnet configuration (pattern: .*\${.*}.*)
         - `vpcId`: (multiple options) (string) Id of the VPC | (string) A string containing one or more references that resolve to id of the VPC (pattern: .*\${.*}.*)
         - `subnets`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to list of subnets the cluster should be created for. At least 2 must be specified. (pattern: .*\${.*}.*)
       - `vpcEgress`: (multiple options) (boolean) If egress traffic from the cluster should come from a single static egress IP. | (string) A string containing one or more references that resolve to if egress traffic from the cluster should come from a single static egress IP. (pattern: .*\${.*}.*)
     - `oci`: {object}
       - `vcnConfiguration`: {object}
         - `vcnId`: (multiple options) (string) ID of the OCI VCN the cluster should be created in. | (string) A string containing one or more references that resolve to iD of the OCI VCN the cluster should be created in. (pattern: .*\${.*}.*)
         - `subnetIdForKubernetesApi`: (multiple options) (string) ID of the subnet to use for the Kubernetes API endpoint. | (string) A string containing one or more references that resolve to iD of the subnet to use for the Kubernetes API endpoint. (pattern: .*\${.*}.*)
         - `subnetIdsForServiceLBs`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to iDs of the subnets to use for service load balancers. (pattern: .*\${.*}.*)
     - `azure`: {object}
       - `networking`: {object}
         - `vnetConfiguration`: {object}
           - `mode`: (multiple options) (string) The vnet mode to use for this cluster. Use this to switch between creation of a new vnet per cluster or specifying a custom vnet. (enum: create-default, custom-vnet) | (string) A string containing one or more references that resolve to the vnet mode to use for this cluster. Use this to switch between creation of a new vnet per cluster or specifying a custom vnet. (pattern: .*\${.*}.*)
           - `vnetId`: (multiple options) (string) Azure vnetId that should be used for this cluster. By default a new vnet will be created. | (string) A string containing one or more references that resolve to azure vnetId that should be used for this cluster. By default a new vnet will be created. (pattern: .*\${.*}.*)
         - `networkPluginMode`: (multiple options) (string) Optional setting to configure overlay mode on Azure. (enum: overlay) | (string) A string containing one or more references that resolve to optional setting to configure overlay mode on Azure. (pattern: .*\${.*}.*)
       - `enableAuthorizedIpRanges`: (multiple options) (boolean) Whether access to the Kubernetes API server should be restricted to authorized IP ranges. | (string) A string containing one or more references that resolve to whether access to the Kubernetes API server should be restricted to authorized IP ranges. (pattern: .*\${.*}.*)
       - `authorizedIpRanges`: (multiple options) [array of] (string) (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$) | (string) A string containing one or more references that resolve to iP ranges that are authorized to access the Kubernetes API server. (pattern: .*\${.*}.*)
     - `coreweave`: {object}
       - `zone`: (multiple options) (string) AZ of the cluster | (string) A string containing one or more references that resolve to aZ of the cluster (pattern: .*\${.*}.*)
       - `network`: {object}
         - `networkMode`: (multiple options) (string) The network mode to use for this cluster. Use this to switch between the default network configuration and a custom VPC. (enum: create-default, custom) | (string) A string containing one or more references that resolve to the network mode to use for this cluster. Use this to switch between the default network configuration and a custom VPC. (pattern: .*\${.*}.*)
         - `vpcId`: (multiple options) (string) ID of the CoreWeave VPC to use for this cluster. | (string) A string containing one or more references that resolve to iD of the CoreWeave VPC to use for this cluster. (pattern: .*\${.*}.*)
         - `customPrefixNames`: {object}
           - `podCidrName`: (multiple options) (string) Name of the VPC prefix to use for the pod CIDR. | (string) A string containing one or more references that resolve to name of the VPC prefix to use for the pod CIDR. (pattern: .*\${.*}.*)
           - `serviceCidrName`: (multiple options) (string) Name of the VPC prefix to use for the service CIDR. | (string) A string containing one or more references that resolve to name of the VPC prefix to use for the service CIDR. (pattern: .*\${.*}.*)
           - `internalLbCidrNames`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to names of the VPC prefixes to use for internal load balancer CIDRs. (pattern: .*\${.*}.*)
     - `nebius`: {object}
       - `projectId`: (multiple options) (string) Nebius project ID to place the cluster in. | (string) A string containing one or more references that resolve to nebius project ID to place the cluster in. (pattern: .*\${.*}.*)
       - `subnetId`: (multiple options) (string) Nebius VPC subnet ID for the cluster. | (string) A string containing one or more references that resolve to nebius VPC subnet ID for the cluster. (pattern: .*\${.*}.*)
     - `byok`: {object}
       - `nodePoolProviderIdLabel`: (multiple options) (string) The node label used to identify which provider node pool a node belongs to. | (string) A string containing one or more references that resolve to the node label used to identify which provider node pool a node belongs to. (pattern: .*\${.*}.*)
     - `coordinates`: {object}
       - `latitude`: (number) (required) (format: float)
       - `longitude`: (number) (required) (format: float)
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: BYOCRegistry)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `description`: (string) The description of the integration. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
     - `restrictions`: {object}
       - `enabled`: (boolean) (required) Enable or disable BYOC restrictions for this entity
       - `teams`: [array of] {object}
           - `teamId`: (string) (required) The ID of the team that has access to this BYOC cluster (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 45)
     - `updatedAt`: (string) time of update (format: date-time)
     - `createdAt`: (string) time of creation (format: date-time)
     - `name`: (multiple options) (string) The name of the cloud provider registry. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the cloud provider registry. (pattern: .*\${.*}.*)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: BYOCRegistry)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) The name of the cloud provider registry. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the cloud provider registry. (pattern: .*\${.*}.*)
     - `description`: (string) The description of the integration. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
     - `uid`: (string) Unique id of the registry.
     - `provider`: (multiple options) (string) Cloud provider to be used for the selected resource (enum: aws, azure, civo, gcp, oci, cloudflare, coreweave, nebius, aiven, backblaze, akamai, byok) | (string) A string containing one or more references that resolve to cloud provider to be used for the selected resource (pattern: .*\${.*}.*)
     - `region`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
     - `integrationId`: (multiple options) (string) Integration to use for this registry. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to integration to use for this registry. (pattern: .*\${.*}.*)
     - `restrictions`: {object}
       - `enabled`: (boolean) (required) Enable or disable BYOC restrictions for this entity
       - `teams`: [array of] {object}
           - `teamId`: (string) (required) The ID of the team that has access to this BYOC cluster (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 45)
     - `updatedAt`: (string) time of update (format: date-time)
     - `createdAt`: (string) time of creation (format: date-time)
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: CustomDockerCredentials)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) The name of the docker credentials. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the docker credentials. (pattern: .*\${.*}.*)
     - `provider`: (string) (required) The provider of the docker registry. (enum: acr, ecr, gar, dockerhub, dhi, github, gitlab, custom, legacy)
     - `registryUrl`: (multiple options) (string) The URL of the docker registry. | (string) A string containing one or more references that resolve to the URL of the docker registry. (pattern: .*\${.*}.*)
     - `aws`: {object}
       - `region`: (string) The region of the docker registry.
     - `gcp`: {object}
       - `projectId`: (string) The project ID of the GCP docker registry.
     - `azure`: {object}
       - `resourceGroup`: (string) The resource group of the Azure docker registry.
     - `integrationId`: (multiple options) (string) Integration to use for this registry. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to integration to use for this registry. (pattern: .*\${.*}.*)
     - `credentials`: {object}
       - `username`: (string) Username for the docker registry. Required when `integrationId` is provided.
       - `password`: (string) Password for the docker registry. Required when `integrationId` is provided.
       - `scope`: {object}
         - `pull`: (boolean) Whether the credentials can pull images.
         - `push`: (boolean) Whether the credentials can push images.
     - `restrictions`: {object}
       - `restricted`: (boolean) (required) Whether access to this credential is restricted.
       - `projects`: [array of] (string)
     - `updatedAt`: (string) time of update (format: date-time)
     - `createdAt`: (string) time of creation (format: date-time) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: Project)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `description`: (multiple options) (string) The description of the project. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to the description of the project. (pattern: .*\${.*}.*)
     - `color`: (multiple options) (string) The color of the project in the Northflank App. (pattern: ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$) | (string) A string containing one or more references that resolve to the color of the project in the Northflank App. (pattern: .*\${.*}.*)
     - `networking`: {object}
       - `allowedIngressProjects`: [array of] (multiple options) (string) (pattern: ^[A-Za-z0-9-]+$) | (string) (pattern: .*\${.*}.*)
       - `tailscale`: {object}
         - `enabled`: (boolean) Whether or not to inject a Tailscale sidecar for this project's resources
         - `authKeyTags`: [array of] (multiple options) (string) (pattern: ^tag:.+) | (string) (pattern: .*\${.*}.*)
         - `restrictions`: {object}
           - `enabled`: (boolean) Whether or not to restrict the settings to resources with specific tags
           - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) (pattern: .*\${.*}.*)
           - `tagMatchCondition`: (multiple options) (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or) | (string) A string containing one or more references that resolve to if all or any of the tags must be present on the target for it to match the condition. (pattern: .*\${.*}.*)
         - `options`: {object}
           - `applyToAddons`: (boolean) Apply the Tailscale configuration to addons.
           - `applyToAddonJobs`: (boolean) Apply the Tailscale configuration to addon jobs (backups, restores).
           - `autoRedeployOnRegeneration`: (boolean) Automatically restart applicable services when the auth key is regenerated
         - `tailscaleOptions`: {object}
           - `acceptRoutes`: (boolean) Accept advertised routes from the Tailscale network
           - `tailnetServicesEnabled`: (boolean) Enable automatic creation of Tailnet services for resources in this project
           - `useUnscopedServiceNames`: (boolean) Use the service internal ID as the Tailnet Service name without the project UID. This causes undefined behavior when two services in the tailnet have matching internal IDs.
           - `tailnetServicesRestrictions`: {object}
             - `enabled`: (boolean) (required) Whether or not to restrict the settings to resources with specific tags
             - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) (pattern: .*\${.*}.*)
             - `tagMatchCondition`: (multiple options) (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or) | (string) A string containing one or more references that resolve to if all or any of the tags must be present on the target for it to match the condition. (pattern: .*\${.*}.*)
         - `secrets`: {object}
           - `clientId`: (multiple options) (string) Tailscale OAuth client ID (required for generating auth keys for Tailscale) | (string) A string containing one or more references that resolve to tailscale OAuth client ID (required for generating auth keys for Tailscale) (pattern: .*\${.*}.*)
           - `clientSecret`: (multiple options) (string) Tailscale OAuth client secret (required for generating auth keys for Tailscale) | (string) A string containing one or more references that resolve to tailscale OAuth client secret (required for generating auth keys for Tailscale) (pattern: .*\${.*}.*)
       - `hostAliases`: {object}
         - `enabled`: (boolean) Enable support for adding /etc/hosts overrides for a container
         - `hostEntries`: [array of] (multiple options) {object}
               - `ipAddress`: (multiple options) (string) (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$) | (string) (pattern: .*\${.*}.*)
               - `hostnames`: (multiple options) [array of] (multiple options) (string) (pattern: ^(([a-z0-9][a-z0-9\-]*)|[a-z0-9]\.)*([a-z]+|xn\-\-[a-z0-9]+)\.?$) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
         - `restrictions`: {object}
           - `enabled`: (boolean) Whether or not to restrict the settings to resources with specific tags
           - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) (pattern: .*\${.*}.*)
           - `tagMatchCondition`: (multiple options) (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or) | (string) A string containing one or more references that resolve to if all or any of the tags must be present on the target for it to match the condition. (pattern: .*\${.*}.*)
     - `name`: (multiple options) (string) The name of the project. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the project. (pattern: .*\${.*}.*)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: Project)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: (multiple options) {object}
      - `name`: (multiple options) (string) The name of the project. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the project. (pattern: .*\${.*}.*)
      - `description`: (multiple options) (string) The description of the project. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to the description of the project. (pattern: .*\${.*}.*)
      - `color`: (multiple options) (string) The color of the project in the Northflank App. (pattern: ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$) | (string) A string containing one or more references that resolve to the color of the project in the Northflank App. (pattern: .*\${.*}.*)
      - `region`: (multiple options) (string) The region the project will be hosted in. | (string) A string containing one or more references that resolve to the region the project will be hosted in. (pattern: .*\${.*}.*)
      - `networking`: {object}
        - `allowedIngressProjects`: [array of] (multiple options) (string) (pattern: ^[A-Za-z0-9-]+$) | (string) (pattern: .*\${.*}.*)
        - `tailscale`: {object}
          - `enabled`: (boolean) Whether or not to inject a Tailscale sidecar for this project's resources
          - `authKeyTags`: [array of] (multiple options) (string) (pattern: ^tag:.+) | (string) (pattern: .*\${.*}.*)
          - `restrictions`: {object}
            - `enabled`: (boolean) (required) Whether or not to restrict the settings to resources with specific tags
            - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) (pattern: .*\${.*}.*)
            - `tagMatchCondition`: (multiple options) (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or) | (string) A string containing one or more references that resolve to if all or any of the tags must be present on the target for it to match the condition. (pattern: .*\${.*}.*)
          - `options`: {object}
            - `applyToAddons`: (boolean) Apply the Tailscale configuration to addons.
            - `applyToAddonJobs`: (boolean) Apply the Tailscale configuration to addon jobs (backups, restores).
            - `autoRedeployOnRegeneration`: (boolean) Automatically restart applicable services when the auth key is regenerated
          - `tailscaleOptions`: {object}
            - `acceptRoutes`: (boolean) Accept advertised routes from the Tailscale network
            - `tailnetServicesEnabled`: (boolean) Enable automatic creation of Tailnet services for resources in this project
            - `useUnscopedServiceNames`: (boolean) Use the service internal ID as the Tailnet Service name without the project UID. This causes undefined behavior when two services in the tailnet have matching internal IDs.
            - `tailnetServicesRestrictions`: {object}
              - `enabled`: (boolean) (required) Whether or not to restrict the settings to resources with specific tags
              - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) (pattern: .*\${.*}.*)
              - `tagMatchCondition`: (multiple options) (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or) | (string) A string containing one or more references that resolve to if all or any of the tags must be present on the target for it to match the condition. (pattern: .*\${.*}.*)
          - `secrets`: {object}
            - `clientId`: (multiple options) (string) Tailscale OAuth client ID (required for generating auth keys for Tailscale) | (string) A string containing one or more references that resolve to tailscale OAuth client ID (required for generating auth keys for Tailscale) (pattern: .*\${.*}.*)
            - `clientSecret`: (multiple options) (string) Tailscale OAuth client secret (required for generating auth keys for Tailscale) | (string) A string containing one or more references that resolve to tailscale OAuth client secret (required for generating auth keys for Tailscale) (pattern: .*\${.*}.*)
        - `hostAliases`: {object}
          - `enabled`: (boolean) Enable support for adding /etc/hosts overrides for a container
          - `hostEntries`: [array of] (multiple options) {object}
                - `ipAddress`: (multiple options) (string) (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$) | (string) (pattern: .*\${.*}.*)
                - `hostnames`: (multiple options) [array of] (multiple options) (string) (pattern: ^(([a-z0-9][a-z0-9\-]*)|[a-z0-9]\.)*([a-z]+|xn\-\-[a-z0-9]+)\.?$) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
          - `restrictions`: {object}
            - `enabled`: (boolean) (required) Whether or not to restrict the settings to resources with specific tags
            - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) (pattern: .*\${.*}.*)
            - `tagMatchCondition`: (multiple options) (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or) | (string) A string containing one or more references that resolve to if all or any of the tags must be present on the target for it to match the condition. (pattern: .*\${.*}.*) | {object}
      - `name`: (multiple options) (string) The name of the project. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the project. (pattern: .*\${.*}.*)
      - `description`: (multiple options) (string) The description of the project. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to the description of the project. (pattern: .*\${.*}.*)
      - `color`: (multiple options) (string) The color of the project in the Northflank App. (pattern: ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$) | (string) A string containing one or more references that resolve to the color of the project in the Northflank App. (pattern: .*\${.*}.*)
      - `clusterId`: (multiple options) (string) The BYOC cluster this project will be hosted in. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to the BYOC cluster this project will be hosted in. (pattern: .*\${.*}.*)
      - `networking`: {object}
        - `allowedIngressProjects`: [array of] (multiple options) (string) (pattern: ^[A-Za-z0-9-]+$) | (string) (pattern: .*\${.*}.*)
        - `tailscale`: {object}
          - `enabled`: (boolean) Whether or not to inject a Tailscale sidecar for this project's resources
          - `authKeyTags`: [array of] (multiple options) (string) (pattern: ^tag:.+) | (string) (pattern: .*\${.*}.*)
          - `restrictions`: {object}
            - `enabled`: (boolean) (required) Whether or not to restrict the settings to resources with specific tags
            - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) (pattern: .*\${.*}.*)
            - `tagMatchCondition`: (multiple options) (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or) | (string) A string containing one or more references that resolve to if all or any of the tags must be present on the target for it to match the condition. (pattern: .*\${.*}.*)
          - `options`: {object}
            - `applyToAddons`: (boolean) Apply the Tailscale configuration to addons.
            - `applyToAddonJobs`: (boolean) Apply the Tailscale configuration to addon jobs (backups, restores).
            - `autoRedeployOnRegeneration`: (boolean) Automatically restart applicable services when the auth key is regenerated
          - `tailscaleOptions`: {object}
            - `acceptRoutes`: (boolean) Accept advertised routes from the Tailscale network
            - `tailnetServicesEnabled`: (boolean) Enable automatic creation of Tailnet services for resources in this project
            - `useUnscopedServiceNames`: (boolean) Use the service internal ID as the Tailnet Service name without the project UID. This causes undefined behavior when two services in the tailnet have matching internal IDs.
            - `tailnetServicesRestrictions`: {object}
              - `enabled`: (boolean) (required) Whether or not to restrict the settings to resources with specific tags
              - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) (pattern: .*\${.*}.*)
              - `tagMatchCondition`: (multiple options) (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or) | (string) A string containing one or more references that resolve to if all or any of the tags must be present on the target for it to match the condition. (pattern: .*\${.*}.*)
          - `secrets`: {object}
            - `clientId`: (multiple options) (string) Tailscale OAuth client ID (required for generating auth keys for Tailscale) | (string) A string containing one or more references that resolve to tailscale OAuth client ID (required for generating auth keys for Tailscale) (pattern: .*\${.*}.*)
            - `clientSecret`: (multiple options) (string) Tailscale OAuth client secret (required for generating auth keys for Tailscale) | (string) A string containing one or more references that resolve to tailscale OAuth client secret (required for generating auth keys for Tailscale) (pattern: .*\${.*}.*)
        - `hostAliases`: {object}
          - `enabled`: (boolean) Enable support for adding /etc/hosts overrides for a container
          - `hostEntries`: [array of] (multiple options) {object}
                - `ipAddress`: (multiple options) (string) (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$) | (string) (pattern: .*\${.*}.*)
                - `hostnames`: (multiple options) [array of] (multiple options) (string) (pattern: ^(([a-z0-9][a-z0-9\-]*)|[a-z0-9]\.)*([a-z]+|xn\-\-[a-z0-9]+)\.?$) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
          - `restrictions`: {object}
            - `enabled`: (boolean) (required) Whether or not to restrict the settings to resources with specific tags
            - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) (pattern: .*\${.*}.*)
            - `tagMatchCondition`: (multiple options) (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or) | (string) A string containing one or more references that resolve to if all or any of the tags must be present on the target for it to match the condition. (pattern: .*\${.*}.*)
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: BuildService)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `description`: (multiple options) (string) A description of the service. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the service. (pattern: .*\${.*}.*)
     - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `billing`: {object}
       - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (Deprecated - use buildPlan for build resources instead.). (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (Deprecated - use buildPlan for build resources instead.). (pattern: .*\${.*}.*)
       - `buildPlan`: (multiple options) (string) The ID of the build plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the build plan to use. (pattern: .*\${.*}.*)
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
     - `disabledCI`: (boolean) Whether CI (continuous integration) should be disabled.
     - `buildSource`: (string) Defines the build source for this resource (enum: git, bundle)
     - `vcsData`: {object}
       - `projectUrl`: (multiple options) (string) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo to build. (pattern: .*\${.*}.*)
       - `projectType`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
       - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
       - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
       - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24) | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
     - `buildSettings`: {object}
       - `storage`: {object}
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
       - `dockerfile`: {object}
         - `useCache`: (boolean) DEPRECATED: This field will be removed in the near future and currently has no effect.
         - `buildEngine`: (multiple options) (string) Build engine to use. Defaults to recommended build engine `buildkit` (enum: buildkit, kaniko) | (string) A string containing one or more references that resolve to build engine to use. Defaults to recommended build engine `buildkit` (pattern: .*\${.*}.*)
         - `dockerFilePath`: (multiple options) (string) The file path of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$) | (string) A string containing one or more references that resolve to the file path of the Dockerfile. (pattern: .*\${.*}.*)
         - `dockerWorkDir`: (multiple options) (string) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory of the Dockerfile. (pattern: .*\${.*}.*)
         - `buildkit`: {object}
           - `useCache`: (multiple options) (boolean) Use persistent storage to cache build layers. | (string) A string containing one or more references that resolve to use persistent storage to cache build layers. (pattern: .*\${.*}.*)
           - `cacheStorageSize`: (multiple options) (integer) The amount of persistent storage available to each build in MB. | (string) A string containing one or more references that resolve to the amount of persistent storage available to each build in MB. (pattern: .*\${.*}.*)
           - `useInternalCache`: (multiple options) (boolean) DEPRECATED: This field will be removed in the near future. | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*)
           - `internalCacheStorage`: (multiple options) (number) DEPRECATED: This field will be removed in the near future. (format: float) | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*)
       - `buildpack`: {object}
         - `builder`: (multiple options) (string) Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (enum: HEROKU_24, HEROKU_22, HEROKU_22_CLASSIC, HEROKU_20, HEROKU_18, GOOGLE_22, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_JAMMY_TINY, PAKETO_JAMMY_BASE, PAKETO_JAMMY_FULL, PAKETO_TINY, PAKETO_BASE, PAKETO_FULL) | (string) A string containing one or more references that resolve to buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (pattern: .*\${.*}.*)
         - `buildpackLocators`: [array of] (multiple options) (string) Url or registry identifier of custom Buildpack. | (string) A string containing one or more references that resolve to url or registry identifier of custom Buildpack. (pattern: .*\${.*}.*)
         - `buildContext`: (multiple options) (string) The working directory to build in. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory to build in. (pattern: .*\${.*}.*)
         - `useCache`: (multiple options) (boolean) Should build dependencies be cached? | (string) A string containing one or more references that resolve to should build dependencies be cached? (pattern: .*\${.*}.*)
     - `buildConfiguration`: {object}
       - `prRestrictions`: [array of] (multiple options) (string) A pull request build rule. Can contain `*` as a wildcard to match multiple branch names. For example, `feature/*` will build all commits from pull requests from branches that start with `feature/`. (pattern: ^[^?:@$~ [\]{}]*$) | (string) A string containing one or more references that resolve to a pull request build rule. Can contain `*` as a wildcard to match multiple branch names. For example, `feature/*` will build all commits from pull requests from branches that start with `feature/`. (pattern: .*\${.*}.*)
       - `branchRestrictions`: [array of] (multiple options) (string) A branch build rule. Can contain `*` as a wildcard to match multiple branch names. For example, `feature/*` will build all commits from branches that start with `feature/`. (pattern: ^[^?:@$~ [\]{}]*$) | (string) A string containing one or more references that resolve to a branch build rule. Can contain `*` as a wildcard to match multiple branch names. For example, `feature/*` will build all commits from branches that start with `feature/`. (pattern: .*\${.*}.*)
       - `crossProjectAccess`: {object}
         - `enabled`: (boolean) (required) Allow this build service to be referenced by resources in other projects.
         - `projects`: [array of] (multiple options) (string) The ID of a project to include or exclude. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of a project to include or exclude. (pattern: .*\${.*}.*)
         - `isAllowList`: (boolean) (required) If true, only the listed projects can use this build service. If false, all projects except the listed ones can use this build service.
       - `pathIgnoreRules`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
       - `isAllowList`: (multiple options) (boolean) If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. | (string) A string containing one or more references that resolve to if `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. (pattern: .*\${.*}.*)
       - `ciIgnoreFlagsEnabled`: (multiple options) (boolean) If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. | (string) A string containing one or more references that resolve to if `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. (pattern: .*\${.*}.*)
       - `ciIgnoreFlags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
       - `dockerfileTarget`: (multiple options) (string) If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. | (string) A string containing one or more references that resolve to if your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. (pattern: .*\${.*}.*)
       - `dockerCredentials`: [array of] (multiple options) (string) The ID of the docker credentials to use. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of the docker credentials to use. (pattern: .*\${.*}.*)
       - `includeGitFolder`: (boolean) Include .git folder inside the build context
       - `fullGitClone`: (boolean) Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set.
       - `enableGitLfs`: (boolean) Enable Git LFS support for the build
       - `storage`: {object}
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
     - `buildArguments`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `buildFiles`: {object}
     - `dockerSecretMounts`: {object}
     - `name`: (multiple options) (string) The name of the service. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the name of the service. (pattern: .*\${.*}.*)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: BuildService)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) The name of the service. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the name of the service. (pattern: .*\${.*}.*)
     - `description`: (multiple options) (string) A description of the service. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the service. (pattern: .*\${.*}.*)
     - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
     - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `billing`: {object}
       - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (Deprecated - use buildPlan for build resources instead.). (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (Deprecated - use buildPlan for build resources instead.). (pattern: .*\${.*}.*)
       - `buildPlan`: (multiple options) (string) The ID of the build plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the build plan to use. (pattern: .*\${.*}.*)
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
     - `infrastructure`: {object}
       - `architecture`: (string) (enum: x86, arm)
     - `disabledCI`: (boolean) Whether CI (continuous integration) should be disabled.
     - `buildSource`: (string) Defines the build source for this resource (enum: git, bundle)
     - `vcsData`: {object}
       - `projectUrl`: (multiple options) (string) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo to build. (pattern: .*\${.*}.*)
       - `projectType`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
       - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
       - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
       - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24) | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
     - `buildSettings`: (multiple options) {object}
         - `storage`: {object}
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
         - `dockerfile`: {object}
           - `useCache`: (boolean) DEPRECATED: This field will be removed in the near future and currently has no effect.
           - `buildEngine`: (multiple options) (string) Build engine to use. Defaults to recommended build engine `buildkit` (enum: buildkit, kaniko) | (string) A string containing one or more references that resolve to build engine to use. Defaults to recommended build engine `buildkit` (pattern: .*\${.*}.*)
           - `dockerFilePath`: (multiple options) (string) The file path of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$) | (string) A string containing one or more references that resolve to the file path of the Dockerfile. (pattern: .*\${.*}.*)
           - `dockerWorkDir`: (multiple options) (string) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory of the Dockerfile. (pattern: .*\${.*}.*)
           - `buildkit`: {object}
             - `useCache`: (multiple options) (boolean) Use persistent storage to cache build layers. | (string) A string containing one or more references that resolve to use persistent storage to cache build layers. (pattern: .*\${.*}.*)
             - `cacheStorageSize`: (multiple options) (integer) The amount of persistent storage available to each build in MB. | (string) A string containing one or more references that resolve to the amount of persistent storage available to each build in MB. (pattern: .*\${.*}.*)
             - `useInternalCache`: (multiple options) (boolean) DEPRECATED: This field will be removed in the near future. | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*)
             - `internalCacheStorage`: (multiple options) (number) DEPRECATED: This field will be removed in the near future. (format: float) | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*) | {object}
         - `storage`: {object}
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
         - `buildpack`: {object}
           - `builder`: (multiple options) (string) Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (enum: HEROKU_24, HEROKU_22, HEROKU_22_CLASSIC, HEROKU_20, HEROKU_18, GOOGLE_22, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_JAMMY_TINY, PAKETO_JAMMY_BASE, PAKETO_JAMMY_FULL, PAKETO_TINY, PAKETO_BASE, PAKETO_FULL) | (string) A string containing one or more references that resolve to buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (pattern: .*\${.*}.*)
           - `buildpackLocators`: [array of] (multiple options) (string) Url or registry identifier of custom Buildpack. | (string) A string containing one or more references that resolve to url or registry identifier of custom Buildpack. (pattern: .*\${.*}.*)
           - `buildContext`: (multiple options) (string) The working directory to build in. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory to build in. (pattern: .*\${.*}.*)
           - `useCache`: (multiple options) (boolean) Should build dependencies be cached? | (string) A string containing one or more references that resolve to should build dependencies be cached? (pattern: .*\${.*}.*)
     - `buildConfiguration`: {object}
       - `prRestrictions`: [array of] (multiple options) (string) A pull request build rule. Can contain `*` as a wildcard to match multiple branch names. For example, `feature/*` will build all commits from pull requests from branches that start with `feature/`. (pattern: ^[^?:@$~ [\]{}]*$) | (string) A string containing one or more references that resolve to a pull request build rule. Can contain `*` as a wildcard to match multiple branch names. For example, `feature/*` will build all commits from pull requests from branches that start with `feature/`. (pattern: .*\${.*}.*)
       - `branchRestrictions`: [array of] (multiple options) (string) A branch build rule. Can contain `*` as a wildcard to match multiple branch names. For example, `feature/*` will build all commits from branches that start with `feature/`. (pattern: ^[^?:@$~ [\]{}]*$) | (string) A string containing one or more references that resolve to a branch build rule. Can contain `*` as a wildcard to match multiple branch names. For example, `feature/*` will build all commits from branches that start with `feature/`. (pattern: .*\${.*}.*)
       - `crossProjectAccess`: {object}
         - `enabled`: (boolean) (required) Allow this build service to be referenced by resources in other projects.
         - `projects`: [array of] (multiple options) (string) The ID of a project to include or exclude. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of a project to include or exclude. (pattern: .*\${.*}.*)
         - `isAllowList`: (boolean) (required) If true, only the listed projects can use this build service. If false, all projects except the listed ones can use this build service.
       - `pathIgnoreRules`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
       - `isAllowList`: (multiple options) (boolean) If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. | (string) A string containing one or more references that resolve to if `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. (pattern: .*\${.*}.*)
       - `ciIgnoreFlagsEnabled`: (multiple options) (boolean) If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. | (string) A string containing one or more references that resolve to if `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. (pattern: .*\${.*}.*)
       - `ciIgnoreFlags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
       - `dockerfileTarget`: (multiple options) (string) If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. | (string) A string containing one or more references that resolve to if your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. (pattern: .*\${.*}.*)
       - `dockerCredentials`: [array of] (multiple options) (string) The ID of the docker credentials to use. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of the docker credentials to use. (pattern: .*\${.*}.*)
       - `includeGitFolder`: (boolean) Include .git folder inside the build context
       - `fullGitClone`: (boolean) Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set.
       - `enableGitLfs`: (boolean) Enable Git LFS support for the build
       - `storage`: {object}
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
     - `buildArguments`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `buildFiles`: {object}
     - `dockerSecretMounts`: {object}
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: CombinedService)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `description`: (multiple options) (string) A description of the service. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the service. (pattern: .*\${.*}.*)
     - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `billing`: {object}
       - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (pattern: .*\${.*}.*)
       - `buildPlan`: (multiple options) (string) The ID of the build plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the build plan to use. (pattern: .*\${.*}.*)
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
     - `deployment`: {object}
       - `instances`: (multiple options) (integer) The number of instances to run the service on. | (string) A string containing one or more references that resolve to the number of instances to run the service on. (pattern: .*\${.*}.*)
       - `buildpack`: {object}
         - `configType`: (string) (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand)
         - `customProcess`: (multiple options) (string)
         - `customEntrypoint`: (multiple options) (string)
         - `customCommand`: (multiple options) (string)
       - `docker`: {object}
         - `configType`: (string) (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand)
         - `customEntrypoint`: (multiple options) (string)
         - `customCommand`: (multiple options) (string)
       - `storage`: {object}
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per container in MB | (string) A string containing one or more references that resolve to ephemeral storage per container in MB (pattern: .*\${.*}.*)
         - `shmSize`: (multiple options) (integer) Configures the amount of available memory-backed disk space available to /dev/shm | (string) A string containing one or more references that resolve to configures the amount of available memory-backed disk space available to /dev/shm (pattern: .*\${.*}.*)
       - `strategy`: {object}
         - `type`: (multiple options) (string) Configures the instance roll out strategy of your service. Currently only available via feature flag. (enum: recreate, rollout-steady, rollout-balanced, rollout-fast, custom) | (string) A string containing one or more references that resolve to configures the instance roll out strategy of your service. Currently only available via feature flag. (pattern: .*\${.*}.*)
         - `settings`: {object}
           - `maxSurge`: (multiple options) (integer) A non-negative integer. | (string) A percentage string in the range 0% to 100%, e.g. `25%` (pattern: ^\d+%$)
           - `maxUnavailable`: (multiple options) (integer) A non-negative integer. | (string) A percentage string in the range 0% to 100%, e.g. `25%` (pattern: ^\d+%$)
       - `zonalRedundancy`: {object}
         - `type`: (multiple options) (string) Defines scheduling behaviour across different zones within the same region. (enum: disabled, preferred, required) | (string) A string containing one or more references that resolve to defines scheduling behaviour across different zones within the same region. (pattern: .*\${.*}.*)
         - `minZones`: (integer) Defines how many zones are required and will prevent containers from additional scheduling into existing zones. (Only relevant if type is set to "required")
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
       - `gracePeriodSeconds`: (multiple options) (integer) The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. | (string) A string containing one or more references that resolve to the maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. (pattern: .*\${.*}.*)
       - `gradualRolloutStrategyId`: (multiple options) (string) The id of the strategy to be attached to service. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the strategy to be attached to service. (pattern: .*\${.*}.*)
       - `ssh`: {object}
         - `enabled`: (multiple options) (boolean) Enables SSH access if the resource matches an SSH identity selector. | (string) A string containing one or more references that resolve to enables SSH access if the resource matches an SSH identity selector. (pattern: .*\${.*}.*)
       - `metadata`: {object}
         - `labels`: {object}
         - `annotations`: {object}
       - `volumes`: [array of] {object}
           - `id`: (multiple options) (string) Slug identifying this volume within the service. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to slug identifying this volume within the service. (pattern: .*\${.*}.*)
           - `mounts`: [array of] {object}
               - `volumeMountPath`: (string) Optionally specify the path inside this volume that should be mounted (pattern: ^((?!\.\.).)*$)
               - `containerMountPath`: (string) (required) Specify the path into which the volume should be mounted (pattern: ^((?!:).)*$)
           - `spec`: {object}
             - `accessMode`: (string) Access mode of a per-replica volume. Always `ReadWriteOnce`. (enum: ReadWriteOnce)
             - `storageClassName`: (string) The type of the storage.
             - `storageSize`: (integer) (required) The size of the storage, in megabytes. Configurable sizes depend on the storage class.
     - `ports`: [array of] {object}
         - `name`: (multiple options) (string) The name used to identify the port. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 1) (max length: 8) | (string) A string containing one or more references that resolve to the name used to identify the port. (pattern: .*\${.*}.*)
         - `internalPort`: (multiple options) (integer) The port number. | (string) A string containing one or more references that resolve to the port number. (pattern: .*\${.*}.*)
         - `public`: (multiple options) (boolean) If true, the port will be exposed publicly. | (string) A string containing one or more references that resolve to if true, the port will be exposed publicly. (pattern: .*\${.*}.*)
         - `security`: {object}
           - `credentials`: [array of] {object}
               - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
               - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
               - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
           - `ip`: (multiple options) [array of] {object}
                 - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                 - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
           - `policies`: (multiple options) [array of] {object}
                 - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                 - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
           - `sso`: {object}
             - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
             - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
             - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
             - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
             - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
             - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
           - `headers`: [array of] (multiple options) {object}
                 - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                 - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                 - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                 - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
           - `verificationMode`: (string) Mode used to verify multiple security features like ip policies and SSO authentication (enum: or, and)
           - `securePathConfiguration`: {object}
             - `enabled`: (boolean) Enable security policies on a path-level style
             - `skipSecurityPoliciesForInternalTrafficViaPublicDns`: (boolean) Allow internal traffic from same or shared projects via public DNS to skip all security policies
             - `rules`: [array of] {object}
                 - `paths`: [array of] (multiple options) {object}
                       - `path`: (multiple options) (string) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) (pattern: .*\${.*}.*)
                       - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: prefix) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                       - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*) | {object}
                       - `path`: (multiple options) (string) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) (pattern: .*\${.*}.*)
                       - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: exact) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                       - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*) | {object}
                       - `path`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                       - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: regex) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                       - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*)
                 - `accessMode`: (multiple options) (string) Specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path (enum: protected, unprotected) | (string) A string containing one or more references that resolve to specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path (pattern: .*\${.*}.*)
                 - `securityPolicies`: (multiple options) {object}
                     - `orPolicies`: {object}
                       - `credentials`: [array of] {object}
                           - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
                           - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
                           - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
                       - `ip`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `policies`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `sso`: {object}
                         - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
                         - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
                         - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
                         - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
                         - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
                         - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
                       - `headers`: [array of] (multiple options) {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                     - `requiredPolicies`: {object}
                       - `credentials`: [array of] {object}
                           - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
                           - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
                           - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
                       - `ip`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `policies`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `sso`: {object}
                         - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
                         - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
                         - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
                         - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
                         - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
                         - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
                       - `headers`: [array of] (multiple options) {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
         - `domains`: (multiple options) [array of] (multiple options) (string) A domain to redirect to this port. | (string) A string containing one or more references that resolve to a domain to redirect to this port. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of domains to redirect to this port. Each domain must first be verified and registered to your account. (pattern: .*\${.*}.*)
         - `disableNfDomain`: (multiple options) (boolean) Disable routing on the default code.run domain for public HTTP ports with custom domains. | (string) A string containing one or more references that resolve to disable routing on the default code.run domain for public HTTP ports with custom domains. (pattern: .*\${.*}.*)
         - `advancedOptions`: {object}
           - `enableTlsPassthrough`: (multiple options) (boolean) Whether this port should use pass through mode for TLS | (string) A string containing one or more references that resolve to whether this port should use pass through mode for TLS (pattern: .*\${.*}.*)
         - `protocol`: (multiple options) (string) (enum: HTTP, HTTP/2) | (string) (enum: HTTP, HTTP/2, TCP, UDP)
     - `disabledCI`: (boolean) Whether CI (continuous integration) should be disabled.
     - `buildSource`: (string) Defines the build source for this resource (enum: git, bundle)
     - `vcsData`: {object}
       - `projectUrl`: (multiple options) (string) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo to build. (pattern: .*\${.*}.*)
       - `projectType`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
       - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
       - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
       - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24) | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
       - `projectBranch`: (multiple options) (string) The name of the branch to use. | (string) A string containing one or more references that resolve to the name of the branch to use. (pattern: .*\${.*}.*)
     - `bundleData`: {object}
       - `bundleUrl`: (multiple options) (string) URL of the bundle to be built | (string) A string containing one or more references that resolve to uRL of the bundle to be built (pattern: .*\${.*}.*)
       - `branch`: (multiple options) (string) Branch identifier for the bundle. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to branch identifier for the bundle. (pattern: .*\${.*}.*)
     - `buildSettings`: {object}
       - `storage`: {object}
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
       - `dockerfile`: {object}
         - `useCache`: (boolean) DEPRECATED: This field will be removed in the near future and currently has no effect.
         - `buildEngine`: (multiple options) (string) Build engine to use. Defaults to recommended build engine `buildkit` (enum: buildkit, kaniko) | (string) A string containing one or more references that resolve to build engine to use. Defaults to recommended build engine `buildkit` (pattern: .*\${.*}.*)
         - `dockerFilePath`: (multiple options) (string) The file path of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$) | (string) A string containing one or more references that resolve to the file path of the Dockerfile. (pattern: .*\${.*}.*)
         - `dockerWorkDir`: (multiple options) (string) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory of the Dockerfile. (pattern: .*\${.*}.*)
         - `buildkit`: {object}
           - `useCache`: (multiple options) (boolean) Use persistent storage to cache build layers. | (string) A string containing one or more references that resolve to use persistent storage to cache build layers. (pattern: .*\${.*}.*)
           - `cacheStorageSize`: (multiple options) (integer) The amount of persistent storage available to each build in MB. | (string) A string containing one or more references that resolve to the amount of persistent storage available to each build in MB. (pattern: .*\${.*}.*)
           - `useInternalCache`: (multiple options) (boolean) DEPRECATED: This field will be removed in the near future. | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*)
           - `internalCacheStorage`: (multiple options) (number) DEPRECATED: This field will be removed in the near future. (format: float) | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*)
       - `buildpack`: {object}
         - `builder`: (multiple options) (string) Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (enum: HEROKU_24, HEROKU_22, HEROKU_22_CLASSIC, HEROKU_20, HEROKU_18, GOOGLE_22, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_JAMMY_TINY, PAKETO_JAMMY_BASE, PAKETO_JAMMY_FULL, PAKETO_TINY, PAKETO_BASE, PAKETO_FULL) | (string) A string containing one or more references that resolve to buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (pattern: .*\${.*}.*)
         - `buildpackLocators`: [array of] (multiple options) (string) Url or registry identifier of custom Buildpack. | (string) A string containing one or more references that resolve to url or registry identifier of custom Buildpack. (pattern: .*\${.*}.*)
         - `buildContext`: (multiple options) (string) The working directory to build in. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory to build in. (pattern: .*\${.*}.*)
         - `useCache`: (multiple options) (boolean) Should build dependencies be cached? | (string) A string containing one or more references that resolve to should build dependencies be cached? (pattern: .*\${.*}.*)
     - `buildConfiguration`: {object}
       - `pathIgnoreRules`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
       - `isAllowList`: (multiple options) (boolean) If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. | (string) A string containing one or more references that resolve to if `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. (pattern: .*\${.*}.*)
       - `ciIgnoreFlagsEnabled`: (multiple options) (boolean) If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. | (string) A string containing one or more references that resolve to if `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. (pattern: .*\${.*}.*)
       - `ciIgnoreFlags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
       - `dockerfileTarget`: (multiple options) (string) If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. | (string) A string containing one or more references that resolve to if your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. (pattern: .*\${.*}.*)
       - `dockerCredentials`: [array of] (multiple options) (string) The ID of the docker credentials to use. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of the docker credentials to use. (pattern: .*\${.*}.*)
       - `includeGitFolder`: (boolean) Include .git folder inside the build context
       - `fullGitClone`: (boolean) Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set.
       - `enableGitLfs`: (boolean) Enable Git LFS support for the build
       - `storage`: {object}
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
     - `runtimeEnvironment`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `runtimeFiles`: {object}
     - `buildArguments`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `buildFiles`: {object}
     - `dockerSecretMounts`: {object}
     - `healthChecks`: [array of] {object}
         - `protocol`: (multiple options) (string) The protocol to access the health check with. (enum: HTTP, CMD, TCP) | (string) A string containing one or more references that resolve to the protocol to access the health check with. (pattern: .*\${.*}.*)
         - `type`: (multiple options) (string) The type of health check. (enum: livenessProbe, readinessProbe, startupProbe) | (string) A string containing one or more references that resolve to the type of health check. (pattern: .*\${.*}.*)
         - `path`: (multiple options) (string) The path of the health check endpoint. Required when protocol is HTTP. (pattern: ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*((\?([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)(&([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)*)?$) | (string) (pattern: .*\${.*}.*)
         - `cmd`: (multiple options) (string) The command to run for the health check. Required when protocol is CMD | (string) (pattern: .*\${.*}.*)
         - `port`: (multiple options) (integer) Port number for the health check endpoint. Required when protocol is HTTP. | (string) (pattern: .*\${.*}.*)
         - `initialDelaySeconds`: (multiple options) (integer) Initial delay, in seconds, before the health check is first run. | (string) A string containing one or more references that resolve to initial delay, in seconds, before the health check is first run. (pattern: .*\${.*}.*)
         - `periodSeconds`: (multiple options) (integer) The time between each check, in seconds. | (string) A string containing one or more references that resolve to the time between each check, in seconds. (pattern: .*\${.*}.*)
         - `timeoutSeconds`: (multiple options) (integer) The time to wait for a response before marking the health check as a failure. | (string) A string containing one or more references that resolve to the time to wait for a response before marking the health check as a failure. (pattern: .*\${.*}.*)
         - `failureThreshold`: (multiple options) (integer) The maximum number of allowed failures. | (string) A string containing one or more references that resolve to the maximum number of allowed failures. (pattern: .*\${.*}.*)
         - `successThreshold`: (multiple options) (integer) The number of successes required to mark the health check as a success. | (string) (pattern: .*\${.*}.*)
     - `loadBalancing`: {object}
       - `mode`: (string) (enum: leastConnection, consistentHash, roundRobin, consistentReplicaRouting)
       - `consistentHash`: {object}
         - `mode`: (string) (required) (enum: ip, customHeader)
         - `header`: (string)
       - `consistentReplicaRouting`: {object}
         - `mode`: (string) (required) (enum: path, header)
     - `autoscaling`: {object}
       - `horizontal`: {object}
         - `enabled`: (multiple options) (boolean) Whether horizontal autoscaling should be enabled | (string) A string containing one or more references that resolve to whether horizontal autoscaling should be enabled (pattern: .*\${.*}.*)
         - `minReplicas`: (multiple options) (number) Minimum number of replicas which should be running at any time (format: float) | (string) A string containing one or more references that resolve to minimum number of replicas which should be running at any time (pattern: .*\${.*}.*)
         - `maxReplicas`: (multiple options) (number) Maximum number of replicas which can be running at any time (format: float) | (string) A string containing one or more references that resolve to maximum number of replicas which can be running at any time (pattern: .*\${.*}.*)
         - `cpu`: {object}
           - `enabled`: (multiple options) (boolean) Whether autoscaling should take into account cpu usage | (string) A string containing one or more references that resolve to whether autoscaling should take into account cpu usage (pattern: .*\${.*}.*)
           - `thresholdPercentage`: (multiple options) (integer) Threshold CPU usage percentage at which the workload will be scaled | (string) A string containing one or more references that resolve to threshold CPU usage percentage at which the workload will be scaled (pattern: .*\${.*}.*)
         - `memory`: {object}
           - `enabled`: (multiple options) (boolean) Whether autoscaling should take into account memory usage | (string) A string containing one or more references that resolve to whether autoscaling should take into account memory usage (pattern: .*\${.*}.*)
           - `thresholdPercentage`: (multiple options) (integer) Threshold memory usage percentage at which the workload will be scaled | (string) A string containing one or more references that resolve to threshold memory usage percentage at which the workload will be scaled (pattern: .*\${.*}.*)
         - `rps`: {object}
           - `enabled`: (multiple options) (boolean) Whether autoscaling should take into requests-per-second | (string) A string containing one or more references that resolve to whether autoscaling should take into requests-per-second (pattern: .*\${.*}.*)
           - `thresholdValue`: (multiple options) (integer) Threshold rps value on which the workload will be scaled | (string) A string containing one or more references that resolve to threshold rps value on which the workload will be scaled (pattern: .*\${.*}.*)
         - `userMetrics`: {object}
           - `enabled`: (multiple options) (boolean) Whether to enable handling for custom metrics in the autoscaling configuration | (string) A string containing one or more references that resolve to whether to enable handling for custom metrics in the autoscaling configuration (pattern: .*\${.*}.*)
           - `exposedMetricsPath`: (multiple options) (string) Path on which the metrics will be exposed by the service.. (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) A string containing one or more references that resolve to path on which the metrics will be exposed by the service.. (pattern: .*\${.*}.*)
           - `exposedMetricsPort`: (multiple options) (integer) Port on which the metrics will be exposed by the service. | (string) A string containing one or more references that resolve to port on which the metrics will be exposed by the service. (pattern: .*\${.*}.*)
           - `metrics`: [array of] {object}
               - `metricName`: (multiple options) (string) Name of the custom metric (pattern: [a-zA-Z_:][a-zA-Z0-9_:]*$) | (string) A string containing one or more references that resolve to name of the custom metric (pattern: .*\${.*}.*)
               - `metricType`: (multiple options) (string) Type of metric exposed, this will affect how it'll be queried by the autoscaler component: Gauge will be used as is, Counter will be used with rate() (enum: gauge, counter) | (string) A string containing one or more references that resolve to type of metric exposed, this will affect how it'll be queried by the autoscaler component: Gauge will be used as is, Counter will be used with rate() (pattern: .*\${.*}.*)
               - `thresholdValue`: (multiple options) (number) Threshold value on which the workload will be scaled. Represents the average value across all running pods. (format: float) | (string) A string containing one or more references that resolve to threshold value on which the workload will be scaled. Represents the average value across all running pods. (pattern: .*\${.*}.*)
     - `name`: (multiple options) (string) The name of the service. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the name of the service. (pattern: .*\${.*}.*)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: CombinedService)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) The name of the service. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the name of the service. (pattern: .*\${.*}.*)
     - `description`: (multiple options) (string) A description of the service. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the service. (pattern: .*\${.*}.*)
     - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
     - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `billing`: {object}
       - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (pattern: .*\${.*}.*)
       - `buildPlan`: (multiple options) (string) The ID of the build plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the build plan to use. (pattern: .*\${.*}.*)
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
     - `infrastructure`: {object}
       - `architecture`: (string) (enum: x86, arm)
     - `deployment`: {object}
       - `type`: (multiple options) (string) The way the service should be deployed. Either as a deployment (default), or as a stateful set. (enum: deployment, statefulSet) | (string) A string containing one or more references that resolve to the way the service should be deployed. Either as a deployment (default), or as a stateful set. (pattern: .*\${.*}.*)
       - `instances`: (multiple options) (integer) The number of instances to run the service on. | (string) A string containing one or more references that resolve to the number of instances to run the service on. (pattern: .*\${.*}.*)
       - `buildpack`: {object}
         - `configType`: (string) (required) Type of buildpack run configuration (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand)
         - `customProcess`: (string) Custom process which should be run. Required in case where `configType` is `customProcess`
         - `customEntrypoint`: (string) Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand`
         - `customCommand`: (string) Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand`
       - `docker`: {object}
         - `configType`: (string) (required) Type of entrypoint & command override configuration (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand)
         - `customEntrypoint`: (string) Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand`
         - `customCommand`: (string) Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand`
       - `storage`: {object}
         - `useHdbStorage`: (boolean)
         - `usePdSsdStorage`: (boolean)
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per container in MB | (string) A string containing one or more references that resolve to ephemeral storage per container in MB (pattern: .*\${.*}.*)
         - `shmSize`: (multiple options) (integer) Configures the amount of available memory-backed disk space available to /dev/shm | (string) A string containing one or more references that resolve to configures the amount of available memory-backed disk space available to /dev/shm (pattern: .*\${.*}.*)
       - `strategy`: {object}
         - `type`: (multiple options) (string) Configures the instance roll out strategy of your service. Currently only available via feature flag. (enum: recreate, rollout-steady, rollout-balanced, rollout-fast, custom) | (string) A string containing one or more references that resolve to configures the instance roll out strategy of your service. Currently only available via feature flag. (pattern: .*\${.*}.*)
         - `settings`: {object}
           - `maxSurge`: (multiple options) (integer) A non-negative integer. | (string) A percentage string in the range 0% to 100%, e.g. `25%` (pattern: ^\d+%$)
           - `maxUnavailable`: (multiple options) (integer) A non-negative integer. | (string) A percentage string in the range 0% to 100%, e.g. `25%` (pattern: ^\d+%$)
       - `zonalRedundancy`: {object}
         - `type`: (multiple options) (string) Defines scheduling behaviour across different zones within the same region. (enum: disabled, preferred, required) | (string) A string containing one or more references that resolve to defines scheduling behaviour across different zones within the same region. (pattern: .*\${.*}.*)
         - `minZones`: (integer) Defines how many zones are required and will prevent containers from additional scheduling into existing zones. (Only relevant if type is set to "required")
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
       - `gracePeriodSeconds`: (multiple options) (integer) The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. | (string) A string containing one or more references that resolve to the maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. (pattern: .*\${.*}.*)
       - `gradualRolloutStrategyId`: (multiple options) (string) The id of the strategy to be attached to service. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the strategy to be attached to service. (pattern: .*\${.*}.*)
       - `ssh`: {object}
         - `enabled`: (multiple options) (boolean) Enables SSH access if the resource matches an SSH identity selector. | (string) A string containing one or more references that resolve to enables SSH access if the resource matches an SSH identity selector. (pattern: .*\${.*}.*)
       - `metadata`: {object}
         - `labels`: {object}
         - `annotations`: {object}
       - `volumes`: [array of] {object}
           - `id`: (multiple options) (string) Slug identifying this volume within the service. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to slug identifying this volume within the service. (pattern: .*\${.*}.*)
           - `mounts`: [array of] {object}
               - `volumeMountPath`: (string) Optionally specify the path inside this volume that should be mounted (pattern: ^((?!\.\.).)*$)
               - `containerMountPath`: (string) (required) Specify the path into which the volume should be mounted (pattern: ^((?!:).)*$)
           - `spec`: {object}
             - `accessMode`: (string) Access mode of a per-replica volume. Always `ReadWriteOnce`. (enum: ReadWriteOnce)
             - `storageClassName`: (string) The type of the storage.
             - `storageSize`: (integer) (required) The size of the storage, in megabytes. Configurable sizes depend on the storage class.
     - `ports`: [array of] {object}
         - `name`: (multiple options) (string) The name used to identify the port. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 1) (max length: 8) | (string) A string containing one or more references that resolve to the name used to identify the port. (pattern: .*\${.*}.*)
         - `internalPort`: (multiple options) (integer) The port number. | (string) A string containing one or more references that resolve to the port number. (pattern: .*\${.*}.*)
         - `public`: (multiple options) (boolean) If true, the port will be exposed publicly. | (string) A string containing one or more references that resolve to if true, the port will be exposed publicly. (pattern: .*\${.*}.*)
         - `security`: {object}
           - `credentials`: [array of] {object}
               - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
               - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
               - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
           - `ip`: (multiple options) [array of] {object}
                 - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                 - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
           - `policies`: (multiple options) [array of] {object}
                 - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                 - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
           - `sso`: {object}
             - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
             - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
             - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
             - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
             - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
             - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
           - `headers`: [array of] (multiple options) {object}
                 - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                 - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                 - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                 - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
           - `verificationMode`: (string) Mode used to verify multiple security features like ip policies and SSO authentication (enum: or, and)
           - `securePathConfiguration`: {object}
             - `enabled`: (boolean) Enable security policies on a path-level style
             - `skipSecurityPoliciesForInternalTrafficViaPublicDns`: (boolean) Allow internal traffic from same or shared projects via public DNS to skip all security policies
             - `rules`: [array of] {object}
                 - `paths`: [array of] (multiple options) {object}
                       - `path`: (multiple options) (string) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) (pattern: .*\${.*}.*)
                       - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: prefix) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                       - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*) | {object}
                       - `path`: (multiple options) (string) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) (pattern: .*\${.*}.*)
                       - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: exact) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                       - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*) | {object}
                       - `path`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                       - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: regex) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                       - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*)
                 - `accessMode`: (multiple options) (string) Specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path (enum: protected, unprotected) | (string) A string containing one or more references that resolve to specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path (pattern: .*\${.*}.*)
                 - `securityPolicies`: (multiple options) {object}
                     - `orPolicies`: {object}
                       - `credentials`: [array of] {object}
                           - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
                           - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
                           - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
                       - `ip`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `policies`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `sso`: {object}
                         - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
                         - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
                         - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
                         - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
                         - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
                         - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
                       - `headers`: [array of] (multiple options) {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                     - `requiredPolicies`: {object}
                       - `credentials`: [array of] {object}
                           - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
                           - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
                           - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
                       - `ip`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `policies`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `sso`: {object}
                         - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
                         - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
                         - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
                         - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
                         - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
                         - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
                       - `headers`: [array of] (multiple options) {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
         - `domains`: (multiple options) [array of] (multiple options) (string) A domain to redirect to this port. | (string) A string containing one or more references that resolve to a domain to redirect to this port. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of domains to redirect to this port. Each domain must first be verified and registered to your account. (pattern: .*\${.*}.*)
         - `disableNfDomain`: (multiple options) (boolean) Disable routing on the default code.run domain for public HTTP ports with custom domains. | (string) A string containing one or more references that resolve to disable routing on the default code.run domain for public HTTP ports with custom domains. (pattern: .*\${.*}.*)
         - `advancedOptions`: {object}
           - `enableTlsPassthrough`: (multiple options) (boolean) Whether this port should use pass through mode for TLS | (string) A string containing one or more references that resolve to whether this port should use pass through mode for TLS (pattern: .*\${.*}.*)
         - `protocol`: (multiple options) (string) (enum: HTTP, HTTP/2) | (string) (enum: HTTP, HTTP/2, TCP, UDP)
     - `disabledCI`: (boolean) Whether CI (continuous integration) should be disabled.
     - `buildSource`: (string) Defines the build source for this resource (enum: git, bundle)
     - `vcsData`: {object}
       - `projectUrl`: (multiple options) (string) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo to build. (pattern: .*\${.*}.*)
       - `projectType`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
       - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
       - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
       - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24) | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
       - `projectBranch`: (multiple options) (string) The name of the branch to use. | (string) A string containing one or more references that resolve to the name of the branch to use. (pattern: .*\${.*}.*)
     - `bundleData`: {object}
       - `bundleUrl`: (multiple options) (string) URL of the bundle to be built | (string) A string containing one or more references that resolve to uRL of the bundle to be built (pattern: .*\${.*}.*)
       - `branch`: (multiple options) (string) Branch identifier for the bundle. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to branch identifier for the bundle. (pattern: .*\${.*}.*)
     - `buildSettings`: (multiple options) {object}
         - `storage`: {object}
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
         - `dockerfile`: {object}
           - `useCache`: (boolean) DEPRECATED: This field will be removed in the near future and currently has no effect.
           - `buildEngine`: (multiple options) (string) Build engine to use. Defaults to recommended build engine `buildkit` (enum: buildkit, kaniko) | (string) A string containing one or more references that resolve to build engine to use. Defaults to recommended build engine `buildkit` (pattern: .*\${.*}.*)
           - `dockerFilePath`: (multiple options) (string) The file path of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$) | (string) A string containing one or more references that resolve to the file path of the Dockerfile. (pattern: .*\${.*}.*)
           - `dockerWorkDir`: (multiple options) (string) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory of the Dockerfile. (pattern: .*\${.*}.*)
           - `buildkit`: {object}
             - `useCache`: (multiple options) (boolean) Use persistent storage to cache build layers. | (string) A string containing one or more references that resolve to use persistent storage to cache build layers. (pattern: .*\${.*}.*)
             - `cacheStorageSize`: (multiple options) (integer) The amount of persistent storage available to each build in MB. | (string) A string containing one or more references that resolve to the amount of persistent storage available to each build in MB. (pattern: .*\${.*}.*)
             - `useInternalCache`: (multiple options) (boolean) DEPRECATED: This field will be removed in the near future. | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*)
             - `internalCacheStorage`: (multiple options) (number) DEPRECATED: This field will be removed in the near future. (format: float) | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*) | {object}
         - `storage`: {object}
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
         - `buildpack`: {object}
           - `builder`: (multiple options) (string) Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (enum: HEROKU_24, HEROKU_22, HEROKU_22_CLASSIC, HEROKU_20, HEROKU_18, GOOGLE_22, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_JAMMY_TINY, PAKETO_JAMMY_BASE, PAKETO_JAMMY_FULL, PAKETO_TINY, PAKETO_BASE, PAKETO_FULL) | (string) A string containing one or more references that resolve to buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (pattern: .*\${.*}.*)
           - `buildpackLocators`: [array of] (multiple options) (string) Url or registry identifier of custom Buildpack. | (string) A string containing one or more references that resolve to url or registry identifier of custom Buildpack. (pattern: .*\${.*}.*)
           - `buildContext`: (multiple options) (string) The working directory to build in. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory to build in. (pattern: .*\${.*}.*)
           - `useCache`: (multiple options) (boolean) Should build dependencies be cached? | (string) A string containing one or more references that resolve to should build dependencies be cached? (pattern: .*\${.*}.*)
     - `buildConfiguration`: {object}
       - `pathIgnoreRules`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
       - `isAllowList`: (multiple options) (boolean) If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. | (string) A string containing one or more references that resolve to if `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. (pattern: .*\${.*}.*)
       - `ciIgnoreFlagsEnabled`: (multiple options) (boolean) If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. | (string) A string containing one or more references that resolve to if `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. (pattern: .*\${.*}.*)
       - `ciIgnoreFlags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
       - `dockerfileTarget`: (multiple options) (string) If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. | (string) A string containing one or more references that resolve to if your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. (pattern: .*\${.*}.*)
       - `dockerCredentials`: [array of] (multiple options) (string) The ID of the docker credentials to use. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of the docker credentials to use. (pattern: .*\${.*}.*)
       - `includeGitFolder`: (boolean) Include .git folder inside the build context
       - `fullGitClone`: (boolean) Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set.
       - `enableGitLfs`: (boolean) Enable Git LFS support for the build
       - `storage`: {object}
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
     - `runtimeEnvironment`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `runtimeFiles`: {object}
     - `buildArguments`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `buildFiles`: {object}
     - `dockerSecretMounts`: {object}
     - `healthChecks`: [array of] {object}
         - `protocol`: (multiple options) (string) The protocol to access the health check with. (enum: HTTP, CMD, TCP) | (string) A string containing one or more references that resolve to the protocol to access the health check with. (pattern: .*\${.*}.*)
         - `type`: (multiple options) (string) The type of health check. (enum: livenessProbe, readinessProbe, startupProbe) | (string) A string containing one or more references that resolve to the type of health check. (pattern: .*\${.*}.*)
         - `path`: (multiple options) (string) The path of the health check endpoint. Required when protocol is HTTP. (pattern: ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*((\?([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)(&([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)*)?$) | (string) (pattern: .*\${.*}.*)
         - `cmd`: (multiple options) (string) The command to run for the health check. Required when protocol is CMD | (string) (pattern: .*\${.*}.*)
         - `port`: (multiple options) (integer) Port number for the health check endpoint. Required when protocol is HTTP. | (string) (pattern: .*\${.*}.*)
         - `initialDelaySeconds`: (multiple options) (integer) Initial delay, in seconds, before the health check is first run. | (string) A string containing one or more references that resolve to initial delay, in seconds, before the health check is first run. (pattern: .*\${.*}.*)
         - `periodSeconds`: (multiple options) (integer) The time between each check, in seconds. | (string) A string containing one or more references that resolve to the time between each check, in seconds. (pattern: .*\${.*}.*)
         - `timeoutSeconds`: (multiple options) (integer) The time to wait for a response before marking the health check as a failure. | (string) A string containing one or more references that resolve to the time to wait for a response before marking the health check as a failure. (pattern: .*\${.*}.*)
         - `failureThreshold`: (multiple options) (integer) The maximum number of allowed failures. | (string) A string containing one or more references that resolve to the maximum number of allowed failures. (pattern: .*\${.*}.*)
         - `successThreshold`: (multiple options) (integer) The number of successes required to mark the health check as a success. | (string) (pattern: .*\${.*}.*)
     - `loadBalancing`: {object}
       - `mode`: (string) (required) (enum: leastConnection, consistentHash, roundRobin, consistentReplicaRouting)
       - `consistentHash`: {object}
         - `mode`: (string) (required) (enum: ip, customHeader)
         - `header`: (string)
       - `consistentReplicaRouting`: {object}
         - `mode`: (string) (required) (enum: path, header)
     - `autoscaling`: {object}
       - `horizontal`: {object}
         - `enabled`: (multiple options) (boolean) Whether horizontal autoscaling should be enabled | (string) A string containing one or more references that resolve to whether horizontal autoscaling should be enabled (pattern: .*\${.*}.*)
         - `minReplicas`: (multiple options) (number) Minimum number of replicas which should be running at any time (format: float) | (string) A string containing one or more references that resolve to minimum number of replicas which should be running at any time (pattern: .*\${.*}.*)
         - `maxReplicas`: (multiple options) (number) Maximum number of replicas which can be running at any time (format: float) | (string) A string containing one or more references that resolve to maximum number of replicas which can be running at any time (pattern: .*\${.*}.*)
         - `cpu`: {object}
           - `enabled`: (multiple options) (boolean) Whether autoscaling should take into account cpu usage | (string) A string containing one or more references that resolve to whether autoscaling should take into account cpu usage (pattern: .*\${.*}.*)
           - `thresholdPercentage`: (multiple options) (integer) Threshold CPU usage percentage at which the workload will be scaled | (string) A string containing one or more references that resolve to threshold CPU usage percentage at which the workload will be scaled (pattern: .*\${.*}.*)
         - `memory`: {object}
           - `enabled`: (multiple options) (boolean) Whether autoscaling should take into account memory usage | (string) A string containing one or more references that resolve to whether autoscaling should take into account memory usage (pattern: .*\${.*}.*)
           - `thresholdPercentage`: (multiple options) (integer) Threshold memory usage percentage at which the workload will be scaled | (string) A string containing one or more references that resolve to threshold memory usage percentage at which the workload will be scaled (pattern: .*\${.*}.*)
         - `rps`: {object}
           - `enabled`: (multiple options) (boolean) Whether autoscaling should take into requests-per-second | (string) A string containing one or more references that resolve to whether autoscaling should take into requests-per-second (pattern: .*\${.*}.*)
           - `thresholdValue`: (multiple options) (integer) Threshold rps value on which the workload will be scaled | (string) A string containing one or more references that resolve to threshold rps value on which the workload will be scaled (pattern: .*\${.*}.*)
         - `userMetrics`: {object}
           - `enabled`: (multiple options) (boolean) Whether to enable handling for custom metrics in the autoscaling configuration | (string) A string containing one or more references that resolve to whether to enable handling for custom metrics in the autoscaling configuration (pattern: .*\${.*}.*)
           - `exposedMetricsPath`: (multiple options) (string) Path on which the metrics will be exposed by the service.. (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) A string containing one or more references that resolve to path on which the metrics will be exposed by the service.. (pattern: .*\${.*}.*)
           - `exposedMetricsPort`: (multiple options) (integer) Port on which the metrics will be exposed by the service. | (string) A string containing one or more references that resolve to port on which the metrics will be exposed by the service. (pattern: .*\${.*}.*)
           - `metrics`: [array of] {object}
               - `metricName`: (multiple options) (string) Name of the custom metric (pattern: [a-zA-Z_:][a-zA-Z0-9_:]*$) | (string) A string containing one or more references that resolve to name of the custom metric (pattern: .*\${.*}.*)
               - `metricType`: (multiple options) (string) Type of metric exposed, this will affect how it'll be queried by the autoscaler component: Gauge will be used as is, Counter will be used with rate() (enum: gauge, counter) | (string) A string containing one or more references that resolve to type of metric exposed, this will affect how it'll be queried by the autoscaler component: Gauge will be used as is, Counter will be used with rate() (pattern: .*\${.*}.*)
               - `thresholdValue`: (multiple options) (number) Threshold value on which the workload will be scaled. Represents the average value across all running pods. (format: float) | (string) A string containing one or more references that resolve to threshold value on which the workload will be scaled. Represents the average value across all running pods. (pattern: .*\${.*}.*)
     - `createOptions`: {object}
       - `volumesToAttach`: [array of] (string) (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
       - `expiryTime`: (integer) Number of seconds from creation after which the service should automatically expire. Once reached, the service is paused and scheduled for deletion. Must be between 300 (5 minutes) and 604800 (7 days).
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: DeploymentService)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `description`: (multiple options) (string) A description of the service. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the service. (pattern: .*\${.*}.*)
     - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `billing`: {object}
       - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (pattern: .*\${.*}.*)
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
     - `deployment`: {object}
       - `instances`: (multiple options) (integer) The number of instances to run the service on. | (string) A string containing one or more references that resolve to the number of instances to run the service on. (pattern: .*\${.*}.*)
       - `buildpack`: {object}
         - `configType`: (string) (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand)
         - `customProcess`: (multiple options) (string)
         - `customEntrypoint`: (multiple options) (string)
         - `customCommand`: (multiple options) (string)
       - `docker`: {object}
         - `configType`: (string) (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand)
         - `customEntrypoint`: (multiple options) (string)
         - `customCommand`: (multiple options) (string)
       - `storage`: {object}
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per container in MB | (string) A string containing one or more references that resolve to ephemeral storage per container in MB (pattern: .*\${.*}.*)
         - `shmSize`: (multiple options) (integer) Configures the amount of available memory-backed disk space available to /dev/shm | (string) A string containing one or more references that resolve to configures the amount of available memory-backed disk space available to /dev/shm (pattern: .*\${.*}.*)
       - `strategy`: {object}
         - `type`: (multiple options) (string) Configures the instance roll out strategy of your service. Currently only available via feature flag. (enum: recreate, rollout-steady, rollout-balanced, rollout-fast, custom) | (string) A string containing one or more references that resolve to configures the instance roll out strategy of your service. Currently only available via feature flag. (pattern: .*\${.*}.*)
         - `settings`: {object}
           - `maxSurge`: (multiple options) (integer) A non-negative integer. | (string) A percentage string in the range 0% to 100%, e.g. `25%` (pattern: ^\d+%$)
           - `maxUnavailable`: (multiple options) (integer) A non-negative integer. | (string) A percentage string in the range 0% to 100%, e.g. `25%` (pattern: ^\d+%$)
       - `zonalRedundancy`: {object}
         - `type`: (multiple options) (string) Defines scheduling behaviour across different zones within the same region. (enum: disabled, preferred, required) | (string) A string containing one or more references that resolve to defines scheduling behaviour across different zones within the same region. (pattern: .*\${.*}.*)
         - `minZones`: (integer) Defines how many zones are required and will prevent containers from additional scheduling into existing zones. (Only relevant if type is set to "required")
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
       - `gracePeriodSeconds`: (multiple options) (integer) The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. | (string) A string containing one or more references that resolve to the maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. (pattern: .*\${.*}.*)
       - `gradualRolloutStrategyId`: (multiple options) (string) The id of the strategy to be attached to service. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the strategy to be attached to service. (pattern: .*\${.*}.*)
       - `ssh`: {object}
         - `enabled`: (multiple options) (boolean) Enables SSH access if the resource matches an SSH identity selector. | (string) A string containing one or more references that resolve to enables SSH access if the resource matches an SSH identity selector. (pattern: .*\${.*}.*)
       - `metadata`: {object}
         - `labels`: {object}
         - `annotations`: {object}
       - `volumes`: [array of] {object}
           - `id`: (multiple options) (string) Slug identifying this volume within the service. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to slug identifying this volume within the service. (pattern: .*\${.*}.*)
           - `mounts`: [array of] {object}
               - `volumeMountPath`: (string) Optionally specify the path inside this volume that should be mounted (pattern: ^((?!\.\.).)*$)
               - `containerMountPath`: (string) (required) Specify the path into which the volume should be mounted (pattern: ^((?!:).)*$)
           - `spec`: {object}
             - `accessMode`: (string) Access mode of a per-replica volume. Always `ReadWriteOnce`. (enum: ReadWriteOnce)
             - `storageClassName`: (string) The type of the storage.
             - `storageSize`: (integer) (required) The size of the storage, in megabytes. Configurable sizes depend on the storage class.
       - `containerSnapshot`: {object}
         - `capture`: {object}
           - `onTermination`: (multiple options) (boolean) Creates a snapshot when a service container terminates, including crashes, rollouts, scale-downs, evictions, and manual restarts. | (string) A string containing one or more references that resolve to creates a snapshot when a service container terminates, including crashes, rollouts, scale-downs, evictions, and manual restarts. (pattern: .*\${.*}.*)
           - `retention`: {object}
             - `maxSnapshots`: (multiple options) (integer) The maximum number of termination snapshots retained for the service. | (string) A string containing one or more references that resolve to the maximum number of termination snapshots retained for the service. (pattern: .*\${.*}.*)
       - `internal`: {object}
         - `id`: (multiple options) (multiple options) (string) The ID of a build service in the same project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) The ID of a build service in another project, in the format `project-id/build-service-id` | (string) A string containing one or more references that resolve to iD of the build service to deploy (pattern: .*\${.*}.*)
         - `branch`: (multiple options) (string) Branch to deploy | (string) A string containing one or more references that resolve to branch to deploy (pattern: .*\${.*}.*)
         - `buildSHA`: (multiple options) (multiple options) (string) A commit sha. (min length: 40) (max length: 40) | (string) Latest commit. (enum: latest) | (string) A string containing one or more references that resolve to commit SHA to deploy, or 'latest' to deploy the most recent commit (pattern: .*\${.*}.*)
         - `buildId`: (multiple options) (string) ID of the build that should be deployed | (string) A string containing one or more references that resolve to iD of the build that should be deployed (pattern: .*\${.*}.*)
       - `external`: {object}
         - `imagePath`: (multiple options) (string) Image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: ^(?:(?:https?:\/\/)?([a-zA-Z0-9\-]+\.[a-zA-Z0-9\.\-]+))?(?:\/)?([a-zA-Z/-9\.\-_]+)(?:\:([a-zA-Z/-9\.\-_\:]+)|\@([a-zA-Z/-9\.\-_\:]+))$) | (string) A string containing one or more references that resolve to image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: .*\${.*}.*)
         - `credentials`: (multiple options) (string) ID of the saved credentials to use to access this external image. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of the saved credentials to use to access this external image. (pattern: .*\${.*}.*)
     - `ports`: [array of] {object}
         - `name`: (multiple options) (string) The name used to identify the port. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 1) (max length: 8) | (string) A string containing one or more references that resolve to the name used to identify the port. (pattern: .*\${.*}.*)
         - `internalPort`: (multiple options) (integer) The port number. | (string) A string containing one or more references that resolve to the port number. (pattern: .*\${.*}.*)
         - `public`: (multiple options) (boolean) If true, the port will be exposed publicly. | (string) A string containing one or more references that resolve to if true, the port will be exposed publicly. (pattern: .*\${.*}.*)
         - `security`: {object}
           - `credentials`: [array of] {object}
               - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
               - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
               - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
           - `ip`: (multiple options) [array of] {object}
                 - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                 - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
           - `policies`: (multiple options) [array of] {object}
                 - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                 - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
           - `sso`: {object}
             - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
             - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
             - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
             - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
             - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
             - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
           - `headers`: [array of] (multiple options) {object}
                 - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                 - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                 - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                 - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
           - `verificationMode`: (string) Mode used to verify multiple security features like ip policies and SSO authentication (enum: or, and)
           - `securePathConfiguration`: {object}
             - `enabled`: (boolean) Enable security policies on a path-level style
             - `skipSecurityPoliciesForInternalTrafficViaPublicDns`: (boolean) Allow internal traffic from same or shared projects via public DNS to skip all security policies
             - `rules`: [array of] {object}
                 - `paths`: [array of] (multiple options) {object}
                       - `path`: (multiple options) (string) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) (pattern: .*\${.*}.*)
                       - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: prefix) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                       - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*) | {object}
                       - `path`: (multiple options) (string) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) (pattern: .*\${.*}.*)
                       - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: exact) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                       - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*) | {object}
                       - `path`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                       - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: regex) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                       - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*)
                 - `accessMode`: (multiple options) (string) Specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path (enum: protected, unprotected) | (string) A string containing one or more references that resolve to specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path (pattern: .*\${.*}.*)
                 - `securityPolicies`: (multiple options) {object}
                     - `orPolicies`: {object}
                       - `credentials`: [array of] {object}
                           - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
                           - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
                           - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
                       - `ip`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `policies`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `sso`: {object}
                         - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
                         - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
                         - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
                         - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
                         - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
                         - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
                       - `headers`: [array of] (multiple options) {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                     - `requiredPolicies`: {object}
                       - `credentials`: [array of] {object}
                           - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
                           - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
                           - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
                       - `ip`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `policies`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `sso`: {object}
                         - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
                         - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
                         - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
                         - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
                         - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
                         - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
                       - `headers`: [array of] (multiple options) {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
         - `domains`: (multiple options) [array of] (multiple options) (string) A domain to redirect to this port. | (string) A string containing one or more references that resolve to a domain to redirect to this port. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of domains to redirect to this port. Each domain must first be verified and registered to your account. (pattern: .*\${.*}.*)
         - `disableNfDomain`: (multiple options) (boolean) Disable routing on the default code.run domain for public HTTP ports with custom domains. | (string) A string containing one or more references that resolve to disable routing on the default code.run domain for public HTTP ports with custom domains. (pattern: .*\${.*}.*)
         - `advancedOptions`: {object}
           - `enableTlsPassthrough`: (multiple options) (boolean) Whether this port should use pass through mode for TLS | (string) A string containing one or more references that resolve to whether this port should use pass through mode for TLS (pattern: .*\${.*}.*)
         - `protocol`: (multiple options) (string) (enum: HTTP, HTTP/2) | (string) (enum: HTTP, HTTP/2, TCP, UDP)
     - `runtimeEnvironment`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `runtimeFiles`: {object}
     - `healthChecks`: [array of] {object}
         - `protocol`: (multiple options) (string) The protocol to access the health check with. (enum: HTTP, CMD, TCP) | (string) A string containing one or more references that resolve to the protocol to access the health check with. (pattern: .*\${.*}.*)
         - `type`: (multiple options) (string) The type of health check. (enum: livenessProbe, readinessProbe, startupProbe) | (string) A string containing one or more references that resolve to the type of health check. (pattern: .*\${.*}.*)
         - `path`: (multiple options) (string) The path of the health check endpoint. Required when protocol is HTTP. (pattern: ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*((\?([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)(&([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)*)?$) | (string) (pattern: .*\${.*}.*)
         - `cmd`: (multiple options) (string) The command to run for the health check. Required when protocol is CMD | (string) (pattern: .*\${.*}.*)
         - `port`: (multiple options) (integer) Port number for the health check endpoint. Required when protocol is HTTP. | (string) (pattern: .*\${.*}.*)
         - `initialDelaySeconds`: (multiple options) (integer) Initial delay, in seconds, before the health check is first run. | (string) A string containing one or more references that resolve to initial delay, in seconds, before the health check is first run. (pattern: .*\${.*}.*)
         - `periodSeconds`: (multiple options) (integer) The time between each check, in seconds. | (string) A string containing one or more references that resolve to the time between each check, in seconds. (pattern: .*\${.*}.*)
         - `timeoutSeconds`: (multiple options) (integer) The time to wait for a response before marking the health check as a failure. | (string) A string containing one or more references that resolve to the time to wait for a response before marking the health check as a failure. (pattern: .*\${.*}.*)
         - `failureThreshold`: (multiple options) (integer) The maximum number of allowed failures. | (string) A string containing one or more references that resolve to the maximum number of allowed failures. (pattern: .*\${.*}.*)
         - `successThreshold`: (multiple options) (integer) The number of successes required to mark the health check as a success. | (string) (pattern: .*\${.*}.*)
     - `loadBalancing`: {object}
       - `mode`: (string) (enum: leastConnection, consistentHash, roundRobin, consistentReplicaRouting)
       - `consistentHash`: {object}
         - `mode`: (string) (required) (enum: ip, customHeader)
         - `header`: (string)
       - `consistentReplicaRouting`: {object}
         - `mode`: (string) (required) (enum: path, header)
     - `autoscaling`: {object}
       - `horizontal`: {object}
         - `enabled`: (multiple options) (boolean) Whether horizontal autoscaling should be enabled | (string) A string containing one or more references that resolve to whether horizontal autoscaling should be enabled (pattern: .*\${.*}.*)
         - `minReplicas`: (multiple options) (number) Minimum number of replicas which should be running at any time (format: float) | (string) A string containing one or more references that resolve to minimum number of replicas which should be running at any time (pattern: .*\${.*}.*)
         - `maxReplicas`: (multiple options) (number) Maximum number of replicas which can be running at any time (format: float) | (string) A string containing one or more references that resolve to maximum number of replicas which can be running at any time (pattern: .*\${.*}.*)
         - `cpu`: {object}
           - `enabled`: (multiple options) (boolean) Whether autoscaling should take into account cpu usage | (string) A string containing one or more references that resolve to whether autoscaling should take into account cpu usage (pattern: .*\${.*}.*)
           - `thresholdPercentage`: (multiple options) (integer) Threshold CPU usage percentage at which the workload will be scaled | (string) A string containing one or more references that resolve to threshold CPU usage percentage at which the workload will be scaled (pattern: .*\${.*}.*)
         - `memory`: {object}
           - `enabled`: (multiple options) (boolean) Whether autoscaling should take into account memory usage | (string) A string containing one or more references that resolve to whether autoscaling should take into account memory usage (pattern: .*\${.*}.*)
           - `thresholdPercentage`: (multiple options) (integer) Threshold memory usage percentage at which the workload will be scaled | (string) A string containing one or more references that resolve to threshold memory usage percentage at which the workload will be scaled (pattern: .*\${.*}.*)
         - `rps`: {object}
           - `enabled`: (multiple options) (boolean) Whether autoscaling should take into requests-per-second | (string) A string containing one or more references that resolve to whether autoscaling should take into requests-per-second (pattern: .*\${.*}.*)
           - `thresholdValue`: (multiple options) (integer) Threshold rps value on which the workload will be scaled | (string) A string containing one or more references that resolve to threshold rps value on which the workload will be scaled (pattern: .*\${.*}.*)
         - `userMetrics`: {object}
           - `enabled`: (multiple options) (boolean) Whether to enable handling for custom metrics in the autoscaling configuration | (string) A string containing one or more references that resolve to whether to enable handling for custom metrics in the autoscaling configuration (pattern: .*\${.*}.*)
           - `exposedMetricsPath`: (multiple options) (string) Path on which the metrics will be exposed by the service.. (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) A string containing one or more references that resolve to path on which the metrics will be exposed by the service.. (pattern: .*\${.*}.*)
           - `exposedMetricsPort`: (multiple options) (integer) Port on which the metrics will be exposed by the service. | (string) A string containing one or more references that resolve to port on which the metrics will be exposed by the service. (pattern: .*\${.*}.*)
           - `metrics`: [array of] {object}
               - `metricName`: (multiple options) (string) Name of the custom metric (pattern: [a-zA-Z_:][a-zA-Z0-9_:]*$) | (string) A string containing one or more references that resolve to name of the custom metric (pattern: .*\${.*}.*)
               - `metricType`: (multiple options) (string) Type of metric exposed, this will affect how it'll be queried by the autoscaler component: Gauge will be used as is, Counter will be used with rate() (enum: gauge, counter) | (string) A string containing one or more references that resolve to type of metric exposed, this will affect how it'll be queried by the autoscaler component: Gauge will be used as is, Counter will be used with rate() (pattern: .*\${.*}.*)
               - `thresholdValue`: (multiple options) (number) Threshold value on which the workload will be scaled. Represents the average value across all running pods. (format: float) | (string) A string containing one or more references that resolve to threshold value on which the workload will be scaled. Represents the average value across all running pods. (pattern: .*\${.*}.*)
     - `name`: (multiple options) (string) The name of the service. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the name of the service. (pattern: .*\${.*}.*)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: DeploymentService)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) The name of the service. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the name of the service. (pattern: .*\${.*}.*)
     - `description`: (multiple options) (string) A description of the service. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the service. (pattern: .*\${.*}.*)
     - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
     - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `billing`: {object}
       - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (pattern: .*\${.*}.*)
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
     - `infrastructure`: {object}
       - `architecture`: (string) (enum: x86, arm)
     - `deployment`: {object}
       - `type`: (multiple options) (string) The way the service should be deployed. Either as a deployment (default), or as a stateful set. (enum: deployment, statefulSet) | (string) A string containing one or more references that resolve to the way the service should be deployed. Either as a deployment (default), or as a stateful set. (pattern: .*\${.*}.*)
       - `instances`: (multiple options) (integer) The number of instances to run the service on. | (string) A string containing one or more references that resolve to the number of instances to run the service on. (pattern: .*\${.*}.*)
       - `buildpack`: {object}
         - `configType`: (string) (required) Type of buildpack run configuration (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand)
         - `customProcess`: (string) Custom process which should be run. Required in case where `configType` is `customProcess`
         - `customEntrypoint`: (string) Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand`
         - `customCommand`: (string) Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand`
       - `docker`: {object}
         - `configType`: (string) (required) Type of entrypoint & command override configuration (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand)
         - `customEntrypoint`: (string) Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand`
         - `customCommand`: (string) Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand`
       - `storage`: {object}
         - `useHdbStorage`: (boolean)
         - `usePdSsdStorage`: (boolean)
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per container in MB | (string) A string containing one or more references that resolve to ephemeral storage per container in MB (pattern: .*\${.*}.*)
         - `shmSize`: (multiple options) (integer) Configures the amount of available memory-backed disk space available to /dev/shm | (string) A string containing one or more references that resolve to configures the amount of available memory-backed disk space available to /dev/shm (pattern: .*\${.*}.*)
       - `strategy`: {object}
         - `type`: (multiple options) (string) Configures the instance roll out strategy of your service. Currently only available via feature flag. (enum: recreate, rollout-steady, rollout-balanced, rollout-fast, custom) | (string) A string containing one or more references that resolve to configures the instance roll out strategy of your service. Currently only available via feature flag. (pattern: .*\${.*}.*)
         - `settings`: {object}
           - `maxSurge`: (multiple options) (integer) A non-negative integer. | (string) A percentage string in the range 0% to 100%, e.g. `25%` (pattern: ^\d+%$)
           - `maxUnavailable`: (multiple options) (integer) A non-negative integer. | (string) A percentage string in the range 0% to 100%, e.g. `25%` (pattern: ^\d+%$)
       - `zonalRedundancy`: {object}
         - `type`: (multiple options) (string) Defines scheduling behaviour across different zones within the same region. (enum: disabled, preferred, required) | (string) A string containing one or more references that resolve to defines scheduling behaviour across different zones within the same region. (pattern: .*\${.*}.*)
         - `minZones`: (integer) Defines how many zones are required and will prevent containers from additional scheduling into existing zones. (Only relevant if type is set to "required")
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
       - `gracePeriodSeconds`: (multiple options) (integer) The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. | (string) A string containing one or more references that resolve to the maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. (pattern: .*\${.*}.*)
       - `gradualRolloutStrategyId`: (multiple options) (string) The id of the strategy to be attached to service. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the strategy to be attached to service. (pattern: .*\${.*}.*)
       - `ssh`: {object}
         - `enabled`: (multiple options) (boolean) Enables SSH access if the resource matches an SSH identity selector. | (string) A string containing one or more references that resolve to enables SSH access if the resource matches an SSH identity selector. (pattern: .*\${.*}.*)
       - `metadata`: {object}
         - `labels`: {object}
         - `annotations`: {object}
       - `volumes`: [array of] {object}
           - `id`: (multiple options) (string) Slug identifying this volume within the service. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to slug identifying this volume within the service. (pattern: .*\${.*}.*)
           - `mounts`: [array of] {object}
               - `volumeMountPath`: (string) Optionally specify the path inside this volume that should be mounted (pattern: ^((?!\.\.).)*$)
               - `containerMountPath`: (string) (required) Specify the path into which the volume should be mounted (pattern: ^((?!:).)*$)
           - `spec`: {object}
             - `accessMode`: (string) Access mode of a per-replica volume. Always `ReadWriteOnce`. (enum: ReadWriteOnce)
             - `storageClassName`: (string) The type of the storage.
             - `storageSize`: (integer) (required) The size of the storage, in megabytes. Configurable sizes depend on the storage class.
       - `containerSnapshot`: {object}
         - `restoreFrom`: (multiple options) (string) The successful container snapshot to restore the service from. (format: uuid) | (string) A string containing one or more references that resolve to the successful container snapshot to restore the service from. (pattern: .*\${.*}.*)
         - `capture`: {object}
           - `onTermination`: (multiple options) (boolean) Creates a snapshot when a service container terminates, including crashes, rollouts, scale-downs, evictions, and manual restarts. | (string) A string containing one or more references that resolve to creates a snapshot when a service container terminates, including crashes, rollouts, scale-downs, evictions, and manual restarts. (pattern: .*\${.*}.*)
           - `retention`: {object}
             - `maxSnapshots`: (multiple options) (integer) The maximum number of termination snapshots retained for the service. | (string) A string containing one or more references that resolve to the maximum number of termination snapshots retained for the service. (pattern: .*\${.*}.*)
       - `internal`: {object}
         - `id`: (multiple options) (multiple options) (string) The ID of a build service in the same project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) The ID of a build service in another project, in the format `project-id/build-service-id` | (string) A string containing one or more references that resolve to iD of the build service to deploy (pattern: .*\${.*}.*)
         - `branch`: (multiple options) (string) Branch to deploy | (string) A string containing one or more references that resolve to branch to deploy (pattern: .*\${.*}.*)
         - `buildSHA`: (multiple options) (multiple options) (string) A commit sha. (min length: 40) (max length: 40) | (string) Latest commit. (enum: latest) | (string) A string containing one or more references that resolve to commit SHA to deploy, or 'latest' to deploy the most recent commit (pattern: .*\${.*}.*)
         - `buildId`: (multiple options) (string) ID of the build that should be deployed | (string) A string containing one or more references that resolve to iD of the build that should be deployed (pattern: .*\${.*}.*)
       - `external`: {object}
         - `imagePath`: (multiple options) (string) Image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: ^(?:(?:https?:\/\/)?([a-zA-Z0-9\-]+\.[a-zA-Z0-9\.\-]+))?(?:\/)?([a-zA-Z/-9\.\-_]+)(?:\:([a-zA-Z/-9\.\-_\:]+)|\@([a-zA-Z/-9\.\-_\:]+))$) | (string) A string containing one or more references that resolve to image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: .*\${.*}.*)
         - `credentials`: (multiple options) (string) ID of the saved credentials to use to access this external image. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of the saved credentials to use to access this external image. (pattern: .*\${.*}.*)
       - `releaseFlowControlled`: (boolean) When enabled the deployment source will only be set on creation. All changes to the deployment source must be done via a release flow or manually.
     - `ports`: [array of] {object}
         - `name`: (multiple options) (string) The name used to identify the port. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 1) (max length: 8) | (string) A string containing one or more references that resolve to the name used to identify the port. (pattern: .*\${.*}.*)
         - `internalPort`: (multiple options) (integer) The port number. | (string) A string containing one or more references that resolve to the port number. (pattern: .*\${.*}.*)
         - `public`: (multiple options) (boolean) If true, the port will be exposed publicly. | (string) A string containing one or more references that resolve to if true, the port will be exposed publicly. (pattern: .*\${.*}.*)
         - `security`: {object}
           - `credentials`: [array of] {object}
               - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
               - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
               - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
           - `ip`: (multiple options) [array of] {object}
                 - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                 - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
           - `policies`: (multiple options) [array of] {object}
                 - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                 - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
           - `sso`: {object}
             - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
             - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
             - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
             - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
             - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
             - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
           - `headers`: [array of] (multiple options) {object}
                 - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                 - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                 - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                 - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
           - `verificationMode`: (string) Mode used to verify multiple security features like ip policies and SSO authentication (enum: or, and)
           - `securePathConfiguration`: {object}
             - `enabled`: (boolean) Enable security policies on a path-level style
             - `skipSecurityPoliciesForInternalTrafficViaPublicDns`: (boolean) Allow internal traffic from same or shared projects via public DNS to skip all security policies
             - `rules`: [array of] {object}
                 - `paths`: [array of] (multiple options) {object}
                       - `path`: (multiple options) (string) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) (pattern: .*\${.*}.*)
                       - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: prefix) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                       - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*) | {object}
                       - `path`: (multiple options) (string) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) (pattern: .*\${.*}.*)
                       - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: exact) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                       - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*) | {object}
                       - `path`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                       - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: regex) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                       - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*)
                 - `accessMode`: (multiple options) (string) Specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path (enum: protected, unprotected) | (string) A string containing one or more references that resolve to specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path (pattern: .*\${.*}.*)
                 - `securityPolicies`: (multiple options) {object}
                     - `orPolicies`: {object}
                       - `credentials`: [array of] {object}
                           - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
                           - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
                           - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
                       - `ip`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `policies`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `sso`: {object}
                         - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
                         - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
                         - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
                         - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
                         - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
                         - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
                       - `headers`: [array of] (multiple options) {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                     - `requiredPolicies`: {object}
                       - `credentials`: [array of] {object}
                           - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
                           - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
                           - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
                       - `ip`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `policies`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `sso`: {object}
                         - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
                         - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
                         - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
                         - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
                         - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
                         - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
                       - `headers`: [array of] (multiple options) {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
         - `domains`: (multiple options) [array of] (multiple options) (string) A domain to redirect to this port. | (string) A string containing one or more references that resolve to a domain to redirect to this port. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of domains to redirect to this port. Each domain must first be verified and registered to your account. (pattern: .*\${.*}.*)
         - `disableNfDomain`: (multiple options) (boolean) Disable routing on the default code.run domain for public HTTP ports with custom domains. | (string) A string containing one or more references that resolve to disable routing on the default code.run domain for public HTTP ports with custom domains. (pattern: .*\${.*}.*)
         - `advancedOptions`: {object}
           - `enableTlsPassthrough`: (multiple options) (boolean) Whether this port should use pass through mode for TLS | (string) A string containing one or more references that resolve to whether this port should use pass through mode for TLS (pattern: .*\${.*}.*)
         - `protocol`: (multiple options) (string) (enum: HTTP, HTTP/2) | (string) (enum: HTTP, HTTP/2, TCP, UDP)
     - `runtimeEnvironment`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `runtimeFiles`: {object}
     - `healthChecks`: [array of] {object}
         - `protocol`: (multiple options) (string) The protocol to access the health check with. (enum: HTTP, CMD, TCP) | (string) A string containing one or more references that resolve to the protocol to access the health check with. (pattern: .*\${.*}.*)
         - `type`: (multiple options) (string) The type of health check. (enum: livenessProbe, readinessProbe, startupProbe) | (string) A string containing one or more references that resolve to the type of health check. (pattern: .*\${.*}.*)
         - `path`: (multiple options) (string) The path of the health check endpoint. Required when protocol is HTTP. (pattern: ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*((\?([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)(&([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)*)?$) | (string) (pattern: .*\${.*}.*)
         - `cmd`: (multiple options) (string) The command to run for the health check. Required when protocol is CMD | (string) (pattern: .*\${.*}.*)
         - `port`: (multiple options) (integer) Port number for the health check endpoint. Required when protocol is HTTP. | (string) (pattern: .*\${.*}.*)
         - `initialDelaySeconds`: (multiple options) (integer) Initial delay, in seconds, before the health check is first run. | (string) A string containing one or more references that resolve to initial delay, in seconds, before the health check is first run. (pattern: .*\${.*}.*)
         - `periodSeconds`: (multiple options) (integer) The time between each check, in seconds. | (string) A string containing one or more references that resolve to the time between each check, in seconds. (pattern: .*\${.*}.*)
         - `timeoutSeconds`: (multiple options) (integer) The time to wait for a response before marking the health check as a failure. | (string) A string containing one or more references that resolve to the time to wait for a response before marking the health check as a failure. (pattern: .*\${.*}.*)
         - `failureThreshold`: (multiple options) (integer) The maximum number of allowed failures. | (string) A string containing one or more references that resolve to the maximum number of allowed failures. (pattern: .*\${.*}.*)
         - `successThreshold`: (multiple options) (integer) The number of successes required to mark the health check as a success. | (string) (pattern: .*\${.*}.*)
     - `loadBalancing`: {object}
       - `mode`: (string) (required) (enum: leastConnection, consistentHash, roundRobin, consistentReplicaRouting)
       - `consistentHash`: {object}
         - `mode`: (string) (required) (enum: ip, customHeader)
         - `header`: (string)
       - `consistentReplicaRouting`: {object}
         - `mode`: (string) (required) (enum: path, header)
     - `autoscaling`: {object}
       - `horizontal`: {object}
         - `enabled`: (multiple options) (boolean) Whether horizontal autoscaling should be enabled | (string) A string containing one or more references that resolve to whether horizontal autoscaling should be enabled (pattern: .*\${.*}.*)
         - `minReplicas`: (multiple options) (number) Minimum number of replicas which should be running at any time (format: float) | (string) A string containing one or more references that resolve to minimum number of replicas which should be running at any time (pattern: .*\${.*}.*)
         - `maxReplicas`: (multiple options) (number) Maximum number of replicas which can be running at any time (format: float) | (string) A string containing one or more references that resolve to maximum number of replicas which can be running at any time (pattern: .*\${.*}.*)
         - `cpu`: {object}
           - `enabled`: (multiple options) (boolean) Whether autoscaling should take into account cpu usage | (string) A string containing one or more references that resolve to whether autoscaling should take into account cpu usage (pattern: .*\${.*}.*)
           - `thresholdPercentage`: (multiple options) (integer) Threshold CPU usage percentage at which the workload will be scaled | (string) A string containing one or more references that resolve to threshold CPU usage percentage at which the workload will be scaled (pattern: .*\${.*}.*)
         - `memory`: {object}
           - `enabled`: (multiple options) (boolean) Whether autoscaling should take into account memory usage | (string) A string containing one or more references that resolve to whether autoscaling should take into account memory usage (pattern: .*\${.*}.*)
           - `thresholdPercentage`: (multiple options) (integer) Threshold memory usage percentage at which the workload will be scaled | (string) A string containing one or more references that resolve to threshold memory usage percentage at which the workload will be scaled (pattern: .*\${.*}.*)
         - `rps`: {object}
           - `enabled`: (multiple options) (boolean) Whether autoscaling should take into requests-per-second | (string) A string containing one or more references that resolve to whether autoscaling should take into requests-per-second (pattern: .*\${.*}.*)
           - `thresholdValue`: (multiple options) (integer) Threshold rps value on which the workload will be scaled | (string) A string containing one or more references that resolve to threshold rps value on which the workload will be scaled (pattern: .*\${.*}.*)
         - `userMetrics`: {object}
           - `enabled`: (multiple options) (boolean) Whether to enable handling for custom metrics in the autoscaling configuration | (string) A string containing one or more references that resolve to whether to enable handling for custom metrics in the autoscaling configuration (pattern: .*\${.*}.*)
           - `exposedMetricsPath`: (multiple options) (string) Path on which the metrics will be exposed by the service.. (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) A string containing one or more references that resolve to path on which the metrics will be exposed by the service.. (pattern: .*\${.*}.*)
           - `exposedMetricsPort`: (multiple options) (integer) Port on which the metrics will be exposed by the service. | (string) A string containing one or more references that resolve to port on which the metrics will be exposed by the service. (pattern: .*\${.*}.*)
           - `metrics`: [array of] {object}
               - `metricName`: (multiple options) (string) Name of the custom metric (pattern: [a-zA-Z_:][a-zA-Z0-9_:]*$) | (string) A string containing one or more references that resolve to name of the custom metric (pattern: .*\${.*}.*)
               - `metricType`: (multiple options) (string) Type of metric exposed, this will affect how it'll be queried by the autoscaler component: Gauge will be used as is, Counter will be used with rate() (enum: gauge, counter) | (string) A string containing one or more references that resolve to type of metric exposed, this will affect how it'll be queried by the autoscaler component: Gauge will be used as is, Counter will be used with rate() (pattern: .*\${.*}.*)
               - `thresholdValue`: (multiple options) (number) Threshold value on which the workload will be scaled. Represents the average value across all running pods. (format: float) | (string) A string containing one or more references that resolve to threshold value on which the workload will be scaled. Represents the average value across all running pods. (pattern: .*\${.*}.*)
     - `createOptions`: {object}
       - `volumesToAttach`: [array of] (string) (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
       - `expiryTime`: (integer) Number of seconds from creation after which the service should automatically expire. Once reached, the service is paused and scheduled for deletion. Must be between 300 (5 minutes) and 604800 (7 days).
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: Harness)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `description`: (multiple options) (string) A description of the harness. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the harness. (pattern: .*\${.*}.*)
     - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `billing`: {object}
       - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (pattern: .*\${.*}.*)
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
     - `deployment`: {object}
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
       - `storage`: {object}
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per container in MB | (string) A string containing one or more references that resolve to ephemeral storage per container in MB (pattern: .*\${.*}.*)
       - `workspaceSize`: (multiple options) (integer) Size of the persistent workspace volume in MiB. Can only be grown after creation; shrinking is rejected because Kubernetes does not support shrinking persistent volume claims. | (string) A string containing one or more references that resolve to size of the persistent workspace volume in MiB. Can only be grown after creation; shrinking is rejected because Kubernetes does not support shrinking persistent volume claims. (pattern: .*\${.*}.*)
     - `ports`: [array of] {object}
         - `name`: (multiple options) (string) The name used to identify the port. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 1) (max length: 8) | (string) A string containing one or more references that resolve to the name used to identify the port. (pattern: .*\${.*}.*)
         - `internalPort`: (multiple options) (integer) The port number. | (string) A string containing one or more references that resolve to the port number. (pattern: .*\${.*}.*)
         - `public`: (multiple options) (boolean) If true, the port will be exposed publicly. | (string) A string containing one or more references that resolve to if true, the port will be exposed publicly. (pattern: .*\${.*}.*)
         - `security`: {object}
           - `credentials`: [array of] {object}
               - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
               - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
               - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
           - `ip`: (multiple options) [array of] {object}
                 - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                 - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
           - `policies`: (multiple options) [array of] {object}
                 - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                 - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
           - `sso`: {object}
             - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
             - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
             - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
             - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
             - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
             - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
           - `headers`: [array of] (multiple options) {object}
                 - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                 - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                 - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                 - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
           - `verificationMode`: (string) Mode used to verify multiple security features like ip policies and SSO authentication (enum: or, and)
           - `securePathConfiguration`: {object}
             - `enabled`: (boolean) Enable security policies on a path-level style
             - `skipSecurityPoliciesForInternalTrafficViaPublicDns`: (boolean) Allow internal traffic from same or shared projects via public DNS to skip all security policies
             - `rules`: [array of] {object}
                 - `paths`: [array of] (multiple options) {object}
                       - `path`: (multiple options) (string) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) (pattern: .*\${.*}.*)
                       - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: prefix) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                       - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*) | {object}
                       - `path`: (multiple options) (string) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) (pattern: .*\${.*}.*)
                       - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: exact) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                       - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*) | {object}
                       - `path`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                       - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: regex) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                       - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*)
                 - `accessMode`: (multiple options) (string) Specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path (enum: protected, unprotected) | (string) A string containing one or more references that resolve to specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path (pattern: .*\${.*}.*)
                 - `securityPolicies`: (multiple options) {object}
                     - `orPolicies`: {object}
                       - `credentials`: [array of] {object}
                           - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
                           - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
                           - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
                       - `ip`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `policies`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `sso`: {object}
                         - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
                         - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
                         - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
                         - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
                         - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
                         - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
                       - `headers`: [array of] (multiple options) {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                     - `requiredPolicies`: {object}
                       - `credentials`: [array of] {object}
                           - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
                           - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
                           - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
                       - `ip`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `policies`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `sso`: {object}
                         - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
                         - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
                         - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
                         - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
                         - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
                         - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
                       - `headers`: [array of] (multiple options) {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
         - `domains`: (multiple options) [array of] (multiple options) (string) A domain to redirect to this port. | (string) A string containing one or more references that resolve to a domain to redirect to this port. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of domains to redirect to this port. Each domain must first be verified and registered to your account. (pattern: .*\${.*}.*)
         - `disableNfDomain`: (multiple options) (boolean) Disable routing on the default code.run domain for public HTTP ports with custom domains. | (string) A string containing one or more references that resolve to disable routing on the default code.run domain for public HTTP ports with custom domains. (pattern: .*\${.*}.*)
         - `advancedOptions`: {object}
           - `enableTlsPassthrough`: (multiple options) (boolean) Whether this port should use pass through mode for TLS | (string) A string containing one or more references that resolve to whether this port should use pass through mode for TLS (pattern: .*\${.*}.*)
         - `protocol`: (multiple options) (string) (enum: HTTP, HTTP/2) | (string) (enum: HTTP, HTTP/2, TCP, UDP)
     - `source`: {object}
       - `projectUrl`: (multiple options) (string) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo to build. (pattern: .*\${.*}.*)
       - `projectType`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
       - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
       - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
       - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24) | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
       - `projectBranch`: (multiple options) (string) The name of the branch to pre-pull for the harness environment. | (string) A string containing one or more references that resolve to the name of the branch to pre-pull for the harness environment. (pattern: .*\${.*}.*)
       - `publicRepo`: (multiple options) (boolean) Whether the linked repository is public. | (string) A string containing one or more references that resolve to whether the linked repository is public. (pattern: .*\${.*}.*)
     - `harness`: {object}
       - `authMode`: (multiple options) (string) How the harness authenticates: `apiKey` (a provider API key is supplied) or `account` (interactive/account login, no key stored). When omitted, defaults to `apiKey` if an apiKey is provided. (enum: apiKey, account) | (string) A string containing one or more references that resolve to how the harness authenticates: `apiKey` (a provider API key is supplied) or `account` (interactive/account login, no key stored). When omitted, defaults to `apiKey` if an apiKey is provided. (pattern: .*\${.*}.*)
       - `apiKey`: (multiple options) (string) API key used by the harness environment. | (string) A string containing one or more references that resolve to aPI key used by the harness environment. (pattern: .*\${.*}.*)
     - `runtimeEnvironment`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `runtimeFiles`: {object}
     - `name`: (multiple options) (string) The name of the harness. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the name of the harness. (pattern: .*\${.*}.*)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: Harness)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) The name of the harness. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the name of the harness. (pattern: .*\${.*}.*)
     - `description`: (multiple options) (string) A description of the harness. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the harness. (pattern: .*\${.*}.*)
     - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
     - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `billing`: {object}
       - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (pattern: .*\${.*}.*)
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
     - `deployment`: {object}
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
       - `storage`: {object}
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per container in MB | (string) A string containing one or more references that resolve to ephemeral storage per container in MB (pattern: .*\${.*}.*)
       - `workspaceSize`: (multiple options) (integer) Size of the persistent workspace volume in MiB. Can only be grown after creation; shrinking is rejected because Kubernetes does not support shrinking persistent volume claims. | (string) A string containing one or more references that resolve to size of the persistent workspace volume in MiB. Can only be grown after creation; shrinking is rejected because Kubernetes does not support shrinking persistent volume claims. (pattern: .*\${.*}.*)
     - `ports`: [array of] {object}
         - `name`: (multiple options) (string) The name used to identify the port. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 1) (max length: 8) | (string) A string containing one or more references that resolve to the name used to identify the port. (pattern: .*\${.*}.*)
         - `internalPort`: (multiple options) (integer) The port number. | (string) A string containing one or more references that resolve to the port number. (pattern: .*\${.*}.*)
         - `public`: (multiple options) (boolean) If true, the port will be exposed publicly. | (string) A string containing one or more references that resolve to if true, the port will be exposed publicly. (pattern: .*\${.*}.*)
         - `security`: {object}
           - `credentials`: [array of] {object}
               - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
               - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
               - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
           - `ip`: (multiple options) [array of] {object}
                 - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                 - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
           - `policies`: (multiple options) [array of] {object}
                 - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                 - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
           - `sso`: {object}
             - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
             - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
             - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
             - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
             - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
             - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
           - `headers`: [array of] (multiple options) {object}
                 - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                 - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                 - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                 - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
           - `verificationMode`: (string) Mode used to verify multiple security features like ip policies and SSO authentication (enum: or, and)
           - `securePathConfiguration`: {object}
             - `enabled`: (boolean) Enable security policies on a path-level style
             - `skipSecurityPoliciesForInternalTrafficViaPublicDns`: (boolean) Allow internal traffic from same or shared projects via public DNS to skip all security policies
             - `rules`: [array of] {object}
                 - `paths`: [array of] (multiple options) {object}
                       - `path`: (multiple options) (string) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) (pattern: .*\${.*}.*)
                       - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: prefix) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                       - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*) | {object}
                       - `path`: (multiple options) (string) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) (pattern: .*\${.*}.*)
                       - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: exact) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                       - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*) | {object}
                       - `path`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                       - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: regex) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                       - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*)
                 - `accessMode`: (multiple options) (string) Specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path (enum: protected, unprotected) | (string) A string containing one or more references that resolve to specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path (pattern: .*\${.*}.*)
                 - `securityPolicies`: (multiple options) {object}
                     - `orPolicies`: {object}
                       - `credentials`: [array of] {object}
                           - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
                           - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
                           - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
                       - `ip`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `policies`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `sso`: {object}
                         - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
                         - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
                         - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
                         - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
                         - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
                         - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
                       - `headers`: [array of] (multiple options) {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                     - `requiredPolicies`: {object}
                       - `credentials`: [array of] {object}
                           - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
                           - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
                           - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
                       - `ip`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `policies`: (multiple options) [array of] {object}
                             - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                             - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                       - `sso`: {object}
                         - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
                         - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
                         - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
                         - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
                         - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
                         - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
                       - `headers`: [array of] (multiple options) {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                             - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                             - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                             - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
         - `domains`: (multiple options) [array of] (multiple options) (string) A domain to redirect to this port. | (string) A string containing one or more references that resolve to a domain to redirect to this port. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of domains to redirect to this port. Each domain must first be verified and registered to your account. (pattern: .*\${.*}.*)
         - `disableNfDomain`: (multiple options) (boolean) Disable routing on the default code.run domain for public HTTP ports with custom domains. | (string) A string containing one or more references that resolve to disable routing on the default code.run domain for public HTTP ports with custom domains. (pattern: .*\${.*}.*)
         - `advancedOptions`: {object}
           - `enableTlsPassthrough`: (multiple options) (boolean) Whether this port should use pass through mode for TLS | (string) A string containing one or more references that resolve to whether this port should use pass through mode for TLS (pattern: .*\${.*}.*)
         - `protocol`: (multiple options) (string) (enum: HTTP, HTTP/2) | (string) (enum: HTTP, HTTP/2, TCP, UDP)
     - `source`: {object}
       - `projectUrl`: (multiple options) (string) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo to build. (pattern: .*\${.*}.*)
       - `projectType`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
       - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
       - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
       - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24) | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
       - `projectBranch`: (multiple options) (string) The name of the branch to pre-pull for the harness environment. | (string) A string containing one or more references that resolve to the name of the branch to pre-pull for the harness environment. (pattern: .*\${.*}.*)
       - `publicRepo`: (multiple options) (boolean) Whether the linked repository is public. | (string) A string containing one or more references that resolve to whether the linked repository is public. (pattern: .*\${.*}.*)
     - `harness`: {object}
       - `type`: (multiple options) (string) The harness environment type to run. (enum: claude, codex) | (string) A string containing one or more references that resolve to the harness environment type to run. (pattern: .*\${.*}.*)
       - `authMode`: (multiple options) (string) How the harness authenticates: `apiKey` (a provider API key is supplied) or `account` (interactive/account login, no key stored). When omitted, defaults to `apiKey` if an apiKey is provided. (enum: apiKey, account) | (string) A string containing one or more references that resolve to how the harness authenticates: `apiKey` (a provider API key is supplied) or `account` (interactive/account login, no key stored). When omitted, defaults to `apiKey` if an apiKey is provided. (pattern: .*\${.*}.*)
       - `apiKey`: (multiple options) (string) API key used by the harness environment. | (string) A string containing one or more references that resolve to aPI key used by the harness environment. (pattern: .*\${.*}.*)
       - `cloneDirectory`: (multiple options) (string) Absolute path the repo is cloned into in the harness container. Must be /home/harness or a directory inside it, the path backed by the harness's persistent workspace volume. Defaults to /home/harness. Can only be set when creating the harness. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to absolute path the repo is cloned into in the harness container. Must be /home/harness or a directory inside it, the path backed by the harness's persistent workspace volume. Defaults to /home/harness. Can only be set when creating the harness. (pattern: .*\${.*}.*)
     - `runtimeEnvironment`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `runtimeFiles`: {object}
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: LLMModelDeployment)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) The name of the AI model. (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the name of the AI model. (pattern: .*\${.*}.*)
     - `description`: (multiple options) (string) A description of the AI model. (pattern: ^[\s\S]*$) (max length: 1024) | (string) A string containing one or more references that resolve to a description of the AI model. (pattern: .*\${.*}.*)
     - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `ports`: [array of] {object}
         - `name`: (multiple options) (string) The name used to identify the port. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 1) (max length: 8) | (string) A string containing one or more references that resolve to the name used to identify the port. (pattern: .*\${.*}.*)
         - `internalPort`: (multiple options) (integer) The port number. | (string) A string containing one or more references that resolve to the port number. (pattern: .*\${.*}.*)
         - `public`: (multiple options) (boolean) If true, the port will be exposed publicly. | (string) A string containing one or more references that resolve to if true, the port will be exposed publicly. (pattern: .*\${.*}.*)
         - `domains`: (multiple options) [array of] (multiple options) (string) A domain to redirect to this port. | (string) A string containing one or more references that resolve to a domain to redirect to this port. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of domains to redirect to this port. Each domain must first be verified and registered to your account. (pattern: .*\${.*}.*)
         - `disableNfDomain`: (multiple options) (boolean) Disable routing on the default code.run domain for public HTTP ports with custom domains. | (string) A string containing one or more references that resolve to disable routing on the default code.run domain for public HTTP ports with custom domains. (pattern: .*\${.*}.*)
         - `protocol`: (string) (required) The protocol to use for the port. (enum: HTTP, HTTP/2, TCP, UDP)
     - `spec`: {object}
       - `configuration`: {object}
         - `name`: (string)
         - `engine`: (string) (enum: vllm)
         - `revision`: (string)
         - `nodeConfiguration`: {object}
           - `gpu`: {object}
             - `enabled`: (boolean)
             - `configuration`: {object}
               - `gpuType`: (string)
               - `gpuCount`: (integer)
               - `timesliced`: (boolean)
           - `storage`: {object}
             - `accessMode`: (string) (enum: ReadWriteMany)
             - `storageClass`: (string) The type of the storage. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
             - `storageSize`: (integer) The size of the storage, in megabytes. Configurable sizes depend on the storage class.
             - `shmSize`: (integer)
         - `architecture`: {object}
           - `type`: (string) (enum: aggregated)
           - `workerConfig`: {object}
             - `replicas`: (integer)
             - `parallelismConfig`: {object}
               - `tensorParallelism`: (integer)
               - `pipelineParallelism`: (integer)
               - `expertParallelism`: (integer)
             - `sequenceLengthConfig`: {object}
               - `maxModelLength`: (multiple options) (integer) A fixed maximum context length, in tokens | (string) `auto` to derive the maximum context length from the model's config (enum: auto)
               - `maxInputLength`: (integer)
               - `maxOutputLength`: (integer)
             - `batchingConfig`: {object}
               - `maxNumSeqs`: (integer)
               - `maxNumBatchedTokens`: (integer)
             - `enableChunkedPrefill`: (boolean)
             - `enablePrefixCaching`: (boolean)
             - `enforceEager`: (boolean)
             - `enableAsyncScheduling`: (boolean)
             - `gpuMemoryUtilization`: (number) (format: float)
             - `trustRemoteCode`: (boolean)
             - `dataType`: (string) (enum: auto, float16, bfloat16)
             - `kvCacheDataType`: (string) (enum: fp8, fp8_e5m2, fp8_e4m3)
             - `quantization`: (string) (enum: fp8, awq, gptq, int4)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: LLMModelDeployment)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) The name of the AI model. (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the name of the AI model. (pattern: .*\${.*}.*)
     - `description`: (multiple options) (string) A description of the AI model. (pattern: ^[\s\S]*$) (max length: 1024) | (string) A string containing one or more references that resolve to a description of the AI model. (pattern: .*\${.*}.*)
     - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `ports`: [array of] {object}
         - `name`: (multiple options) (string) The name used to identify the port. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 1) (max length: 8) | (string) A string containing one or more references that resolve to the name used to identify the port. (pattern: .*\${.*}.*)
         - `internalPort`: (multiple options) (integer) The port number. | (string) A string containing one or more references that resolve to the port number. (pattern: .*\${.*}.*)
         - `public`: (multiple options) (boolean) If true, the port will be exposed publicly. | (string) A string containing one or more references that resolve to if true, the port will be exposed publicly. (pattern: .*\${.*}.*)
         - `domains`: (multiple options) [array of] (multiple options) (string) A domain to redirect to this port. | (string) A string containing one or more references that resolve to a domain to redirect to this port. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of domains to redirect to this port. Each domain must first be verified and registered to your account. (pattern: .*\${.*}.*)
         - `disableNfDomain`: (multiple options) (boolean) Disable routing on the default code.run domain for public HTTP ports with custom domains. | (string) A string containing one or more references that resolve to disable routing on the default code.run domain for public HTTP ports with custom domains. (pattern: .*\${.*}.*)
         - `protocol`: (string) (required) The protocol to use for the port. (enum: HTTP, HTTP/2, TCP, UDP)
     - `spec`: {object}
       - `type`: (string) (required) Type of model spec - custom for user-defined configuration (enum: custom)
       - `configuration`: {object}
         - `name`: (string)
         - `engine`: (string) (enum: vllm)
         - `revision`: (string)
         - `nodeConfiguration`: {object}
           - `gpu`: {object}
             - `enabled`: (boolean)
             - `configuration`: {object}
               - `gpuType`: (string)
               - `gpuCount`: (integer)
               - `timesliced`: (boolean)
           - `storage`: {object}
             - `accessMode`: (string) (enum: ReadWriteMany)
             - `storageClass`: (string) The type of the storage. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
             - `storageSize`: (integer) (required) The size of the storage, in megabytes. Configurable sizes depend on the storage class.
             - `shmSize`: (integer)
         - `architecture`: {object}
           - `type`: (string) (enum: aggregated)
           - `workerConfig`: {object}
             - `replicas`: (integer)
             - `parallelismConfig`: {object}
               - `tensorParallelism`: (integer)
               - `pipelineParallelism`: (integer)
               - `expertParallelism`: (integer)
             - `sequenceLengthConfig`: {object}
               - `maxModelLength`: (multiple options) (integer) A fixed maximum context length, in tokens | (string) `auto` to derive the maximum context length from the model's config (enum: auto)
               - `maxInputLength`: (integer)
               - `maxOutputLength`: (integer)
             - `batchingConfig`: {object}
               - `maxNumSeqs`: (integer)
               - `maxNumBatchedTokens`: (integer)
             - `enableChunkedPrefill`: (boolean)
             - `enablePrefixCaching`: (boolean)
             - `enforceEager`: (boolean)
             - `enableAsyncScheduling`: (boolean)
             - `gpuMemoryUtilization`: (number) (format: float)
             - `trustRemoteCode`: (boolean)
             - `dataType`: (string) (enum: auto, float16, bfloat16)
             - `kvCacheDataType`: (string) (enum: fp8, fp8_e5m2, fp8_e4m3)
             - `quantization`: (string) (enum: fp8, awq, gptq, int4)
     - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: CronJob)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `description`: (multiple options) (string) A description of the job. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the job. (pattern: .*\${.*}.*)
     - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `billing`: {object}
       - `buildPlan`: (multiple options) (string) The ID of the build plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the build plan to use. (pattern: .*\${.*}.*)
       - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (pattern: .*\${.*}.*)
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
     - `deployment`: {object}
       - `buildpack`: {object}
         - `configType`: (multiple options) (string) (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand) | (string) (pattern: .*\${.*}.*)
         - `customProcess`: (multiple options) (multiple options) (string) | (string) (pattern: .*\${.*}.*)
         - `customEntrypoint`: (multiple options) (multiple options) (string) | (string) (pattern: .*\${.*}.*)
         - `customCommand`: (multiple options) (multiple options) (string) | (string) (pattern: .*\${.*}.*)
       - `docker`: {object}
         - `configType`: (multiple options) (string) (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand) | (string) (pattern: .*\${.*}.*)
         - `customEntrypoint`: (multiple options) (multiple options) (string) | (string) (pattern: .*\${.*}.*)
         - `customCommand`: (multiple options) (multiple options) (string) | (string) (pattern: .*\${.*}.*)
       - `storage`: {object}
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per container in MB | (string) A string containing one or more references that resolve to ephemeral storage per container in MB (pattern: .*\${.*}.*)
         - `shmSize`: (multiple options) (integer) Configures the amount of available memory-backed disk space available to /dev/shm | (string) A string containing one or more references that resolve to configures the amount of available memory-backed disk space available to /dev/shm (pattern: .*\${.*}.*)
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
       - `gracePeriodSeconds`: (multiple options) (integer) The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. | (string) A string containing one or more references that resolve to the maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. (pattern: .*\${.*}.*)
       - `metadata`: {object}
         - `labels`: {object}
         - `annotations`: {object}
       - `vcs`: {object}
         - `projectUrl`: (multiple options) (string) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo to build. (pattern: .*\${.*}.*)
         - `projectType`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
         - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
         - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
         - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24) | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
         - `projectBranch`: (multiple options) (string) The name of the branch to use. | (string) A string containing one or more references that resolve to the name of the branch to use. (pattern: .*\${.*}.*)
       - `external`: {object}
         - `imagePath`: (multiple options) (string) Image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: ^(?:(?:https?:\/\/)?([a-zA-Z0-9\-]+\.[a-zA-Z0-9\.\-]+))?(?:\/)?([a-zA-Z/-9\.\-_]+)(?:\:([a-zA-Z/-9\.\-_\:]+)|\@([a-zA-Z/-9\.\-_\:]+))$) | (string) A string containing one or more references that resolve to image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: .*\${.*}.*)
         - `credentials`: (multiple options) (string) ID of the saved credentials to use to access this external image. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of the saved credentials to use to access this external image. (pattern: .*\${.*}.*)
       - `internal`: {object}
         - `id`: (multiple options) (multiple options) (string) The ID of a build service in the same project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) The ID of a build service in another project, in the format `project-id/build-service-id` | (string) A string containing one or more references that resolve to iD of the build service to deploy (pattern: .*\${.*}.*)
         - `branch`: (multiple options) (string) Branch to deploy | (string) A string containing one or more references that resolve to branch to deploy (pattern: .*\${.*}.*)
         - `buildSHA`: (multiple options) (multiple options) (string) A commit sha. (min length: 40) (max length: 40) | (string) Latest commit. (enum: latest) | (string) A string containing one or more references that resolve to commit SHA to deploy, or 'latest' to deploy the most recent commit (pattern: .*\${.*}.*)
         - `buildId`: (multiple options) (string) ID of the build that should be deployed | (string) A string containing one or more references that resolve to iD of the build that should be deployed (pattern: .*\${.*}.*)
     - `disabledCI`: (multiple options) (boolean) Whether CI should be disabled. Only relevant for jobs deploying directly from version control. | (string) A string containing one or more references that resolve to whether CI should be disabled. Only relevant for jobs deploying directly from version control. (pattern: .*\${.*}.*)
     - `buildConfiguration`: {object}
       - `pathIgnoreRules`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
       - `isAllowList`: (multiple options) (boolean) If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. | (string) A string containing one or more references that resolve to if `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. (pattern: .*\${.*}.*)
       - `ciIgnoreFlagsEnabled`: (multiple options) (boolean) If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. | (string) A string containing one or more references that resolve to if `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. (pattern: .*\${.*}.*)
       - `ciIgnoreFlags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
       - `dockerfileTarget`: (multiple options) (string) If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. | (string) A string containing one or more references that resolve to if your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. (pattern: .*\${.*}.*)
       - `dockerCredentials`: [array of] (multiple options) (string) The ID of the docker credentials to use. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of the docker credentials to use. (pattern: .*\${.*}.*)
       - `includeGitFolder`: (boolean) Include .git folder inside the build context
       - `fullGitClone`: (boolean) Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set.
       - `enableGitLfs`: (boolean) Enable Git LFS support for the build
       - `storage`: {object}
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
     - `buildSettings`: {object}
       - `storage`: {object}
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
       - `dockerfile`: {object}
         - `useCache`: (boolean) DEPRECATED: This field will be removed in the near future and currently has no effect.
         - `buildEngine`: (multiple options) (string) Build engine to use. Defaults to recommended build engine `buildkit` (enum: buildkit, kaniko) | (string) A string containing one or more references that resolve to build engine to use. Defaults to recommended build engine `buildkit` (pattern: .*\${.*}.*)
         - `dockerFilePath`: (multiple options) (string) The file path of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$) | (string) A string containing one or more references that resolve to the file path of the Dockerfile. (pattern: .*\${.*}.*)
         - `dockerWorkDir`: (multiple options) (string) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory of the Dockerfile. (pattern: .*\${.*}.*)
         - `buildkit`: {object}
           - `useCache`: (multiple options) (boolean) Use persistent storage to cache build layers. | (string) A string containing one or more references that resolve to use persistent storage to cache build layers. (pattern: .*\${.*}.*)
           - `cacheStorageSize`: (multiple options) (integer) The amount of persistent storage available to each build in MB. | (string) A string containing one or more references that resolve to the amount of persistent storage available to each build in MB. (pattern: .*\${.*}.*)
           - `useInternalCache`: (multiple options) (boolean) DEPRECATED: This field will be removed in the near future. | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*)
           - `internalCacheStorage`: (multiple options) (number) DEPRECATED: This field will be removed in the near future. (format: float) | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*)
       - `buildpack`: {object}
         - `builder`: (multiple options) (string) Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (enum: HEROKU_24, HEROKU_22, HEROKU_22_CLASSIC, HEROKU_20, HEROKU_18, GOOGLE_22, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_JAMMY_TINY, PAKETO_JAMMY_BASE, PAKETO_JAMMY_FULL, PAKETO_TINY, PAKETO_BASE, PAKETO_FULL) | (string) A string containing one or more references that resolve to buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (pattern: .*\${.*}.*)
         - `buildpackLocators`: [array of] (multiple options) (string) Url or registry identifier of custom Buildpack. | (string) A string containing one or more references that resolve to url or registry identifier of custom Buildpack. (pattern: .*\${.*}.*)
         - `buildContext`: (multiple options) (string) The working directory to build in. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory to build in. (pattern: .*\${.*}.*)
         - `useCache`: (multiple options) (boolean) Should build dependencies be cached? | (string) A string containing one or more references that resolve to should build dependencies be cached? (pattern: .*\${.*}.*)
     - `runtimeEnvironment`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `runtimeFiles`: {object}
     - `buildArguments`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `buildFiles`: {object}
     - `dockerSecretMounts`: {object}
     - `healthChecks`: [array of] {object}
         - `protocol`: (multiple options) (string) The protocol to access the health check with. (enum: HTTP, CMD, TCP) | (string) A string containing one or more references that resolve to the protocol to access the health check with. (pattern: .*\${.*}.*)
         - `type`: (multiple options) (string) The type of health check. (enum: livenessProbe, readinessProbe, startupProbe) | (string) A string containing one or more references that resolve to the type of health check. (pattern: .*\${.*}.*)
         - `path`: (multiple options) (string) The path of the health check endpoint. Required when protocol is HTTP. (pattern: ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*((\?([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)(&([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)*)?$) | (string) (pattern: .*\${.*}.*)
         - `cmd`: (multiple options) (string) The command to run for the health check. Required when protocol is CMD | (string) (pattern: .*\${.*}.*)
         - `port`: (multiple options) (integer) Port number for the health check endpoint. Required when protocol is HTTP. | (string) (pattern: .*\${.*}.*)
         - `initialDelaySeconds`: (multiple options) (integer) Initial delay, in seconds, before the health check is first run. | (string) A string containing one or more references that resolve to initial delay, in seconds, before the health check is first run. (pattern: .*\${.*}.*)
         - `periodSeconds`: (multiple options) (integer) The time between each check, in seconds. | (string) A string containing one or more references that resolve to the time between each check, in seconds. (pattern: .*\${.*}.*)
         - `timeoutSeconds`: (multiple options) (integer) The time to wait for a response before marking the health check as a failure. | (string) A string containing one or more references that resolve to the time to wait for a response before marking the health check as a failure. (pattern: .*\${.*}.*)
         - `failureThreshold`: (multiple options) (integer) The maximum number of allowed failures. | (string) A string containing one or more references that resolve to the maximum number of allowed failures. (pattern: .*\${.*}.*)
         - `successThreshold`: (multiple options) (integer) The number of successes required to mark the health check as a success. | (string) (pattern: .*\${.*}.*)
     - `backoffLimit`: (multiple options) (integer) The number of attempts to rerun a job before it is marked as failed. | (string) A string containing one or more references that resolve to the number of attempts to rerun a job before it is marked as failed. (pattern: .*\${.*}.*)
     - `runOnSourceChange`: (multiple options) (string) Configure when the job should be run if the source image changes. (enum: never, cd-promote, always) | (string) A string containing one or more references that resolve to configure when the job should be run if the source image changes. (pattern: .*\${.*}.*)
     - `activeDeadlineSeconds`: (multiple options) (integer) The maximum amount of time, in seconds, for a job to run before it is marked as failed. | (string) A string containing one or more references that resolve to the maximum amount of time, in seconds, for a job to run before it is marked as failed. (pattern: .*\${.*}.*)
     - `schedule`: (multiple options) (string) The cron timer scheduling when to run the job. | (string) A string containing one or more references that resolve to the cron timer scheduling when to run the job. (pattern: .*\${.*}.*)
     - `suspended`: (multiple options) (boolean) Whether the cron's automatic scheduling is suspended | (string) A string containing one or more references that resolve to whether the cron's automatic scheduling is suspended (pattern: .*\${.*}.*)
     - `concurrencyPolicy`: (multiple options) (string) Whether this job should run when another instance of the job is already running. `allow` will enable multiple instances of this job to run. `forbid` will keep the current instance of the job running and stop a new instance from being run. `replace` will terminate any currently running instance of the job and start a new one. (enum: allow, forbid, replace) | (string) A string containing one or more references that resolve to whether this job should run when another instance of the job is already running. `allow` will enable multiple instances of this job to run. `forbid` will keep the current instance of the job running and stop a new instance from being run. `replace` will terminate any currently running instance of the job and start a new one. (pattern: .*\${.*}.*)
     - `name`: (multiple options) (string) The name of the job. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 52) | (string) A string containing one or more references that resolve to the name of the job. (pattern: .*\${.*}.*)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: CronJob)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) The name of the job. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 52) | (string) A string containing one or more references that resolve to the name of the job. (pattern: .*\${.*}.*)
     - `description`: (multiple options) (string) A description of the job. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the job. (pattern: .*\${.*}.*)
     - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
     - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `infrastructure`: {object}
       - `architecture`: (string) (enum: x86, arm)
     - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `billing`: {object}
       - `buildPlan`: (multiple options) (string) The ID of the build plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the build plan to use. (pattern: .*\${.*}.*)
       - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (pattern: .*\${.*}.*)
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
     - `deployment`: {object}
       - `buildpack`: {object}
         - `configType`: (string) (required) Type of buildpack run configuration (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand)
         - `customProcess`: (string) Custom process which should be run. Required in case where `configType` is `customProcess`
         - `customEntrypoint`: (string) Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand`
         - `customCommand`: (string) Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand`
       - `docker`: {object}
         - `configType`: (string) (required) Type of entrypoint & command override configuration (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand)
         - `customEntrypoint`: (string) Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand`
         - `customCommand`: (string) Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand`
       - `storage`: {object}
         - `useHdbStorage`: (boolean)
         - `usePdSsdStorage`: (boolean)
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per container in MB | (string) A string containing one or more references that resolve to ephemeral storage per container in MB (pattern: .*\${.*}.*)
         - `shmSize`: (multiple options) (integer) Configures the amount of available memory-backed disk space available to /dev/shm | (string) A string containing one or more references that resolve to configures the amount of available memory-backed disk space available to /dev/shm (pattern: .*\${.*}.*)
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
       - `gracePeriodSeconds`: (multiple options) (integer) The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. | (string) A string containing one or more references that resolve to the maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. (pattern: .*\${.*}.*)
       - `metadata`: {object}
         - `labels`: {object}
         - `annotations`: {object}
       - `vcs`: {object}
         - `projectUrl`: (multiple options) (string) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo to build. (pattern: .*\${.*}.*)
         - `projectType`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
         - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
         - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
         - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24) | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
         - `projectBranch`: (multiple options) (string) The name of the branch to use. | (string) A string containing one or more references that resolve to the name of the branch to use. (pattern: .*\${.*}.*)
       - `external`: {object}
         - `imagePath`: (multiple options) (string) Image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: ^(?:(?:https?:\/\/)?([a-zA-Z0-9\-]+\.[a-zA-Z0-9\.\-]+))?(?:\/)?([a-zA-Z/-9\.\-_]+)(?:\:([a-zA-Z/-9\.\-_\:]+)|\@([a-zA-Z/-9\.\-_\:]+))$) | (string) A string containing one or more references that resolve to image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: .*\${.*}.*)
         - `credentials`: (multiple options) (string) ID of the saved credentials to use to access this external image. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of the saved credentials to use to access this external image. (pattern: .*\${.*}.*)
       - `internal`: {object}
         - `id`: (multiple options) (multiple options) (string) The ID of a build service in the same project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) The ID of a build service in another project, in the format `project-id/build-service-id` | (string) A string containing one or more references that resolve to iD of the build service to deploy (pattern: .*\${.*}.*)
         - `branch`: (multiple options) (string) Branch to deploy | (string) A string containing one or more references that resolve to branch to deploy (pattern: .*\${.*}.*)
         - `buildSHA`: (multiple options) (multiple options) (string) A commit sha. (min length: 40) (max length: 40) | (string) Latest commit. (enum: latest) | (string) A string containing one or more references that resolve to commit SHA to deploy, or 'latest' to deploy the most recent commit (pattern: .*\${.*}.*)
         - `buildId`: (multiple options) (string) ID of the build that should be deployed | (string) A string containing one or more references that resolve to iD of the build that should be deployed (pattern: .*\${.*}.*)
       - `releaseFlowControlled`: (boolean) When enabled the deployment source will only be set on creation. All changes to the deployment source must be done via a release flow or manually.
     - `disabledCI`: (multiple options) (boolean) Whether CI should be disabled. Only relevant for jobs deploying directly from version control. | (string) A string containing one or more references that resolve to whether CI should be disabled. Only relevant for jobs deploying directly from version control. (pattern: .*\${.*}.*)
     - `buildConfiguration`: {object}
       - `pathIgnoreRules`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
       - `isAllowList`: (multiple options) (boolean) If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. | (string) A string containing one or more references that resolve to if `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. (pattern: .*\${.*}.*)
       - `ciIgnoreFlagsEnabled`: (multiple options) (boolean) If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. | (string) A string containing one or more references that resolve to if `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. (pattern: .*\${.*}.*)
       - `ciIgnoreFlags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
       - `dockerfileTarget`: (multiple options) (string) If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. | (string) A string containing one or more references that resolve to if your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. (pattern: .*\${.*}.*)
       - `dockerCredentials`: [array of] (multiple options) (string) The ID of the docker credentials to use. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of the docker credentials to use. (pattern: .*\${.*}.*)
       - `includeGitFolder`: (boolean) Include .git folder inside the build context
       - `fullGitClone`: (boolean) Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set.
       - `enableGitLfs`: (boolean) Enable Git LFS support for the build
       - `storage`: {object}
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
     - `buildSettings`: (multiple options) {object}
         - `storage`: {object}
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
         - `dockerfile`: {object}
           - `useCache`: (boolean) DEPRECATED: This field will be removed in the near future and currently has no effect.
           - `buildEngine`: (multiple options) (string) Build engine to use. Defaults to recommended build engine `buildkit` (enum: buildkit, kaniko) | (string) A string containing one or more references that resolve to build engine to use. Defaults to recommended build engine `buildkit` (pattern: .*\${.*}.*)
           - `dockerFilePath`: (multiple options) (string) The file path of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$) | (string) A string containing one or more references that resolve to the file path of the Dockerfile. (pattern: .*\${.*}.*)
           - `dockerWorkDir`: (multiple options) (string) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory of the Dockerfile. (pattern: .*\${.*}.*)
           - `buildkit`: {object}
             - `useCache`: (multiple options) (boolean) Use persistent storage to cache build layers. | (string) A string containing one or more references that resolve to use persistent storage to cache build layers. (pattern: .*\${.*}.*)
             - `cacheStorageSize`: (multiple options) (integer) The amount of persistent storage available to each build in MB. | (string) A string containing one or more references that resolve to the amount of persistent storage available to each build in MB. (pattern: .*\${.*}.*)
             - `useInternalCache`: (multiple options) (boolean) DEPRECATED: This field will be removed in the near future. | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*)
             - `internalCacheStorage`: (multiple options) (number) DEPRECATED: This field will be removed in the near future. (format: float) | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*) | {object}
         - `storage`: {object}
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
         - `buildpack`: {object}
           - `builder`: (multiple options) (string) Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (enum: HEROKU_24, HEROKU_22, HEROKU_22_CLASSIC, HEROKU_20, HEROKU_18, GOOGLE_22, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_JAMMY_TINY, PAKETO_JAMMY_BASE, PAKETO_JAMMY_FULL, PAKETO_TINY, PAKETO_BASE, PAKETO_FULL) | (string) A string containing one or more references that resolve to buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (pattern: .*\${.*}.*)
           - `buildpackLocators`: [array of] (multiple options) (string) Url or registry identifier of custom Buildpack. | (string) A string containing one or more references that resolve to url or registry identifier of custom Buildpack. (pattern: .*\${.*}.*)
           - `buildContext`: (multiple options) (string) The working directory to build in. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory to build in. (pattern: .*\${.*}.*)
           - `useCache`: (multiple options) (boolean) Should build dependencies be cached? | (string) A string containing one or more references that resolve to should build dependencies be cached? (pattern: .*\${.*}.*)
     - `runtimeEnvironment`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `runtimeFiles`: {object}
     - `buildArguments`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `buildFiles`: {object}
     - `dockerSecretMounts`: {object}
     - `healthChecks`: [array of] {object}
         - `protocol`: (multiple options) (string) The protocol to access the health check with. (enum: HTTP, CMD, TCP) | (string) A string containing one or more references that resolve to the protocol to access the health check with. (pattern: .*\${.*}.*)
         - `type`: (multiple options) (string) The type of health check. (enum: livenessProbe, readinessProbe, startupProbe) | (string) A string containing one or more references that resolve to the type of health check. (pattern: .*\${.*}.*)
         - `path`: (multiple options) (string) The path of the health check endpoint. Required when protocol is HTTP. (pattern: ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*((\?([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)(&([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)*)?$) | (string) (pattern: .*\${.*}.*)
         - `cmd`: (multiple options) (string) The command to run for the health check. Required when protocol is CMD | (string) (pattern: .*\${.*}.*)
         - `port`: (multiple options) (integer) Port number for the health check endpoint. Required when protocol is HTTP. | (string) (pattern: .*\${.*}.*)
         - `initialDelaySeconds`: (multiple options) (integer) Initial delay, in seconds, before the health check is first run. | (string) A string containing one or more references that resolve to initial delay, in seconds, before the health check is first run. (pattern: .*\${.*}.*)
         - `periodSeconds`: (multiple options) (integer) The time between each check, in seconds. | (string) A string containing one or more references that resolve to the time between each check, in seconds. (pattern: .*\${.*}.*)
         - `timeoutSeconds`: (multiple options) (integer) The time to wait for a response before marking the health check as a failure. | (string) A string containing one or more references that resolve to the time to wait for a response before marking the health check as a failure. (pattern: .*\${.*}.*)
         - `failureThreshold`: (multiple options) (integer) The maximum number of allowed failures. | (string) A string containing one or more references that resolve to the maximum number of allowed failures. (pattern: .*\${.*}.*)
         - `successThreshold`: (multiple options) (integer) The number of successes required to mark the health check as a success. | (string) (pattern: .*\${.*}.*)
     - `backoffLimit`: (multiple options) (integer) The number of attempts to rerun a job before it is marked as failed. | (string) A string containing one or more references that resolve to the number of attempts to rerun a job before it is marked as failed. (pattern: .*\${.*}.*)
     - `runOnSourceChange`: (multiple options) (string) Configure when the job should be run if the source image changes. (enum: never, cd-promote, always) | (string) A string containing one or more references that resolve to configure when the job should be run if the source image changes. (pattern: .*\${.*}.*)
     - `activeDeadlineSeconds`: (multiple options) (integer) The maximum amount of time, in seconds, for a job to run before it is marked as failed. | (string) A string containing one or more references that resolve to the maximum amount of time, in seconds, for a job to run before it is marked as failed. (pattern: .*\${.*}.*)
     - `schedule`: (multiple options) (string) The cron timer scheduling when to run the job. | (string) A string containing one or more references that resolve to the cron timer scheduling when to run the job. (pattern: .*\${.*}.*)
     - `suspended`: (multiple options) (boolean) Whether the cron's automatic scheduling is suspended | (string) A string containing one or more references that resolve to whether the cron's automatic scheduling is suspended (pattern: .*\${.*}.*)
     - `concurrencyPolicy`: (multiple options) (string) Whether this job should run when another instance of the job is already running. `allow` will enable multiple instances of this job to run. `forbid` will keep the current instance of the job running and stop a new instance from being run. `replace` will terminate any currently running instance of the job and start a new one. (enum: allow, forbid, replace) | (string) A string containing one or more references that resolve to whether this job should run when another instance of the job is already running. `allow` will enable multiple instances of this job to run. `forbid` will keep the current instance of the job running and stop a new instance from being run. `replace` will terminate any currently running instance of the job and start a new one. (pattern: .*\${.*}.*)
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: ManualJob)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `description`: (multiple options) (string) A description of the job. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the job. (pattern: .*\${.*}.*)
     - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `billing`: {object}
       - `buildPlan`: (multiple options) (string) The ID of the build plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the build plan to use. (pattern: .*\${.*}.*)
       - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (pattern: .*\${.*}.*)
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
     - `deployment`: {object}
       - `buildpack`: {object}
         - `configType`: (multiple options) (string) (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand) | (string) (pattern: .*\${.*}.*)
         - `customProcess`: (multiple options) (multiple options) (string) | (string) (pattern: .*\${.*}.*)
         - `customEntrypoint`: (multiple options) (multiple options) (string) | (string) (pattern: .*\${.*}.*)
         - `customCommand`: (multiple options) (multiple options) (string) | (string) (pattern: .*\${.*}.*)
       - `docker`: {object}
         - `configType`: (multiple options) (string) (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand) | (string) (pattern: .*\${.*}.*)
         - `customEntrypoint`: (multiple options) (multiple options) (string) | (string) (pattern: .*\${.*}.*)
         - `customCommand`: (multiple options) (multiple options) (string) | (string) (pattern: .*\${.*}.*)
       - `storage`: {object}
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per container in MB | (string) A string containing one or more references that resolve to ephemeral storage per container in MB (pattern: .*\${.*}.*)
         - `shmSize`: (multiple options) (integer) Configures the amount of available memory-backed disk space available to /dev/shm | (string) A string containing one or more references that resolve to configures the amount of available memory-backed disk space available to /dev/shm (pattern: .*\${.*}.*)
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
       - `gracePeriodSeconds`: (multiple options) (integer) The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. | (string) A string containing one or more references that resolve to the maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. (pattern: .*\${.*}.*)
       - `metadata`: {object}
         - `labels`: {object}
         - `annotations`: {object}
       - `vcs`: {object}
         - `projectUrl`: (multiple options) (string) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo to build. (pattern: .*\${.*}.*)
         - `projectType`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
         - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
         - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
         - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24) | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
         - `projectBranch`: (multiple options) (string) The name of the branch to use. | (string) A string containing one or more references that resolve to the name of the branch to use. (pattern: .*\${.*}.*)
       - `external`: {object}
         - `imagePath`: (multiple options) (string) Image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: ^(?:(?:https?:\/\/)?([a-zA-Z0-9\-]+\.[a-zA-Z0-9\.\-]+))?(?:\/)?([a-zA-Z/-9\.\-_]+)(?:\:([a-zA-Z/-9\.\-_\:]+)|\@([a-zA-Z/-9\.\-_\:]+))$) | (string) A string containing one or more references that resolve to image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: .*\${.*}.*)
         - `credentials`: (multiple options) (string) ID of the saved credentials to use to access this external image. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of the saved credentials to use to access this external image. (pattern: .*\${.*}.*)
       - `internal`: {object}
         - `id`: (multiple options) (multiple options) (string) The ID of a build service in the same project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) The ID of a build service in another project, in the format `project-id/build-service-id` | (string) A string containing one or more references that resolve to iD of the build service to deploy (pattern: .*\${.*}.*)
         - `branch`: (multiple options) (string) Branch to deploy | (string) A string containing one or more references that resolve to branch to deploy (pattern: .*\${.*}.*)
         - `buildSHA`: (multiple options) (multiple options) (string) A commit sha. (min length: 40) (max length: 40) | (string) Latest commit. (enum: latest) | (string) A string containing one or more references that resolve to commit SHA to deploy, or 'latest' to deploy the most recent commit (pattern: .*\${.*}.*)
         - `buildId`: (multiple options) (string) ID of the build that should be deployed | (string) A string containing one or more references that resolve to iD of the build that should be deployed (pattern: .*\${.*}.*)
     - `disabledCI`: (multiple options) (boolean) Whether CI should be disabled. Only relevant for jobs deploying directly from version control. | (string) A string containing one or more references that resolve to whether CI should be disabled. Only relevant for jobs deploying directly from version control. (pattern: .*\${.*}.*)
     - `buildConfiguration`: {object}
       - `pathIgnoreRules`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
       - `isAllowList`: (multiple options) (boolean) If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. | (string) A string containing one or more references that resolve to if `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. (pattern: .*\${.*}.*)
       - `ciIgnoreFlagsEnabled`: (multiple options) (boolean) If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. | (string) A string containing one or more references that resolve to if `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. (pattern: .*\${.*}.*)
       - `ciIgnoreFlags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
       - `dockerfileTarget`: (multiple options) (string) If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. | (string) A string containing one or more references that resolve to if your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. (pattern: .*\${.*}.*)
       - `dockerCredentials`: [array of] (multiple options) (string) The ID of the docker credentials to use. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of the docker credentials to use. (pattern: .*\${.*}.*)
       - `includeGitFolder`: (boolean) Include .git folder inside the build context
       - `fullGitClone`: (boolean) Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set.
       - `enableGitLfs`: (boolean) Enable Git LFS support for the build
       - `storage`: {object}
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
     - `buildSettings`: {object}
       - `storage`: {object}
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
       - `dockerfile`: {object}
         - `useCache`: (boolean) DEPRECATED: This field will be removed in the near future and currently has no effect.
         - `buildEngine`: (multiple options) (string) Build engine to use. Defaults to recommended build engine `buildkit` (enum: buildkit, kaniko) | (string) A string containing one or more references that resolve to build engine to use. Defaults to recommended build engine `buildkit` (pattern: .*\${.*}.*)
         - `dockerFilePath`: (multiple options) (string) The file path of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$) | (string) A string containing one or more references that resolve to the file path of the Dockerfile. (pattern: .*\${.*}.*)
         - `dockerWorkDir`: (multiple options) (string) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory of the Dockerfile. (pattern: .*\${.*}.*)
         - `buildkit`: {object}
           - `useCache`: (multiple options) (boolean) Use persistent storage to cache build layers. | (string) A string containing one or more references that resolve to use persistent storage to cache build layers. (pattern: .*\${.*}.*)
           - `cacheStorageSize`: (multiple options) (integer) The amount of persistent storage available to each build in MB. | (string) A string containing one or more references that resolve to the amount of persistent storage available to each build in MB. (pattern: .*\${.*}.*)
           - `useInternalCache`: (multiple options) (boolean) DEPRECATED: This field will be removed in the near future. | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*)
           - `internalCacheStorage`: (multiple options) (number) DEPRECATED: This field will be removed in the near future. (format: float) | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*)
       - `buildpack`: {object}
         - `builder`: (multiple options) (string) Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (enum: HEROKU_24, HEROKU_22, HEROKU_22_CLASSIC, HEROKU_20, HEROKU_18, GOOGLE_22, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_JAMMY_TINY, PAKETO_JAMMY_BASE, PAKETO_JAMMY_FULL, PAKETO_TINY, PAKETO_BASE, PAKETO_FULL) | (string) A string containing one or more references that resolve to buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (pattern: .*\${.*}.*)
         - `buildpackLocators`: [array of] (multiple options) (string) Url or registry identifier of custom Buildpack. | (string) A string containing one or more references that resolve to url or registry identifier of custom Buildpack. (pattern: .*\${.*}.*)
         - `buildContext`: (multiple options) (string) The working directory to build in. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory to build in. (pattern: .*\${.*}.*)
         - `useCache`: (multiple options) (boolean) Should build dependencies be cached? | (string) A string containing one or more references that resolve to should build dependencies be cached? (pattern: .*\${.*}.*)
     - `runtimeEnvironment`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `runtimeFiles`: {object}
     - `buildArguments`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `buildFiles`: {object}
     - `dockerSecretMounts`: {object}
     - `healthChecks`: [array of] {object}
         - `protocol`: (multiple options) (string) The protocol to access the health check with. (enum: HTTP, CMD, TCP) | (string) A string containing one or more references that resolve to the protocol to access the health check with. (pattern: .*\${.*}.*)
         - `type`: (multiple options) (string) The type of health check. (enum: livenessProbe, readinessProbe, startupProbe) | (string) A string containing one or more references that resolve to the type of health check. (pattern: .*\${.*}.*)
         - `path`: (multiple options) (string) The path of the health check endpoint. Required when protocol is HTTP. (pattern: ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*((\?([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)(&([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)*)?$) | (string) (pattern: .*\${.*}.*)
         - `cmd`: (multiple options) (string) The command to run for the health check. Required when protocol is CMD | (string) (pattern: .*\${.*}.*)
         - `port`: (multiple options) (integer) Port number for the health check endpoint. Required when protocol is HTTP. | (string) (pattern: .*\${.*}.*)
         - `initialDelaySeconds`: (multiple options) (integer) Initial delay, in seconds, before the health check is first run. | (string) A string containing one or more references that resolve to initial delay, in seconds, before the health check is first run. (pattern: .*\${.*}.*)
         - `periodSeconds`: (multiple options) (integer) The time between each check, in seconds. | (string) A string containing one or more references that resolve to the time between each check, in seconds. (pattern: .*\${.*}.*)
         - `timeoutSeconds`: (multiple options) (integer) The time to wait for a response before marking the health check as a failure. | (string) A string containing one or more references that resolve to the time to wait for a response before marking the health check as a failure. (pattern: .*\${.*}.*)
         - `failureThreshold`: (multiple options) (integer) The maximum number of allowed failures. | (string) A string containing one or more references that resolve to the maximum number of allowed failures. (pattern: .*\${.*}.*)
         - `successThreshold`: (multiple options) (integer) The number of successes required to mark the health check as a success. | (string) (pattern: .*\${.*}.*)
     - `backoffLimit`: (multiple options) (integer) The number of attempts to rerun a job before it is marked as failed. | (string) A string containing one or more references that resolve to the number of attempts to rerun a job before it is marked as failed. (pattern: .*\${.*}.*)
     - `runOnSourceChange`: (multiple options) (string) Configure when the job should be run if the source image changes. (enum: never, cd-promote, always) | (string) A string containing one or more references that resolve to configure when the job should be run if the source image changes. (pattern: .*\${.*}.*)
     - `activeDeadlineSeconds`: (multiple options) (integer) The maximum amount of time, in seconds, for a job to run before it is marked as failed. | (string) A string containing one or more references that resolve to the maximum amount of time, in seconds, for a job to run before it is marked as failed. (pattern: .*\${.*}.*)
     - `name`: (multiple options) (string) The name of the job. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 52) | (string) A string containing one or more references that resolve to the name of the job. (pattern: .*\${.*}.*)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: ManualJob)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) The name of the job. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 52) | (string) A string containing one or more references that resolve to the name of the job. (pattern: .*\${.*}.*)
     - `description`: (multiple options) (string) A description of the job. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the job. (pattern: .*\${.*}.*)
     - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
     - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `infrastructure`: {object}
       - `architecture`: (string) (enum: x86, arm)
     - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `billing`: {object}
       - `buildPlan`: (multiple options) (string) The ID of the build plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the build plan to use. (pattern: .*\${.*}.*)
       - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (pattern: .*\${.*}.*)
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
     - `deployment`: {object}
       - `buildpack`: {object}
         - `configType`: (string) (required) Type of buildpack run configuration (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand)
         - `customProcess`: (string) Custom process which should be run. Required in case where `configType` is `customProcess`
         - `customEntrypoint`: (string) Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand`
         - `customCommand`: (string) Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand`
       - `docker`: {object}
         - `configType`: (string) (required) Type of entrypoint & command override configuration (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand)
         - `customEntrypoint`: (string) Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand`
         - `customCommand`: (string) Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand`
       - `storage`: {object}
         - `useHdbStorage`: (boolean)
         - `usePdSsdStorage`: (boolean)
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per container in MB | (string) A string containing one or more references that resolve to ephemeral storage per container in MB (pattern: .*\${.*}.*)
         - `shmSize`: (multiple options) (integer) Configures the amount of available memory-backed disk space available to /dev/shm | (string) A string containing one or more references that resolve to configures the amount of available memory-backed disk space available to /dev/shm (pattern: .*\${.*}.*)
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
       - `gracePeriodSeconds`: (multiple options) (integer) The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. | (string) A string containing one or more references that resolve to the maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. (pattern: .*\${.*}.*)
       - `metadata`: {object}
         - `labels`: {object}
         - `annotations`: {object}
       - `vcs`: {object}
         - `projectUrl`: (multiple options) (string) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo to build. (pattern: .*\${.*}.*)
         - `projectType`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
         - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
         - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
         - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24) | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
         - `projectBranch`: (multiple options) (string) The name of the branch to use. | (string) A string containing one or more references that resolve to the name of the branch to use. (pattern: .*\${.*}.*)
       - `external`: {object}
         - `imagePath`: (multiple options) (string) Image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: ^(?:(?:https?:\/\/)?([a-zA-Z0-9\-]+\.[a-zA-Z0-9\.\-]+))?(?:\/)?([a-zA-Z/-9\.\-_]+)(?:\:([a-zA-Z/-9\.\-_\:]+)|\@([a-zA-Z/-9\.\-_\:]+))$) | (string) A string containing one or more references that resolve to image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: .*\${.*}.*)
         - `credentials`: (multiple options) (string) ID of the saved credentials to use to access this external image. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of the saved credentials to use to access this external image. (pattern: .*\${.*}.*)
       - `internal`: {object}
         - `id`: (multiple options) (multiple options) (string) The ID of a build service in the same project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) The ID of a build service in another project, in the format `project-id/build-service-id` | (string) A string containing one or more references that resolve to iD of the build service to deploy (pattern: .*\${.*}.*)
         - `branch`: (multiple options) (string) Branch to deploy | (string) A string containing one or more references that resolve to branch to deploy (pattern: .*\${.*}.*)
         - `buildSHA`: (multiple options) (multiple options) (string) A commit sha. (min length: 40) (max length: 40) | (string) Latest commit. (enum: latest) | (string) A string containing one or more references that resolve to commit SHA to deploy, or 'latest' to deploy the most recent commit (pattern: .*\${.*}.*)
         - `buildId`: (multiple options) (string) ID of the build that should be deployed | (string) A string containing one or more references that resolve to iD of the build that should be deployed (pattern: .*\${.*}.*)
       - `releaseFlowControlled`: (boolean) When enabled the deployment source will only be set on creation. All changes to the deployment source must be done via a release flow or manually.
     - `disabledCI`: (multiple options) (boolean) Whether CI should be disabled. Only relevant for jobs deploying directly from version control. | (string) A string containing one or more references that resolve to whether CI should be disabled. Only relevant for jobs deploying directly from version control. (pattern: .*\${.*}.*)
     - `buildConfiguration`: {object}
       - `pathIgnoreRules`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
       - `isAllowList`: (multiple options) (boolean) If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. | (string) A string containing one or more references that resolve to if `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. (pattern: .*\${.*}.*)
       - `ciIgnoreFlagsEnabled`: (multiple options) (boolean) If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. | (string) A string containing one or more references that resolve to if `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. (pattern: .*\${.*}.*)
       - `ciIgnoreFlags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
       - `dockerfileTarget`: (multiple options) (string) If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. | (string) A string containing one or more references that resolve to if your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. (pattern: .*\${.*}.*)
       - `dockerCredentials`: [array of] (multiple options) (string) The ID of the docker credentials to use. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of the docker credentials to use. (pattern: .*\${.*}.*)
       - `includeGitFolder`: (boolean) Include .git folder inside the build context
       - `fullGitClone`: (boolean) Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set.
       - `enableGitLfs`: (boolean) Enable Git LFS support for the build
       - `storage`: {object}
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
     - `buildSettings`: (multiple options) {object}
         - `storage`: {object}
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
         - `dockerfile`: {object}
           - `useCache`: (boolean) DEPRECATED: This field will be removed in the near future and currently has no effect.
           - `buildEngine`: (multiple options) (string) Build engine to use. Defaults to recommended build engine `buildkit` (enum: buildkit, kaniko) | (string) A string containing one or more references that resolve to build engine to use. Defaults to recommended build engine `buildkit` (pattern: .*\${.*}.*)
           - `dockerFilePath`: (multiple options) (string) The file path of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$) | (string) A string containing one or more references that resolve to the file path of the Dockerfile. (pattern: .*\${.*}.*)
           - `dockerWorkDir`: (multiple options) (string) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory of the Dockerfile. (pattern: .*\${.*}.*)
           - `buildkit`: {object}
             - `useCache`: (multiple options) (boolean) Use persistent storage to cache build layers. | (string) A string containing one or more references that resolve to use persistent storage to cache build layers. (pattern: .*\${.*}.*)
             - `cacheStorageSize`: (multiple options) (integer) The amount of persistent storage available to each build in MB. | (string) A string containing one or more references that resolve to the amount of persistent storage available to each build in MB. (pattern: .*\${.*}.*)
             - `useInternalCache`: (multiple options) (boolean) DEPRECATED: This field will be removed in the near future. | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*)
             - `internalCacheStorage`: (multiple options) (number) DEPRECATED: This field will be removed in the near future. (format: float) | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*) | {object}
         - `storage`: {object}
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
         - `buildpack`: {object}
           - `builder`: (multiple options) (string) Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (enum: HEROKU_24, HEROKU_22, HEROKU_22_CLASSIC, HEROKU_20, HEROKU_18, GOOGLE_22, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_JAMMY_TINY, PAKETO_JAMMY_BASE, PAKETO_JAMMY_FULL, PAKETO_TINY, PAKETO_BASE, PAKETO_FULL) | (string) A string containing one or more references that resolve to buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (pattern: .*\${.*}.*)
           - `buildpackLocators`: [array of] (multiple options) (string) Url or registry identifier of custom Buildpack. | (string) A string containing one or more references that resolve to url or registry identifier of custom Buildpack. (pattern: .*\${.*}.*)
           - `buildContext`: (multiple options) (string) The working directory to build in. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory to build in. (pattern: .*\${.*}.*)
           - `useCache`: (multiple options) (boolean) Should build dependencies be cached? | (string) A string containing one or more references that resolve to should build dependencies be cached? (pattern: .*\${.*}.*)
     - `runtimeEnvironment`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `runtimeFiles`: {object}
     - `buildArguments`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `buildFiles`: {object}
     - `dockerSecretMounts`: {object}
     - `healthChecks`: [array of] {object}
         - `protocol`: (multiple options) (string) The protocol to access the health check with. (enum: HTTP, CMD, TCP) | (string) A string containing one or more references that resolve to the protocol to access the health check with. (pattern: .*\${.*}.*)
         - `type`: (multiple options) (string) The type of health check. (enum: livenessProbe, readinessProbe, startupProbe) | (string) A string containing one or more references that resolve to the type of health check. (pattern: .*\${.*}.*)
         - `path`: (multiple options) (string) The path of the health check endpoint. Required when protocol is HTTP. (pattern: ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*((\?([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)(&([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)*)?$) | (string) (pattern: .*\${.*}.*)
         - `cmd`: (multiple options) (string) The command to run for the health check. Required when protocol is CMD | (string) (pattern: .*\${.*}.*)
         - `port`: (multiple options) (integer) Port number for the health check endpoint. Required when protocol is HTTP. | (string) (pattern: .*\${.*}.*)
         - `initialDelaySeconds`: (multiple options) (integer) Initial delay, in seconds, before the health check is first run. | (string) A string containing one or more references that resolve to initial delay, in seconds, before the health check is first run. (pattern: .*\${.*}.*)
         - `periodSeconds`: (multiple options) (integer) The time between each check, in seconds. | (string) A string containing one or more references that resolve to the time between each check, in seconds. (pattern: .*\${.*}.*)
         - `timeoutSeconds`: (multiple options) (integer) The time to wait for a response before marking the health check as a failure. | (string) A string containing one or more references that resolve to the time to wait for a response before marking the health check as a failure. (pattern: .*\${.*}.*)
         - `failureThreshold`: (multiple options) (integer) The maximum number of allowed failures. | (string) A string containing one or more references that resolve to the maximum number of allowed failures. (pattern: .*\${.*}.*)
         - `successThreshold`: (multiple options) (integer) The number of successes required to mark the health check as a success. | (string) (pattern: .*\${.*}.*)
     - `backoffLimit`: (multiple options) (integer) The number of attempts to rerun a job before it is marked as failed. | (string) A string containing one or more references that resolve to the number of attempts to rerun a job before it is marked as failed. (pattern: .*\${.*}.*)
     - `runOnSourceChange`: (multiple options) (string) Configure when the job should be run if the source image changes. (enum: never, cd-promote, always) | (string) A string containing one or more references that resolve to configure when the job should be run if the source image changes. (pattern: .*\${.*}.*)
     - `activeDeadlineSeconds`: (multiple options) (integer) The maximum amount of time, in seconds, for a job to run before it is marked as failed. | (string) A string containing one or more references that resolve to the maximum amount of time, in seconds, for a job to run before it is marked as failed. (pattern: .*\${.*}.*)
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: Job)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `description`: (multiple options) (string) A description of the job. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the job. (pattern: .*\${.*}.*)
     - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `billing`: {object}
       - `buildPlan`: (multiple options) (string) The ID of the build plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the build plan to use. (pattern: .*\${.*}.*)
       - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (pattern: .*\${.*}.*)
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
     - `deployment`: {object}
       - `buildpack`: {object}
         - `configType`: (multiple options) (string) (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand) | (string) (pattern: .*\${.*}.*)
         - `customProcess`: (multiple options) (multiple options) (string) | (string) (pattern: .*\${.*}.*)
         - `customEntrypoint`: (multiple options) (multiple options) (string) | (string) (pattern: .*\${.*}.*)
         - `customCommand`: (multiple options) (multiple options) (string) | (string) (pattern: .*\${.*}.*)
       - `docker`: {object}
         - `configType`: (multiple options) (string) (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand) | (string) (pattern: .*\${.*}.*)
         - `customEntrypoint`: (multiple options) (multiple options) (string) | (string) (pattern: .*\${.*}.*)
         - `customCommand`: (multiple options) (multiple options) (string) | (string) (pattern: .*\${.*}.*)
       - `storage`: {object}
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per container in MB | (string) A string containing one or more references that resolve to ephemeral storage per container in MB (pattern: .*\${.*}.*)
         - `shmSize`: (multiple options) (integer) Configures the amount of available memory-backed disk space available to /dev/shm | (string) A string containing one or more references that resolve to configures the amount of available memory-backed disk space available to /dev/shm (pattern: .*\${.*}.*)
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
       - `gracePeriodSeconds`: (multiple options) (integer) The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. | (string) A string containing one or more references that resolve to the maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. (pattern: .*\${.*}.*)
       - `metadata`: {object}
         - `labels`: {object}
         - `annotations`: {object}
       - `vcs`: {object}
         - `projectUrl`: (multiple options) (string) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo to build. (pattern: .*\${.*}.*)
         - `projectType`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
         - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
         - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
         - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24) | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
         - `projectBranch`: (multiple options) (string) The name of the branch to use. | (string) A string containing one or more references that resolve to the name of the branch to use. (pattern: .*\${.*}.*)
       - `external`: {object}
         - `imagePath`: (multiple options) (string) Image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: ^(?:(?:https?:\/\/)?([a-zA-Z0-9\-]+\.[a-zA-Z0-9\.\-]+))?(?:\/)?([a-zA-Z/-9\.\-_]+)(?:\:([a-zA-Z/-9\.\-_\:]+)|\@([a-zA-Z/-9\.\-_\:]+))$) | (string) A string containing one or more references that resolve to image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: .*\${.*}.*)
         - `credentials`: (multiple options) (string) ID of the saved credentials to use to access this external image. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of the saved credentials to use to access this external image. (pattern: .*\${.*}.*)
       - `internal`: {object}
         - `id`: (multiple options) (multiple options) (string) The ID of a build service in the same project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) The ID of a build service in another project, in the format `project-id/build-service-id` | (string) A string containing one or more references that resolve to iD of the build service to deploy (pattern: .*\${.*}.*)
         - `branch`: (multiple options) (string) Branch to deploy | (string) A string containing one or more references that resolve to branch to deploy (pattern: .*\${.*}.*)
         - `buildSHA`: (multiple options) (multiple options) (string) A commit sha. (min length: 40) (max length: 40) | (string) Latest commit. (enum: latest) | (string) A string containing one or more references that resolve to commit SHA to deploy, or 'latest' to deploy the most recent commit (pattern: .*\${.*}.*)
         - `buildId`: (multiple options) (string) ID of the build that should be deployed | (string) A string containing one or more references that resolve to iD of the build that should be deployed (pattern: .*\${.*}.*)
     - `disabledCI`: (multiple options) (boolean) Whether CI should be disabled. Only relevant for jobs deploying directly from version control. | (string) A string containing one or more references that resolve to whether CI should be disabled. Only relevant for jobs deploying directly from version control. (pattern: .*\${.*}.*)
     - `buildConfiguration`: {object}
       - `pathIgnoreRules`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
       - `isAllowList`: (multiple options) (boolean) If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. | (string) A string containing one or more references that resolve to if `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. (pattern: .*\${.*}.*)
       - `ciIgnoreFlagsEnabled`: (multiple options) (boolean) If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. | (string) A string containing one or more references that resolve to if `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. (pattern: .*\${.*}.*)
       - `ciIgnoreFlags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
       - `dockerfileTarget`: (multiple options) (string) If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. | (string) A string containing one or more references that resolve to if your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. (pattern: .*\${.*}.*)
       - `dockerCredentials`: [array of] (multiple options) (string) The ID of the docker credentials to use. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of the docker credentials to use. (pattern: .*\${.*}.*)
       - `includeGitFolder`: (boolean) Include .git folder inside the build context
       - `fullGitClone`: (boolean) Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set.
       - `enableGitLfs`: (boolean) Enable Git LFS support for the build
       - `storage`: {object}
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
     - `buildSettings`: {object}
       - `storage`: {object}
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
       - `dockerfile`: {object}
         - `useCache`: (boolean) DEPRECATED: This field will be removed in the near future and currently has no effect.
         - `buildEngine`: (multiple options) (string) Build engine to use. Defaults to recommended build engine `buildkit` (enum: buildkit, kaniko) | (string) A string containing one or more references that resolve to build engine to use. Defaults to recommended build engine `buildkit` (pattern: .*\${.*}.*)
         - `dockerFilePath`: (multiple options) (string) The file path of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$) | (string) A string containing one or more references that resolve to the file path of the Dockerfile. (pattern: .*\${.*}.*)
         - `dockerWorkDir`: (multiple options) (string) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory of the Dockerfile. (pattern: .*\${.*}.*)
         - `buildkit`: {object}
           - `useCache`: (multiple options) (boolean) Use persistent storage to cache build layers. | (string) A string containing one or more references that resolve to use persistent storage to cache build layers. (pattern: .*\${.*}.*)
           - `cacheStorageSize`: (multiple options) (integer) The amount of persistent storage available to each build in MB. | (string) A string containing one or more references that resolve to the amount of persistent storage available to each build in MB. (pattern: .*\${.*}.*)
           - `useInternalCache`: (multiple options) (boolean) DEPRECATED: This field will be removed in the near future. | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*)
           - `internalCacheStorage`: (multiple options) (number) DEPRECATED: This field will be removed in the near future. (format: float) | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*)
       - `buildpack`: {object}
         - `builder`: (multiple options) (string) Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (enum: HEROKU_24, HEROKU_22, HEROKU_22_CLASSIC, HEROKU_20, HEROKU_18, GOOGLE_22, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_JAMMY_TINY, PAKETO_JAMMY_BASE, PAKETO_JAMMY_FULL, PAKETO_TINY, PAKETO_BASE, PAKETO_FULL) | (string) A string containing one or more references that resolve to buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (pattern: .*\${.*}.*)
         - `buildpackLocators`: [array of] (multiple options) (string) Url or registry identifier of custom Buildpack. | (string) A string containing one or more references that resolve to url or registry identifier of custom Buildpack. (pattern: .*\${.*}.*)
         - `buildContext`: (multiple options) (string) The working directory to build in. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory to build in. (pattern: .*\${.*}.*)
         - `useCache`: (multiple options) (boolean) Should build dependencies be cached? | (string) A string containing one or more references that resolve to should build dependencies be cached? (pattern: .*\${.*}.*)
     - `runtimeEnvironment`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `runtimeFiles`: {object}
     - `buildArguments`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `buildFiles`: {object}
     - `dockerSecretMounts`: {object}
     - `healthChecks`: [array of] {object}
         - `protocol`: (multiple options) (string) The protocol to access the health check with. (enum: HTTP, CMD, TCP) | (string) A string containing one or more references that resolve to the protocol to access the health check with. (pattern: .*\${.*}.*)
         - `type`: (multiple options) (string) The type of health check. (enum: livenessProbe, readinessProbe, startupProbe) | (string) A string containing one or more references that resolve to the type of health check. (pattern: .*\${.*}.*)
         - `path`: (multiple options) (string) The path of the health check endpoint. Required when protocol is HTTP. (pattern: ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*((\?([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)(&([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)*)?$) | (string) (pattern: .*\${.*}.*)
         - `cmd`: (multiple options) (string) The command to run for the health check. Required when protocol is CMD | (string) (pattern: .*\${.*}.*)
         - `port`: (multiple options) (integer) Port number for the health check endpoint. Required when protocol is HTTP. | (string) (pattern: .*\${.*}.*)
         - `initialDelaySeconds`: (multiple options) (integer) Initial delay, in seconds, before the health check is first run. | (string) A string containing one or more references that resolve to initial delay, in seconds, before the health check is first run. (pattern: .*\${.*}.*)
         - `periodSeconds`: (multiple options) (integer) The time between each check, in seconds. | (string) A string containing one or more references that resolve to the time between each check, in seconds. (pattern: .*\${.*}.*)
         - `timeoutSeconds`: (multiple options) (integer) The time to wait for a response before marking the health check as a failure. | (string) A string containing one or more references that resolve to the time to wait for a response before marking the health check as a failure. (pattern: .*\${.*}.*)
         - `failureThreshold`: (multiple options) (integer) The maximum number of allowed failures. | (string) A string containing one or more references that resolve to the maximum number of allowed failures. (pattern: .*\${.*}.*)
         - `successThreshold`: (multiple options) (integer) The number of successes required to mark the health check as a success. | (string) (pattern: .*\${.*}.*)
     - `settings`: {object}
       - `backoffLimit`: (multiple options) (integer) The number of attempts to rerun a job before it is marked as failed. | (string) A string containing one or more references that resolve to the number of attempts to rerun a job before it is marked as failed. (pattern: .*\${.*}.*)
       - `runOnSourceChange`: (multiple options) (string) Configure when the job should be run if the source image changes. (enum: never, cd-promote, always) | (string) A string containing one or more references that resolve to configure when the job should be run if the source image changes. (pattern: .*\${.*}.*)
       - `activeDeadlineSeconds`: (multiple options) (integer) The maximum amount of time, in seconds, for a job to run before it is marked as failed. | (string) A string containing one or more references that resolve to the maximum amount of time, in seconds, for a job to run before it is marked as failed. (pattern: .*\${.*}.*)
       - `cron`: {object}
         - `schedule`: (multiple options) (string) The cron timer scheduling when to run the job. | (string) A string containing one or more references that resolve to the cron timer scheduling when to run the job. (pattern: .*\${.*}.*)
         - `suspended`: (multiple options) (boolean) Whether the cron's automatic scheduling is suspended | (string) A string containing one or more references that resolve to whether the cron's automatic scheduling is suspended (pattern: .*\${.*}.*)
         - `concurrencyPolicy`: (multiple options) (string) Whether this job should run when another instance of the job is already running. `allow` will enable multiple instances of this job to run. `forbid` will keep the current instance of the job running and stop a new instance from being run. `replace` will terminate any currently running instance of the job and start a new one. (enum: allow, forbid, replace) | (string) A string containing one or more references that resolve to whether this job should run when another instance of the job is already running. `allow` will enable multiple instances of this job to run. `forbid` will keep the current instance of the job running and stop a new instance from being run. `replace` will terminate any currently running instance of the job and start a new one. (pattern: .*\${.*}.*)
     - `name`: (multiple options) (string) The name of the job. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 52) | (string) A string containing one or more references that resolve to the name of the job. (pattern: .*\${.*}.*)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: Job)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) The name of the job. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 52) | (string) A string containing one or more references that resolve to the name of the job. (pattern: .*\${.*}.*)
     - `description`: (multiple options) (string) A description of the job. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the job. (pattern: .*\${.*}.*)
     - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
     - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `infrastructure`: {object}
       - `architecture`: (string) (enum: x86, arm)
     - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `billing`: {object}
       - `buildPlan`: (multiple options) (string) The ID of the build plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the build plan to use. (pattern: .*\${.*}.*)
       - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (pattern: .*\${.*}.*)
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
     - `deployment`: {object}
       - `buildpack`: {object}
         - `configType`: (string) (required) Type of buildpack run configuration (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand)
         - `customProcess`: (string) Custom process which should be run. Required in case where `configType` is `customProcess`
         - `customEntrypoint`: (string) Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand`
         - `customCommand`: (string) Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand`
       - `docker`: {object}
         - `configType`: (string) (required) Type of entrypoint & command override configuration (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand)
         - `customEntrypoint`: (string) Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand`
         - `customCommand`: (string) Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand`
       - `storage`: {object}
         - `useHdbStorage`: (boolean)
         - `usePdSsdStorage`: (boolean)
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per container in MB | (string) A string containing one or more references that resolve to ephemeral storage per container in MB (pattern: .*\${.*}.*)
         - `shmSize`: (multiple options) (integer) Configures the amount of available memory-backed disk space available to /dev/shm | (string) A string containing one or more references that resolve to configures the amount of available memory-backed disk space available to /dev/shm (pattern: .*\${.*}.*)
       - `gpu`: {object}
         - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
         - `configuration`: {object}
           - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
           - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
           - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
       - `gracePeriodSeconds`: (multiple options) (integer) The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. | (string) A string containing one or more references that resolve to the maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. (pattern: .*\${.*}.*)
       - `metadata`: {object}
         - `labels`: {object}
         - `annotations`: {object}
       - `vcs`: {object}
         - `projectUrl`: (multiple options) (string) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo to build. (pattern: .*\${.*}.*)
         - `projectType`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
         - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
         - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
         - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24) | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
         - `projectBranch`: (multiple options) (string) The name of the branch to use. | (string) A string containing one or more references that resolve to the name of the branch to use. (pattern: .*\${.*}.*)
       - `external`: {object}
         - `imagePath`: (multiple options) (string) Image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: ^(?:(?:https?:\/\/)?([a-zA-Z0-9\-]+\.[a-zA-Z0-9\.\-]+))?(?:\/)?([a-zA-Z/-9\.\-_]+)(?:\:([a-zA-Z/-9\.\-_\:]+)|\@([a-zA-Z/-9\.\-_\:]+))$) | (string) A string containing one or more references that resolve to image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: .*\${.*}.*)
         - `credentials`: (multiple options) (string) ID of the saved credentials to use to access this external image. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of the saved credentials to use to access this external image. (pattern: .*\${.*}.*)
       - `internal`: {object}
         - `id`: (multiple options) (multiple options) (string) The ID of a build service in the same project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) The ID of a build service in another project, in the format `project-id/build-service-id` | (string) A string containing one or more references that resolve to iD of the build service to deploy (pattern: .*\${.*}.*)
         - `branch`: (multiple options) (string) Branch to deploy | (string) A string containing one or more references that resolve to branch to deploy (pattern: .*\${.*}.*)
         - `buildSHA`: (multiple options) (multiple options) (string) A commit sha. (min length: 40) (max length: 40) | (string) Latest commit. (enum: latest) | (string) A string containing one or more references that resolve to commit SHA to deploy, or 'latest' to deploy the most recent commit (pattern: .*\${.*}.*)
         - `buildId`: (multiple options) (string) ID of the build that should be deployed | (string) A string containing one or more references that resolve to iD of the build that should be deployed (pattern: .*\${.*}.*)
       - `releaseFlowControlled`: (boolean) When enabled the deployment source will only be set on creation. All changes to the deployment source must be done via a release flow or manually.
     - `disabledCI`: (multiple options) (boolean) Whether CI should be disabled. Only relevant for jobs deploying directly from version control. | (string) A string containing one or more references that resolve to whether CI should be disabled. Only relevant for jobs deploying directly from version control. (pattern: .*\${.*}.*)
     - `buildConfiguration`: {object}
       - `pathIgnoreRules`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
       - `isAllowList`: (multiple options) (boolean) If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. | (string) A string containing one or more references that resolve to if `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. (pattern: .*\${.*}.*)
       - `ciIgnoreFlagsEnabled`: (multiple options) (boolean) If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. | (string) A string containing one or more references that resolve to if `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. (pattern: .*\${.*}.*)
       - `ciIgnoreFlags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
       - `dockerfileTarget`: (multiple options) (string) If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. | (string) A string containing one or more references that resolve to if your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. (pattern: .*\${.*}.*)
       - `dockerCredentials`: [array of] (multiple options) (string) The ID of the docker credentials to use. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of the docker credentials to use. (pattern: .*\${.*}.*)
       - `includeGitFolder`: (boolean) Include .git folder inside the build context
       - `fullGitClone`: (boolean) Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set.
       - `enableGitLfs`: (boolean) Enable Git LFS support for the build
       - `storage`: {object}
         - `ephemeralStorage`: {object}
           - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
     - `buildSettings`: (multiple options) {object}
         - `storage`: {object}
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
         - `dockerfile`: {object}
           - `useCache`: (boolean) DEPRECATED: This field will be removed in the near future and currently has no effect.
           - `buildEngine`: (multiple options) (string) Build engine to use. Defaults to recommended build engine `buildkit` (enum: buildkit, kaniko) | (string) A string containing one or more references that resolve to build engine to use. Defaults to recommended build engine `buildkit` (pattern: .*\${.*}.*)
           - `dockerFilePath`: (multiple options) (string) The file path of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$) | (string) A string containing one or more references that resolve to the file path of the Dockerfile. (pattern: .*\${.*}.*)
           - `dockerWorkDir`: (multiple options) (string) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory of the Dockerfile. (pattern: .*\${.*}.*)
           - `buildkit`: {object}
             - `useCache`: (multiple options) (boolean) Use persistent storage to cache build layers. | (string) A string containing one or more references that resolve to use persistent storage to cache build layers. (pattern: .*\${.*}.*)
             - `cacheStorageSize`: (multiple options) (integer) The amount of persistent storage available to each build in MB. | (string) A string containing one or more references that resolve to the amount of persistent storage available to each build in MB. (pattern: .*\${.*}.*)
             - `useInternalCache`: (multiple options) (boolean) DEPRECATED: This field will be removed in the near future. | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*)
             - `internalCacheStorage`: (multiple options) (number) DEPRECATED: This field will be removed in the near future. (format: float) | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*) | {object}
         - `storage`: {object}
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
         - `buildpack`: {object}
           - `builder`: (multiple options) (string) Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (enum: HEROKU_24, HEROKU_22, HEROKU_22_CLASSIC, HEROKU_20, HEROKU_18, GOOGLE_22, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_JAMMY_TINY, PAKETO_JAMMY_BASE, PAKETO_JAMMY_FULL, PAKETO_TINY, PAKETO_BASE, PAKETO_FULL) | (string) A string containing one or more references that resolve to buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (pattern: .*\${.*}.*)
           - `buildpackLocators`: [array of] (multiple options) (string) Url or registry identifier of custom Buildpack. | (string) A string containing one or more references that resolve to url or registry identifier of custom Buildpack. (pattern: .*\${.*}.*)
           - `buildContext`: (multiple options) (string) The working directory to build in. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory to build in. (pattern: .*\${.*}.*)
           - `useCache`: (multiple options) (boolean) Should build dependencies be cached? | (string) A string containing one or more references that resolve to should build dependencies be cached? (pattern: .*\${.*}.*)
     - `runtimeEnvironment`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `runtimeFiles`: {object}
     - `buildArguments`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `buildFiles`: {object}
     - `dockerSecretMounts`: {object}
     - `healthChecks`: [array of] {object}
         - `protocol`: (multiple options) (string) The protocol to access the health check with. (enum: HTTP, CMD, TCP) | (string) A string containing one or more references that resolve to the protocol to access the health check with. (pattern: .*\${.*}.*)
         - `type`: (multiple options) (string) The type of health check. (enum: livenessProbe, readinessProbe, startupProbe) | (string) A string containing one or more references that resolve to the type of health check. (pattern: .*\${.*}.*)
         - `path`: (multiple options) (string) The path of the health check endpoint. Required when protocol is HTTP. (pattern: ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*((\?([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)(&([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)*)?$) | (string) (pattern: .*\${.*}.*)
         - `cmd`: (multiple options) (string) The command to run for the health check. Required when protocol is CMD | (string) (pattern: .*\${.*}.*)
         - `port`: (multiple options) (integer) Port number for the health check endpoint. Required when protocol is HTTP. | (string) (pattern: .*\${.*}.*)
         - `initialDelaySeconds`: (multiple options) (integer) Initial delay, in seconds, before the health check is first run. | (string) A string containing one or more references that resolve to initial delay, in seconds, before the health check is first run. (pattern: .*\${.*}.*)
         - `periodSeconds`: (multiple options) (integer) The time between each check, in seconds. | (string) A string containing one or more references that resolve to the time between each check, in seconds. (pattern: .*\${.*}.*)
         - `timeoutSeconds`: (multiple options) (integer) The time to wait for a response before marking the health check as a failure. | (string) A string containing one or more references that resolve to the time to wait for a response before marking the health check as a failure. (pattern: .*\${.*}.*)
         - `failureThreshold`: (multiple options) (integer) The maximum number of allowed failures. | (string) A string containing one or more references that resolve to the maximum number of allowed failures. (pattern: .*\${.*}.*)
         - `successThreshold`: (multiple options) (integer) The number of successes required to mark the health check as a success. | (string) (pattern: .*\${.*}.*)
     - `settings`: {object}
       - `backoffLimit`: (multiple options) (integer) The number of attempts to rerun a job before it is marked as failed. | (string) A string containing one or more references that resolve to the number of attempts to rerun a job before it is marked as failed. (pattern: .*\${.*}.*)
       - `runOnSourceChange`: (multiple options) (string) Configure when the job should be run if the source image changes. (enum: never, cd-promote, always) | (string) A string containing one or more references that resolve to configure when the job should be run if the source image changes. (pattern: .*\${.*}.*)
       - `activeDeadlineSeconds`: (multiple options) (integer) The maximum amount of time, in seconds, for a job to run before it is marked as failed. | (string) A string containing one or more references that resolve to the maximum amount of time, in seconds, for a job to run before it is marked as failed. (pattern: .*\${.*}.*)
       - `cron`: {object}
         - `schedule`: (multiple options) (string) The cron timer scheduling when to run the job. | (string) A string containing one or more references that resolve to the cron timer scheduling when to run the job. (pattern: .*\${.*}.*)
         - `suspended`: (multiple options) (boolean) Whether the cron's automatic scheduling is suspended | (string) A string containing one or more references that resolve to whether the cron's automatic scheduling is suspended (pattern: .*\${.*}.*)
         - `concurrencyPolicy`: (multiple options) (string) Whether this job should run when another instance of the job is already running. `allow` will enable multiple instances of this job to run. `forbid` will keep the current instance of the job running and stop a new instance from being run. `replace` will terminate any currently running instance of the job and start a new one. (enum: allow, forbid, replace) | (string) A string containing one or more references that resolve to whether this job should run when another instance of the job is already running. `allow` will enable multiple instances of this job to run. `forbid` will keep the current instance of the job running and stop a new instance from being run. `replace` will terminate any currently running instance of the job and start a new one. (pattern: .*\${.*}.*)
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: Addon)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: (multiple options) {object}
      - `description`: (multiple options) (string) A description of the addon. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the addon. (pattern: .*\${.*}.*)
      - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
      - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
      - `version`: (string) The version of the addon type to use. If set to `latest`, the addon will be created with the most recent addon version. If set to a major version appended with `-latest`, e.g. e.g. `14-latest` or `14.5-latest`, the addon will be created with the most recent minor/patch version belonging to that major version.
      - `billing`: {object}
        - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (pattern: .*\${.*}.*)
        - `storageClass`: (multiple options) (string) The type of storage. Only configurable if the relevant feature flag is enabled for you account (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the type of storage. Only configurable if the relevant feature flag is enabled for you account (pattern: .*\${.*}.*)
        - `storage`: (multiple options) (integer) The size of the addon storage, in megabytes. | (string) A string containing one or more references that resolve to the size of the addon storage, in megabytes. (pattern: .*\${.*}.*)
        - `replicas`: (multiple options) (integer) The number of addon replicas to run. | (string) A string containing one or more references that resolve to the number of addon replicas to run. (pattern: .*\${.*}.*)
        - `diskAutoscaling`: {object}
          - `enabled`: (boolean) (required) Enable automatic disk scaling when usage exceeds the configured threshold.
          - `thresholdPercent`: (number) Disk usage percentage that triggers a resize. Defaults to 90. (format: float) (enum: 75, 90)
          - `maxSizeMib`: (integer) Maximum disk size in mebibytes. When set, autoscaling will not expand storage beyond this value. Must be greater than the current storage size.
      - `tlsEnabled`: (boolean) Enables access to the addon via TLS (if supported by the addon type).
      - `externalAccessEnabled`: (boolean) Enables external access to the addon via TLS (if supported by the addon type).
      - `ipPolicies`: [array of] {object}
          - `addresses`: [array of] (string) An IP address used by this rule
          - `action`: (string) (required) The action for this rule. (enum: ALLOW, DENY)
      - `typeSpecificSettings`: {object}
        - `redisMaxMemoryPolicy`: (string) Redis only: Key eviction policy at memory pressure. (enum: noeviction, allkeys-lru, allkeys-lfu, volatile-lru, volatile-lfu, allkeys-random, volatile-random, volatile-ttl, volatile-lrm, allkeys-lrm)
        - `redisSentinelEnabled`: (boolean) Redis only: Deploy Redis with Sentinel high availability. Default: false
        - `postgresqlWalLevel`: (string) PostgreSQL only: Configure wal_level setting. (enum: replica, logical)
        - `postgresqlSupabaseMode`: (boolean) PostgreSQL only: Enable Supabase mode (additional extensions and event trigger creation support). Cannot be changed after creation.
        - `postgresqlEdbMode`: (boolean) PostgreSQL only: Enable EDB mode (EDB extension set: edb_stat_monitor, query_advisor, edb_pg_tuner, aidb, pgaa and others). Requires PostgreSQL 18 or newer. Cannot be changed after creation.
        - `postgresqlConnectionPoolerEnabled`: (boolean) PostgreSQL only: Run connection pooler in front of postgres instance.
        - `postgresqlConnectionPoolerReplicas`: (integer) PostgreSQL only: Number of connection pooler instances in case connection pooler is enabled.
        - `postgresqlReadConnectionPoolerEnabled`: (boolean) PostgreSQL only: Run connection pooler in front of read-only postgres instance.
        - `postgresqlReadConnectionPoolerReplicas`: (integer) PostgreSQL only: Number of read-only connection pooler replicas in case read-only connection pooler is enabled.
        - `postgresqlImportMode`: (boolean) PostgreSQL only: Configure PostgreSQL for higher import speed. Not recommended for production workloads.
        - `mysqlHaModeEnabled`: (boolean) MySQL only: Run MySQL in HA configuration with auto-failover and connection poolers.
        - `mysqlHaRouterEnabled`: (boolean) MySQL HA only: Run connection routers in front of MySQL instances.
        - `mysqlRouterReplicas`: (multiple options) (integer) MysqlHA only: Number of connection router replicas in case connection router is enabled. | (string) A string containing one or more references that resolve to mysqlHA only: Number of connection router replicas in case connection router is enabled. (pattern: .*\${.*}.*)
      - `backupSchedules`: [array of] {object}
          - `scheduling`: (multiple options) {object}
              - `interval`: (multiple options) (string) The interval between backups. Each addon can only have one backup schedule of each interval for each backup type. (enum: hourly, daily, weekly) | (string) A string containing one or more references that resolve to the interval between backups. Each addon can only have one backup schedule of each interval for each backup type. (pattern: .*\${.*}.*)
              - `minute`: (multiple options) [array of] (integer) A minute when the backup should be performed. | (string) A string containing one or more references that resolve to an array of minutes when the backup should be performed. (pattern: .*\${.*}.*)
              - `hour`: (multiple options) [array of] (integer) An hour when the backup should be performed, in 24 hour format. | (string) A string containing one or more references that resolve to an array of hours in 24 hour format when the backup should be performed. At these hours, a backup will be performed at each of the minutes provided in the `minute` field. Required for `daily` and `weekly` intervals and unavailable for `hourly` intervals. (pattern: .*\${.*}.*)
              - `day`: (multiple options) [array of] (integer) A day of the week when the backup should be performed, where `0` represents Monday and `6` represents Sunday. | (string) A string containing one or more references that resolve to an array of days of the week when the backup should be performed, where `0` represents Monday and `6` represents Sunday. On these days, a backup will be performed at each of the minutes provided in the `minute` field whenever it is an hour from the `hour` field. Required for `weekly` intervals and unavailable for `hourly` and `daily` intervals. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to schedule for the backup. (pattern: .*\${.*}.*)
          - `backupType`: (multiple options) (string) The type of the backup to be performed. (enum: dump, snapshot) | (string) A string containing one or more references that resolve to the type of the backup to be performed. (pattern: .*\${.*}.*)
          - `customDestinationId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
          - `additionalDestinations`: [array of] {object}
              - `destinationId`: (multiple options) (string) Additional custom back up destination that should be used to store the snapshot. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to additional custom back up destination that should be used to store the snapshot. (pattern: .*\${.*}.*)
              - `retentionTime`: (multiple options) (integer) Retention time of the additional back up in days. | (string) A string containing one or more references that resolve to retention time of the additional back up in days. (pattern: .*\${.*}.*)
              - `type`: (string) (required) The type of backup destination to use (enum: custom)
          - `compressionType`: (multiple options) (string) The compression algorithm of the backup. Only applicable for dump backups. Defaults to `gz`. (enum: gz, zstd) | (string) A string containing one or more references that resolve to the compression algorithm of the backup. Only applicable for dump backups. Defaults to `gz`. (pattern: .*\${.*}.*)
          - `retentionTime`: (multiple options) (integer) The time the backup is retained for, in days. | (string) A string containing one or more references that resolve to the time the backup is retained for, in days. (pattern: .*\${.*}.*)
      - `metadata`: {object}
        - `labels`: {object}
        - `annotations`: {object} | {object}
      - `description`: (multiple options) (string) A description of the addon. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the addon. (pattern: .*\${.*}.*)
      - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
      - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
      - `templateValues`: {object} | {object}
      - `description`: (multiple options) (string) A description of the addon. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the addon. (pattern: .*\${.*}.*)
      - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
      - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: Addon)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: (multiple options) {object}
      - `name`: (multiple options) (string) The name of the addon. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the addon. (pattern: .*\${.*}.*)
      - `description`: (multiple options) (string) A description of the addon. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the addon. (pattern: .*\${.*}.*)
      - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
      - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
      - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
      - `type`: (string) (required) The identifier for the type of addon. Addon types can be found at the Get Addon Types endpoint.
      - `infrastructure`: {object}
        - `architecture`: (string) (enum: x86, arm)
      - `version`: (string) (required) The version of the addon type to use. If set to `latest`, the addon will be created with the most recent addon version. If set to a major version appended with `-latest`, e.g. e.g. `14-latest` or `14.5-latest`, the addon will be created with the most recent minor/patch version belonging to that major version.
      - `billing`: {object}
        - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (pattern: .*\${.*}.*)
        - `storageClass`: (multiple options) (string) The type of storage. Only configurable if the relevant feature flag is enabled for you account (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the type of storage. Only configurable if the relevant feature flag is enabled for you account (pattern: .*\${.*}.*)
        - `storage`: (multiple options) (integer) The size of the addon storage, in megabytes. | (string) A string containing one or more references that resolve to the size of the addon storage, in megabytes. (pattern: .*\${.*}.*)
        - `replicas`: (multiple options) (integer) The number of addon replicas to run. | (string) A string containing one or more references that resolve to the number of addon replicas to run. (pattern: .*\${.*}.*)
        - `zonalRedundancy`: {object}
          - `type`: (multiple options) (string) Defines scheduling behaviour across different zones within the same region. (enum: required, disabled) | (string) A string containing one or more references that resolve to defines scheduling behaviour across different zones within the same region. (pattern: .*\${.*}.*)
          - `minZones`: (integer) Defines how many zones are required and will prevent containers from additional scheduling into existing zones. (Only relevant if type is set to "required")
        - `diskAutoscaling`: {object}
          - `enabled`: (boolean) (required) Enable automatic disk scaling when usage exceeds the configured threshold.
          - `thresholdPercent`: (number) Disk usage percentage that triggers a resize. Defaults to 90. (format: float) (enum: 75, 90)
          - `maxSizeMib`: (integer) Maximum disk size in mebibytes. When set, autoscaling will not expand storage beyond this value. Must be greater than the current storage size.
      - `source`: (multiple options) {object}
          - `projectId`: (multiple options) (string) ID of the project of the source addon. Only required if not the same as target addon (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of the project of the source addon. Only required if not the same as target addon (pattern: .*\${.*}.*)
          - `addonId`: (multiple options) (string) ID of the addon to fork. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of the addon to fork. (pattern: .*\${.*}.*)
          - `backupId`: (multiple options) (string) ID of a backup belonging to that addon to use for the fork. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of a backup belonging to that addon to use for the fork. (pattern: .*\${.*}.*) | {object}
          - `backupUid`: (multiple options) (string) Uid of the backup (format: uuid) | (string) A string containing one or more references that resolve to uid of the backup (pattern: .*\${.*}.*)
      - `tlsEnabled`: (boolean) Enables access to the addon via TLS (if supported by the addon type).
      - `externalAccessEnabled`: (boolean) Enables external access to the addon via TLS (if supported by the addon type).
      - `ipPolicies`: [array of] {object}
          - `addresses`: [array of] (string) An IP address used by this rule
          - `action`: (string) (required) The action for this rule. (enum: ALLOW, DENY)
      - `typeSpecificSettings`: {object}
        - `redisMaxMemoryPolicy`: (string) Redis only: Key eviction policy at memory pressure. (enum: noeviction, allkeys-lru, allkeys-lfu, volatile-lru, volatile-lfu, allkeys-random, volatile-random, volatile-ttl, volatile-lrm, allkeys-lrm)
        - `redisSentinelEnabled`: (boolean) Redis only: Deploy Redis with Sentinel high availability. Default: false
        - `postgresqlWalLevel`: (string) PostgreSQL only: Configure wal_level setting. (enum: replica, logical)
        - `postgresqlSupabaseMode`: (boolean) PostgreSQL only: Enable Supabase mode (additional extensions and event trigger creation support). Cannot be changed after creation.
        - `postgresqlEdbMode`: (boolean) PostgreSQL only: Enable EDB mode (EDB extension set: edb_stat_monitor, query_advisor, edb_pg_tuner, aidb, pgaa and others). Requires PostgreSQL 18 or newer. Cannot be changed after creation.
        - `postgresqlConnectionPoolerEnabled`: (boolean) PostgreSQL only: Run connection pooler in front of postgres instance.
        - `postgresqlConnectionPoolerReplicas`: (integer) PostgreSQL only: Number of connection pooler instances in case connection pooler is enabled.
        - `postgresqlReadConnectionPoolerEnabled`: (boolean) PostgreSQL only: Run connection pooler in front of read-only postgres instance.
        - `postgresqlReadConnectionPoolerReplicas`: (integer) PostgreSQL only: Number of read-only connection pooler replicas in case read-only connection pooler is enabled.
        - `postgresqlImportMode`: (boolean) PostgreSQL only: Configure PostgreSQL for higher import speed. Not recommended for production workloads.
        - `mysqlHaModeEnabled`: (boolean) MySQL only: Run MySQL in HA configuration with auto-failover and connection poolers.
        - `mysqlHaRouterEnabled`: (boolean) MySQL HA only: Run connection routers in front of MySQL instances.
        - `mysqlRouterReplicas`: (multiple options) (integer) MysqlHA only: Number of connection router replicas in case connection router is enabled. | (string) A string containing one or more references that resolve to mysqlHA only: Number of connection router replicas in case connection router is enabled. (pattern: .*\${.*}.*)
      - `customCredentials`: {object}
        - `dbName`: (multiple options) (string) Custom database name. Not supported for all addon types. | (string) A string containing one or more references that resolve to custom database name. Not supported for all addon types. (pattern: .*\${.*}.*)
      - `backupSchedules`: [array of] {object}
          - `scheduling`: (multiple options) {object}
              - `interval`: (multiple options) (string) The interval between backups. Each addon can only have one backup schedule of each interval for each backup type. (enum: hourly, daily, weekly) | (string) A string containing one or more references that resolve to the interval between backups. Each addon can only have one backup schedule of each interval for each backup type. (pattern: .*\${.*}.*)
              - `minute`: (multiple options) [array of] (integer) A minute when the backup should be performed. | (string) A string containing one or more references that resolve to an array of minutes when the backup should be performed. (pattern: .*\${.*}.*)
              - `hour`: (multiple options) [array of] (integer) An hour when the backup should be performed, in 24 hour format. | (string) A string containing one or more references that resolve to an array of hours in 24 hour format when the backup should be performed. At these hours, a backup will be performed at each of the minutes provided in the `minute` field. Required for `daily` and `weekly` intervals and unavailable for `hourly` intervals. (pattern: .*\${.*}.*)
              - `day`: (multiple options) [array of] (integer) A day of the week when the backup should be performed, where `0` represents Monday and `6` represents Sunday. | (string) A string containing one or more references that resolve to an array of days of the week when the backup should be performed, where `0` represents Monday and `6` represents Sunday. On these days, a backup will be performed at each of the minutes provided in the `minute` field whenever it is an hour from the `hour` field. Required for `weekly` intervals and unavailable for `hourly` and `daily` intervals. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to schedule for the backup. (pattern: .*\${.*}.*)
          - `backupType`: (multiple options) (string) The type of the backup to be performed. (enum: dump, snapshot) | (string) A string containing one or more references that resolve to the type of the backup to be performed. (pattern: .*\${.*}.*)
          - `customDestinationId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
          - `additionalDestinations`: [array of] {object}
              - `destinationId`: (multiple options) (string) Additional custom back up destination that should be used to store the snapshot. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to additional custom back up destination that should be used to store the snapshot. (pattern: .*\${.*}.*)
              - `retentionTime`: (multiple options) (integer) Retention time of the additional back up in days. | (string) A string containing one or more references that resolve to retention time of the additional back up in days. (pattern: .*\${.*}.*)
              - `type`: (string) (required) The type of backup destination to use (enum: custom)
          - `compressionType`: (multiple options) (string) The compression algorithm of the backup. Only applicable for dump backups. Defaults to `gz`. (enum: gz, zstd) | (string) A string containing one or more references that resolve to the compression algorithm of the backup. Only applicable for dump backups. Defaults to `gz`. (pattern: .*\${.*}.*)
          - `retentionTime`: (multiple options) (integer) The time the backup is retained for, in days. | (string) A string containing one or more references that resolve to the time the backup is retained for, in days. (pattern: .*\${.*}.*)
      - `metadata`: {object}
        - `labels`: {object}
        - `annotations`: {object} | {object}
      - `name`: (multiple options) (string) The name of the addon. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the addon. (pattern: .*\${.*}.*)
      - `description`: (multiple options) (string) A description of the addon. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the addon. (pattern: .*\${.*}.*)
      - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
      - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
      - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
      - `type`: (string) (required) The identifier for the type of addon. Addon types can be found at the Get Addon Types endpoint.
      - `infrastructure`: {object}
        - `architecture`: (string) (enum: x86, arm)
      - `templateValues`: {object} | {object}
      - `name`: (multiple options) (string) The name of the addon. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the addon. (pattern: .*\${.*}.*)
      - `description`: (multiple options) (string) A description of the addon. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the addon. (pattern: .*\${.*}.*)
      - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
      - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
      - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
      - `type`: (string) (required) The identifier for the type of addon. Addon types can be found at the Get Addon Types endpoint.
      - `infrastructure`: {object}
        - `architecture`: (string) (enum: x86, arm)
      - `region`: (string) The AWS region identifier for the bucket location.
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: ExternalAddon)
   - `condition`: (string) (enum: success)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `description`: (multiple options) (string) (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) (pattern: .*\${.*}.*)
     - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `environmentId`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
     - `spec`: {object}
       - `resourceType`: (string) (required) (enum: s3, rds, cloudSql, memorystore)
       - `provider`: {object}
         - `aws`: {object}
           - `region`: (string) (required)
           - `integrationId`: (string) (required) Integration to use for this job. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)
         - `google`: {object}
           - `project`: (string) (required)
           - `region`: (string)
           - `zone`: (string)
           - `integrationId`: (string) (required) Integration to use for this job. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)
         - `cloudflare`: {object}
           - `integrationId`: (string) (required) Integration to use for this job. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)
         - `aiven`: {object}
           - `integrationId`: (string) (required) Integration to use for this job. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)
         - `backblaze`: {object}
           - `integrationId`: (string) (required) Integration to use for this job. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)
         - `azure`: {object}
           - `integrationId`: (string) (required) Integration to use for this job. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)
         - `akamai`: {object}
           - `integrationId`: (string) (required) Integration to use for this job. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)
       - `config`: {object}
       - `outputs`: {object}
       - `workloadIdentityId`: (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
     - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `usePlan`: (boolean) Require approval of a plan before applying | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: AddonBackup)
   - `condition`: (string) (enum: success)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `runNodeOnce`: (multiple options) (string) (enum: true, false) | (string) (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `projectId`: (multiple options) (string) The ID of the addon to backup. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of the addon to backup. (pattern: .*\${.*}.*)
     - `addonId`: (multiple options) (string) The ID of the addon to backup. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of the addon to backup. (pattern: .*\${.*}.*)
     - `backupType`: (string) The type of backup to perform. Defaults to `snapshot`. (enum: dump, snapshot)
     - `compressionType`: (multiple options) (string) (enum: zstd, gz, none) | (string) (pattern: .*\${.*}.*)
     - `customDestinationId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `additionalDestinations`: [array of] {object}
         - `destinationId`: (multiple options) (string) Additional custom back up destination that should be used to store the snapshot. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to additional custom back up destination that should be used to store the snapshot. (pattern: .*\${.*}.*)
         - `retentionTime`: (multiple options) (integer) Retention time of the additional back up in days. | (string) A string containing one or more references that resolve to retention time of the additional back up in days. (pattern: .*\${.*}.*)
         - `type`: (string) (required) The type of backup destination to use (enum: custom) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: AddonImport)
   - `condition`: (string) (enum: success)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `runNodeOnce`: (multiple options) (string) (enum: true, false) | (string) (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `projectId`: (multiple options) (string) The ID of the project containing the addon. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of the project containing the addon. (pattern: .*\${.*}.*)
     - `addonId`: (multiple options) (string) The ID of the addon to import a backup into. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of the addon to import a backup into. (pattern: .*\${.*}.*)
     - `importUrl`: (multiple options) (string) A URL to import a backup file from. | (string) A string containing one or more references that resolve to a URL to import a backup file from. (pattern: .*\${.*}.*)
     - `connectionString`: (multiple options) (string) A connection string for a live database to dump and import. | (string) A string containing one or more references that resolve to a connection string for a live database to dump and import. (pattern: .*\${.*}.*)
     - `importAllDatabases`: (boolean) When true, all non-system databases will be detected and dumped. Only applicable when using a connection string with PostgreSQL.
     - `compressionType`: (multiple options) (string) (enum: zstd, gz, none) | (string) (pattern: .*\${.*}.*)
     - `customDestinationId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: SecretGroup)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `description`: (multiple options) (string) A description of the secret. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the secret. (pattern: .*\${.*}.*)
     - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `type`: (string) The hierarchy type of the created secret. (enum: secret, config)
     - `secretType`: (string) The injection scope of the created secret (enum: environment-arguments, environment, arguments)
     - `priority`: (multiple options) (integer) The priority with which different secrets will be merged. | (string) A string containing one or more references that resolve to the priority with which different secrets will be merged. (pattern: .*\${.*}.*)
     - `restrictions`: {object}
       - `restricted`: (boolean) Whether the secret is restricted to specific resources, tags, or environments. If this is `true`, resources listed in `nfObjects`, with a tag listed in `tags`, or in an environment listed in `stageIds` will have access to these secrets. Otherwise, all resources in the project will be able to access it.
       - `nfObjects`: [array of] {object}
           - `id`: (multiple options) (string) ID of the entity the secret is restricted to. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of the entity the secret is restricted to. (pattern: .*\${.*}.*)
           - `type`: (string) (required) Type of the entity the secret is restricted to. (enum: service, job)
       - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `tagMatchCondition`: (multiple options) (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or) | (string) A string containing one or more references that resolve to if all or any of the tags must be present on the target for it to match the condition. (pattern: .*\${.*}.*)
       - `stageIds`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `addonDependencies`: [array of] {object}
         - `addonId`: (multiple options) (string) The id of the addon to link. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the addon to link. (pattern: .*\${.*}.*)
         - `keys`: [array of] {object}
             - `keyName`: (string) (required) The name of the key to link. (pattern: [a-zA-Z]+)
             - `aliases`: [array of] (multiple options) (string) The name of the alias. Keys may only contain letters, numbers, hyphens, forward slashes and dots. (pattern: ^[a-zA-Z0-9_./-]*$) | (string) A string containing one or more references that resolve to the name of the alias. Keys may only contain letters, numbers, hyphens, forward slashes and dots. (pattern: .*\${.*}.*)
     - `externalAddonDependencies`: [array of] {object}
         - `addonId`: (multiple options) (string) The id of the external addon to link. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the external addon to link. (pattern: .*\${.*}.*)
         - `keys`: [array of] {object}
             - `keyName`: (string) (required) The name of the key to link. (pattern: [a-zA-Z]+)
             - `aliases`: [array of] (multiple options) (string) The name of the alias. Keys may only contain letters, numbers, hyphens, forward slashes and dots. (pattern: ^[a-zA-Z0-9_./-]*$) | (string) A string containing one or more references that resolve to the name of the alias. Keys may only contain letters, numbers, hyphens, forward slashes and dots. (pattern: .*\${.*}.*)
     - `secrets`: {object}
       - `variables`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
       - `files`: {object}
       - `dockerSecretMounts`: {object}
     - `name`: (multiple options) (string) The name of the secret. (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the name of the secret. (pattern: .*\${.*}.*)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: SecretGroup)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) The name of the secret. (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the name of the secret. (pattern: .*\${.*}.*)
     - `description`: (multiple options) (string) A description of the secret. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the secret. (pattern: .*\${.*}.*)
     - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
     - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `type`: (string) The hierarchy type of the created secret. (enum: secret, config)
     - `secretType`: (string) (required) The injection scope of the created secret (enum: environment-arguments, environment, arguments)
     - `priority`: (multiple options) (integer) The priority with which different secrets will be merged. | (string) A string containing one or more references that resolve to the priority with which different secrets will be merged. (pattern: .*\${.*}.*)
     - `restrictions`: {object}
       - `restricted`: (boolean) Whether the secret is restricted to specific resources, tags, or environments. If this is `true`, resources listed in `nfObjects`, with a tag listed in `tags`, or in an environment listed in `stageIds` will have access to these secrets. Otherwise, all resources in the project will be able to access it.
       - `nfObjects`: [array of] {object}
           - `id`: (multiple options) (string) ID of the entity the secret is restricted to. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of the entity the secret is restricted to. (pattern: .*\${.*}.*)
           - `type`: (string) (required) Type of the entity the secret is restricted to. (enum: service, job)
       - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `tagMatchCondition`: (multiple options) (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or) | (string) A string containing one or more references that resolve to if all or any of the tags must be present on the target for it to match the condition. (pattern: .*\${.*}.*)
       - `stageIds`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `addonDependencies`: [array of] {object}
         - `addonId`: (multiple options) (string) The id of the addon to link. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the addon to link. (pattern: .*\${.*}.*)
         - `keys`: [array of] {object}
             - `keyName`: (string) (required) The name of the key to link. (pattern: [a-zA-Z]+)
             - `aliases`: [array of] (multiple options) (string) The name of the alias. Keys may only contain letters, numbers, hyphens, forward slashes and dots. (pattern: ^[a-zA-Z0-9_./-]*$) | (string) A string containing one or more references that resolve to the name of the alias. Keys may only contain letters, numbers, hyphens, forward slashes and dots. (pattern: .*\${.*}.*)
     - `externalAddonDependencies`: [array of] {object}
         - `addonId`: (multiple options) (string) The id of the external addon to link. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the external addon to link. (pattern: .*\${.*}.*)
         - `keys`: [array of] {object}
             - `keyName`: (string) (required) The name of the key to link. (pattern: [a-zA-Z]+)
             - `aliases`: [array of] (multiple options) (string) The name of the alias. Keys may only contain letters, numbers, hyphens, forward slashes and dots. (pattern: ^[a-zA-Z0-9_./-]*$) | (string) A string containing one or more references that resolve to the name of the alias. Keys may only contain letters, numbers, hyphens, forward slashes and dots. (pattern: .*\${.*}.*)
     - `secrets`: {object}
       - `variables`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
       - `files`: {object}
       - `dockerSecretMounts`: {object}
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: SSHIdentity)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `description`: (multiple options) (string) (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) (pattern: .*\${.*}.*)
     - `sshPublicKeys`: [array of] {object}
         - `key`: (multiple options) (string) The SSH public key. | (string) A string containing one or more references that resolve to the SSH public key. (pattern: .*\${.*}.*)
     - `restrictions`: {object}
       - `projects`: {object}
         - `enabled`: (boolean) Whether restriction by project should be enabled.
         - `items`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `tags`: {object}
         - `enabled`: (boolean) Whether restriction by tag should be enabled.
         - `items`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
         - `matchCondition`: (multiple options) (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or) | (string) A string containing one or more references that resolve to if all or any of the tags must be present on the target for it to match the condition. (pattern: .*\${.*}.*)
     - `updatedAt`: (string) time of update (format: date-time)
     - `createdAt`: (string) time of creation (format: date-time)
     - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: SSHIdentity)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `description`: (multiple options) (string) (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) (pattern: .*\${.*}.*)
     - `sshPublicKeys`: [array of] {object}
         - `key`: (multiple options) (string) The SSH public key. | (string) A string containing one or more references that resolve to the SSH public key. (pattern: .*\${.*}.*)
     - `restrictions`: {object}
       - `projects`: {object}
         - `enabled`: (boolean) Whether restriction by project should be enabled.
         - `items`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `tags`: {object}
         - `enabled`: (boolean) Whether restriction by tag should be enabled.
         - `items`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
         - `matchCondition`: (multiple options) (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or) | (string) A string containing one or more references that resolve to if all or any of the tags must be present on the target for it to match the condition. (pattern: .*\${.*}.*)
     - `updatedAt`: (string) time of update (format: date-time)
     - `createdAt`: (string) time of creation (format: date-time)
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: WorkloadIdentity)
   - `condition`: (string) (enum: success)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `description`: (multiple options) (string) (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) (pattern: .*\${.*}.*)
     - `spec`: {object}
       - `provider`: (multiple options) {object}
           - `type`: (string) (required) (enum: aws)
           - `policyDocument`: (multiple options) {object}
               - `Version`: (string) (required) (enum: 2012-10-17, 2008-10-17)
               - `Statement`: (multiple options) {object}
                   - `Sid`: (string) (pattern: ^[a-zA-Z0-9]*$)
                   - `Effect`: (string) (required) (enum: Allow, Deny)
                   - `Action`: (multiple options) (string) A single IAM action. | [array of] (string)
                   - `Resource`: (multiple options) (string) A single resource ARN. (pattern: ^(\*|arn:[a-zA-Z0-9:*/\-?_+=,.@]+)$) | [array of] (string) (pattern: ^(\*|arn:[a-zA-Z0-9:*/\-?_+=,.@]+)$)
                   - `Condition`: {object} | [array of] {object}
                     - `Sid`: (string) (pattern: ^[a-zA-Z0-9]*$)
                     - `Effect`: (string) (required) (enum: Allow, Deny)
                     - `Action`: (multiple options) (string) A single IAM action. | [array of] (string)
                     - `Resource`: (multiple options) (string) A single resource ARN. (pattern: ^(\*|arn:[a-zA-Z0-9:*/\-?_+=,.@]+)$) | [array of] (string) (pattern: ^(\*|arn:[a-zA-Z0-9:*/\-?_+=,.@]+)$)
                     - `Condition`: {object} | (string) A string containing one or more references that resolve to the AWS IAM policy document. (pattern: .*\${.*}.*)
           - `roleName`: (multiple options) (string) The name for the AWS IAM role to create. If not specified, a name is generated automatically. (pattern: ^[\w+=,.@\-]{1,64}$) | (string) A string containing one or more references that resolve to the name for the AWS IAM role to create. If not specified, a name is generated automatically. (pattern: .*\${.*}.*)
           - `rolePath`: (multiple options) (string) The path for the AWS IAM role to create. (pattern: ^\/?[\w+=,.@\-]+(?:\/[\w+=,.@\-]+)*\/?$) | (string) A string containing one or more references that resolve to the path for the AWS IAM role to create. (pattern: .*\${.*}.*)
           - `arn`: (string) | {object}
           - `type`: (string) (required) (enum: aws)
           - `existingRoleArn`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
           - `arn`: (string) | {object}
           - `type`: (string) (required) (enum: gcp)
           - `permissions`: (multiple options) [array of] (string) (pattern: ^[a-zA-Z0-9.]+$) | (string) A string containing one or more references that resolve to a list of GCP permissions to assign to this workload identity. (pattern: .*\${.*}.*)
           - `impersonationUrl`: (string)
           - `audience`: (string) | {object}
           - `type`: (string) (required) (enum: gcp)
           - `existingRoleAudience`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
           - `existingRoleImpersonationUrl`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
           - `impersonationUrl`: (string)
           - `audience`: (string)
       - `restrictions`: {object}
         - `projects`: {object}
           - `enabled`: (boolean) Whether restriction by project should be enabled.
           - `items`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
         - `tags`: {object}
           - `enabled`: (boolean) Whether restriction by tag should be enabled.
           - `items`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
           - `matchCondition`: (multiple options) (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or) | (string) A string containing one or more references that resolve to if all or any of the tags must be present on the target for it to match the condition. (pattern: .*\${.*}.*)
     - `updatedAt`: (string) time of update (format: date-time)
     - `createdAt`: (string) time of creation (format: date-time)
     - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: WorkloadIdentity)
   - `condition`: (string) (enum: success)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `description`: (multiple options) (string) (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) (pattern: .*\${.*}.*)
     - `spec`: {object}
       - `providerLinkId`: (multiple options) (string) The internal ID of the BYOC provider integration to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the internal ID of the BYOC provider integration to use. (pattern: .*\${.*}.*)
       - `roleMode`: (string) (required) (enum: managed, existing)
       - `providerSetupMode`: (string) (enum: auto, manual)
       - `provider`: (multiple options) {object}
           - `type`: (string) (required) (enum: aws)
           - `policyDocument`: (multiple options) {object}
               - `Version`: (string) (required) (enum: 2012-10-17, 2008-10-17)
               - `Statement`: (multiple options) {object}
                   - `Sid`: (string) (pattern: ^[a-zA-Z0-9]*$)
                   - `Effect`: (string) (required) (enum: Allow, Deny)
                   - `Action`: (multiple options) (string) A single IAM action. | [array of] (string)
                   - `Resource`: (multiple options) (string) A single resource ARN. (pattern: ^(\*|arn:[a-zA-Z0-9:*/\-?_+=,.@]+)$) | [array of] (string) (pattern: ^(\*|arn:[a-zA-Z0-9:*/\-?_+=,.@]+)$)
                   - `Condition`: {object} | [array of] {object}
                     - `Sid`: (string) (pattern: ^[a-zA-Z0-9]*$)
                     - `Effect`: (string) (required) (enum: Allow, Deny)
                     - `Action`: (multiple options) (string) A single IAM action. | [array of] (string)
                     - `Resource`: (multiple options) (string) A single resource ARN. (pattern: ^(\*|arn:[a-zA-Z0-9:*/\-?_+=,.@]+)$) | [array of] (string) (pattern: ^(\*|arn:[a-zA-Z0-9:*/\-?_+=,.@]+)$)
                     - `Condition`: {object} | (string) A string containing one or more references that resolve to the AWS IAM policy document. (pattern: .*\${.*}.*)
           - `roleName`: (multiple options) (string) The name for the AWS IAM role to create. If not specified, a name is generated automatically. (pattern: ^[\w+=,.@\-]{1,64}$) | (string) A string containing one or more references that resolve to the name for the AWS IAM role to create. If not specified, a name is generated automatically. (pattern: .*\${.*}.*)
           - `rolePath`: (multiple options) (string) The path for the AWS IAM role to create. (pattern: ^\/?[\w+=,.@\-]+(?:\/[\w+=,.@\-]+)*\/?$) | (string) A string containing one or more references that resolve to the path for the AWS IAM role to create. (pattern: .*\${.*}.*)
           - `arn`: (string) | {object}
           - `type`: (string) (required) (enum: aws)
           - `existingRoleArn`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
           - `arn`: (string) | {object}
           - `type`: (string) (required) (enum: gcp)
           - `permissions`: (multiple options) [array of] (string) (pattern: ^[a-zA-Z0-9.]+$) | (string) A string containing one or more references that resolve to a list of GCP permissions to assign to this workload identity. (pattern: .*\${.*}.*)
           - `impersonationUrl`: (string)
           - `audience`: (string) | {object}
           - `type`: (string) (required) (enum: gcp)
           - `existingRoleAudience`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
           - `existingRoleImpersonationUrl`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
           - `impersonationUrl`: (string)
           - `audience`: (string)
       - `restrictions`: {object}
         - `projects`: {object}
           - `enabled`: (boolean) Whether restriction by project should be enabled.
           - `items`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
         - `tags`: {object}
           - `enabled`: (boolean) Whether restriction by tag should be enabled.
           - `items`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
           - `matchCondition`: (multiple options) (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or) | (string) A string containing one or more references that resolve to if all or any of the tags must be present on the target for it to match the condition. (pattern: .*\${.*}.*)
     - `updatedAt`: (string) time of update (format: date-time)
     - `createdAt`: (string) time of creation (format: date-time)
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: Pipeline)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `description`: (multiple options) (string) A description of the pipeline. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the pipeline. (pattern: .*\${.*}.*)
     - `preview`: {object}
       - `kind`: (undefined) (required) (enum: PreviewEnv)
       - `spec`: {object}
         - `apiVersion`: (string) (required) The version of the Northflank API to run the template against. (enum: v1.2)
         - `options`: {object}
           - `concurrencyPolicy`: (string) Defines the concurrency behaviour of the template with respect to parallel runs. (enum: allow, queue, forbid, latest, replace)
           - `nameFormat`: (string) The format of the automatically generated preview name. This is a parsed ref string.
           - `prefixName`: (boolean) If true, the preview name will default to the front of the resource name.
           - `useBranchContents`: (boolean) If true, and gitops is enabled, the preview will run based on the contents of the branch that triggered it, rather than the set branch.
           - `schedule`: {object}
             - `mon`: {object}
               - `startTime`: (integer)
               - `endTime`: (integer)
             - `tue`: {object}
               - `startTime`: (integer)
               - `endTime`: (integer)
             - `wed`: {object}
               - `startTime`: (integer)
               - `endTime`: (integer)
             - `thu`: {object}
               - `startTime`: (integer)
               - `endTime`: (integer)
             - `fri`: {object}
               - `startTime`: (integer)
               - `endTime`: (integer)
             - `sat`: {object}
               - `startTime`: (integer)
               - `endTime`: (integer)
             - `sun`: {object}
               - `startTime`: (integer)
               - `endTime`: (integer)
           - `expiry`: {object}
             - `previewLifetime`: (integer) If set, preview environments will be automatically deleted after this many minutes since their last update.
             - `resetOnUpdate`: (boolean) If `true`, the expiry time for an existing preview will be reset when it is ran again.
         - `arguments`: {object}
         - `gitops`: {object}
           - `vcsService`: (string) (required) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure)
           - `selfHostedVcsId`: (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$)
           - `accountLogin`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name.
           - `vcsLinkId`: (string) Legacy key. Please used accountLogin instead.
           - `repoUrl`: (string) (required) URL of the Git repo to sync the file with. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$)
           - `branch`: (string) (required) The name of the branch to use.
           - `filePath`: (string) (required) The file path in the repository. If using an existing file, it should be in JSON format. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$)
         - `$schema`: (string)
         - `spec`: (undefined)
         - `triggers`: [array of] {object}
             - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
             - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
             - `selfHostedVcsId`: (multiple options) (string) If vcsService is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if vcsService is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
             - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
             - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
             - `repoUrl`: (multiple options) (string) URL of the Git repo that will trigger the template. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo that will trigger the template. (pattern: .*\${.*}.*)
             - `branchRestrictions`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
             - `prRestrictions`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
             - `pathIgnoreRules`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
             - `ciIgnoreFlags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
             - `ciIgnoreFlagsEnabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
             - `isAllowList`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
             - `ignoreDrafts`: (multiple options) (boolean) If `true`, draft pull requests from this repo will not trigger the template. | (string) A string containing one or more references that resolve to if `true`, draft pull requests from this repo will not trigger the template. (pattern: .*\${.*}.*)
     - `stages`: [array of] {object}
         - `name`: (string) (required) The stage in the pipeline to include the resource. (enum: Development, Staging, Production)
         - `releaseFlow`: {object}
           - `kind`: (undefined) (required) (enum: ReleaseFlow)
           - `spec`: {object}
             - `apiVersion`: (string) (required) The version of the Northflank API to run the template against. (enum: v1.2)
             - `arguments`: {object}
             - `options`: {object}
               - `concurrencyPolicy`: (string) Defines the concurrency behaviour of the template with respect to parallel runs. (enum: allow, queue, forbid, latest, replace)
               - `paused`: (boolean) If `true`, the template will not run when triggered by git.
             - `gitops`: {object}
               - `vcsService`: (string) (required) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure)
               - `selfHostedVcsId`: (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$)
               - `accountLogin`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name.
               - `vcsLinkId`: (string) Legacy key. Please used accountLogin instead.
               - `repoUrl`: (string) (required) URL of the Git repo to sync the file with. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$)
               - `branch`: (string) (required) The name of the branch to use.
               - `filePath`: (string) (required) The file path in the repository. If using an existing file, it should be in JSON format. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$)
             - `$schema`: (string)
             - `spec`: (undefined)
             - `richInputs`: [array of] (undefined)
             - `triggers`: [array of] {object}
                 - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
                 - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
                 - `selfHostedVcsId`: (multiple options) (string) If vcsService is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if vcsService is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
                 - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
                 - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
                 - `repoUrl`: (multiple options) (string) URL of the Git repo that will trigger the template. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo that will trigger the template. (pattern: .*\${.*}.*)
                 - `branchRestrictions`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
                 - `prRestrictions`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
                 - `pathIgnoreRules`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
                 - `ciIgnoreFlags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
                 - `ciIgnoreFlagsEnabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `isAllowList`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `ignoreDrafts`: (multiple options) (boolean) If `true`, draft pull requests from this repo will not trigger the template. | (string) A string containing one or more references that resolve to if `true`, draft pull requests from this repo will not trigger the template. (pattern: .*\${.*}.*)
         - `nfObjects`: [array of] {object}
             - `id`: (multiple options) (string) The ID of the service, job or addon to include in the pipeline. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the ID of the service, job or addon to include in the pipeline. (pattern: .*\${.*}.*)
             - `type`: (string) (required) The type of the resource to include in the pipeline. (enum: service, job, addon)
     - `name`: (multiple options) (string) The name of the pipeline. (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the name of the pipeline. (pattern: .*\${.*}.*)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: Pipeline)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) The name of the pipeline. (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the name of the pipeline. (pattern: .*\${.*}.*)
     - `description`: (multiple options) (string) A description of the pipeline. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the pipeline. (pattern: .*\${.*}.*)
     - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
     - `preview`: {object}
       - `kind`: (undefined) (required) (enum: PreviewEnv)
       - `spec`: {object}
         - `apiVersion`: (string) (required) The version of the Northflank API to run the template against. (enum: v1.2)
         - `options`: {object}
           - `concurrencyPolicy`: (string) Defines the concurrency behaviour of the template with respect to parallel runs. (enum: allow, queue, forbid, latest, replace)
           - `nameFormat`: (string) The format of the automatically generated preview name. This is a parsed ref string.
           - `prefixName`: (boolean) If true, the preview name will default to the front of the resource name.
           - `useBranchContents`: (boolean) If true, and gitops is enabled, the preview will run based on the contents of the branch that triggered it, rather than the set branch.
           - `schedule`: {object}
             - `mon`: {object}
               - `startTime`: (integer)
               - `endTime`: (integer)
             - `tue`: {object}
               - `startTime`: (integer)
               - `endTime`: (integer)
             - `wed`: {object}
               - `startTime`: (integer)
               - `endTime`: (integer)
             - `thu`: {object}
               - `startTime`: (integer)
               - `endTime`: (integer)
             - `fri`: {object}
               - `startTime`: (integer)
               - `endTime`: (integer)
             - `sat`: {object}
               - `startTime`: (integer)
               - `endTime`: (integer)
             - `sun`: {object}
               - `startTime`: (integer)
               - `endTime`: (integer)
           - `expiry`: {object}
             - `previewLifetime`: (integer) If set, preview environments will be automatically deleted after this many minutes since their last update.
             - `resetOnUpdate`: (boolean) If `true`, the expiry time for an existing preview will be reset when it is ran again.
         - `arguments`: {object}
         - `gitops`: {object}
           - `vcsService`: (string) (required) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure)
           - `selfHostedVcsId`: (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$)
           - `accountLogin`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name.
           - `vcsLinkId`: (string) Legacy key. Please used accountLogin instead.
           - `repoUrl`: (string) (required) URL of the Git repo to sync the file with. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$)
           - `branch`: (string) (required) The name of the branch to use.
           - `filePath`: (string) (required) The file path in the repository. If using an existing file, it should be in JSON format. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$)
         - `$schema`: (string)
         - `spec`: (undefined)
         - `triggers`: [array of] {object}
             - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
             - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
             - `selfHostedVcsId`: (multiple options) (string) If vcsService is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if vcsService is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
             - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
             - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
             - `repoUrl`: (multiple options) (string) URL of the Git repo that will trigger the template. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo that will trigger the template. (pattern: .*\${.*}.*)
             - `branchRestrictions`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
             - `prRestrictions`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
             - `pathIgnoreRules`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
             - `ciIgnoreFlags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
             - `ciIgnoreFlagsEnabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
             - `isAllowList`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
             - `ignoreDrafts`: (multiple options) (boolean) If `true`, draft pull requests from this repo will not trigger the template. | (string) A string containing one or more references that resolve to if `true`, draft pull requests from this repo will not trigger the template. (pattern: .*\${.*}.*)
     - `stages`: [array of] {object}
         - `name`: (string) (required) The stage in the pipeline to include the resource. (enum: Development, Staging, Production)
         - `releaseFlow`: {object}
           - `kind`: (undefined) (required) (enum: ReleaseFlow)
           - `spec`: {object}
             - `apiVersion`: (string) (required) The version of the Northflank API to run the template against. (enum: v1.2)
             - `arguments`: {object}
             - `options`: {object}
               - `concurrencyPolicy`: (string) Defines the concurrency behaviour of the template with respect to parallel runs. (enum: allow, queue, forbid, latest, replace)
               - `paused`: (boolean) If `true`, the template will not run when triggered by git.
             - `gitops`: {object}
               - `vcsService`: (string) (required) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure)
               - `selfHostedVcsId`: (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$)
               - `accountLogin`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name.
               - `vcsLinkId`: (string) Legacy key. Please used accountLogin instead.
               - `repoUrl`: (string) (required) URL of the Git repo to sync the file with. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$)
               - `branch`: (string) (required) The name of the branch to use.
               - `filePath`: (string) (required) The file path in the repository. If using an existing file, it should be in JSON format. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$)
             - `$schema`: (string)
             - `spec`: (undefined)
             - `richInputs`: [array of] (undefined)
             - `triggers`: [array of] {object}
                 - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
                 - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
                 - `selfHostedVcsId`: (multiple options) (string) If vcsService is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if vcsService is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
                 - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
                 - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
                 - `repoUrl`: (multiple options) (string) URL of the Git repo that will trigger the template. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo that will trigger the template. (pattern: .*\${.*}.*)
                 - `branchRestrictions`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
                 - `prRestrictions`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
                 - `pathIgnoreRules`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
                 - `ciIgnoreFlags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
                 - `ciIgnoreFlagsEnabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `isAllowList`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `ignoreDrafts`: (multiple options) (boolean) If `true`, draft pull requests from this repo will not trigger the template. | (string) A string containing one or more references that resolve to if `true`, draft pull requests from this repo will not trigger the template. (pattern: .*\${.*}.*)
         - `nfObjects`: [array of] {object}
             - `id`: (multiple options) (string) The ID of the service, job or addon to include in the pipeline. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the ID of the service, job or addon to include in the pipeline. (pattern: .*\${.*}.*)
             - `type`: (string) (required) The type of the resource to include in the pipeline. (enum: service, job, addon)
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: Volume)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `mounts`: [array of] {object}
         - `volumeMountPath`: (string) Optionally specify the path inside this volume that should be mounted (pattern: ^((?!\.\.).)*$)
         - `containerMountPath`: (string) (required) Specify the path into which the volume should be mounted (pattern: ^((?!:).)*$)
     - `spec`: {object}
       - `storageSize`: (multiple options) (integer) The size of the storage, in megabytes. Configurable sizes depend on the storage class. | (string) A string containing one or more references that resolve to the size of the storage, in megabytes. Configurable sizes depend on the storage class. (pattern: .*\${.*}.*)
     - `owningObject`: {object}
       - `id`: (multiple options) (string) The id of object to attach this volume to. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of object to attach this volume to. (pattern: .*\${.*}.*)
       - `type`: (string) (required) The type of the object to attach this volume to. (enum: service, job)
     - `attachedObjects`: [array of] {object}
         - `id`: (multiple options) (string) The id of object to attach this volume to. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of object to attach this volume to. (pattern: .*\${.*}.*)
         - `type`: (string) (required) The type of the object to attach this volume to. (enum: service, job)
     - `name`: (multiple options) (string) The name of the volume. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the volume. (pattern: .*\${.*}.*)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: Volume)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) The name of the volume. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the volume. (pattern: .*\${.*}.*)
     - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
     - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `mounts`: [array of] {object}
         - `volumeMountPath`: (string) Optionally specify the path inside this volume that should be mounted (pattern: ^((?!\.\.).)*$)
         - `containerMountPath`: (string) (required) Specify the path into which the volume should be mounted (pattern: ^((?!:).)*$)
     - `spec`: {object}
       - `accessMode`: (string) (required) Access mode of the volume. Only `ReadWriteOnce` is generally available. (enum: ReadWriteOnce, ReadWriteMany)
       - `storageClassName`: (string) The type of the storage.
       - `storageSize`: (integer) (required) The size of the storage, in megabytes. Configurable sizes depend on the storage class.
     - `source`: {object}
       - `type`: (multiple options) (string) (enum: volume, backup) | (string) (pattern: .*\${.*}.*)
       - `sourceId`: (multiple options) (string) Reference to the source object. For a volume source: "<volumeId>". For a backup source: "<volumeId>/<backupId>", or "<projectId>/<volumeId>/<backupId>" to restore from a backup in another project on the same cluster (requires the cross-project clone feature). | (string) A string containing one or more references that resolve to reference to the source object. For a volume source: "<volumeId>". For a backup source: "<volumeId>/<backupId>", or "<projectId>/<volumeId>/<backupId>" to restore from a backup in another project on the same cluster (requires the cross-project clone feature). (pattern: .*\${.*}.*)
     - `owningObject`: {object}
       - `id`: (multiple options) (string) The id of object to attach this volume to. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of object to attach this volume to. (pattern: .*\${.*}.*)
       - `type`: (string) (required) The type of the object to attach this volume to. (enum: service, job)
     - `attachedObjects`: [array of] {object}
         - `id`: (multiple options) (string) The id of object to attach this volume to. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of object to attach this volume to. (pattern: .*\${.*}.*)
         - `type`: (string) (required) The type of the object to attach this volume to. (enum: service, job)
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: Build)
   - `condition`: (string) (enum: success)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
     - `buildRules`: {object}
       - `pathIgnoreRules`: [array of] (string) (max length: 260)
       - `isAllowList`: (boolean)
       - `ciIgnoreFlagsEnabled`: (boolean)
       - `ciIgnoreFlags`: [array of] (string) (max length: 72)
     - `buildOverrides`: {object}
       - `buildArguments`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
       - `buildFiles`: {object}
       - `dockerSecretMounts`: {object}
       - `docker`: {object}
         - `dockerFilePath`: (string) The file path of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$)
         - `dockerWorkDir`: (string) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$)
         - `dockerfileTarget`: (string) If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. (pattern: ^[a-zA-Z0-9-_]+$)
     - `id`: (multiple options) (string) The id of object to build. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of object to build. (pattern: .*\${.*}.*)
     - `type`: (string) (required) The type of the object to build. (enum: service, job)
     - `sha`: (multiple options) (string) Commit sha to build. If not provided, builds the most recent relevant commit. (min length: 40) (max length: 40) | (string) A string containing one or more references that resolve to commit sha to build. If not provided, builds the most recent relevant commit. (pattern: .*\${.*}.*)
     - `branch`: (multiple options) (string) Branch to build from. If `sha` is not provided, the latest commit of this branch will be built. Only supported by build services. Build services require either `branch` or `pullRequestId` field, but cannot be provided with both. | (string) A string containing one or more references that resolve to branch to build from. If `sha` is not provided, the latest commit of this branch will be built. Only supported by build services. Build services require either `branch` or `pullRequestId` field, but cannot be provided with both. (pattern: .*\${.*}.*)
     - `pullRequestId`: (multiple options) (integer) ID of a pull request to build from. If `sha` is not provided, the latest commit of this pull request will be built. Only supported by build services. Build services require either `branch` or `pullRequestId` field, but cannot be provided with both. | (string) A string containing one or more references that resolve to iD of a pull request to build from. If `sha` is not provided, the latest commit of this pull request will be built. Only supported by build services. Build services require either `branch` or `pullRequestId` field, but cannot be provided with both. (pattern: .*\${.*}.*)
     - `reuseExistingBuilds`: (boolean) If true, the build node will return an existing build if one is available for that commit. Otherwise, a new build will be created with every new preview environment. Defaults to `true`.
     - `buildRuleFallThroughHandling`: (string) Define handling if build rules do not match the specified commit (enum: fail, skip, useLastBuild) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: JobRun)
   - `condition`: (string) (enum: success)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `runNodeOnce`: (multiple options) (string) (enum: true, false) | (string) (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
     - `runtimeEnvironment`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
     - `runtimeFiles`: {object}
     - `dockerSecretMounts`: {object}
     - `billing`: {object}
       - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan override to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan override to use. (pattern: .*\${.*}.*)
     - `deployment`: (multiple options) {object}
         - `docker`: {object}
           - `configType`: (string) (required) Type of entrypoint & command override configuration (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand)
           - `customEntrypoint`: (string) Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand`
           - `customCommand`: (string) Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand`
         - `buildpack`: {object}
           - `configType`: (string) (required) Type of buildpack run configuration (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand)
           - `customProcess`: (string) Custom process which should be run. Required in case where `configType` is `customProcess`
           - `customEntrypoint`: (string) Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand`
           - `customCommand`: (string) Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand`
         - `storage`: {object}
           - `useHdbStorage`: (boolean)
           - `usePdSsdStorage`: (boolean)
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per container in MB | (string) A string containing one or more references that resolve to ephemeral storage per container in MB (pattern: .*\${.*}.*)
           - `shmSize`: (multiple options) (integer) Configures the amount of available memory-backed disk space available to /dev/shm | (string) A string containing one or more references that resolve to configures the amount of available memory-backed disk space available to /dev/shm (pattern: .*\${.*}.*)
         - `internal`: {object}
           - `id`: (multiple options) (multiple options) (string) The ID of a build service in the same project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) The ID of a build service in another project, in the format `project-id/build-service-id` | (string) A string containing one or more references that resolve to iD of the build service to deploy (pattern: .*\${.*}.*)
           - `branch`: (multiple options) (string) Branch to deploy | (string) A string containing one or more references that resolve to branch to deploy (pattern: .*\${.*}.*)
           - `buildSHA`: (multiple options) (multiple options) (string) A commit sha. (min length: 40) (max length: 40) | (string) Latest commit. (enum: latest) | (string) A string containing one or more references that resolve to commit SHA to deploy, or 'latest' to deploy the most recent commit (pattern: .*\${.*}.*)
           - `buildId`: (multiple options) (string) ID of the build that should be deployed | (string) A string containing one or more references that resolve to iD of the build that should be deployed (pattern: .*\${.*}.*) | {object}
         - `docker`: {object}
           - `configType`: (string) (required) Type of entrypoint & command override configuration (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand)
           - `customEntrypoint`: (string) Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand`
           - `customCommand`: (string) Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand`
         - `buildpack`: {object}
           - `configType`: (string) (required) Type of buildpack run configuration (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand)
           - `customProcess`: (string) Custom process which should be run. Required in case where `configType` is `customProcess`
           - `customEntrypoint`: (string) Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand`
           - `customCommand`: (string) Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand`
         - `storage`: {object}
           - `useHdbStorage`: (boolean)
           - `usePdSsdStorage`: (boolean)
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per container in MB | (string) A string containing one or more references that resolve to ephemeral storage per container in MB (pattern: .*\${.*}.*)
           - `shmSize`: (multiple options) (integer) Configures the amount of available memory-backed disk space available to /dev/shm | (string) A string containing one or more references that resolve to configures the amount of available memory-backed disk space available to /dev/shm (pattern: .*\${.*}.*)
         - `external`: {object}
           - `imagePath`: (multiple options) (string) Image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: ^(?:(?:https?:\/\/)?([a-zA-Z0-9\-]+\.[a-zA-Z0-9\.\-]+))?(?:\/)?([a-zA-Z/-9\.\-_]+)(?:\:([a-zA-Z/-9\.\-_\:]+)|\@([a-zA-Z/-9\.\-_\:]+))$) | (string) A string containing one or more references that resolve to image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: .*\${.*}.*)
           - `credentials`: (multiple options) (string) ID of the saved credentials to use to access this external image. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of the saved credentials to use to access this external image. (pattern: .*\${.*}.*)
     - `jobId`: (multiple options) (string) The ID of the job to run. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 52) | (string) A string containing one or more references that resolve to the ID of the job to run. (pattern: .*\${.*}.*) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: LoopWorkflow)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `iterations`: (multiple options) [array of] (multiple options) {object} | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
     - `steps`: [array of] (undefined) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: Action)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `runNodeOnce`: (multiple options) (string) (enum: true, false) | (string) (pattern: .*\${.*}.*)
   - `spec`: (multiple options) {object}
      - `kind`: (string) (required) The kind of action. (enum: Addon)
      - `spec`: (multiple options) {object}
          - `type`: (string) (required) The type of action. (enum: restart)
          - `data`: {object}
            - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
            - `addonId`: (multiple options) (string) The id of the addon to restart. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the addon to restart. (pattern: .*\${.*}.*)
            - `timeoutDuration`: (multiple options) (integer) Timeout for the condition in seconds. This will fail the condition after the timeout has elapsed. | (string) A template reference that resolves to a timeout duration in seconds (pattern: .*\${.*}.*)
          - `condition`: (string) (enum: running) | {object}
      - `kind`: (string) (required) The kind of action. (enum: AddonBackup)
      - `spec`: (multiple options) {object}
          - `type`: (string) (required) The type of action. (enum: restore)
          - `data`: {object}
            - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
            - `addonId`: (multiple options) (string) The id of the addon to restore a backup to. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the addon to restore a backup to. (pattern: .*\${.*}.*)
            - `backupId`: (multiple options) (string) The id of the backup to restore. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the backup to restore. (pattern: .*\${.*}.*)
            - `timeoutDuration`: (multiple options) (integer) Timeout for the condition in seconds. This will fail the condition after the timeout has elapsed. | (string) A template reference that resolves to a timeout duration in seconds (pattern: .*\${.*}.*)
          - `condition`: (string) (enum: success) | {object}
      - `kind`: (string) (required) The kind of action. (enum: Job)
      - `spec`: (multiple options) {object}
          - `type`: (string) (required) The type of action. (enum: execute)
          - `data`: {object}
            - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
            - `jobId`: (multiple options) (string) The id of the job to run the command in. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the job to run the command in. (pattern: .*\${.*}.*)
            - `command`: (string) (required)
            - `shell`: (string)
            - `user`: (string)
            - `group`: (string) | {object}
      - `kind`: (string) (required) The kind of action. (enum: Service)
      - `spec`: (multiple options) {object}
          - `type`: (string) (required) The type of action. (enum: restart)
          - `data`: {object}
            - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
            - `serviceId`: (multiple options) (string) The id of the service to restart. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the service to restart. (pattern: .*\${.*}.*)
            - `timeoutDuration`: (multiple options) (integer) Timeout for the condition in seconds. This will fail the condition after the timeout has elapsed. | (string) A template reference that resolves to a timeout duration in seconds (pattern: .*\${.*}.*)
          - `condition`: (string) (enum: running) | {object}
          - `type`: (string) (required) The type of action. (enum: execute)
          - `data`: {object}
            - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
            - `serviceId`: (multiple options) (string) The id of the service to run the command in. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the service to run the command in. (pattern: .*\${.*}.*)
            - `options`: {object}
              - `dispatchOnly`: (boolean) Specify whether the command output should be awaited the node should succeed after having sent the command.
            - `command`: (string) (required)
            - `shell`: (string)
            - `user`: (string)
            - `group`: (string) | {object}
      - `kind`: (string) (required) The kind of action. (enum: VCS)
      - `spec`: (multiple options) {object}
          - `type`: (string) (required) The type of action. (enum: createRepoFromSource)
          - `data`: {object}
            - `sourceData`: {object}
              - `publicRepo`: (multiple options) (boolean) Whether the source repository is a public repository. | (string) A string containing one or more references that resolve to whether the source repository is a public repository. (pattern: .*\${.*}.*)
              - `vcsService`: (multiple options) (string) The VCS provider of the source repository. | (string) A string containing one or more references that resolve to the VCS provider of the source repository. (pattern: .*\${.*}.*)
              - `oauthProvider`: (multiple options) (string) The OAuth provider used to access the source repository. | (string) A string containing one or more references that resolve to the OAuth provider used to access the source repository. (pattern: .*\${.*}.*)
              - `repoUrl`: (multiple options) (string) URL of the source Git repo. | (string) A string containing one or more references that resolve to uRL of the source Git repo. (pattern: .*\${.*}.*)
              - `branch`: (multiple options) (string) The name of the branch to use. | (string) A string containing one or more references that resolve to the name of the branch to use. (pattern: .*\${.*}.*)
              - `accountLogin`: (multiple options) (string) The login name of the linked VCS account used to access the source repository. | (string) A string containing one or more references that resolve to the login name of the linked VCS account used to access the source repository. (pattern: .*\${.*}.*)
              - `commitSha`: (multiple options) (string) The SHA of the commit to use. | (string) A string containing one or more references that resolve to the SHA of the commit to use. (pattern: .*\${.*}.*)
              - `directory`: (multiple options) (string) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory of the Dockerfile. (pattern: .*\${.*}.*)
              - `vcsLinkId`: (multiple options) (string) The ID of the linked VCS account to use. (min length: 24) (max length: 24) | (string) A string containing one or more references that resolve to the ID of the linked VCS account to use. (pattern: .*\${.*}.*)
              - `selfHostedVcsId`: (multiple options) (string) The ID of the self-hosted VCS to use. | (string) A string containing one or more references that resolve to the ID of the self-hosted VCS to use. (pattern: .*\${.*}.*)
            - `targetData`: {object}
              - `name`: (multiple options) (string) The name of the repository to create. | (string) A string containing one or more references that resolve to the name of the repository to create. (pattern: .*\${.*}.*)
              - `description`: (multiple options) (string) A description of the repository to create. | (string) A string containing one or more references that resolve to a description of the repository to create. (pattern: .*\${.*}.*)
              - `privateRepo`: (multiple options) (boolean) Whether the repository should be created as a private repository. | (string) A string containing one or more references that resolve to whether the repository should be created as a private repository. (pattern: .*\${.*}.*)
              - `branch`: (multiple options) (string) The repository branch. | (string) A string containing one or more references that resolve to the repository branch. (pattern: .*\${.*}.*)
              - `context`: (multiple options) (string) The owner context (user or organisation) the repository should be created in. | (string) A string containing one or more references that resolve to the owner context (user or organisation) the repository should be created in. (pattern: .*\${.*}.*)
              - `folder`: (multiple options) (string) The folder or project the repository should be created in, if supported by the VCS provider. | (string) A string containing one or more references that resolve to the folder or project the repository should be created in, if supported by the VCS provider. (pattern: .*\${.*}.*)
              - `accountLogin`: (multiple options) (string) The login name of the linked VCS account used to create the repository. | (string) A string containing one or more references that resolve to the login name of the linked VCS account used to create the repository. (pattern: .*\${.*}.*)
              - `vcsLinkId`: (multiple options) (string) The ID of the linked VCS account to use. (min length: 24) (max length: 24) | (string) A string containing one or more references that resolve to the ID of the linked VCS account to use. (pattern: .*\${.*}.*)
              - `oauthProvider`: (multiple options) (string) The OAuth provider used to create the repository. | (string) A string containing one or more references that resolve to the OAuth provider used to create the repository. (pattern: .*\${.*}.*)
              - `vcsService`: (multiple options) (string) The VCS provider to create the repository with. | (string) A string containing one or more references that resolve to the VCS provider to create the repository with. (pattern: .*\${.*}.*)
              - `selfHostedVcsId`: (multiple options) (string) The ID of the self-hosted VCS to use. | (string) A string containing one or more references that resolve to the ID of the self-hosted VCS to use. (pattern: .*\${.*}.*) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: Condition)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: (multiple options) {object}
      - `kind`: (string) (required) The kind of condition. (enum: Addon)
      - `spec`: (multiple options) {object}
          - `type`: (string) (required) The type of condition. (enum: running)
          - `data`: {object}
            - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
            - `addonId`: (multiple options) (string) The id of the addon to monitor. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the id of the addon to monitor. (pattern: .*\${.*}.*)
            - `timeoutDuration`: (multiple options) (integer) Timeout for the condition in seconds. This will fail the condition after the timeout has elapsed. | (string) A template reference that resolves to a timeout duration in seconds (pattern: .*\${.*}.*) | {object}
      - `kind`: (string) (required) The kind of condition. (enum: AddonBackup)
      - `spec`: (multiple options) {object}
          - `type`: (string) (required) The type of condition. (enum: success)
          - `data`: {object}
            - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
            - `addonId`: (multiple options) (string) The id of the addon to monitor. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the id of the addon to monitor. (pattern: .*\${.*}.*)
            - `backupId`: (multiple options) (string) The id of the backup to monitor. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the backup to monitor. (pattern: .*\${.*}.*) | {object}
      - `kind`: (string) (required) The kind of condition. (enum: AddonImport)
      - `spec`: (multiple options) {object}
          - `type`: (string) (required) The type of condition. (enum: success)
          - `data`: {object}
            - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
            - `addonId`: (multiple options) (string) The id of the addon to monitor. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the id of the addon to monitor. (pattern: .*\${.*}.*)
            - `importId`: (multiple options) (string) The id of the import to monitor. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the import to monitor. (pattern: .*\${.*}.*) | {object}
      - `kind`: (string) (required) The kind of condition. (enum: Build)
      - `spec`: (multiple options) {object}
          - `type`: (string) (required) The type of condition. (enum: success)
          - `data`: {object}
            - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
            - `buildId`: (multiple options) (string) The id of the build to monitor. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the id of the build to monitor. (pattern: .*\${.*}.*) | {object}
      - `kind`: (string) (required) The kind of condition. (enum: BYOCCluster)
      - `spec`: (multiple options) {object}
          - `type`: (string) (required) The type of condition. (enum: running)
          - `data`: {object}
            - `clusterId`: (multiple options) (string) The id of the cluster to monitor. (pattern: ^[a-z]-?[a-z0-9]+(-[a-z0-9]+)*$) (min length: 3) (max length: 20) | (string) A string containing one or more references that resolve to the id of the cluster to monitor. (pattern: .*\${.*}.*)
            - `timeoutDuration`: (multiple options) (integer) Timeout for the condition in seconds. This will fail the condition after the timeout has elapsed. | (string) A template reference that resolves to a timeout duration in seconds (pattern: .*\${.*}.*) | {object}
      - `kind`: (string) (required) The kind of condition. (enum: JobRun)
      - `spec`: (multiple options) {object}
          - `type`: (string) (required) The type of condition. (enum: success)
          - `data`: {object}
            - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
            - `jobId`: (multiple options) (string) The id of the job to monitor. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the id of the job to monitor. (pattern: .*\${.*}.*)
            - `runId`: (multiple options) (string) The id of the job run to monitor. | (string) A string containing one or more references that resolve to the id of the job run to monitor. (pattern: .*\${.*}.*) | {object}
      - `kind`: (string) (required) The kind of condition. (enum: Service)
      - `spec`: (multiple options) {object}
          - `type`: (string) (required) The type of condition. (enum: running)
          - `data`: {object}
            - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
            - `serviceId`: (multiple options) (string) The id of the service to monitor. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the id of the service to monitor. (pattern: .*\${.*}.*)
            - `timeoutDuration`: (multiple options) (integer) Timeout for the condition in seconds. This will fail the condition after the timeout has elapsed. | (string) A template reference that resolves to a timeout duration in seconds (pattern: .*\${.*}.*) | {object}
      - `kind`: (string) (required) The kind of condition. (enum: VCS)
      - `spec`: (multiple options) {object}
          - `type`: (string) (required) The type of condition. (enum: createRepoFromSourceSuccess)
          - `data`: {object}
            - `trackerId`: (multiple options) (string) The tracker id outputted from the 'createRepoFromSource' action to monitor. | (string) A string containing one or more references that resolve to the tracker id outputted from the 'createRepoFromSource' action to monitor. (pattern: .*\${.*}.*) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: Template)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: (multiple options) {object}
      - `kind`: (string) (required) The kind of template. (enum: ResourceTemplate)
      - `spec`: {object} | {object}
      - `kind`: (string) (required) The kind of template. (enum: ReleaseFlow)
      - `spec`: {object} | {object}
      - `kind`: (string) (required) The kind of template. (enum: PreviewEnv)
      - `spec`: {object} | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: Message)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `runNodeOnce`: (multiple options) (string) (enum: true, false) | (string) (pattern: .*\${.*}.*)
   - `spec`: (multiple options) {object}
      - `kind`: (string) (required) The kind of message to send. (enum: VCS)
      - `spec`: {object}
        - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
        - `selfHostedVcsId`: (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$)
        - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
        - `repoUrl`: (multiple options) (string) URL of the Git repo to send this message to. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo to send this message to. (pattern: .*\${.*}.*)
        - `pullRequestId`: (multiple options) (string) The ID of the pull request to comment on. | (string) A string containing one or more references that resolve to the ID of the pull request to comment on. (pattern: .*\${.*}.*)
        - `message`: (multiple options) (string) The rich text message to comment. | (string) A string containing one or more references that resolve to the rich text message to comment. (pattern: .*\${.*}.*) | {object}
      - `kind`: (string) (required) The kind of message to send. (enum: SLACK)
      - `spec`: {object}
        - `webhookUrl`: (multiple options) (string) The Slack webhook URL to send messages to. | (string) A string containing one or more references that resolve to the Slack webhook URL to send messages to. (pattern: .*\${.*}.*)
        - `integrationInternalId`: (multiple options) (string) The ID of an existing Slack integration to use. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the ID of an existing Slack integration to use. (pattern: .*\${.*}.*)
        - `message`: (multiple options) (string) The message content to send to Slack. Supports markdown formatting. | (string) A string containing one or more references that resolve to the message content to send to Slack. Supports markdown formatting. (pattern: .*\${.*}.*) | {object}
      - `kind`: (string) (required) The kind of message to send. (enum: RAW_WEBHOOK)
      - `spec`: {object}
        - `webhookUrl`: (multiple options) (string) The webhook URL to send messages to. | (string) A string containing one or more references that resolve to the webhook URL to send messages to. (pattern: .*\${.*}.*)
        - `message`: (multiple options) (string) The message content to send to the webhook. | (string) A string containing one or more references that resolve to the message content to send to the webhook. (pattern: .*\${.*}.*) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: LoopData)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object} | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: SecretInheritance)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `configs`: (multiple options) [array of] (multiple options) (string) (pattern: ^[A-Za-z0-9-]+$) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
     - `secrets`: (multiple options) [array of] (multiple options) (string) (pattern: ^[A-Za-z0-9-]+$) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
     - `requiredKeys`: (multiple options) [array of] (multiple options) (string) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
     - `requiredFiles`: (multiple options) [array of] (multiple options) (string) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: EgressIp)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) The name of the egress IP. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the egress IP. (pattern: .*\${.*}.*)
     - `description`: (string) The description of the egress IP. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
     - `spec`: {object}
       - `provisioningMode`: (multiple options) (string) Provisioning mode for the egress IP: shared (uses pre-provisioned infrastructure) or dedicated (enum: shared, dedicated) | (string) A string containing one or more references that resolve to provisioning mode for the egress IP: shared (uses pre-provisioned infrastructure) or dedicated (pattern: .*\${.*}.*)
       - `region`: (multiple options) (string) Target region name (pattern: ^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$) | (string) A string containing one or more references that resolve to target region name (pattern: .*\${.*}.*)
       - `mode`: (multiple options) (string) Mode: 'include' (only these projects/resources use this egress IP), 'exclude' (all except these use it), or 'selector' (network-policy-style selector targeting). The selector/rules distinction is immutable after creation. (enum: include, exclude, selector) | (string) A string containing one or more references that resolve to mode: 'include' (only these projects/resources use this egress IP), 'exclude' (all except these use it), or 'selector' (network-policy-style selector targeting). The selector/rules distinction is immutable after creation. (pattern: .*\${.*}.*)
       - `rules`: (multiple options) [array of] {object}
             - `id`: (multiple options) (string) Project internal ID | (string) A string containing one or more references that resolve to project internal ID (pattern: .*\${.*}.*)
             - `restrictions`: {object}
               - `enabled`: (boolean) (required) Whether restrictions scoping the rule to specific resources should be applied.
               - `resources`: [array of] {object}
                   - `type`: (multiple options) (string) Resource type (enum: service, job) | (string) A string containing one or more references that resolve to resource type (pattern: .*\${.*}.*)
                   - `id`: (multiple options) (string) Resource internal ID | (string) A string containing one or more references that resolve to resource internal ID (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to egress IP rules - array of projects the rule applies to (pattern: .*\${.*}.*)
       - `selector`: {object}
         - `projects`: {object}
           - `enabled`: (boolean) (required) Whether to scope the selector to specific projects
           - `items`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
           - `restrictionMode`: (multiple options) (string) (enum: in, notIn) | (string) (pattern: .*\${.*}.*)
         - `tags`: {object}
           - `enabled`: (boolean) (required) Whether to scope to workloads carrying the given tags
           - `items`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
           - `matchCondition`: (multiple options) (string) (enum: or, and) | (string) (pattern: .*\${.*}.*)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: EgressIp)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) The name of the egress IP. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the egress IP. (pattern: .*\${.*}.*)
     - `description`: (string) The description of the egress IP. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
     - `spec`: {object}
       - `provisioningMode`: (multiple options) (string) Provisioning mode for the egress IP: shared (uses pre-provisioned infrastructure) or dedicated (enum: shared, dedicated) | (string) A string containing one or more references that resolve to provisioning mode for the egress IP: shared (uses pre-provisioned infrastructure) or dedicated (pattern: .*\${.*}.*)
       - `region`: (multiple options) (string) Target region name (pattern: ^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$) | (string) A string containing one or more references that resolve to target region name (pattern: .*\${.*}.*)
       - `mode`: (multiple options) (string) Mode: 'include' (only these projects/resources use this egress IP), 'exclude' (all except these use it), or 'selector' (network-policy-style selector targeting). The selector/rules distinction is immutable after creation. (enum: include, exclude, selector) | (string) A string containing one or more references that resolve to mode: 'include' (only these projects/resources use this egress IP), 'exclude' (all except these use it), or 'selector' (network-policy-style selector targeting). The selector/rules distinction is immutable after creation. (pattern: .*\${.*}.*)
       - `rules`: (multiple options) [array of] {object}
             - `id`: (multiple options) (string) Project internal ID | (string) A string containing one or more references that resolve to project internal ID (pattern: .*\${.*}.*)
             - `restrictions`: {object}
               - `enabled`: (boolean) (required) Whether restrictions scoping the rule to specific resources should be applied.
               - `resources`: [array of] {object}
                   - `type`: (multiple options) (string) Resource type (enum: service, job) | (string) A string containing one or more references that resolve to resource type (pattern: .*\${.*}.*)
                   - `id`: (multiple options) (string) Resource internal ID | (string) A string containing one or more references that resolve to resource internal ID (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to egress IP rules - array of projects the rule applies to (pattern: .*\${.*}.*)
       - `selector`: {object}
         - `projects`: {object}
           - `enabled`: (boolean) (required) Whether to scope the selector to specific projects
           - `items`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
           - `restrictionMode`: (multiple options) (string) (enum: in, notIn) | (string) (pattern: .*\${.*}.*)
         - `tags`: {object}
           - `enabled`: (boolean) (required) Whether to scope to workloads carrying the given tags
           - `items`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
           - `matchCondition`: (multiple options) (string) (enum: or, and) | (string) (pattern: .*\${.*}.*)
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: LoadBalancer)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) The name of the load balancer. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the load balancer. (pattern: .*\${.*}.*)
     - `description`: (string) The description of the load balancer. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
     - `spec`: {object}
       - `type`: (multiple options) (string) Protocol type for the load balancer (enum: tcp, udp) | (string) A string containing one or more references that resolve to protocol type for the load balancer (pattern: .*\${.*}.*)
       - `target`: {object}
         - `type`: (multiple options) (string) Target type for the load balancer (enum: region, cluster) | (string) A string containing one or more references that resolve to target type for the load balancer (pattern: .*\${.*}.*)
         - `targetId`: (multiple options) (multiple options) (string) Target region name (pattern: ^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$) | (string) Target cluster internal ID (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to id of the loadbalancer target (pattern: .*\${.*}.*)
       - `ports`: [array of] {object}
           - `id`: (multiple options) (string) Unique port identifier (pattern: ^port-\d+$) | (string) A string containing one or more references that resolve to unique port identifier (pattern: .*\${.*}.*)
           - `port`: (multiple options) (string) Port number or range (single port, multiple comma-separated, or range with dash) | (string) A string containing one or more references that resolve to port number or range (single port, multiple comma-separated, or range with dash) (pattern: .*\${.*}.*)
           - `customSettings`: {object}
             - `bridgeTlsMode`: (boolean)
             - `subdomainId`: (multiple options) (string) Full name of the load balancer subdomain linked to this port (TLS bridge mode) | (string) A string containing one or more references that resolve to full name of the load balancer subdomain linked to this port (TLS bridge mode) (pattern: .*\${.*}.*)
           - `backends`: [array of] {object}
               - `id`: (multiple options) (string) Backend reference in format {projectId}/{nfObjectId} (pattern: ^[a-zA-Z0-9-]+\/[a-zA-Z0-9-]+$) | (string) A string containing one or more references that resolve to backend reference in format {projectId}/{nfObjectId} (pattern: .*\${.*}.*)
               - `type`: (multiple options) (string) Backend type (service or addon) (enum: service, addon) | (string) A string containing one or more references that resolve to backend type (service or addon) (pattern: .*\${.*}.*)
               - `port`: (multiple options) (integer) Backend port number | (string) A string containing one or more references that resolve to backend port number (pattern: .*\${.*}.*)
               - `weight`: (multiple options) (integer) Traffic weight for this backend | (string) A string containing one or more references that resolve to traffic weight for this backend (pattern: .*\${.*}.*)
   - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: LoadBalancer)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) The name of the load balancer. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the load balancer. (pattern: .*\${.*}.*)
     - `description`: (string) The description of the load balancer. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
     - `spec`: {object}
       - `type`: (multiple options) (string) Protocol type for the load balancer (enum: tcp, udp) | (string) A string containing one or more references that resolve to protocol type for the load balancer (pattern: .*\${.*}.*)
       - `target`: {object}
         - `type`: (multiple options) (string) Target type for the load balancer (enum: region, cluster) | (string) A string containing one or more references that resolve to target type for the load balancer (pattern: .*\${.*}.*)
         - `targetId`: (multiple options) (multiple options) (string) Target region name (pattern: ^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$) | (string) Target cluster internal ID (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to id of the loadbalancer target (pattern: .*\${.*}.*)
       - `ports`: [array of] {object}
           - `id`: (multiple options) (string) Unique port identifier (pattern: ^port-\d+$) | (string) A string containing one or more references that resolve to unique port identifier (pattern: .*\${.*}.*)
           - `port`: (multiple options) (string) Port number or range (single port, multiple comma-separated, or range with dash) | (string) A string containing one or more references that resolve to port number or range (single port, multiple comma-separated, or range with dash) (pattern: .*\${.*}.*)
           - `customSettings`: {object}
             - `bridgeTlsMode`: (boolean)
             - `subdomainId`: (multiple options) (string) Full name of the load balancer subdomain linked to this port (TLS bridge mode) | (string) A string containing one or more references that resolve to full name of the load balancer subdomain linked to this port (TLS bridge mode) (pattern: .*\${.*}.*)
           - `backends`: [array of] {object}
               - `id`: (multiple options) (string) Backend reference in format {projectId}/{nfObjectId} (pattern: ^[a-zA-Z0-9-]+\/[a-zA-Z0-9-]+$) | (string) A string containing one or more references that resolve to backend reference in format {projectId}/{nfObjectId} (pattern: .*\${.*}.*)
               - `type`: (multiple options) (string) Backend type (service or addon) (enum: service, addon) | (string) A string containing one or more references that resolve to backend type (service or addon) (pattern: .*\${.*}.*)
               - `port`: (multiple options) (integer) Backend port number | (string) A string containing one or more references that resolve to backend port number (pattern: .*\${.*}.*)
               - `weight`: (multiple options) (integer) Traffic weight for this backend | (string) A string containing one or more references that resolve to traffic weight for this backend (pattern: .*\${.*}.*)
   - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: OpenTofu)
   - `condition`: (string) (enum: success)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `stateKey`: (string) (required) Key to track state, must not be changed after first run.
     - `isolateResourcesPerEnvironment`: (boolean) Each preview environment will have its own isolated OpenTofu state.
     - `usePlan`: (boolean) Require approval of a plan before applying
     - `spec`: {object}
       - `provider`: {object}
         - `aws`: {object}
           - `region`: (string) (required)
           - `integrationId`: (multiple options) (string) Integration to use for this job. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to integration to use for this job. (pattern: .*\${.*}.*)
         - `google`: {object}
           - `project`: (string) (required)
           - `region`: (string)
           - `zone`: (string)
           - `integrationId`: (multiple options) (string) Integration to use for this job. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to integration to use for this job. (pattern: .*\${.*}.*)
         - `cloudflare`: {object}
           - `integrationId`: (multiple options) (string) Integration to use for this job. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to integration to use for this job. (pattern: .*\${.*}.*)
         - `aiven`: {object}
           - `integrationId`: (multiple options) (string) Integration to use for this job. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to integration to use for this job. (pattern: .*\${.*}.*)
         - `backblaze`: {object}
           - `integrationId`: (multiple options) (string) Integration to use for this job. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to integration to use for this job. (pattern: .*\${.*}.*)
         - `azure`: {object}
           - `integrationId`: (multiple options) (string) Integration to use for this job. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to integration to use for this job. (pattern: .*\${.*}.*)
         - `akamai`: {object}
           - `integrationId`: (multiple options) (string) Integration to use for this job. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to integration to use for this job. (pattern: .*\${.*}.*)
       - `resource`: {object}
       - `output`: {object} | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: WorkflowTemplate)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `apiVersion`: (string) (required) The version of the Northflank API to run the template against. (enum: v1.2)
     - `arguments`: {object}
     - `gitops`: {object}
       - `vcsService`: (string) (required) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure)
       - `selfHostedVcsId`: (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$)
       - `accountLogin`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name.
       - `vcsLinkId`: (string) Legacy key. Please used accountLogin instead.
       - `repoUrl`: (string) (required) URL of the Git repo to sync the file with. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$)
       - `branch`: (string) (required) The name of the branch to use.
       - `filePath`: (string) (required) The file path in the repository. If using an existing file, it should be in JSON format. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$)
     - `$schema`: (string)
     - `name`: (string) (required) (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
     - `description`: (string) (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
     - `spec`: (undefined)
     - `richInputs`: [array of] (undefined)
     - `triggers`: [array of] (multiple options) {object}
           - `kind`: (string) (required) (enum: vcs-push)
           - `spec`: {object}
             - `vcs`: {object}
               - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
               - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
               - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
               - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
               - `repoUrl`: (multiple options) (string) URL of the Git repo that will trigger the template. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo that will trigger the template. (pattern: .*\${.*}.*)
             - `branchNamePatterns`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
             - `commitMessageFlags`: {object}
               - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `flags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
             - `filePaths`: {object}
               - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `allowList`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `paths`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
           - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
           - `id`: (string)
           - `paused`: (boolean) | {object}
           - `kind`: (string) (required) (enum: vcs-pr)
           - `spec`: {object}
             - `vcs`: {object}
               - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
               - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
               - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
               - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
               - `repoUrl`: (multiple options) (string) URL of the Git repo that will trigger the template. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo that will trigger the template. (pattern: .*\${.*}.*)
             - `branchNamePatterns`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
             - `commitMessageFlags`: {object}
               - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `flags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
             - `filePaths`: {object}
               - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `allowList`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `paths`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
             - `ignoreDrafts`: (multiple options) (boolean) If `true`, draft pull requests from this repo will not trigger the template. | (string) A string containing one or more references that resolve to if `true`, draft pull requests from this repo will not trigger the template. (pattern: .*\${.*}.*)
           - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
           - `id`: (string)
           - `paused`: (boolean) | {object}
           - `kind`: (string) (required) (enum: webhook)
           - `spec`: {object}
             - `token`: (string) (required)
           - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
           - `id`: (string)
           - `paused`: (boolean) | {object}
           - `kind`: (string) (required) (enum: vcs-release)
           - `spec`: {object}
             - `vcs`: {object}
               - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
               - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
               - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
               - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
               - `repoUrl`: (multiple options) (string) URL of the Git repo that will trigger the template. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo that will trigger the template. (pattern: .*\${.*}.*)
           - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
           - `id`: (string)
           - `paused`: (boolean) | {object}
           - `kind`: (string) (required) (enum: vcs-pr-label)
           - `spec`: {object}
             - `vcs`: {object}
               - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
               - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
               - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
               - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
               - `repoUrl`: (multiple options) (string) URL of the Git repo that will trigger the template. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo that will trigger the template. (pattern: .*\${.*}.*)
             - `labelNamePatterns`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
             - `branchNamePatterns`: {object}
               - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `names`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
             - `commitMessageFlags`: {object}
               - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `flags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
             - `filePaths`: {object}
               - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `allowList`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `paths`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
             - `ignoreDrafts`: (multiple options) (boolean) If `true`, draft pull requests from this repo will not trigger the template. | (string) A string containing one or more references that resolve to if `true`, draft pull requests from this repo will not trigger the template. (pattern: .*\${.*}.*)
           - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
           - `id`: (string)
           - `paused`: (boolean) | {object}
           - `kind`: (string) (required) (enum: vcs-check-suite)
           - `spec`: {object}
             - `vcs`: {object}
               - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
               - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
               - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
               - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
               - `repoUrl`: (multiple options) (string) URL of the Git repo that will trigger the template. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo that will trigger the template. (pattern: .*\${.*}.*)
             - `branchNamePatterns`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
             - `commitMessageFlags`: {object}
               - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `flags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
             - `filePaths`: {object}
               - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `allowList`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `paths`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
           - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
           - `id`: (string)
           - `paused`: (boolean) | {object}
           - `kind`: (string) (required) (enum: cron)
           - `spec`: {object}
             - `cron`: (string) (required) A cron expression that defines the schedule on which the template will be executed.
           - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
           - `id`: (string)
           - `paused`: (boolean)
     - `options`: {object}
       - `autorun`: (boolean) If true, the template will run automatically whenever a change is made to it.
       - `concurrencyPolicy`: (string) Defines the concurrency behaviour of the template with respect to parallel runs. (enum: allow, queue, forbid, latest, replace)
     - `teardownSpec`: {object}
       - `spec`: (undefined) (required) The root node of the teardown workflow.
       - `failurePolicy`: (string) Controls what happens if the teardown spec fails or times out. `ignore` (default) — proceed with resource deletion regardless. `block` — halt deletion and set the environment to `teardown_failed` (enum: ignore, block)
     - `argumentOverrides`: {object}
     - `crossProjectAccess`: {object}
       - `enabled`: (boolean) (required) Allow this workflow to be run from other projects.
       - `projects`: [array of] (string) (pattern: ^[A-Za-z0-9-]+$)
       - `isAllowList`: (boolean) (required) If true, only the listed projects can run this workflow. If false, all projects except the listed ones can run this workflow.
     - `stageId`: (multiple options) (string) ID of the stage (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to iD of the stage (pattern: .*\${.*}.*)
     - `projectId`: (multiple options) (string) ID of parent project | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: PreviewBlueprint)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `apiVersion`: (string) (required) The version of the Northflank API to run the template against. (enum: v1.2)
     - `arguments`: {object}
     - `gitops`: {object}
       - `vcsService`: (string) (required) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure)
       - `selfHostedVcsId`: (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$)
       - `accountLogin`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name.
       - `vcsLinkId`: (string) Legacy key. Please used accountLogin instead.
       - `repoUrl`: (string) (required) URL of the Git repo to sync the file with. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$)
       - `branch`: (string) (required) The name of the branch to use.
       - `filePath`: (string) (required) The file path in the repository. If using an existing file, it should be in JSON format. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$)
     - `$schema`: (string)
     - `name`: (multiple options) (string) The name of the preview blueprint (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the name of the preview blueprint (pattern: .*\${.*}.*)
     - `description`: (multiple options) (string) A description of the preview blueprint (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the preview blueprint (pattern: .*\${.*}.*)
     - `spec`: (undefined)
     - `triggers`: [array of] (multiple options) {object}
           - `kind`: (string) (required) (enum: vcs-push)
           - `spec`: {object}
             - `vcs`: {object}
               - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
               - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
               - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
               - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
               - `repoUrl`: (multiple options) (string) URL of the Git repo that will trigger the template. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo that will trigger the template. (pattern: .*\${.*}.*)
             - `branchNamePatterns`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
             - `commitMessageFlags`: {object}
               - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `flags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
             - `filePaths`: {object}
               - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `allowList`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `paths`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
           - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
           - `id`: (string)
           - `paused`: (boolean) | {object}
           - `kind`: (string) (required) (enum: vcs-pr)
           - `spec`: {object}
             - `vcs`: {object}
               - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
               - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
               - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
               - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
               - `repoUrl`: (multiple options) (string) URL of the Git repo that will trigger the template. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo that will trigger the template. (pattern: .*\${.*}.*)
             - `branchNamePatterns`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
             - `commitMessageFlags`: {object}
               - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `flags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
             - `filePaths`: {object}
               - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `allowList`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `paths`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
             - `ignoreDrafts`: (multiple options) (boolean) If `true`, draft pull requests from this repo will not trigger the template. | (string) A string containing one or more references that resolve to if `true`, draft pull requests from this repo will not trigger the template. (pattern: .*\${.*}.*)
           - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
           - `id`: (string)
           - `paused`: (boolean) | {object}
           - `kind`: (string) (required) (enum: webhook)
           - `spec`: {object}
             - `token`: (string) (required)
           - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
           - `id`: (string)
           - `paused`: (boolean) | {object}
           - `kind`: (string) (required) (enum: vcs-release)
           - `spec`: {object}
             - `vcs`: {object}
               - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
               - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
               - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
               - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
               - `repoUrl`: (multiple options) (string) URL of the Git repo that will trigger the template. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo that will trigger the template. (pattern: .*\${.*}.*)
           - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
           - `id`: (string)
           - `paused`: (boolean) | {object}
           - `kind`: (string) (required) (enum: vcs-pr-label)
           - `spec`: {object}
             - `vcs`: {object}
               - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
               - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
               - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
               - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
               - `repoUrl`: (multiple options) (string) URL of the Git repo that will trigger the template. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo that will trigger the template. (pattern: .*\${.*}.*)
             - `labelNamePatterns`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
             - `branchNamePatterns`: {object}
               - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `names`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
             - `commitMessageFlags`: {object}
               - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `flags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
             - `filePaths`: {object}
               - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `allowList`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `paths`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
             - `ignoreDrafts`: (multiple options) (boolean) If `true`, draft pull requests from this repo will not trigger the template. | (string) A string containing one or more references that resolve to if `true`, draft pull requests from this repo will not trigger the template. (pattern: .*\${.*}.*)
           - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
           - `id`: (string)
           - `paused`: (boolean) | {object}
           - `kind`: (string) (required) (enum: vcs-check-suite)
           - `spec`: {object}
             - `vcs`: {object}
               - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
               - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
               - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
               - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
               - `repoUrl`: (multiple options) (string) URL of the Git repo that will trigger the template. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo that will trigger the template. (pattern: .*\${.*}.*)
             - `branchNamePatterns`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
             - `commitMessageFlags`: {object}
               - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `flags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
             - `filePaths`: {object}
               - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `allowList`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `paths`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
           - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
           - `id`: (string)
           - `paused`: (boolean) | {object}
           - `kind`: (string) (required) (enum: cron)
           - `spec`: {object}
             - `cron`: (string) (required) A cron expression that defines the schedule on which the template will be executed.
           - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
           - `id`: (string)
           - `paused`: (boolean)
     - `options`: {object}
       - `concurrencyPolicy`: (string) Defines the concurrency behaviour of the template with respect to parallel runs. (enum: allow, queue, forbid, latest, replace)
       - `nameFormat`: (string) The format of the automatically generated preview name. This is a parsed ref string.
       - `prefixName`: (boolean) If true, the preview name will default to the front of the resource name.
       - `useBranchContents`: (boolean) If true, and gitops is enabled, the preview will run based on the contents of the branch that triggered it, rather than the set branch.
       - `schedule`: {object}
         - `mon`: {object}
           - `startTime`: (integer)
           - `endTime`: (integer)
         - `tue`: {object}
           - `startTime`: (integer)
           - `endTime`: (integer)
         - `wed`: {object}
           - `startTime`: (integer)
           - `endTime`: (integer)
         - `thu`: {object}
           - `startTime`: (integer)
           - `endTime`: (integer)
         - `fri`: {object}
           - `startTime`: (integer)
           - `endTime`: (integer)
         - `sat`: {object}
           - `startTime`: (integer)
           - `endTime`: (integer)
         - `sun`: {object}
           - `startTime`: (integer)
           - `endTime`: (integer)
       - `expiry`: {object}
         - `previewLifetime`: (integer) If set, preview environments will be automatically deleted after this many minutes since their last update.
         - `resetOnUpdate`: (boolean) If `true`, the expiry time for an existing preview will be reset when it is ran again.
       - `autorun`: (boolean) If true, the template will run automatically whenever a change is made to it.
     - `argumentOverrides`: {object}
     - `teardownSpec`: {object}
       - `spec`: (undefined) (required) The root node of the teardown workflow.
       - `failurePolicy`: (string) Controls what happens if the teardown spec fails or times out. `ignore` (default) — proceed with resource deletion regardless. `block` — halt deletion and set the environment to `teardown_failed` (enum: ignore, block)
     - `projectId`: (multiple options) (string) ID of parent project | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: Approval)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `amount`: (integer) (required) | {object}
   - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
   - `kind`: (string) (required) The kind of node. (enum: ReleaseStage)
   - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
   - `spec`: {object}
     - `name`: (multiple options) (string) (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 20) | (string) (pattern: .*\${.*}.*)
     - `position`: (integer) (required)
     - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
    - `teardownSpec`: {object}
      - `spec`: (undefined) (required)
      - `failurePolicy`: (string) Controls what happens if the teardown spec fails or times out. `ignore` (default) — proceed with resource deletion regardless. `block` — halt deletion and set the environment to `teardown_failed` (enum: ignore, block)
    - `id`: (string) (required) Identifier for the template (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
    - `gitops`: {object}
      - `vcsService`: (string) (required) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure)
      - `selfHostedVcsId`: (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$)
      - `accountLogin`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name.
      - `vcsLinkId`: (string) Legacy key. Please used accountLogin instead.
      - `repoUrl`: (string) (required) URL of the Git repo to sync the file with. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$)
      - `branch`: (string) (required) The name of the branch to use.
      - `filePath`: (string) (required) The file path in the repository. If using an existing file, it should be in JSON format. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$)
      - `templateSha`: (string) (required) The SHA of the current commit that is being used for the template.
    - `concurrencyPolicy`: (string) Defines the concurrency behaviour of the template with respect to parallel runs. (enum: allow, queue, forbid, latest, replace)
    - `options`: {object}
      - `autorun`: (boolean) (required) Whether autorun is enabled
    - `createdAt`: (string) time of creation (format: date-time)
    - `updatedAt`: (string) time of update (format: date-time)
  - `templateRun`: {object}
    - `name`: (string) (required) Name of the template. (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
    - `description`: (string) Description of the template. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
    - `apiVersion`: (string) (required) The version of the Northflank API to run the template against. (enum: v1.2)
    - `options`: {object}
      - `autorun`: (boolean) If true, the template will run automatically whenever a change is made to it.
      - `concurrencyPolicy`: (string) Defines the concurrency behaviour of the template with respect to parallel runs. (enum: allow, queue, forbid, latest, replace)
    - `arguments`: {object}
    - `gitops`: {object}
      - `vcsService`: (string) (required) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure)
      - `selfHostedVcsId`: (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$)
      - `accountLogin`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name.
      - `vcsLinkId`: (string) Legacy key. Please used accountLogin instead.
      - `repoUrl`: (string) (required) URL of the Git repo to sync the file with. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$)
      - `branch`: (string) (required) The name of the branch to use.
      - `filePath`: (string) (required) The file path in the repository. If using an existing file, it should be in JSON format. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$)
    - `$schema`: (string)
    - `spec`: (multiple options) {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: Workflow)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: (undefined) The response data of the Workflow node.
     - `spec`: (undefined) (required) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: CustomPlan)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: {object}
         - `type`: [array of] (string) (enum: deployment, build)
         - `configuration`: {object}
           - `type`: (string) (enum: northflank, kubernetes)
           - `resources`: {object}
             - `cpu`: {object}
               - `resources`: {object}
                 - `limit`: (number) (format: float)
                 - `request`: (number) (format: float)
               - `options`: {object}
                 - `unbounded`: (boolean)
             - `memory`: {object}
               - `resources`: {object}
                 - `limit`: (number) (format: float)
                 - `request`: (number) (format: float)
         - `name`: (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `id`: (string) (required) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `createdAt`: (string) time of creation (format: date-time)
     - `spec`: {object}
       - `type`: [array of] (multiple options) (string) (enum: deployment, build) | (string) (pattern: .*\${.*}.*)
       - `configuration`: {object}
         - `type`: (multiple options) (string) (enum: northflank, kubernetes) | (string) (pattern: .*\${.*}.*)
         - `resources`: {object}
           - `cpu`: {object}
             - `resources`: {object}
               - `limit`: (multiple options) (number) (format: float) | (string) (pattern: .*\${.*}.*)
               - `request`: (multiple options) (number) (format: float) | (string) (pattern: .*\${.*}.*)
             - `options`: {object}
               - `unbounded`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
           - `memory`: {object}
             - `resources`: {object}
               - `limit`: (multiple options) (number) (format: float) | (string) (pattern: .*\${.*}.*)
               - `request`: (multiple options) (number) (format: float) | (string) (pattern: .*\${.*}.*)
       - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: CustomPlan)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: {object}
         - `type`: [array of] (string) (enum: deployment, build)
         - `configuration`: {object}
           - `type`: (string) (enum: northflank, kubernetes)
           - `resources`: {object}
             - `cpu`: {object}
               - `resources`: {object}
                 - `limit`: (number) (format: float)
                 - `request`: (number) (format: float)
               - `options`: {object}
                 - `unbounded`: (boolean)
             - `memory`: {object}
               - `resources`: {object}
                 - `limit`: (number) (format: float)
                 - `request`: (number) (format: float)
         - `name`: (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `id`: (string) (required) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `createdAt`: (string) time of creation (format: date-time)
     - `spec`: {object}
       - `type`: [array of] (multiple options) (string) (enum: deployment, build) | (string) (pattern: .*\${.*}.*)
       - `configuration`: {object}
         - `type`: (multiple options) (string) (enum: northflank, kubernetes) | (string) (pattern: .*\${.*}.*)
         - `resources`: {object}
           - `cpu`: {object}
             - `resources`: {object}
               - `limit`: (multiple options) (number) (format: float) | (string) (pattern: .*\${.*}.*)
               - `request`: (multiple options) (number) (format: float) | (string) (pattern: .*\${.*}.*)
             - `options`: {object}
               - `unbounded`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
           - `memory`: {object}
             - `resources`: {object}
               - `limit`: (multiple options) (number) (format: float) | (string) (pattern: .*\${.*}.*)
               - `request`: (multiple options) (number) (format: float) | (string) (pattern: .*\${.*}.*)
       - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: Subdomain)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: {object}
         - `domain`: (string) (required) The domain the path should be created for. (pattern: ^((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+$)
         - `name`: (string) (required) Subdomain prepended to the domain name
         - `options`: {object}
           - `tlsMode`: (string) Desired TLS mode for the subdomain. (enum: default, passthrough)
           - `minTlsProtocolVersion`: (string) Minimum TLS protocol version for the subdomain. Only applicable for non-wildcard subdomains. (enum: TLSV1_1, TLSV1_2, TLSV1_3)
           - `autoVerify`: (boolean) The domain will be automatically verified on creation. Only configurable if the relevant feature flag is enabled for you account.
           - `aliasDomains`: [array of] (string)
         - `cdn`: {object}
           - `northflank`: {object}
             - `enabled`: (boolean)
             - `options`: {object}
               - `service`: {object}
                 - `forceTlsEnableHsts`: (boolean)
                 - `hstsDuration`: (number) HSTS duration. Required when `forceTlsEnableHsts` is `true`. (format: float)
                 - `staleIfError`: (boolean)
                 - `staleIfErrorTtl`: (number) (format: float)
                 - `defaultTtl`: (number) (format: float)
                 - `passThrough`: (boolean)
                 - `bypassCredentialedRequests`: (boolean)
               - `logging`: {object}
                 - `enabled`: (boolean)
               - `http3`: {object}
                 - `enabled`: (boolean)
               - `websockets`: {object}
                 - `enabled`: (boolean)
               - `ddosProtection`: {object}
                 - `enabled`: (boolean)
               - `compression`: {object}
                 - `enabled`: (boolean)
                 - `mode`: (string) Compression options. Required when `enabled` is `true`. (enum: gzip, brotli)
               - `vclSnippets`: [array of] {object}
                   - `id`: (string)
                   - `name`: (string) (required) (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
                   - `type`: (string) (required) (enum: init, recv, hash, hit, miss, pass, fetch, error, deliver, log, none)
                   - `dynamic`: (string) (required) (enum: 0, 1)
                   - `priority`: (multiple options) (number) (format: float) | (number) (format: float)
                   - `content`: (string) (required)
               - `cacheSettings`: [array of] {object}
                   - `id`: (string)
                   - `name`: (string) (required) (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
                   - `action`: (string) (enum: pass, cache, restart)
                   - `cacheCondition`: (string) (required) (min length: 1) (max length: 512)
                   - `staleTtl`: (number) (required) (format: float)
                   - `ttl`: (number) (required) (format: float)
         - `id`: (string) The full URL including name and domain.
         - `createdAt`: (string) time of creation (format: date-time)
     - `spec`: {object}
       - `domain`: (multiple options) (string) The domain the path should be created for. (pattern: ^((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+$) | (string) A string containing one or more references that resolve to the domain the path should be created for. (pattern: .*\${.*}.*)
       - `name`: (multiple options) (string) Subdomain prepended to the domain name | (string) A string containing one or more references that resolve to subdomain prepended to the domain name (pattern: .*\${.*}.*)
       - `options`: {object}
         - `tlsMode`: (string) Desired TLS mode for the subdomain. (enum: default, passthrough)
         - `minTlsProtocolVersion`: (string) Minimum TLS protocol version for the subdomain. Only applicable for non-wildcard subdomains. (enum: TLSV1_1, TLSV1_2, TLSV1_3)
         - `autoVerify`: (boolean) The domain will be automatically verified on creation. Only configurable if the relevant feature flag is enabled for you account.
         - `aliasDomains`: [array of] (string)
       - `cdn`: {object}
         - `northflank`: {object}
           - `enabled`: (boolean)
           - `options`: {object}
             - `service`: {object}
               - `forceTlsEnableHsts`: (boolean)
               - `hstsDuration`: (number) HSTS duration. Required when `forceTlsEnableHsts` is `true`. (format: float)
               - `staleIfError`: (boolean)
               - `staleIfErrorTtl`: (number) (format: float)
               - `defaultTtl`: (number) (format: float)
               - `passThrough`: (boolean)
               - `bypassCredentialedRequests`: (boolean)
             - `logging`: {object}
               - `enabled`: (boolean)
             - `http3`: {object}
               - `enabled`: (boolean)
             - `websockets`: {object}
               - `enabled`: (boolean)
             - `ddosProtection`: {object}
               - `enabled`: (boolean)
             - `compression`: {object}
               - `enabled`: (boolean)
               - `mode`: (string) Compression options. Required when `enabled` is `true`. (enum: gzip, brotli)
             - `vclSnippets`: [array of] {object}
                 - `id`: (string)
                 - `name`: (string) (required) (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
                 - `type`: (string) (required) (enum: init, recv, hash, hit, miss, pass, fetch, error, deliver, log, none)
                 - `dynamic`: (string) (required) (enum: 0, 1)
                 - `priority`: (multiple options) (number) (format: float) | (number) (format: float)
                 - `content`: (string) (required)
             - `cacheSettings`: [array of] {object}
                 - `id`: (string)
                 - `name`: (string) (required) (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
                 - `action`: (string) (enum: pass, cache, restart)
                 - `cacheCondition`: (string) (required) (min length: 1) (max length: 512)
                 - `staleTtl`: (number) (required) (format: float)
                 - `ttl`: (number) (required) (format: float) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: SubdomainPath)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: {object}
         - `subdomain`: (string) (required) The domain the path should be created for. (pattern: ^\*|^@$|^([0-9a-z]([0-9a-z\-]*[0-9a-z])?\.)*[0-9a-z]([0-9a-z\-]*[0-9a-z])?$)
         - `mode`: (string) (required) Mode of the path, determining how the URI will be interpreted. (enum: prefix, exact, regex)
         - `uri`: (string) (required) URI of the subdomain path. Interpreted according to the selected path mode
         - `options`: {object}
           - `priority`: (integer) In case of uri conflicts, the route with the higher priority will take precedence
           - `ignoreUriCase`: (boolean) Allows case insensitive matching for 'prefix' and 'exact' modes
           - `rewrite`: (multiple options) {object}
               - `uri`: (string) (required) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | {object}
               - `regex`: {object}
                 - `match`: (string) (required) Regex match for the given path
                 - `rewrite`: (string) (required) Regex rewrite for the given matched path
           - `timeout`: (string) Customised request timeout for the given path. By default no timeout is set. (pattern: ^[1-9][0-9]*(s|ms)$)
           - `headers`: {object}
             - `request`: {object}
               - `set`: {object}
               - `add`: {object}
               - `remove`: [array of] (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$)
             - `response`: {object}
               - `set`: {object}
               - `add`: {object}
               - `remove`: [array of] (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$)
           - `corsPolicy`: {object}
             - `enabled`: (boolean) (required)
             - `allowOrigins`: [array of] {object}
                 - `mode`: (string) (required) Mode of the path, determining how the URI will be interpreted. (enum: prefix, exact, regex)
                 - `origin`: (string) Origin definition.
             - `allowMethods`: [array of] (string) (enum: GET, POST, PUT, PATCH, DELETE, OPTIONS, TRACE, CONNECT, HEAD)
             - `allowCredentials`: (boolean)
             - `allowHeaders`: [array of] (string)
             - `maxAge`: (string) (pattern: ^[1-9][0-9]*(s|m|h)$)
           - `retries`: {object}
             - `enabled`: (boolean) (required)
             - `attempts`: (integer) (required)
             - `perTryTimeout`: (string) Timeout per attempt. By default uses the path level timeout. (pattern: ^[1-9][0-9]*(s|ms)$)
             - `retryOn`: [array of] (string) (enum: 5xx, gateway-error, reset, connect-failure, envoy-ratelimited, retriable-4xx, refused-stream, retriable-status-codes, retriable-headers, cancelled, deadline-exceeded, internal, resource-exhausted, unavailable)
         - `name`: (string) The full URL including subdomain and path URI.
         - `createdAt`: (string) time of creation (format: date-time)
     - `spec`: {object}
       - `subdomain`: (multiple options) (string) The domain the path should be created for. (pattern: ^\*|^@$|^([0-9a-z]([0-9a-z\-]*[0-9a-z])?\.)*[0-9a-z]([0-9a-z\-]*[0-9a-z])?$) | (string) A string containing one or more references that resolve to the domain the path should be created for. (pattern: .*\${.*}.*)
       - `mode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: prefix, exact, regex) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
       - `uri`: (multiple options) (string) URI of the subdomain path. Interpreted according to the selected path mode | (string) A string containing one or more references that resolve to uRI of the subdomain path. Interpreted according to the selected path mode (pattern: .*\${.*}.*)
       - `options`: {object}
         - `priority`: (multiple options) (integer) In case of uri conflicts, the route with the higher priority will take precedence | (string) A string containing one or more references that resolve to in case of uri conflicts, the route with the higher priority will take precedence (pattern: .*\${.*}.*)
         - `ignoreUriCase`: (multiple options) (boolean) Allows case insensitive matching for 'prefix' and 'exact' modes | (string) A string containing one or more references that resolve to allows case insensitive matching for 'prefix' and 'exact' modes (pattern: .*\${.*}.*)
         - `rewrite`: (multiple options) {object}
             - `uri`: (multiple options) (string) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) (pattern: .*\${.*}.*) | {object}
             - `regex`: {object}
               - `match`: (multiple options) (string) Regex match for the given path | (string) A string containing one or more references that resolve to regex match for the given path (pattern: .*\${.*}.*)
               - `rewrite`: (multiple options) (string) Regex rewrite for the given matched path | (string) A string containing one or more references that resolve to regex rewrite for the given matched path (pattern: .*\${.*}.*)
         - `timeout`: (multiple options) (string) Customised request timeout for the given path. By default no timeout is set. (pattern: ^[1-9][0-9]*(s|ms)$) | (string) A string containing one or more references that resolve to customised request timeout for the given path. By default no timeout is set. (pattern: .*\${.*}.*)
         - `headers`: {object}
           - `request`: {object}
             - `set`: {object}
             - `add`: {object}
             - `remove`: [array of] (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$)
           - `response`: {object}
             - `set`: {object}
             - `add`: {object}
             - `remove`: [array of] (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$)
         - `corsPolicy`: {object}
           - `enabled`: (boolean) (required)
           - `allowOrigins`: [array of] {object}
               - `mode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: prefix, exact, regex) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
               - `origin`: (multiple options) (string) Origin definition. | (string) A string containing one or more references that resolve to origin definition. (pattern: .*\${.*}.*)
           - `allowMethods`: [array of] (string) (enum: GET, POST, PUT, PATCH, DELETE, OPTIONS, TRACE, CONNECT, HEAD)
           - `allowCredentials`: (boolean)
           - `allowHeaders`: [array of] (string)
           - `maxAge`: (string) (pattern: ^[1-9][0-9]*(s|m|h)$)
         - `retries`: {object}
           - `enabled`: (boolean) (required)
           - `attempts`: (integer) (required)
           - `perTryTimeout`: (string) Timeout per attempt. By default uses the path level timeout. (pattern: ^[1-9][0-9]*(s|ms)$)
           - `retryOn`: [array of] (string) (enum: 5xx, gateway-error, reset, connect-failure, envoy-ratelimited, retriable-4xx, refused-stream, retriable-status-codes, retriable-headers, cancelled, deadline-exceeded, internal, resource-exhausted, unavailable) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: ResourceTag)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: {object}
         - `useAsInfrastructureLabel`: (boolean) Expose this tag as an infrastructure label on service, harness, and job workloads after their next deployment. Required for usage in egress IP selectors.
         - `useSpotNodes`: (boolean) Schedule workloads to spot nodes
         - `useOnDemandNodes`: (boolean) Also allow workloads to schedule to on demand nodes. Only relevant if you want workloads to schedule across both spot and on demand nodes
         - `nodeAffinities`: [array of] {object}
             - `preference`: (boolean)
             - `weight`: (number) The node affinity weight. Required when `preference` is `true`. (format: float)
             - `matchExpressions`: [array of] {object}
                 - `key`: (string) (required)
                 - `operator`: (string) (required) (enum: In, NotIn)
                 - `values`: [array of] (string)
         - `sandboxing`: {object}
           - `builds`: {object}
             - `enabled`: (boolean) (required) Enables runtime scheduling constraints for builds
             - `runtimeClass`: (multiple options) (string) Defines which runtime scheduling constraints apply for builds (enum: none, gvisor, kata-clh, kata-qemu)
           - `services`: {object}
             - `enabled`: (boolean) (required) Enables runtime scheduling constraints for services
             - `runtimeClass`: (multiple options) (string) Defines which runtime scheduling constraints apply for services (enum: none, gvisor, kata-clh, kata-qemu)
           - `addons`: {object}
             - `enabled`: (boolean) (required) Enables runtime scheduling constraints for addons
             - `runtimeClass`: (multiple options) (string) Defines which runtime scheduling constraints apply for addons (enum: none, gvisor, kata-clh, kata-qemu)
           - `jobs`: {object}
             - `enabled`: (boolean) (required) Enables runtime scheduling constraints for jobs
             - `runtimeClass`: (multiple options) (string) Defines which runtime scheduling constraints apply for jobs (enum: none, gvisor, kata-clh, kata-qemu)
         - `color`: (string) (pattern: ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$)
         - `description`: (string) (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
         - `name`: (string) (required) (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `id`: (string) (required) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `createdAt`: (string) time of creation (format: date-time)
     - `spec`: {object}
       - `useAsInfrastructureLabel`: (boolean) Expose this tag as an infrastructure label on service, harness, and job workloads after their next deployment. Required for usage in egress IP selectors.
       - `useSpotNodes`: (boolean) Schedule workloads to spot nodes
       - `useOnDemandNodes`: (boolean) Also allow workloads to schedule to on demand nodes. Only relevant if you want workloads to schedule across both spot and on demand nodes
       - `nodeAffinities`: [array of] {object}
           - `preference`: (boolean)
           - `weight`: (number) The node affinity weight. Required when `preference` is `true`. (format: float)
           - `matchExpressions`: [array of] {object}
               - `key`: (string) (required)
               - `operator`: (string) (required) (enum: In, NotIn)
               - `values`: [array of] (string)
       - `sandboxing`: {object}
         - `builds`: {object}
           - `enabled`: (boolean) (required) Enables runtime scheduling constraints for builds
           - `runtimeClass`: (multiple options) (string) Defines which runtime scheduling constraints apply for builds (enum: none, gvisor, kata-clh, kata-qemu)
         - `services`: {object}
           - `enabled`: (boolean) (required) Enables runtime scheduling constraints for services
           - `runtimeClass`: (multiple options) (string) Defines which runtime scheduling constraints apply for services (enum: none, gvisor, kata-clh, kata-qemu)
         - `addons`: {object}
           - `enabled`: (boolean) (required) Enables runtime scheduling constraints for addons
           - `runtimeClass`: (multiple options) (string) Defines which runtime scheduling constraints apply for addons (enum: none, gvisor, kata-clh, kata-qemu)
         - `jobs`: {object}
           - `enabled`: (boolean) (required) Enables runtime scheduling constraints for jobs
           - `runtimeClass`: (multiple options) (string) Defines which runtime scheduling constraints apply for jobs (enum: none, gvisor, kata-clh, kata-qemu)
       - `color`: (string) (pattern: ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$)
       - `description`: (string) (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
       - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: ResourceTag)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: {object}
         - `useAsInfrastructureLabel`: (boolean) Expose this tag as an infrastructure label on service, harness, and job workloads after their next deployment. Required for usage in egress IP selectors.
         - `useSpotNodes`: (boolean) Schedule workloads to spot nodes
         - `useOnDemandNodes`: (boolean) Also allow workloads to schedule to on demand nodes. Only relevant if you want workloads to schedule across both spot and on demand nodes
         - `nodeAffinities`: [array of] {object}
             - `preference`: (boolean)
             - `weight`: (number) The node affinity weight. Required when `preference` is `true`. (format: float)
             - `matchExpressions`: [array of] {object}
                 - `key`: (string) (required)
                 - `operator`: (string) (required) (enum: In, NotIn)
                 - `values`: [array of] (string)
         - `sandboxing`: {object}
           - `builds`: {object}
             - `enabled`: (boolean) (required) Enables runtime scheduling constraints for builds
             - `runtimeClass`: (multiple options) (string) Defines which runtime scheduling constraints apply for builds (enum: none, gvisor, kata-clh, kata-qemu)
           - `services`: {object}
             - `enabled`: (boolean) (required) Enables runtime scheduling constraints for services
             - `runtimeClass`: (multiple options) (string) Defines which runtime scheduling constraints apply for services (enum: none, gvisor, kata-clh, kata-qemu)
           - `addons`: {object}
             - `enabled`: (boolean) (required) Enables runtime scheduling constraints for addons
             - `runtimeClass`: (multiple options) (string) Defines which runtime scheduling constraints apply for addons (enum: none, gvisor, kata-clh, kata-qemu)
           - `jobs`: {object}
             - `enabled`: (boolean) (required) Enables runtime scheduling constraints for jobs
             - `runtimeClass`: (multiple options) (string) Defines which runtime scheduling constraints apply for jobs (enum: none, gvisor, kata-clh, kata-qemu)
         - `color`: (string) (pattern: ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$)
         - `description`: (string) (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
         - `name`: (string) (required) (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `id`: (string) (required) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `createdAt`: (string) time of creation (format: date-time)
     - `spec`: {object}
       - `useAsInfrastructureLabel`: (boolean) Expose this tag as an infrastructure label on service, harness, and job workloads after their next deployment. Required for usage in egress IP selectors.
       - `useSpotNodes`: (boolean) Schedule workloads to spot nodes
       - `useOnDemandNodes`: (boolean) Also allow workloads to schedule to on demand nodes. Only relevant if you want workloads to schedule across both spot and on demand nodes
       - `nodeAffinities`: [array of] {object}
           - `preference`: (boolean)
           - `weight`: (number) The node affinity weight. Required when `preference` is `true`. (format: float)
           - `matchExpressions`: [array of] {object}
               - `key`: (string) (required)
               - `operator`: (string) (required) (enum: In, NotIn)
               - `values`: [array of] (string)
       - `sandboxing`: {object}
         - `builds`: {object}
           - `enabled`: (boolean) (required) Enables runtime scheduling constraints for builds
           - `runtimeClass`: (multiple options) (string) Defines which runtime scheduling constraints apply for builds (enum: none, gvisor, kata-clh, kata-qemu)
         - `services`: {object}
           - `enabled`: (boolean) (required) Enables runtime scheduling constraints for services
           - `runtimeClass`: (multiple options) (string) Defines which runtime scheduling constraints apply for services (enum: none, gvisor, kata-clh, kata-qemu)
         - `addons`: {object}
           - `enabled`: (boolean) (required) Enables runtime scheduling constraints for addons
           - `runtimeClass`: (multiple options) (string) Defines which runtime scheduling constraints apply for addons (enum: none, gvisor, kata-clh, kata-qemu)
         - `jobs`: {object}
           - `enabled`: (boolean) (required) Enables runtime scheduling constraints for jobs
           - `runtimeClass`: (multiple options) (string) Defines which runtime scheduling constraints apply for jobs (enum: none, gvisor, kata-clh, kata-qemu)
       - `color`: (string) (pattern: ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$)
       - `description`: (string) (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
       - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: BYOCIntegration)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: {object}
         - `id`: (string) (required) ID of the integration (pattern: ^[A-Za-z0-9-]+$)
         - `name`: (string) (required) The name of the cloud provider integration. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
         - `description`: (string) The description of the integration. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
         - `provider`: (string) (required) Cloud provider to be used for the selected resource (enum: aws, azure, civo, gcp, oci, cloudflare, coreweave, nebius, aiven, backblaze, akamai, byok)
         - `features`: [array of] (string) The type of provider integration. (enum: byoc, byoc-static-egress, byoc-custom-launch-templates, byoc-custom-vpc, byoc-logs, cloudfront, route53, registry-pull, registry-push, opentofu, workload-identity, workload-identity-managed)
         - `restrictions`: {object}
           - `enabled`: (boolean) (required) Enable or disable BYOC restrictions for this entity
           - `teams`: [array of] {object}
               - `teamId`: (string) (required) The ID of the team that has access to this BYOC cluster
         - `credentials`: {object}
           - `keyfileJson`: (string) Contents of a GCP key file.
           - `accessKey`: (string) AWS access key.
           - `secretKey`: (string) AWS secret key.
           - `roleArn`: (string) AWS IAM role ARN.
           - `externalId`: (string) AWS shared secret (external id).
           - `apiKey`: (string) API key.
           - `email`: (string) Email address for Cloudflare global API key. (format: email)
           - `tenantId`: (string) Directory (tenant) ID 
           - `clientId`: (string) Application (client) ID 
           - `objectId`: (string) Object ID
           - `secret`: (string) Secret
           - `subscriptionId`: (string) Azure Subscription ID
           - `region`: (string) OCI Authentication Region
           - `tenancyId`: (string) OCI Tenancy ID
           - `userId`: (string) User ID
           - `fingerprint`: (string) Fingerprint
           - `privateKey`: (string) OCI Private Key
           - `passphrase`: (string) Passphrase
           - `compartmentId`: (string) OCI Compartment ID
           - `serviceAccountId`: (string) Nebius service account ID
           - `publicKeyId`: (string) Nebius authorized public key ID
           - `privateKeyPem`: (string) Nebius private key in PEM format
           - `kubeconfig`: (string) Kubeconfig
           - `applicationKeyId`: (string) Backblaze Application Key ID
           - `applicationKey`: (string) Backblaze Application Key
           - `host`: (string) Akamai Host
           - `accessToken`: (string) Akamai Access Token
           - `clientToken`: (string) Akamai Client Token
           - `clientSecret`: (string) Akamai Client Secret
         - `aws`: {object}
           - `authenticationMode`: (string) The provider authentication mode to use for this integration. (enum: accessKey, crossAccountRole)
           - `permissionCheckLevel`: (string) (enum: enabled, disabled, ignore-implicit-deny-by-organization)
         - `gcp`: {object}
           - `projectId`: (string) (required) GCP Project ID
           - `authenticationMode`: (string) The provider authentication mode to use for this integration. (enum: accessKey, crossAccountRole)
           - `serviceAccountEmail`: (string) Service account email that will be used for cross account access.
         - `cloudflare`: {object}
           - `credentialType`: (string) The type of api key (enum: apiToken, originCAKey, globalApiKey)
         - `createdAt`: (string) (required) The time the integration was created. (format: date-time)
     - `spec`: {object}
       - `description`: (string) The description of the integration. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
       - `features`: [array of] (string) The type of provider integration. (enum: byoc, byoc-static-egress, byoc-custom-launch-templates, byoc-custom-vpc, byoc-logs, cloudfront, route53, registry-pull, registry-push, opentofu, workload-identity, workload-identity-managed)
       - `restrictions`: {object}
         - `enabled`: (boolean) (required) Enable or disable BYOC restrictions for this entity
         - `teams`: [array of] {object}
             - `teamId`: (string) (required) The ID of the team that has access to this BYOC cluster (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 45)
       - `credentials`: {object}
         - `keyfileJson`: (multiple options) (string) Contents of a GCP key file. | (string) A string containing one or more references that resolve to contents of a GCP key file. (pattern: .*\${.*}.*)
         - `accessKey`: (multiple options) (string) AWS access key. | (string) A string containing one or more references that resolve to aWS access key. (pattern: .*\${.*}.*)
         - `secretKey`: (multiple options) (string) AWS secret key. | (string) A string containing one or more references that resolve to aWS secret key. (pattern: .*\${.*}.*)
         - `roleArn`: (multiple options) (string) AWS IAM role ARN. | (string) A string containing one or more references that resolve to aWS IAM role ARN. (pattern: .*\${.*}.*)
         - `externalId`: (multiple options) (string) AWS shared secret (external id). | (string) A string containing one or more references that resolve to aWS shared secret (external id). (pattern: .*\${.*}.*)
         - `apiKey`: (multiple options) (string) API key. | (string) A string containing one or more references that resolve to aPI key. (pattern: .*\${.*}.*)
         - `email`: (multiple options) (string) Email address for Cloudflare global API key. (format: email) | (string) A string containing one or more references that resolve to email address for Cloudflare global API key. (pattern: .*\${.*}.*)
         - `tenantId`: (multiple options) (string) Directory (tenant) ID  | (string) A string containing one or more references that resolve to directory (tenant) ID  (pattern: .*\${.*}.*)
         - `clientId`: (multiple options) (string) Application (client) ID  | (string) A string containing one or more references that resolve to application (client) ID  (pattern: .*\${.*}.*)
         - `objectId`: (multiple options) (string) Object ID | (string) A string containing one or more references that resolve to object ID (pattern: .*\${.*}.*)
         - `secret`: (multiple options) (string) Secret | (string) A string containing one or more references that resolve to secret (pattern: .*\${.*}.*)
         - `subscriptionId`: (multiple options) (string) Azure Subscription ID | (string) A string containing one or more references that resolve to azure Subscription ID (pattern: .*\${.*}.*)
         - `region`: (multiple options) (string) OCI Authentication Region | (string) A string containing one or more references that resolve to oCI Authentication Region (pattern: .*\${.*}.*)
         - `tenancyId`: (multiple options) (string) OCI Tenancy ID | (string) A string containing one or more references that resolve to oCI Tenancy ID (pattern: .*\${.*}.*)
         - `userId`: (multiple options) (string) User ID | (string) A string containing one or more references that resolve to user ID (pattern: .*\${.*}.*)
         - `fingerprint`: (multiple options) (string) Fingerprint | (string) A string containing one or more references that resolve to fingerprint (pattern: .*\${.*}.*)
         - `privateKey`: (multiple options) (string) OCI Private Key | (string) A string containing one or more references that resolve to oCI Private Key (pattern: .*\${.*}.*)
         - `passphrase`: (multiple options) (string) Passphrase | (string) A string containing one or more references that resolve to passphrase (pattern: .*\${.*}.*)
         - `compartmentId`: (multiple options) (string) OCI Compartment ID | (string) A string containing one or more references that resolve to oCI Compartment ID (pattern: .*\${.*}.*)
         - `serviceAccountId`: (multiple options) (string) Nebius service account ID | (string) A string containing one or more references that resolve to nebius service account ID (pattern: .*\${.*}.*)
         - `publicKeyId`: (multiple options) (string) Nebius authorized public key ID | (string) A string containing one or more references that resolve to nebius authorized public key ID (pattern: .*\${.*}.*)
         - `privateKeyPem`: (multiple options) (string) Nebius private key in PEM format | (string) A string containing one or more references that resolve to nebius private key in PEM format (pattern: .*\${.*}.*)
         - `kubeconfig`: (multiple options) (string) Kubeconfig | (string) A string containing one or more references that resolve to kubeconfig (pattern: .*\${.*}.*)
         - `applicationKeyId`: (multiple options) (string) Backblaze Application Key ID | (string) A string containing one or more references that resolve to backblaze Application Key ID (pattern: .*\${.*}.*)
         - `applicationKey`: (multiple options) (string) Backblaze Application Key | (string) A string containing one or more references that resolve to backblaze Application Key (pattern: .*\${.*}.*)
         - `host`: (multiple options) (string) Akamai Host | (string) A string containing one or more references that resolve to akamai Host (pattern: .*\${.*}.*)
         - `accessToken`: (multiple options) (string) Akamai Access Token | (string) A string containing one or more references that resolve to akamai Access Token (pattern: .*\${.*}.*)
         - `clientToken`: (multiple options) (string) Akamai Client Token | (string) A string containing one or more references that resolve to akamai Client Token (pattern: .*\${.*}.*)
         - `clientSecret`: (multiple options) (string) Akamai Client Secret | (string) A string containing one or more references that resolve to akamai Client Secret (pattern: .*\${.*}.*)
       - `aws`: (undefined)
       - `name`: (multiple options) (string) The name of the cloud provider integration. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the cloud provider integration. (pattern: .*\${.*}.*)
     - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: BYOCIntegration)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: {object}
         - `id`: (string) (required) ID of the integration (pattern: ^[A-Za-z0-9-]+$)
         - `name`: (string) (required) The name of the cloud provider integration. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
         - `description`: (string) The description of the integration. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
         - `provider`: (string) (required) Cloud provider to be used for the selected resource (enum: aws, azure, civo, gcp, oci, cloudflare, coreweave, nebius, aiven, backblaze, akamai, byok)
         - `features`: [array of] (string) The type of provider integration. (enum: byoc, byoc-static-egress, byoc-custom-launch-templates, byoc-custom-vpc, byoc-logs, cloudfront, route53, registry-pull, registry-push, opentofu, workload-identity, workload-identity-managed)
         - `restrictions`: {object}
           - `enabled`: (boolean) (required) Enable or disable BYOC restrictions for this entity
           - `teams`: [array of] {object}
               - `teamId`: (string) (required) The ID of the team that has access to this BYOC cluster
         - `credentials`: {object}
           - `keyfileJson`: (string) Contents of a GCP key file.
           - `accessKey`: (string) AWS access key.
           - `secretKey`: (string) AWS secret key.
           - `roleArn`: (string) AWS IAM role ARN.
           - `externalId`: (string) AWS shared secret (external id).
           - `apiKey`: (string) API key.
           - `email`: (string) Email address for Cloudflare global API key. (format: email)
           - `tenantId`: (string) Directory (tenant) ID 
           - `clientId`: (string) Application (client) ID 
           - `objectId`: (string) Object ID
           - `secret`: (string) Secret
           - `subscriptionId`: (string) Azure Subscription ID
           - `region`: (string) OCI Authentication Region
           - `tenancyId`: (string) OCI Tenancy ID
           - `userId`: (string) User ID
           - `fingerprint`: (string) Fingerprint
           - `privateKey`: (string) OCI Private Key
           - `passphrase`: (string) Passphrase
           - `compartmentId`: (string) OCI Compartment ID
           - `serviceAccountId`: (string) Nebius service account ID
           - `publicKeyId`: (string) Nebius authorized public key ID
           - `privateKeyPem`: (string) Nebius private key in PEM format
           - `kubeconfig`: (string) Kubeconfig
           - `applicationKeyId`: (string) Backblaze Application Key ID
           - `applicationKey`: (string) Backblaze Application Key
           - `host`: (string) Akamai Host
           - `accessToken`: (string) Akamai Access Token
           - `clientToken`: (string) Akamai Client Token
           - `clientSecret`: (string) Akamai Client Secret
         - `aws`: {object}
           - `authenticationMode`: (string) The provider authentication mode to use for this integration. (enum: accessKey, crossAccountRole)
           - `permissionCheckLevel`: (string) (enum: enabled, disabled, ignore-implicit-deny-by-organization)
         - `gcp`: {object}
           - `projectId`: (string) (required) GCP Project ID
           - `authenticationMode`: (string) The provider authentication mode to use for this integration. (enum: accessKey, crossAccountRole)
           - `serviceAccountEmail`: (string) Service account email that will be used for cross account access.
         - `cloudflare`: {object}
           - `credentialType`: (string) The type of api key (enum: apiToken, originCAKey, globalApiKey)
         - `createdAt`: (string) (required) The time the integration was created. (format: date-time)
     - `spec`: {object}
       - `name`: (multiple options) (string) The name of the cloud provider integration. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the cloud provider integration. (pattern: .*\${.*}.*)
       - `description`: (string) The description of the integration. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
       - `provider`: (multiple options) (string) Cloud provider to be used for the selected resource (enum: aws, azure, civo, gcp, oci, cloudflare, coreweave, nebius, aiven, backblaze, akamai, byok) | (string) A string containing one or more references that resolve to cloud provider to be used for the selected resource (pattern: .*\${.*}.*)
       - `features`: [array of] (string) The type of provider integration. (enum: byoc, byoc-static-egress, byoc-custom-launch-templates, byoc-custom-vpc, byoc-logs, cloudfront, route53, registry-pull, registry-push, opentofu, workload-identity, workload-identity-managed)
       - `restrictions`: {object}
         - `enabled`: (boolean) (required) Enable or disable BYOC restrictions for this entity
         - `teams`: [array of] {object}
             - `teamId`: (string) (required) The ID of the team that has access to this BYOC cluster (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 45)
       - `credentials`: {object}
         - `keyfileJson`: (multiple options) (string) Contents of a GCP key file. | (string) A string containing one or more references that resolve to contents of a GCP key file. (pattern: .*\${.*}.*)
         - `accessKey`: (multiple options) (string) AWS access key. | (string) A string containing one or more references that resolve to aWS access key. (pattern: .*\${.*}.*)
         - `secretKey`: (multiple options) (string) AWS secret key. | (string) A string containing one or more references that resolve to aWS secret key. (pattern: .*\${.*}.*)
         - `roleArn`: (multiple options) (string) AWS IAM role ARN. | (string) A string containing one or more references that resolve to aWS IAM role ARN. (pattern: .*\${.*}.*)
         - `externalId`: (multiple options) (string) AWS shared secret (external id). | (string) A string containing one or more references that resolve to aWS shared secret (external id). (pattern: .*\${.*}.*)
         - `apiKey`: (multiple options) (string) API key. | (string) A string containing one or more references that resolve to aPI key. (pattern: .*\${.*}.*)
         - `email`: (multiple options) (string) Email address for Cloudflare global API key. (format: email) | (string) A string containing one or more references that resolve to email address for Cloudflare global API key. (pattern: .*\${.*}.*)
         - `tenantId`: (multiple options) (string) Directory (tenant) ID  | (string) A string containing one or more references that resolve to directory (tenant) ID  (pattern: .*\${.*}.*)
         - `clientId`: (multiple options) (string) Application (client) ID  | (string) A string containing one or more references that resolve to application (client) ID  (pattern: .*\${.*}.*)
         - `objectId`: (multiple options) (string) Object ID | (string) A string containing one or more references that resolve to object ID (pattern: .*\${.*}.*)
         - `secret`: (multiple options) (string) Secret | (string) A string containing one or more references that resolve to secret (pattern: .*\${.*}.*)
         - `subscriptionId`: (multiple options) (string) Azure Subscription ID | (string) A string containing one or more references that resolve to azure Subscription ID (pattern: .*\${.*}.*)
         - `region`: (multiple options) (string) OCI Authentication Region | (string) A string containing one or more references that resolve to oCI Authentication Region (pattern: .*\${.*}.*)
         - `tenancyId`: (multiple options) (string) OCI Tenancy ID | (string) A string containing one or more references that resolve to oCI Tenancy ID (pattern: .*\${.*}.*)
         - `userId`: (multiple options) (string) User ID | (string) A string containing one or more references that resolve to user ID (pattern: .*\${.*}.*)
         - `fingerprint`: (multiple options) (string) Fingerprint | (string) A string containing one or more references that resolve to fingerprint (pattern: .*\${.*}.*)
         - `privateKey`: (multiple options) (string) OCI Private Key | (string) A string containing one or more references that resolve to oCI Private Key (pattern: .*\${.*}.*)
         - `passphrase`: (multiple options) (string) Passphrase | (string) A string containing one or more references that resolve to passphrase (pattern: .*\${.*}.*)
         - `compartmentId`: (multiple options) (string) OCI Compartment ID | (string) A string containing one or more references that resolve to oCI Compartment ID (pattern: .*\${.*}.*)
         - `serviceAccountId`: (multiple options) (string) Nebius service account ID | (string) A string containing one or more references that resolve to nebius service account ID (pattern: .*\${.*}.*)
         - `publicKeyId`: (multiple options) (string) Nebius authorized public key ID | (string) A string containing one or more references that resolve to nebius authorized public key ID (pattern: .*\${.*}.*)
         - `privateKeyPem`: (multiple options) (string) Nebius private key in PEM format | (string) A string containing one or more references that resolve to nebius private key in PEM format (pattern: .*\${.*}.*)
         - `kubeconfig`: (multiple options) (string) Kubeconfig | (string) A string containing one or more references that resolve to kubeconfig (pattern: .*\${.*}.*)
         - `applicationKeyId`: (multiple options) (string) Backblaze Application Key ID | (string) A string containing one or more references that resolve to backblaze Application Key ID (pattern: .*\${.*}.*)
         - `applicationKey`: (multiple options) (string) Backblaze Application Key | (string) A string containing one or more references that resolve to backblaze Application Key (pattern: .*\${.*}.*)
         - `host`: (multiple options) (string) Akamai Host | (string) A string containing one or more references that resolve to akamai Host (pattern: .*\${.*}.*)
         - `accessToken`: (multiple options) (string) Akamai Access Token | (string) A string containing one or more references that resolve to akamai Access Token (pattern: .*\${.*}.*)
         - `clientToken`: (multiple options) (string) Akamai Client Token | (string) A string containing one or more references that resolve to akamai Client Token (pattern: .*\${.*}.*)
         - `clientSecret`: (multiple options) (string) Akamai Client Secret | (string) A string containing one or more references that resolve to akamai Client Secret (pattern: .*\${.*}.*)
       - `aws`: {object}
         - `authenticationMode`: (string) The provider authentication mode to use for this integration. (enum: accessKey, crossAccountRole)
         - `permissionCheckLevel`: (string) (enum: enabled, disabled, ignore-implicit-deny-by-organization)
       - `gcp`: {object}
         - `projectId`: (string) (required) GCP Project ID
         - `authenticationMode`: (string) The provider authentication mode to use for this integration. (enum: accessKey, crossAccountRole)
       - `cloudflare`: {object}
         - `credentialType`: (string) The type of api key (enum: apiToken, originCAKey, globalApiKey)
     - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: RolloutStrategy)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: {object}
         - `id`: (string) (required) Identifier for the gradual rollout strategy
         - `name`: (string) (required) Name of the gradual rollout strategy
         - `type`: (string) (required) Type of the gradual rollout strategy (enum: canary)
         - `options`: {object}
           - `triggers`: {object}
             - `releaseFromTemplate`: (boolean)
             - `releaseFromReleaseFlow`: (boolean)
             - `releaseFromCD`: (boolean)
             - `releaseFromUI`: (boolean)
             - `releaseFromApi`: (boolean)
           - `blockDeploymentOnActiveRollout`: (boolean)
         - `details`: {object}
           - `canaryStrategy`: (string) (required) (enum: percentage, header)
           - `config`: (multiple options) {object}
               - `canaryPercentage`: (integer) (required)
               - `stablePercentage`: (integer) (required) | {object}
               - `headerName`: (string) (required) (min length: 1)
               - `headerValue`: (string) (required) (min length: 1)
     - `spec`: {object}
       - `name`: (multiple options) (string) Display name for the gradual rollout strategy | (string) A string containing one or more references that resolve to display name for the gradual rollout strategy (pattern: .*\${.*}.*)
       - `type`: (multiple options) (string) Type of the gradual rollout strategy (enum: canary) | (string) A string containing one or more references that resolve to type of the gradual rollout strategy (pattern: .*\${.*}.*)
       - `options`: (multiple options) {object}
           - `triggers`: (multiple options) {object}
               - `releaseFromTemplate`: (multiple options) (boolean) Automatically trigger the rollout strategy when a release is initiated from a template | (string) A string containing one or more references that resolve to automatically trigger the rollout strategy when a release is initiated from a template (pattern: .*\${.*}.*)
               - `releaseFromReleaseFlow`: (multiple options) (boolean) Automatically trigger the rollout strategy when a release is initiated from a release flow | (string) A string containing one or more references that resolve to automatically trigger the rollout strategy when a release is initiated from a release flow (pattern: .*\${.*}.*)
               - `releaseFromCD`: (multiple options) (boolean) Automatically trigger the rollout strategy when a release is initiated from a CD pipeline | (string) A string containing one or more references that resolve to automatically trigger the rollout strategy when a release is initiated from a CD pipeline (pattern: .*\${.*}.*)
               - `releaseFromUI`: (multiple options) (boolean) Automatically trigger the rollout strategy when a release is initiated from the UI | (string) A string containing one or more references that resolve to automatically trigger the rollout strategy when a release is initiated from the UI (pattern: .*\${.*}.*)
               - `releaseFromApi`: (multiple options) (boolean) Automatically trigger the rollout strategy when a release is initiated via the API | (string) A string containing one or more references that resolve to automatically trigger the rollout strategy when a release is initiated via the API (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to conditions under which a new release will automatically initiate as a gradual rollout (pattern: .*\${.*}.*)
           - `blockDeploymentOnActiveRollout`: (multiple options) (boolean) When enabled, new deployments are blocked while a rollout is in progress | (string) A string containing one or more references that resolve to when enabled, new deployments are blocked while a rollout is in progress (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
       - `details`: (multiple options) (multiple options) {object}
             - `canaryStrategy`: (multiple options) (string) Strategy used to split traffic between stable and canary deployments (enum: percentage, header) | (string) A string containing one or more references that resolve to strategy used to split traffic between stable and canary deployments (pattern: .*\${.*}.*)
             - `config`: (multiple options) (multiple options) {object}
                   - `canaryPercentage`: (multiple options) (integer) Percentage of traffic to route to the canary deployment | (string) A string containing one or more references that resolve to percentage of traffic to route to the canary deployment (pattern: .*\${.*}.*)
                   - `stablePercentage`: (multiple options) (integer) Percentage of traffic to route to the stable deployment | (string) A string containing one or more references that resolve to percentage of traffic to route to the stable deployment (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to configuration for the selected canary strategy (pattern: .*\${.*}.*) | (multiple options) {object}
                   - `canaryHeader`: {object}
                     - `headerName`: (multiple options) (string) HTTP header name used to identify requests that should be routed to the target deployment (min length: 1) | (string) A string containing one or more references that resolve to hTTP header name used to identify requests that should be routed to the target deployment (pattern: .*\${.*}.*)
                     - `headerValue`: (multiple options) (string) HTTP header value that routes matching requests to the target deployment (min length: 1) | (string) A string containing one or more references that resolve to hTTP header value that routes matching requests to the target deployment (pattern: .*\${.*}.*)
                   - `stableHeader`: {object}
                     - `headerName`: (multiple options) (string) HTTP header name used to identify requests that should be routed to the target deployment (min length: 1) | (string) A string containing one or more references that resolve to hTTP header name used to identify requests that should be routed to the target deployment (pattern: .*\${.*}.*)
                     - `headerValue`: (multiple options) (string) HTTP header value that routes matching requests to the target deployment (min length: 1) | (string) A string containing one or more references that resolve to hTTP header value that routes matching requests to the target deployment (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to configuration for the selected canary strategy (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to strategy-specific configuration details (pattern: .*\${.*}.*)
     - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: RolloutStrategy)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: {object}
         - `id`: (string) (required) Identifier for the gradual rollout strategy
         - `name`: (string) (required) Name of the gradual rollout strategy
         - `type`: (string) (required) Type of the gradual rollout strategy (enum: canary)
         - `options`: {object}
           - `triggers`: {object}
             - `releaseFromTemplate`: (boolean)
             - `releaseFromReleaseFlow`: (boolean)
             - `releaseFromCD`: (boolean)
             - `releaseFromUI`: (boolean)
             - `releaseFromApi`: (boolean)
           - `blockDeploymentOnActiveRollout`: (boolean)
         - `details`: {object}
           - `canaryStrategy`: (string) (required) (enum: percentage, header)
           - `config`: (multiple options) {object}
               - `canaryPercentage`: (integer) (required)
               - `stablePercentage`: (integer) (required) | {object}
               - `headerName`: (string) (required) (min length: 1)
               - `headerValue`: (string) (required) (min length: 1)
     - `spec`: {object}
       - `name`: (multiple options) (string) Display name for the gradual rollout strategy | (string) A string containing one or more references that resolve to display name for the gradual rollout strategy (pattern: .*\${.*}.*)
       - `type`: (multiple options) (string) Type of the gradual rollout strategy (enum: canary) | (string) A string containing one or more references that resolve to type of the gradual rollout strategy (pattern: .*\${.*}.*)
       - `options`: (multiple options) {object}
           - `triggers`: (multiple options) {object}
               - `releaseFromTemplate`: (multiple options) (boolean) Automatically trigger the rollout strategy when a release is initiated from a template | (string) A string containing one or more references that resolve to automatically trigger the rollout strategy when a release is initiated from a template (pattern: .*\${.*}.*)
               - `releaseFromReleaseFlow`: (multiple options) (boolean) Automatically trigger the rollout strategy when a release is initiated from a release flow | (string) A string containing one or more references that resolve to automatically trigger the rollout strategy when a release is initiated from a release flow (pattern: .*\${.*}.*)
               - `releaseFromCD`: (multiple options) (boolean) Automatically trigger the rollout strategy when a release is initiated from a CD pipeline | (string) A string containing one or more references that resolve to automatically trigger the rollout strategy when a release is initiated from a CD pipeline (pattern: .*\${.*}.*)
               - `releaseFromUI`: (multiple options) (boolean) Automatically trigger the rollout strategy when a release is initiated from the UI | (string) A string containing one or more references that resolve to automatically trigger the rollout strategy when a release is initiated from the UI (pattern: .*\${.*}.*)
               - `releaseFromApi`: (multiple options) (boolean) Automatically trigger the rollout strategy when a release is initiated via the API | (string) A string containing one or more references that resolve to automatically trigger the rollout strategy when a release is initiated via the API (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to conditions under which a new release will automatically initiate as a gradual rollout (pattern: .*\${.*}.*)
           - `blockDeploymentOnActiveRollout`: (multiple options) (boolean) When enabled, new deployments are blocked while a rollout is in progress | (string) A string containing one or more references that resolve to when enabled, new deployments are blocked while a rollout is in progress (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
       - `details`: (multiple options) (multiple options) {object}
             - `canaryStrategy`: (multiple options) (string) Strategy used to split traffic between stable and canary deployments (enum: percentage, header) | (string) A string containing one or more references that resolve to strategy used to split traffic between stable and canary deployments (pattern: .*\${.*}.*)
             - `config`: (multiple options) (multiple options) {object}
                   - `canaryPercentage`: (multiple options) (integer) Percentage of traffic to route to the canary deployment | (string) A string containing one or more references that resolve to percentage of traffic to route to the canary deployment (pattern: .*\${.*}.*)
                   - `stablePercentage`: (multiple options) (integer) Percentage of traffic to route to the stable deployment | (string) A string containing one or more references that resolve to percentage of traffic to route to the stable deployment (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to configuration for the selected canary strategy (pattern: .*\${.*}.*) | (multiple options) {object}
                   - `canaryHeader`: {object}
                     - `headerName`: (multiple options) (string) HTTP header name used to identify requests that should be routed to the target deployment (min length: 1) | (string) A string containing one or more references that resolve to hTTP header name used to identify requests that should be routed to the target deployment (pattern: .*\${.*}.*)
                     - `headerValue`: (multiple options) (string) HTTP header value that routes matching requests to the target deployment (min length: 1) | (string) A string containing one or more references that resolve to hTTP header value that routes matching requests to the target deployment (pattern: .*\${.*}.*)
                   - `stableHeader`: {object}
                     - `headerName`: (multiple options) (string) HTTP header name used to identify requests that should be routed to the target deployment (min length: 1) | (string) A string containing one or more references that resolve to hTTP header name used to identify requests that should be routed to the target deployment (pattern: .*\${.*}.*)
                     - `headerValue`: (multiple options) (string) HTTP header value that routes matching requests to the target deployment (min length: 1) | (string) A string containing one or more references that resolve to hTTP header value that routes matching requests to the target deployment (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to configuration for the selected canary strategy (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to strategy-specific configuration details (pattern: .*\${.*}.*)
     - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: BYOCCluster)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: {object}
         - `id`: (string) (required) The ID of cluster
         - `name`: (string) (required) The name of the cluster. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 20)
         - `entityType`: (string) (enum: org, team)
         - `description`: (string) The description of the cluster. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
         - `provider`: (string) (required) Cloud provider to be used for the selected resource (enum: aws, azure, civo, gcp, oci, cloudflare, coreweave, nebius, aiven, backblaze, akamai, byok)
         - `region`: (string) Region of the cluster. Can only be updated for BYOK clusters.
         - `status`: {object}
           - `state`: {object}
             - `state`: (string) (required) Current state of the cluster.
             - `transitionTime`: (string) Time of the last state transition. (format: date-time)
             - `reason`: (string) The reason, given the cluster is in an error state.
         - `kubernetesVersion`: (string) Deprecated: This field is no longer used, the version is now set by the platform.
         - `integrationId`: (string) Existing integration to use for this cluster. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)
         - `storage`: {object}
           - `storageClasses`: [array of] {object}
               - `id`: (string) (required)
               - `name`: (string) (required)
               - `description`: (string)
               - `type`: (string) (enum: storage-class, snapshot-class)
               - `kubernetesName`: (string) (required)
               - `defaultSnapshotClass`: (string)
               - `options`: {object}
                 - `capabilities`: {object}
                   - `expansion`: (boolean) Increasing volume size after provisioning.
                   - `snapshot`: (boolean) Point in time snapshotting of volumes.
                 - `accessModes`: {object}
                   - `ReadWriteOnce`: (boolean) Access mode where a volume is exclusively attached to a single pod at a time.
                   - `ReadWriteMany`: (boolean) Access mode where a volume can be attached to multiple single pods at a time for read and write operations.
                 - `storageSize`: {object}
                   - `minValidSize`: (integer) Enforces a minimum storage size per addon or volume.
                   - `maxValidSize`: (integer) Enforces a maximum storage size per addon or volume.
                   - `suggestedOptions`: [array of] (integer)
                 - `platform`: {object}
                   - `supportedResources`: [array of] (string) (enum: addon, volume, build-cache)
           - `snapshotClasses`: [array of] {object}
               - `id`: (string) (required)
               - `name`: (string) (required)
               - `description`: (string)
               - `kubernetesName`: (string) (required)
         - `nodePools`: (multiple options) [array of] {object}
               - `id`: (string) (required) ID of existing node pool. Must be passed when modifying existing node pools. Not relevant for new node pools (pattern: (^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)|(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89ABab][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$)) (min length: 3) (max length: 63)
               - `nodeType`: (string) (required) Machine type to be used by the node pool.
               - `oci`: {object}
                 - `ocpu`: (integer) (required)
                 - `memory`: (integer) (required)
               - `gcp`: {object}
                 - `enablePrivateNodes`: (boolean) Set this flag to disable public IP assignment for nodes in this node pool.
               - `azure`: {object}
                 - `systemPool`: (boolean) When 'provider' is 'azure', at least one system node pool is required per cluster.
                 - `enablePublicNodeIp`: (boolean) When 'provider' is 'azure', set this flag to use public node IPs.
                 - `vnetSubnetId`: (string) ID of the vnet subnet to use.
               - `aws`: {object}
                 - `launchTemplate`: {object}
                   - `id`: (string) (required) ID of the launch template to use.
                   - `version`: (integer) (required) Version of the launch template that should be used.
               - `nebius`: {object}
                 - `enablePublicNodeIps`: (boolean) Set this flag to assign public IPs to nodes in this node pool.
                 - `osVersion`: (string) OS image version for nodes in this node pool.
                 - `gpuDriverVersion`: (string) GPU driver version for nodes in this node pool.
                 - `gpuClusterId`: (string) Nebius GPU cluster to attach the node pool to.
               - `nodeCount`: (integer) (required) Number of nodes to the node pool should be provisioned with.
               - `autoscaling`: {object}
                 - `enabled`: (boolean) Whether autoscaling is enabled for the node pool.
                 - `min`: (integer) The minimum number of nodes the node pool can be scaled down to.
                 - `max`: (integer) The maximum number of nodes the node pool can be scaled up to.
               - `computeResources`: {object}
                 - `gpu`: {object}
                   - `type`: (string) (required) GPU type associated with the node pool. (pattern: [a-z0-9])
                   - `resources`: {object}
                     - `memoryInfo`: {object}
                       - `sizeInGiB`: (number) Memory amount of the GPU in Gib. (format: float)
                   - `count`: (integer) (required) Number of GPUs per node.
                   - `timeslicing`: {object}
                     - `enabled`: (boolean) Whether or not to enable time-slicing on the GPU.
                     - `numSlices`: (number) Sets the amount of slices per GPU, e.g. how many pods may be scheduled concurrently on each GPU. (format: float)
               - `preemptible`: (boolean) Configures node pool with preemptible / spot instances if enabled.
               - `diskType`: (string) The disk type to use.
               - `diskSize`: (integer) (required) Disk size in GB
               - `availabilityZones`: [array of] (string)
               - `subnets`: [array of] (string)
               - `scheduling`: {object}
                 - `allowJobs`: (boolean) Allow jobs to schedule to this node pool
                 - `onlyGpuJobs`: (boolean) Restrict job scheduling to jobs which have GPU resources configured. Only relevant for GPU node pools.
                 - `allowServices`: (boolean) Allow services to schedule to this node pool
                 - `onlyGpuServices`: (boolean) Restrict service scheduling to services which have GPU resources configured. Only relevant for GPU node pools.
                 - `allowAddons`: (boolean) Allow addons to schedule to this node pool
                 - `allowBuilds`: (boolean) Allow builds to schedule to this node pool
                 - `onlyGpuBuilds`: (boolean) Restrict build scheduling to builds which have GPU resources configured. Only relevant for GPU node pools.
                 - `allowCeph`: (boolean) Allow the placement of Ceph pods
               - `labels`: {object} | [array of] {object}
               - `id`: (string) (required) ID of the node pool. Must be passed when modifying existing node pools. Not relevant for new node pools (pattern: (^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)|(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89ABab][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$)) (min length: 3) (max length: 63)
               - `providerId`: (string) (required) ID which identifies kubernetes nodes as belonging to this pool. (pattern: (^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)|(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89ABab][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$)) (min length: 3) (max length: 63)
               - `computeResources`: {object}
                 - `gpu`: {object}
                   - `supported`: (boolean) Whether this node pool consists of GPU nodes .
                   - `type`: (string) GPU type associated with the node pool. (pattern: [a-z0-9])
                   - `resources`: {object}
                     - `memoryInfo`: {object}
                       - `sizeInGiB`: (number) Memory amount of the GPU in Gib. (format: float)
                   - `mig`: {object}
                     - `enabled`: (boolean) Whether or not to enable Multi-Instance GPU (MIG).
                     - `partitions`: [array of] (string)
                   - `timeslicing`: {object}
                     - `enabled`: (boolean) Whether or not to enable time-slicing on the GPU.
                     - `numSlices`: (number) Sets the amount of slices per GPU, e.g. how many pods may be scheduled concurrently on each GPU. (format: float)
                   - `count`: (integer) Number of GPUs per node.
               - `defaultPool`: (boolean) Fallback pool to which nodes which do not match any defined node pool are assigned. Exactly one default pool is required.
               - `preemptible`: (boolean) Configures node pool with preemptible / spot instances if enabled.
               - `scheduling`: {object}
                 - `allowJobs`: (boolean) Allow jobs to schedule to this node pool
                 - `onlyGpuJobs`: (boolean) Restrict job scheduling to jobs which have GPU resources configured. Only relevant for GPU node pools.
                 - `allowServices`: (boolean) Allow services to schedule to this node pool
                 - `onlyGpuServices`: (boolean) Restrict service scheduling to services which have GPU resources configured. Only relevant for GPU node pools.
                 - `allowAddons`: (boolean) Allow addons to schedule to this node pool
                 - `allowBuilds`: (boolean) Allow builds to schedule to this node pool
                 - `onlyGpuBuilds`: (boolean) Restrict build scheduling to builds which have GPU resources configured. Only relevant for GPU node pools.
                 - `allowCeph`: (boolean) Allow the placement of Ceph pods
               - `platform`: {object}
                 - `architecture`: (string) Platform architecture of the underlying node type. (enum: amd64, arm64)
               - `labels`: {object}
         - `settings`: {object}
           - `builds`: {object}
             - `mode`: (string) Determines where builds are run: on Northflank infrastructure (paas), on this cluster (internal) or on a dedicated build cluster (build-cluster). (enum: paas, internal, build-cluster)
             - `plan`: (string) Plan to use for builds if they are run on the cluster (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
             - `clusterId`: (string) Cluster to use for scheduling builds (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)
             - `caching`: {object}
               - `allow`: (boolean) Whether to allow local disk based caching for builds.
               - `storageClassName`: (string) Storage class used by default for local disk based caching.
           - `registry`: {object}
             - `mode`: (string) Determines where built images are stored: in the Northflank registry (paas) or in a self-hosted registry. (enum: paas, self-hosted)
             - `registryId`: (string) Credentials to use for storing of images. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)
           - `logging`: (multiple options) {object}
               - `mode`: (string) The logging mode. `paas` stores logs on Northflank infrastructure. (enum: paas) | {object}
               - `mode`: (string) (required) The logging mode. `loki` stores logs in your own storage via Loki. (enum: loki)
               - `loki`: {object}
                 - `storageType`: (string) (required) (enum: s3)
                 - `s3BucketName`: (string) (required) Name of the S3 bucket used for Loki log storage.
                 - `s3AccessKey`: (string) (required) Access key for the S3 bucket used for Loki log storage.
                 - `s3SecretKey`: (string) (required) Secret key for the S3 bucket used for Loki log storage.
                 - `s3Region`: (string) (required) Region of the S3 bucket used for Loki log storage. | {object}
               - `mode`: (string) (required) The logging mode. `loki` stores logs in your own storage via Loki. (enum: loki)
               - `loki`: {object}
                 - `storageType`: (string) (required) (enum: gcs)
                 - `gcsBucketName`: (string) (required) Name of the GCS bucket used for Loki log storage.
                 - `gcpIntegrationId`: (string) (required) ID of the GCP integration used to access the GCS bucket. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)
           - `networking`: {object}
             - `overlayNetwork`: (boolean) Whether overlay networking is enabled for this cluster.
             - `overlayCIDR`: (string) CIDR range for the overlay network. (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$)
           - `vanityDomains`: {object}
             - `apps`: {object}
               - `zoneName`: (string) (required)
               - `integrationId`: (string) (required)
             - `customDomains`: {object}
               - `zoneName`: (string) (required)
               - `integrationId`: (string) (required)
             - `loadBalancers`: {object}
               - `zoneName`: (string) (required)
               - `integrationId`: (string) (required)
           - `infrastructure`: {object}
             - `workloads`: {object}
               - `runtimeClass`: (string) Defines which runtime scheduling constraints apply for workloads (enum: none, gvisor, kata-clh, kata-qemu)
             - `builds`: {object}
               - `runtimeClass`: (string) Defines which runtime scheduling constraints apply for builds (enum: none, gvisor, kata-clh, kata-qemu)
             - `sandboxing`: {object}
               - `installGvisor`: (boolean)
               - `installMicroVm`: (boolean)
               - `defaultSandbox`: {object}
                 - `builds`: (string) Default runtime class used for builds if none is configured (enum: none, gvisor, kata-clh, kata-qemu)
                 - `jobs`: (string) Default runtime class used for jobs if none is configured (enum: none, gvisor, kata-clh, kata-qemu)
                 - `services`: (string) Default runtime class used for services if none is configured (enum: none, gvisor, kata-clh, kata-qemu)
                 - `addons`: (string) Default runtime class used for addons if none is configured (enum: none, gvisor, kata-clh, kata-qemu)
             - `installKata`: (boolean) DEPRECATED: This field will be removed in the near future.
             - `installGvisor`: (boolean) DEPRECATED: This field will be removed in the near future.
             - `cleanupVolumes`: (boolean)
             - `cleanupSnapshots`: (boolean)
             - `cephStorageProvider`: {object}
               - `enabled`: (boolean)
               - `resources`: {object}
                 - `cpu`: (number) Configure the CPU resources per Ceph replica (format: float)
                 - `memory`: (number) Configure the memory resources per Ceph replica (format: float)
                 - `storage`: (number) Configure the data disk size per Ceph replica (format: float)
               - `enableMultiReadWriteStorage`: (boolean) Configure Ceph to be enable use of multi read write storage for persistent volumes on the cluster.
               - `enableSingleReadWriteStorage`: (boolean) Configure Ceph to be used as default storage class for single read write storage. This will replace the default storage of the cloud provider.
               - `enableErasureCoding`: (boolean) Configure Ceph to be set up with erasure coding. This will be less fault tolerant but more cost effective.
               - `enableTopologyAwareScheduling`: (boolean) Configure Ceph to be set up with topology aware scheduling, enforcing deployment across multiple zones.
           - `requestModifiers`: {object}
             - `services`: {object}
               - `cpu`: (number) (required) (format: float)
               - `memory`: (number) (required) (format: float)
             - `jobs`: {object}
               - `cpu`: (number) (required) (format: float)
               - `memory`: (number) (required) (format: float)
             - `builds`: {object}
               - `cpu`: (number) (required) (format: float)
               - `memory`: (number) (required) (format: float)
             - `addons`: {object}
               - `cpu`: (number) (required) (format: float)
               - `memory`: (number) (required) (format: float)
         - `restrictions`: {object}
           - `enabled`: (boolean) (required) Enable or disable BYOC restrictions for this entity
           - `teams`: [array of] {object}
               - `teamId`: (string) (required) The ID of the team that has access to this BYOC cluster (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 45)
         - `gcp`: {object}
           - `networking`: {object}
             - `network`: (string) Name of the GCP network the cluster should be created in. By default a new network will be created.
             - `subnetwork`: (string) Name of the GCP subnetwork the cluster should be created in. By default a new subnetwork will be created.
           - `enableAuthorizedIpRanges`: (boolean) Whether access to the Kubernetes API server should be restricted to authorized IP ranges.
           - `authorizedIpRanges`: [array of] (string) (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$)
           - `projectId`: (string) GCP Project ID (pattern: ^[a-z][a-z0-9-]{4,28}[a-z0-9]$)
         - `aws`: {object}
           - `enablePublicAccessCidrs`: (boolean) Whether access to the public Kubernetes API endpoint should be restricted to specific CIDR ranges.
           - `publicAccessCidrs`: [array of] (string) (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$)
           - `subnetConfiguration`: {object}
             - `mode`: (string) (required) The mode of the AWS subnet configuration (enum: default-subnets-for-azs, explicit-subnets)
             - `vpcId`: (string) Id of the VPC
             - `subnets`: [array of] (string)
           - `vpcEgress`: (boolean) If egress traffic from the cluster should come from a single static egress IP.
         - `oci`: {object}
           - `vcnConfiguration`: {object}
             - `vcnId`: (string) (required) ID of the OCI VCN the cluster should be created in.
             - `subnetIdForKubernetesApi`: (string) (required) ID of the subnet to use for the Kubernetes API endpoint.
             - `subnetIdsForServiceLBs`: [array of] (string)
         - `azure`: {object}
           - `networking`: {object}
             - `vnetConfiguration`: {object}
               - `mode`: (string) (required) The vnet mode to use for this cluster. Use this to switch between creation of a new vnet per cluster or specifying a custom vnet. (enum: create-default, custom-vnet)
               - `vnetId`: (string) Azure vnetId that should be used for this cluster. By default a new vnet will be created.
             - `networkPluginMode`: (string) Optional setting to configure overlay mode on Azure. (enum: overlay)
           - `enableAuthorizedIpRanges`: (boolean) Whether access to the Kubernetes API server should be restricted to authorized IP ranges.
           - `authorizedIpRanges`: [array of] (string) (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$)
         - `coreweave`: {object}
           - `zone`: (string) (required) AZ of the cluster
           - `network`: {object}
             - `networkMode`: (string) (required) The network mode to use for this cluster. Use this to switch between the default network configuration and a custom VPC. (enum: create-default, custom)
             - `vpcId`: (string) ID of the CoreWeave VPC to use for this cluster.
             - `customPrefixNames`: {object}
               - `podCidrName`: (string) (required) Name of the VPC prefix to use for the pod CIDR.
               - `serviceCidrName`: (string) (required) Name of the VPC prefix to use for the service CIDR.
               - `internalLbCidrNames`: [array of] (string)
         - `nebius`: {object}
           - `projectId`: (string) (required) Nebius project ID to place the cluster in.
           - `subnetId`: (string) (required) Nebius VPC subnet ID for the cluster.
         - `byok`: {object}
           - `nodePoolProviderIdLabel`: (string) (required) The node label used to identify which provider node pool a node belongs to.
         - `coordinates`: {object}
           - `latitude`: (number) (required) (format: float)
           - `longitude`: (number) (required) (format: float)
         - `dns`: (string) Auto-generated dns identifier for this cluster.
         - `updatedAt`: (string) (required) The time the cluster was last updated. (format: date-time)
         - `createdAt`: (string) (required) The time the cluster was created. (format: date-time)
         - `deletionRequested`: (boolean) (required) Indicates if provider resource deletion has been requested.
     - `spec`: {object}
       - `name`: (multiple options) (string) The name of the cluster. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 20) | (string) A string containing one or more references that resolve to the name of the cluster. (pattern: .*\${.*}.*)
       - `description`: (string) The description of the cluster. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
       - `kubernetesVersion`: (multiple options) (string) Deprecated: This field is no longer used, the version is now set by the platform. | (string) A string containing one or more references that resolve to deprecated: This field is no longer used, the version is now set by the platform. (pattern: .*\${.*}.*)
       - `nodePools`: (multiple options) [array of] {object}
             - `id`: (string) (required) ID of existing node pool. Must be passed when modifying existing node pools. Not relevant for new node pools (pattern: (^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)|(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89ABab][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$)) (min length: 3) (max length: 63)
             - `nodeType`: (multiple options) (string) Machine type to be used by the node pool. | (string) A string containing one or more references that resolve to machine type to be used by the node pool. (pattern: .*\${.*}.*)
             - `oci`: {object}
               - `ocpu`: (integer) (required)
               - `memory`: (integer) (required)
             - `gcp`: {object}
               - `enablePrivateNodes`: (boolean) Set this flag to disable public IP assignment for nodes in this node pool.
             - `azure`: {object}
               - `systemPool`: (boolean) When 'provider' is 'azure', at least one system node pool is required per cluster.
               - `enablePublicNodeIp`: (boolean) When 'provider' is 'azure', set this flag to use public node IPs.
               - `vnetSubnetId`: (multiple options) (string) ID of the vnet subnet to use. | (string) A string containing one or more references that resolve to iD of the vnet subnet to use. (pattern: .*\${.*}.*)
             - `aws`: {object}
               - `launchTemplate`: {object}
                 - `id`: (multiple options) (string) ID of the launch template to use. | (string) A string containing one or more references that resolve to iD of the launch template to use. (pattern: .*\${.*}.*)
                 - `version`: (multiple options) (integer) Version of the launch template that should be used. | (string) A string containing one or more references that resolve to version of the launch template that should be used. (pattern: .*\${.*}.*)
             - `nebius`: {object}
               - `enablePublicNodeIps`: (boolean) Set this flag to assign public IPs to nodes in this node pool.
               - `osVersion`: (string) OS image version for nodes in this node pool.
               - `gpuDriverVersion`: (string) GPU driver version for nodes in this node pool.
               - `gpuClusterId`: (string) Nebius GPU cluster to attach the node pool to.
             - `nodeCount`: (multiple options) (integer) Number of nodes to the node pool should be provisioned with. | (string) A string containing one or more references that resolve to number of nodes to the node pool should be provisioned with. (pattern: .*\${.*}.*)
             - `autoscaling`: {object}
               - `enabled`: (multiple options) (boolean) Whether autoscaling is enabled for the node pool. | (string) A string containing one or more references that resolve to whether autoscaling is enabled for the node pool. (pattern: .*\${.*}.*)
               - `min`: (multiple options) (integer) The minimum number of nodes the node pool can be scaled down to. | (string) A string containing one or more references that resolve to the minimum number of nodes the node pool can be scaled down to. (pattern: .*\${.*}.*)
               - `max`: (multiple options) (integer) The maximum number of nodes the node pool can be scaled up to. | (string) A string containing one or more references that resolve to the maximum number of nodes the node pool can be scaled up to. (pattern: .*\${.*}.*)
             - `computeResources`: {object}
               - `gpu`: {object}
                 - `timeslicing`: {object}
                   - `enabled`: (boolean) Whether or not to enable time-slicing on the GPU.
                   - `numSlices`: (number) Sets the amount of slices per GPU, e.g. how many pods may be scheduled concurrently on each GPU. (format: float)
             - `preemptible`: (boolean) Configures node pool with preemptible / spot instances if enabled.
             - `diskType`: (multiple options) (string) The disk type to use. | (string) A string containing one or more references that resolve to the disk type to use. (pattern: .*\${.*}.*)
             - `diskSize`: (multiple options) (integer) Disk size in GB | (string) A string containing one or more references that resolve to disk size in GB (pattern: .*\${.*}.*)
             - `availabilityZones`: [array of] (multiple options) (string) | (string) (pattern: .*\${.*}.*)
             - `subnets`: [array of] (multiple options) (string) | (string) (pattern: .*\${.*}.*)
             - `scheduling`: {object}
               - `allowJobs`: (boolean) Allow jobs to schedule to this node pool
               - `onlyGpuJobs`: (boolean) Restrict job scheduling to jobs which have GPU resources configured. Only relevant for GPU node pools.
               - `allowServices`: (boolean) Allow services to schedule to this node pool
               - `onlyGpuServices`: (boolean) Restrict service scheduling to services which have GPU resources configured. Only relevant for GPU node pools.
               - `allowAddons`: (boolean) Allow addons to schedule to this node pool
               - `allowBuilds`: (boolean) Allow builds to schedule to this node pool
               - `onlyGpuBuilds`: (boolean) Restrict build scheduling to builds which have GPU resources configured. Only relevant for GPU node pools.
               - `allowCeph`: (boolean) Allow the placement of Ceph pods
             - `labels`: {object} | [array of] {object}
             - `id`: (string) (required) ID of the node pool. Must be passed when modifying existing node pools. Not relevant for new node pools (pattern: (^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)|(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89ABab][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$)) (min length: 3) (max length: 63)
             - `providerId`: (string) (required) ID which identifies kubernetes nodes as belonging to this pool. (pattern: (^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)|(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89ABab][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$)) (min length: 3) (max length: 63)
             - `computeResources`: {object}
               - `gpu`: {object}
                 - `supported`: (boolean) Whether this node pool consists of GPU nodes .
                 - `type`: (string) GPU type associated with the node pool. (pattern: [a-z0-9])
                 - `resources`: {object}
                   - `memoryInfo`: {object}
                     - `sizeInGiB`: (number) Memory amount of the GPU in Gib. (format: float)
                 - `mig`: {object}
                   - `enabled`: (boolean) Whether or not to enable Multi-Instance GPU (MIG).
                   - `partitions`: [array of] (string)
                 - `timeslicing`: {object}
                   - `enabled`: (boolean) Whether or not to enable time-slicing on the GPU.
                   - `numSlices`: (number) Sets the amount of slices per GPU, e.g. how many pods may be scheduled concurrently on each GPU. (format: float)
                 - `count`: (integer) Number of GPUs per node.
             - `defaultPool`: (boolean) Fallback pool to which nodes which do not match any defined node pool are assigned. Exactly one default pool is required.
             - `preemptible`: (boolean) Configures node pool with preemptible / spot instances if enabled.
             - `scheduling`: {object}
               - `allowJobs`: (boolean) Allow jobs to schedule to this node pool
               - `onlyGpuJobs`: (boolean) Restrict job scheduling to jobs which have GPU resources configured. Only relevant for GPU node pools.
               - `allowServices`: (boolean) Allow services to schedule to this node pool
               - `onlyGpuServices`: (boolean) Restrict service scheduling to services which have GPU resources configured. Only relevant for GPU node pools.
               - `allowAddons`: (boolean) Allow addons to schedule to this node pool
               - `allowBuilds`: (boolean) Allow builds to schedule to this node pool
               - `onlyGpuBuilds`: (boolean) Restrict build scheduling to builds which have GPU resources configured. Only relevant for GPU node pools.
               - `allowCeph`: (boolean) Allow the placement of Ceph pods
             - `platform`: {object}
               - `architecture`: (string) Platform architecture of the underlying node type. (enum: amd64, arm64)
             - `labels`: {object}
       - `settings`: {object}
         - `builds`: {object}
           - `mode`: (multiple options) (string) Determines where builds are run: on Northflank infrastructure (paas), on this cluster (internal) or on a dedicated build cluster (build-cluster). (enum: paas, internal, build-cluster) | (string) A string containing one or more references that resolve to determines where builds are run: on Northflank infrastructure (paas), on this cluster (internal) or on a dedicated build cluster (build-cluster). (pattern: .*\${.*}.*)
           - `plan`: (multiple options) (string) Plan to use for builds if they are run on the cluster (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to plan to use for builds if they are run on the cluster (pattern: .*\${.*}.*)
           - `clusterId`: (multiple options) (string) Cluster to use for scheduling builds (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to cluster to use for scheduling builds (pattern: .*\${.*}.*)
           - `caching`: {object}
             - `allow`: (boolean) Whether to allow local disk based caching for builds.
             - `storageClassName`: (string) Storage class used by default for local disk based caching.
         - `registry`: {object}
           - `mode`: (multiple options) (string) Determines where built images are stored: in the Northflank registry (paas) or in a self-hosted registry. (enum: paas, self-hosted) | (string) A string containing one or more references that resolve to determines where built images are stored: in the Northflank registry (paas) or in a self-hosted registry. (pattern: .*\${.*}.*)
           - `registryId`: (multiple options) (string) Credentials to use for storing of images. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to credentials to use for storing of images. (pattern: .*\${.*}.*)
         - `logging`: (multiple options) {object}
             - `mode`: (multiple options) (string) The logging mode. `paas` stores logs on Northflank infrastructure. (enum: paas) | (string) A string containing one or more references that resolve to the logging mode. `paas` stores logs on Northflank infrastructure. (pattern: .*\${.*}.*) | {object}
             - `mode`: (multiple options) (string) The logging mode. `loki` stores logs in your own storage via Loki. (enum: loki) | (string) A string containing one or more references that resolve to the logging mode. `loki` stores logs in your own storage via Loki. (pattern: .*\${.*}.*)
             - `loki`: {object}
               - `storageType`: (string) (required) (enum: s3)
               - `s3BucketName`: (multiple options) (string) Name of the S3 bucket used for Loki log storage. | (string) A string containing one or more references that resolve to name of the S3 bucket used for Loki log storage. (pattern: .*\${.*}.*)
               - `s3AccessKey`: (multiple options) (string) Access key for the S3 bucket used for Loki log storage. | (string) A string containing one or more references that resolve to access key for the S3 bucket used for Loki log storage. (pattern: .*\${.*}.*)
               - `s3SecretKey`: (multiple options) (string) Secret key for the S3 bucket used for Loki log storage. | (string) A string containing one or more references that resolve to secret key for the S3 bucket used for Loki log storage. (pattern: .*\${.*}.*)
               - `s3Region`: (multiple options) (string) Region of the S3 bucket used for Loki log storage. | (string) A string containing one or more references that resolve to region of the S3 bucket used for Loki log storage. (pattern: .*\${.*}.*) | {object}
             - `mode`: (multiple options) (string) The logging mode. `loki` stores logs in your own storage via Loki. (enum: loki) | (string) A string containing one or more references that resolve to the logging mode. `loki` stores logs in your own storage via Loki. (pattern: .*\${.*}.*)
             - `loki`: {object}
               - `storageType`: (string) (required) (enum: gcs)
               - `gcsBucketName`: (multiple options) (string) Name of the GCS bucket used for Loki log storage. | (string) A string containing one or more references that resolve to name of the GCS bucket used for Loki log storage. (pattern: .*\${.*}.*)
               - `gcpIntegrationId`: (multiple options) (string) ID of the GCP integration used to access the GCS bucket. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to iD of the GCP integration used to access the GCS bucket. (pattern: .*\${.*}.*)
         - `networking`: {object}
           - `overlayNetwork`: (boolean) Whether overlay networking is enabled for this cluster.
           - `overlayCIDR`: (string) CIDR range for the overlay network. (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$)
         - `vanityDomains`: {object}
           - `apps`: {object}
             - `zoneName`: (string) (required)
             - `integrationId`: (string) (required)
           - `customDomains`: {object}
             - `zoneName`: (string) (required)
             - `integrationId`: (string) (required)
           - `loadBalancers`: {object}
             - `zoneName`: (string) (required)
             - `integrationId`: (string) (required)
         - `infrastructure`: {object}
           - `workloads`: {object}
             - `runtimeClass`: (multiple options) (string) Defines which runtime scheduling constraints apply for workloads (enum: none, gvisor, kata-clh, kata-qemu) | (string) A string containing one or more references that resolve to defines which runtime scheduling constraints apply for workloads (pattern: .*\${.*}.*)
           - `builds`: {object}
             - `runtimeClass`: (multiple options) (string) Defines which runtime scheduling constraints apply for builds (enum: none, gvisor, kata-clh, kata-qemu) | (string) A string containing one or more references that resolve to defines which runtime scheduling constraints apply for builds (pattern: .*\${.*}.*)
           - `sandboxing`: {object}
             - `installGvisor`: (boolean)
             - `installMicroVm`: (boolean)
             - `defaultSandbox`: {object}
               - `builds`: (multiple options) (string) Default runtime class used for builds if none is configured (enum: none, gvisor, kata-clh, kata-qemu) | (string) A string containing one or more references that resolve to default runtime class used for builds if none is configured (pattern: .*\${.*}.*)
               - `jobs`: (multiple options) (string) Default runtime class used for jobs if none is configured (enum: none, gvisor, kata-clh, kata-qemu) | (string) A string containing one or more references that resolve to default runtime class used for jobs if none is configured (pattern: .*\${.*}.*)
               - `services`: (multiple options) (string) Default runtime class used for services if none is configured (enum: none, gvisor, kata-clh, kata-qemu) | (string) A string containing one or more references that resolve to default runtime class used for services if none is configured (pattern: .*\${.*}.*)
               - `addons`: (multiple options) (string) Default runtime class used for addons if none is configured (enum: none, gvisor, kata-clh, kata-qemu) | (string) A string containing one or more references that resolve to default runtime class used for addons if none is configured (pattern: .*\${.*}.*)
           - `installKata`: (boolean) DEPRECATED: This field will be removed in the near future.
           - `installGvisor`: (boolean) DEPRECATED: This field will be removed in the near future.
           - `cleanupVolumes`: (boolean)
           - `cleanupSnapshots`: (boolean)
           - `cephStorageProvider`: {object}
             - `enabled`: (boolean)
             - `resources`: {object}
               - `cpu`: (number) Configure the CPU resources per Ceph replica (format: float)
               - `memory`: (number) Configure the memory resources per Ceph replica (format: float)
               - `storage`: (number) Configure the data disk size per Ceph replica (format: float)
             - `enableMultiReadWriteStorage`: (boolean) Configure Ceph to be enable use of multi read write storage for persistent volumes on the cluster.
             - `enableSingleReadWriteStorage`: (boolean) Configure Ceph to be used as default storage class for single read write storage. This will replace the default storage of the cloud provider.
             - `enableErasureCoding`: (boolean) Configure Ceph to be set up with erasure coding. This will be less fault tolerant but more cost effective.
             - `enableTopologyAwareScheduling`: (boolean) Configure Ceph to be set up with topology aware scheduling, enforcing deployment across multiple zones.
         - `requestModifiers`: {object}
           - `services`: {object}
             - `cpu`: (number) (required) (format: float)
             - `memory`: (number) (required) (format: float)
           - `jobs`: {object}
             - `cpu`: (number) (required) (format: float)
             - `memory`: (number) (required) (format: float)
           - `builds`: {object}
             - `cpu`: (number) (required) (format: float)
             - `memory`: (number) (required) (format: float)
           - `addons`: {object}
             - `cpu`: (number) (required) (format: float)
             - `memory`: (number) (required) (format: float)
       - `restrictions`: {object}
         - `enabled`: (boolean) (required) Enable or disable BYOC restrictions for this entity
         - `teams`: [array of] {object}
             - `teamId`: (string) (required) The ID of the team that has access to this BYOC cluster (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 45)
       - `gcp`: {object}
         - `networking`: {object}
           - `network`: (multiple options) (string) Name of the GCP network the cluster should be created in. By default a new network will be created. | (string) A string containing one or more references that resolve to name of the GCP network the cluster should be created in. By default a new network will be created. (pattern: .*\${.*}.*)
           - `subnetwork`: (multiple options) (string) Name of the GCP subnetwork the cluster should be created in. By default a new subnetwork will be created. | (string) A string containing one or more references that resolve to name of the GCP subnetwork the cluster should be created in. By default a new subnetwork will be created. (pattern: .*\${.*}.*)
         - `enableAuthorizedIpRanges`: (multiple options) (boolean) Whether access to the Kubernetes API server should be restricted to authorized IP ranges. | (string) A string containing one or more references that resolve to whether access to the Kubernetes API server should be restricted to authorized IP ranges. (pattern: .*\${.*}.*)
         - `authorizedIpRanges`: (multiple options) [array of] (string) (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$) | (string) A string containing one or more references that resolve to iP ranges that are authorized to access the Kubernetes API server. (pattern: .*\${.*}.*)
         - `projectId`: (multiple options) (string) GCP Project ID (pattern: ^[a-z][a-z0-9-]{4,28}[a-z0-9]$) | (string) A string containing one or more references that resolve to gCP Project ID (pattern: .*\${.*}.*)
       - `aws`: {object}
         - `enablePublicAccessCidrs`: (multiple options) (boolean) Whether access to the public Kubernetes API endpoint should be restricted to specific CIDR ranges. | (string) A string containing one or more references that resolve to whether access to the public Kubernetes API endpoint should be restricted to specific CIDR ranges. (pattern: .*\${.*}.*)
         - `publicAccessCidrs`: (multiple options) [array of] (string) (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$) | (string) A string containing one or more references that resolve to cIDR ranges that are allowed to access the public Kubernetes API endpoint. (pattern: .*\${.*}.*)
         - `subnetConfiguration`: {object}
           - `mode`: (multiple options) (string) The mode of the AWS subnet configuration (enum: default-subnets-for-azs, explicit-subnets) | (string) A string containing one or more references that resolve to the mode of the AWS subnet configuration (pattern: .*\${.*}.*)
           - `vpcId`: (multiple options) (string) Id of the VPC | (string) A string containing one or more references that resolve to id of the VPC (pattern: .*\${.*}.*)
           - `subnets`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to list of subnets the cluster should be created for. At least 2 must be specified. (pattern: .*\${.*}.*)
         - `vpcEgress`: (multiple options) (boolean) If egress traffic from the cluster should come from a single static egress IP. | (string) A string containing one or more references that resolve to if egress traffic from the cluster should come from a single static egress IP. (pattern: .*\${.*}.*)
       - `azure`: {object}
         - `networking`: {object}
           - `vnetConfiguration`: {object}
             - `mode`: (multiple options) (string) The vnet mode to use for this cluster. Use this to switch between creation of a new vnet per cluster or specifying a custom vnet. (enum: create-default, custom-vnet) | (string) A string containing one or more references that resolve to the vnet mode to use for this cluster. Use this to switch between creation of a new vnet per cluster or specifying a custom vnet. (pattern: .*\${.*}.*)
             - `vnetId`: (multiple options) (string) Azure vnetId that should be used for this cluster. By default a new vnet will be created. | (string) A string containing one or more references that resolve to azure vnetId that should be used for this cluster. By default a new vnet will be created. (pattern: .*\${.*}.*)
           - `networkPluginMode`: (multiple options) (string) Optional setting to configure overlay mode on Azure. (enum: overlay) | (string) A string containing one or more references that resolve to optional setting to configure overlay mode on Azure. (pattern: .*\${.*}.*)
         - `enableAuthorizedIpRanges`: (multiple options) (boolean) Whether access to the Kubernetes API server should be restricted to authorized IP ranges. | (string) A string containing one or more references that resolve to whether access to the Kubernetes API server should be restricted to authorized IP ranges. (pattern: .*\${.*}.*)
         - `authorizedIpRanges`: (multiple options) [array of] (string) (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$) | (string) A string containing one or more references that resolve to iP ranges that are authorized to access the Kubernetes API server. (pattern: .*\${.*}.*)
       - `byok`: {object}
         - `nodePoolProviderIdLabel`: (multiple options) (string) The node label used to identify which provider node pool a node belongs to. | (string) A string containing one or more references that resolve to the node label used to identify which provider node pool a node belongs to. (pattern: .*\${.*}.*)
       - `coordinates`: {object}
         - `latitude`: (number) (required) (format: float)
         - `longitude`: (number) (required) (format: float)
       - `region`: (multiple options) (string) Region of the cluster. Can only be updated for BYOK clusters. | (string) A string containing one or more references that resolve to region of the cluster. Can only be updated for BYOK clusters. (pattern: .*\${.*}.*)
     - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: BYOCCluster)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: {object}
         - `id`: (string) (required) The ID of cluster
         - `name`: (string) (required) The name of the cluster. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 20)
         - `entityType`: (string) (enum: org, team)
         - `description`: (string) The description of the cluster. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
         - `provider`: (string) (required) Cloud provider to be used for the selected resource (enum: aws, azure, civo, gcp, oci, cloudflare, coreweave, nebius, aiven, backblaze, akamai, byok)
         - `region`: (string) Region of the cluster. Can only be updated for BYOK clusters.
         - `status`: {object}
           - `state`: {object}
             - `state`: (string) (required) Current state of the cluster.
             - `transitionTime`: (string) Time of the last state transition. (format: date-time)
             - `reason`: (string) The reason, given the cluster is in an error state.
         - `kubernetesVersion`: (string) Deprecated: This field is no longer used, the version is now set by the platform.
         - `integrationId`: (string) Existing integration to use for this cluster. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)
         - `storage`: {object}
           - `storageClasses`: [array of] {object}
               - `id`: (string) (required)
               - `name`: (string) (required)
               - `description`: (string)
               - `type`: (string) (enum: storage-class, snapshot-class)
               - `kubernetesName`: (string) (required)
               - `defaultSnapshotClass`: (string)
               - `options`: {object}
                 - `capabilities`: {object}
                   - `expansion`: (boolean) Increasing volume size after provisioning.
                   - `snapshot`: (boolean) Point in time snapshotting of volumes.
                 - `accessModes`: {object}
                   - `ReadWriteOnce`: (boolean) Access mode where a volume is exclusively attached to a single pod at a time.
                   - `ReadWriteMany`: (boolean) Access mode where a volume can be attached to multiple single pods at a time for read and write operations.
                 - `storageSize`: {object}
                   - `minValidSize`: (integer) Enforces a minimum storage size per addon or volume.
                   - `maxValidSize`: (integer) Enforces a maximum storage size per addon or volume.
                   - `suggestedOptions`: [array of] (integer)
                 - `platform`: {object}
                   - `supportedResources`: [array of] (string) (enum: addon, volume, build-cache)
           - `snapshotClasses`: [array of] {object}
               - `id`: (string) (required)
               - `name`: (string) (required)
               - `description`: (string)
               - `kubernetesName`: (string) (required)
         - `nodePools`: (multiple options) [array of] {object}
               - `id`: (string) (required) ID of existing node pool. Must be passed when modifying existing node pools. Not relevant for new node pools (pattern: (^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)|(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89ABab][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$)) (min length: 3) (max length: 63)
               - `nodeType`: (string) (required) Machine type to be used by the node pool.
               - `oci`: {object}
                 - `ocpu`: (integer) (required)
                 - `memory`: (integer) (required)
               - `gcp`: {object}
                 - `enablePrivateNodes`: (boolean) Set this flag to disable public IP assignment for nodes in this node pool.
               - `azure`: {object}
                 - `systemPool`: (boolean) When 'provider' is 'azure', at least one system node pool is required per cluster.
                 - `enablePublicNodeIp`: (boolean) When 'provider' is 'azure', set this flag to use public node IPs.
                 - `vnetSubnetId`: (string) ID of the vnet subnet to use.
               - `aws`: {object}
                 - `launchTemplate`: {object}
                   - `id`: (string) (required) ID of the launch template to use.
                   - `version`: (integer) (required) Version of the launch template that should be used.
               - `nebius`: {object}
                 - `enablePublicNodeIps`: (boolean) Set this flag to assign public IPs to nodes in this node pool.
                 - `osVersion`: (string) OS image version for nodes in this node pool.
                 - `gpuDriverVersion`: (string) GPU driver version for nodes in this node pool.
                 - `gpuClusterId`: (string) Nebius GPU cluster to attach the node pool to.
               - `nodeCount`: (integer) (required) Number of nodes to the node pool should be provisioned with.
               - `autoscaling`: {object}
                 - `enabled`: (boolean) Whether autoscaling is enabled for the node pool.
                 - `min`: (integer) The minimum number of nodes the node pool can be scaled down to.
                 - `max`: (integer) The maximum number of nodes the node pool can be scaled up to.
               - `computeResources`: {object}
                 - `gpu`: {object}
                   - `type`: (string) (required) GPU type associated with the node pool. (pattern: [a-z0-9])
                   - `resources`: {object}
                     - `memoryInfo`: {object}
                       - `sizeInGiB`: (number) Memory amount of the GPU in Gib. (format: float)
                   - `count`: (integer) (required) Number of GPUs per node.
                   - `timeslicing`: {object}
                     - `enabled`: (boolean) Whether or not to enable time-slicing on the GPU.
                     - `numSlices`: (number) Sets the amount of slices per GPU, e.g. how many pods may be scheduled concurrently on each GPU. (format: float)
               - `preemptible`: (boolean) Configures node pool with preemptible / spot instances if enabled.
               - `diskType`: (string) The disk type to use.
               - `diskSize`: (integer) (required) Disk size in GB
               - `availabilityZones`: [array of] (string)
               - `subnets`: [array of] (string)
               - `scheduling`: {object}
                 - `allowJobs`: (boolean) Allow jobs to schedule to this node pool
                 - `onlyGpuJobs`: (boolean) Restrict job scheduling to jobs which have GPU resources configured. Only relevant for GPU node pools.
                 - `allowServices`: (boolean) Allow services to schedule to this node pool
                 - `onlyGpuServices`: (boolean) Restrict service scheduling to services which have GPU resources configured. Only relevant for GPU node pools.
                 - `allowAddons`: (boolean) Allow addons to schedule to this node pool
                 - `allowBuilds`: (boolean) Allow builds to schedule to this node pool
                 - `onlyGpuBuilds`: (boolean) Restrict build scheduling to builds which have GPU resources configured. Only relevant for GPU node pools.
                 - `allowCeph`: (boolean) Allow the placement of Ceph pods
               - `labels`: {object} | [array of] {object}
               - `id`: (string) (required) ID of the node pool. Must be passed when modifying existing node pools. Not relevant for new node pools (pattern: (^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)|(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89ABab][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$)) (min length: 3) (max length: 63)
               - `providerId`: (string) (required) ID which identifies kubernetes nodes as belonging to this pool. (pattern: (^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)|(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89ABab][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$)) (min length: 3) (max length: 63)
               - `computeResources`: {object}
                 - `gpu`: {object}
                   - `supported`: (boolean) Whether this node pool consists of GPU nodes .
                   - `type`: (string) GPU type associated with the node pool. (pattern: [a-z0-9])
                   - `resources`: {object}
                     - `memoryInfo`: {object}
                       - `sizeInGiB`: (number) Memory amount of the GPU in Gib. (format: float)
                   - `mig`: {object}
                     - `enabled`: (boolean) Whether or not to enable Multi-Instance GPU (MIG).
                     - `partitions`: [array of] (string)
                   - `timeslicing`: {object}
                     - `enabled`: (boolean) Whether or not to enable time-slicing on the GPU.
                     - `numSlices`: (number) Sets the amount of slices per GPU, e.g. how many pods may be scheduled concurrently on each GPU. (format: float)
                   - `count`: (integer) Number of GPUs per node.
               - `defaultPool`: (boolean) Fallback pool to which nodes which do not match any defined node pool are assigned. Exactly one default pool is required.
               - `preemptible`: (boolean) Configures node pool with preemptible / spot instances if enabled.
               - `scheduling`: {object}
                 - `allowJobs`: (boolean) Allow jobs to schedule to this node pool
                 - `onlyGpuJobs`: (boolean) Restrict job scheduling to jobs which have GPU resources configured. Only relevant for GPU node pools.
                 - `allowServices`: (boolean) Allow services to schedule to this node pool
                 - `onlyGpuServices`: (boolean) Restrict service scheduling to services which have GPU resources configured. Only relevant for GPU node pools.
                 - `allowAddons`: (boolean) Allow addons to schedule to this node pool
                 - `allowBuilds`: (boolean) Allow builds to schedule to this node pool
                 - `onlyGpuBuilds`: (boolean) Restrict build scheduling to builds which have GPU resources configured. Only relevant for GPU node pools.
                 - `allowCeph`: (boolean) Allow the placement of Ceph pods
               - `platform`: {object}
                 - `architecture`: (string) Platform architecture of the underlying node type. (enum: amd64, arm64)
               - `labels`: {object}
         - `settings`: {object}
           - `builds`: {object}
             - `mode`: (string) Determines where builds are run: on Northflank infrastructure (paas), on this cluster (internal) or on a dedicated build cluster (build-cluster). (enum: paas, internal, build-cluster)
             - `plan`: (string) Plan to use for builds if they are run on the cluster (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
             - `clusterId`: (string) Cluster to use for scheduling builds (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)
             - `caching`: {object}
               - `allow`: (boolean) Whether to allow local disk based caching for builds.
               - `storageClassName`: (string) Storage class used by default for local disk based caching.
           - `registry`: {object}
             - `mode`: (string) Determines where built images are stored: in the Northflank registry (paas) or in a self-hosted registry. (enum: paas, self-hosted)
             - `registryId`: (string) Credentials to use for storing of images. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)
           - `logging`: (multiple options) {object}
               - `mode`: (string) The logging mode. `paas` stores logs on Northflank infrastructure. (enum: paas) | {object}
               - `mode`: (string) (required) The logging mode. `loki` stores logs in your own storage via Loki. (enum: loki)
               - `loki`: {object}
                 - `storageType`: (string) (required) (enum: s3)
                 - `s3BucketName`: (string) (required) Name of the S3 bucket used for Loki log storage.
                 - `s3AccessKey`: (string) (required) Access key for the S3 bucket used for Loki log storage.
                 - `s3SecretKey`: (string) (required) Secret key for the S3 bucket used for Loki log storage.
                 - `s3Region`: (string) (required) Region of the S3 bucket used for Loki log storage. | {object}
               - `mode`: (string) (required) The logging mode. `loki` stores logs in your own storage via Loki. (enum: loki)
               - `loki`: {object}
                 - `storageType`: (string) (required) (enum: gcs)
                 - `gcsBucketName`: (string) (required) Name of the GCS bucket used for Loki log storage.
                 - `gcpIntegrationId`: (string) (required) ID of the GCP integration used to access the GCS bucket. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)
           - `networking`: {object}
             - `overlayNetwork`: (boolean) Whether overlay networking is enabled for this cluster.
             - `overlayCIDR`: (string) CIDR range for the overlay network. (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$)
           - `vanityDomains`: {object}
             - `apps`: {object}
               - `zoneName`: (string) (required)
               - `integrationId`: (string) (required)
             - `customDomains`: {object}
               - `zoneName`: (string) (required)
               - `integrationId`: (string) (required)
             - `loadBalancers`: {object}
               - `zoneName`: (string) (required)
               - `integrationId`: (string) (required)
           - `infrastructure`: {object}
             - `workloads`: {object}
               - `runtimeClass`: (string) Defines which runtime scheduling constraints apply for workloads (enum: none, gvisor, kata-clh, kata-qemu)
             - `builds`: {object}
               - `runtimeClass`: (string) Defines which runtime scheduling constraints apply for builds (enum: none, gvisor, kata-clh, kata-qemu)
             - `sandboxing`: {object}
               - `installGvisor`: (boolean)
               - `installMicroVm`: (boolean)
               - `defaultSandbox`: {object}
                 - `builds`: (string) Default runtime class used for builds if none is configured (enum: none, gvisor, kata-clh, kata-qemu)
                 - `jobs`: (string) Default runtime class used for jobs if none is configured (enum: none, gvisor, kata-clh, kata-qemu)
                 - `services`: (string) Default runtime class used for services if none is configured (enum: none, gvisor, kata-clh, kata-qemu)
                 - `addons`: (string) Default runtime class used for addons if none is configured (enum: none, gvisor, kata-clh, kata-qemu)
             - `installKata`: (boolean) DEPRECATED: This field will be removed in the near future.
             - `installGvisor`: (boolean) DEPRECATED: This field will be removed in the near future.
             - `cleanupVolumes`: (boolean)
             - `cleanupSnapshots`: (boolean)
             - `cephStorageProvider`: {object}
               - `enabled`: (boolean)
               - `resources`: {object}
                 - `cpu`: (number) Configure the CPU resources per Ceph replica (format: float)
                 - `memory`: (number) Configure the memory resources per Ceph replica (format: float)
                 - `storage`: (number) Configure the data disk size per Ceph replica (format: float)
               - `enableMultiReadWriteStorage`: (boolean) Configure Ceph to be enable use of multi read write storage for persistent volumes on the cluster.
               - `enableSingleReadWriteStorage`: (boolean) Configure Ceph to be used as default storage class for single read write storage. This will replace the default storage of the cloud provider.
               - `enableErasureCoding`: (boolean) Configure Ceph to be set up with erasure coding. This will be less fault tolerant but more cost effective.
               - `enableTopologyAwareScheduling`: (boolean) Configure Ceph to be set up with topology aware scheduling, enforcing deployment across multiple zones.
           - `requestModifiers`: {object}
             - `services`: {object}
               - `cpu`: (number) (required) (format: float)
               - `memory`: (number) (required) (format: float)
             - `jobs`: {object}
               - `cpu`: (number) (required) (format: float)
               - `memory`: (number) (required) (format: float)
             - `builds`: {object}
               - `cpu`: (number) (required) (format: float)
               - `memory`: (number) (required) (format: float)
             - `addons`: {object}
               - `cpu`: (number) (required) (format: float)
               - `memory`: (number) (required) (format: float)
         - `restrictions`: {object}
           - `enabled`: (boolean) (required) Enable or disable BYOC restrictions for this entity
           - `teams`: [array of] {object}
               - `teamId`: (string) (required) The ID of the team that has access to this BYOC cluster (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 45)
         - `gcp`: {object}
           - `networking`: {object}
             - `network`: (string) Name of the GCP network the cluster should be created in. By default a new network will be created.
             - `subnetwork`: (string) Name of the GCP subnetwork the cluster should be created in. By default a new subnetwork will be created.
           - `enableAuthorizedIpRanges`: (boolean) Whether access to the Kubernetes API server should be restricted to authorized IP ranges.
           - `authorizedIpRanges`: [array of] (string) (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$)
           - `projectId`: (string) GCP Project ID (pattern: ^[a-z][a-z0-9-]{4,28}[a-z0-9]$)
         - `aws`: {object}
           - `enablePublicAccessCidrs`: (boolean) Whether access to the public Kubernetes API endpoint should be restricted to specific CIDR ranges.
           - `publicAccessCidrs`: [array of] (string) (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$)
           - `subnetConfiguration`: {object}
             - `mode`: (string) (required) The mode of the AWS subnet configuration (enum: default-subnets-for-azs, explicit-subnets)
             - `vpcId`: (string) Id of the VPC
             - `subnets`: [array of] (string)
           - `vpcEgress`: (boolean) If egress traffic from the cluster should come from a single static egress IP.
         - `oci`: {object}
           - `vcnConfiguration`: {object}
             - `vcnId`: (string) (required) ID of the OCI VCN the cluster should be created in.
             - `subnetIdForKubernetesApi`: (string) (required) ID of the subnet to use for the Kubernetes API endpoint.
             - `subnetIdsForServiceLBs`: [array of] (string)
         - `azure`: {object}
           - `networking`: {object}
             - `vnetConfiguration`: {object}
               - `mode`: (string) (required) The vnet mode to use for this cluster. Use this to switch between creation of a new vnet per cluster or specifying a custom vnet. (enum: create-default, custom-vnet)
               - `vnetId`: (string) Azure vnetId that should be used for this cluster. By default a new vnet will be created.
             - `networkPluginMode`: (string) Optional setting to configure overlay mode on Azure. (enum: overlay)
           - `enableAuthorizedIpRanges`: (boolean) Whether access to the Kubernetes API server should be restricted to authorized IP ranges.
           - `authorizedIpRanges`: [array of] (string) (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$)
         - `coreweave`: {object}
           - `zone`: (string) (required) AZ of the cluster
           - `network`: {object}
             - `networkMode`: (string) (required) The network mode to use for this cluster. Use this to switch between the default network configuration and a custom VPC. (enum: create-default, custom)
             - `vpcId`: (string) ID of the CoreWeave VPC to use for this cluster.
             - `customPrefixNames`: {object}
               - `podCidrName`: (string) (required) Name of the VPC prefix to use for the pod CIDR.
               - `serviceCidrName`: (string) (required) Name of the VPC prefix to use for the service CIDR.
               - `internalLbCidrNames`: [array of] (string)
         - `nebius`: {object}
           - `projectId`: (string) (required) Nebius project ID to place the cluster in.
           - `subnetId`: (string) (required) Nebius VPC subnet ID for the cluster.
         - `byok`: {object}
           - `nodePoolProviderIdLabel`: (string) (required) The node label used to identify which provider node pool a node belongs to.
         - `coordinates`: {object}
           - `latitude`: (number) (required) (format: float)
           - `longitude`: (number) (required) (format: float)
         - `dns`: (string) Auto-generated dns identifier for this cluster.
         - `updatedAt`: (string) (required) The time the cluster was last updated. (format: date-time)
         - `createdAt`: (string) (required) The time the cluster was created. (format: date-time)
         - `deletionRequested`: (boolean) (required) Indicates if provider resource deletion has been requested.
     - `spec`: {object}
       - `name`: (multiple options) (string) The name of the cluster. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 20) | (string) A string containing one or more references that resolve to the name of the cluster. (pattern: .*\${.*}.*)
       - `description`: (string) The description of the cluster. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
       - `provider`: (multiple options) (string) Cloud provider to be used for the selected resource (enum: aws, azure, civo, gcp, oci, cloudflare, coreweave, nebius, aiven, backblaze, akamai, byok) | (string) A string containing one or more references that resolve to cloud provider to be used for the selected resource (pattern: .*\${.*}.*)
       - `region`: (string) Region of the cluster. Can only be updated for BYOK clusters.
       - `kubernetesVersion`: (multiple options) (string) Deprecated: This field is no longer used, the version is now set by the platform. | (string) A string containing one or more references that resolve to deprecated: This field is no longer used, the version is now set by the platform. (pattern: .*\${.*}.*)
       - `integrationId`: (multiple options) (string) Existing integration to use for this cluster. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to existing integration to use for this cluster. (pattern: .*\${.*}.*)
       - `storage`: {object}
         - `storageClasses`: [array of] {object}
             - `id`: (string) (required)
             - `name`: (string) (required)
             - `description`: (string)
             - `type`: (string) (enum: storage-class, snapshot-class)
             - `kubernetesName`: (string) (required)
             - `defaultSnapshotClass`: (string)
             - `options`: {object}
               - `capabilities`: {object}
                 - `expansion`: (boolean) Increasing volume size after provisioning.
                 - `snapshot`: (boolean) Point in time snapshotting of volumes.
               - `accessModes`: {object}
                 - `ReadWriteOnce`: (boolean) Access mode where a volume is exclusively attached to a single pod at a time.
                 - `ReadWriteMany`: (boolean) Access mode where a volume can be attached to multiple single pods at a time for read and write operations.
               - `storageSize`: {object}
                 - `minValidSize`: (integer) Enforces a minimum storage size per addon or volume.
                 - `maxValidSize`: (integer) Enforces a maximum storage size per addon or volume.
                 - `suggestedOptions`: [array of] (integer)
               - `platform`: {object}
                 - `supportedResources`: [array of] (string) (enum: addon, volume, build-cache)
         - `snapshotClasses`: [array of] {object}
             - `id`: (string) (required)
             - `name`: (string) (required)
             - `description`: (string)
             - `kubernetesName`: (string) (required)
       - `nodePools`: (multiple options) [array of] {object}
             - `id`: (string) (required) ID of existing node pool. Must be passed when modifying existing node pools. Not relevant for new node pools (pattern: (^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)|(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89ABab][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$)) (min length: 3) (max length: 63)
             - `nodeType`: (multiple options) (string) Machine type to be used by the node pool. | (string) A string containing one or more references that resolve to machine type to be used by the node pool. (pattern: .*\${.*}.*)
             - `oci`: {object}
               - `ocpu`: (integer) (required)
               - `memory`: (integer) (required)
             - `gcp`: {object}
               - `enablePrivateNodes`: (boolean) Set this flag to disable public IP assignment for nodes in this node pool.
             - `azure`: {object}
               - `systemPool`: (boolean) When 'provider' is 'azure', at least one system node pool is required per cluster.
               - `enablePublicNodeIp`: (boolean) When 'provider' is 'azure', set this flag to use public node IPs.
               - `vnetSubnetId`: (multiple options) (string) ID of the vnet subnet to use. | (string) A string containing one or more references that resolve to iD of the vnet subnet to use. (pattern: .*\${.*}.*)
             - `aws`: {object}
               - `launchTemplate`: {object}
                 - `id`: (multiple options) (string) ID of the launch template to use. | (string) A string containing one or more references that resolve to iD of the launch template to use. (pattern: .*\${.*}.*)
                 - `version`: (multiple options) (integer) Version of the launch template that should be used. | (string) A string containing one or more references that resolve to version of the launch template that should be used. (pattern: .*\${.*}.*)
             - `nebius`: {object}
               - `enablePublicNodeIps`: (boolean) Set this flag to assign public IPs to nodes in this node pool.
               - `osVersion`: (string) OS image version for nodes in this node pool.
               - `gpuDriverVersion`: (string) GPU driver version for nodes in this node pool.
               - `gpuClusterId`: (string) Nebius GPU cluster to attach the node pool to.
             - `nodeCount`: (multiple options) (integer) Number of nodes to the node pool should be provisioned with. | (string) A string containing one or more references that resolve to number of nodes to the node pool should be provisioned with. (pattern: .*\${.*}.*)
             - `autoscaling`: {object}
               - `enabled`: (multiple options) (boolean) Whether autoscaling is enabled for the node pool. | (string) A string containing one or more references that resolve to whether autoscaling is enabled for the node pool. (pattern: .*\${.*}.*)
               - `min`: (multiple options) (integer) The minimum number of nodes the node pool can be scaled down to. | (string) A string containing one or more references that resolve to the minimum number of nodes the node pool can be scaled down to. (pattern: .*\${.*}.*)
               - `max`: (multiple options) (integer) The maximum number of nodes the node pool can be scaled up to. | (string) A string containing one or more references that resolve to the maximum number of nodes the node pool can be scaled up to. (pattern: .*\${.*}.*)
             - `computeResources`: {object}
               - `gpu`: {object}
                 - `timeslicing`: {object}
                   - `enabled`: (boolean) Whether or not to enable time-slicing on the GPU.
                   - `numSlices`: (number) Sets the amount of slices per GPU, e.g. how many pods may be scheduled concurrently on each GPU. (format: float)
             - `preemptible`: (boolean) Configures node pool with preemptible / spot instances if enabled.
             - `diskType`: (multiple options) (string) The disk type to use. | (string) A string containing one or more references that resolve to the disk type to use. (pattern: .*\${.*}.*)
             - `diskSize`: (multiple options) (integer) Disk size in GB | (string) A string containing one or more references that resolve to disk size in GB (pattern: .*\${.*}.*)
             - `availabilityZones`: [array of] (multiple options) (string) | (string) (pattern: .*\${.*}.*)
             - `subnets`: [array of] (multiple options) (string) | (string) (pattern: .*\${.*}.*)
             - `scheduling`: {object}
               - `allowJobs`: (boolean) Allow jobs to schedule to this node pool
               - `onlyGpuJobs`: (boolean) Restrict job scheduling to jobs which have GPU resources configured. Only relevant for GPU node pools.
               - `allowServices`: (boolean) Allow services to schedule to this node pool
               - `onlyGpuServices`: (boolean) Restrict service scheduling to services which have GPU resources configured. Only relevant for GPU node pools.
               - `allowAddons`: (boolean) Allow addons to schedule to this node pool
               - `allowBuilds`: (boolean) Allow builds to schedule to this node pool
               - `onlyGpuBuilds`: (boolean) Restrict build scheduling to builds which have GPU resources configured. Only relevant for GPU node pools.
               - `allowCeph`: (boolean) Allow the placement of Ceph pods
             - `labels`: {object} | [array of] {object}
             - `id`: (string) (required) ID of the node pool. Must be passed when modifying existing node pools. Not relevant for new node pools (pattern: (^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)|(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89ABab][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$)) (min length: 3) (max length: 63)
             - `providerId`: (string) (required) ID which identifies kubernetes nodes as belonging to this pool. (pattern: (^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)|(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89ABab][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$)) (min length: 3) (max length: 63)
             - `computeResources`: {object}
               - `gpu`: {object}
                 - `supported`: (boolean) Whether this node pool consists of GPU nodes .
                 - `type`: (string) GPU type associated with the node pool. (pattern: [a-z0-9])
                 - `resources`: {object}
                   - `memoryInfo`: {object}
                     - `sizeInGiB`: (number) Memory amount of the GPU in Gib. (format: float)
                 - `mig`: {object}
                   - `enabled`: (boolean) Whether or not to enable Multi-Instance GPU (MIG).
                   - `partitions`: [array of] (string)
                 - `timeslicing`: {object}
                   - `enabled`: (boolean) Whether or not to enable time-slicing on the GPU.
                   - `numSlices`: (number) Sets the amount of slices per GPU, e.g. how many pods may be scheduled concurrently on each GPU. (format: float)
                 - `count`: (integer) Number of GPUs per node.
             - `defaultPool`: (boolean) Fallback pool to which nodes which do not match any defined node pool are assigned. Exactly one default pool is required.
             - `preemptible`: (boolean) Configures node pool with preemptible / spot instances if enabled.
             - `scheduling`: {object}
               - `allowJobs`: (boolean) Allow jobs to schedule to this node pool
               - `onlyGpuJobs`: (boolean) Restrict job scheduling to jobs which have GPU resources configured. Only relevant for GPU node pools.
               - `allowServices`: (boolean) Allow services to schedule to this node pool
               - `onlyGpuServices`: (boolean) Restrict service scheduling to services which have GPU resources configured. Only relevant for GPU node pools.
               - `allowAddons`: (boolean) Allow addons to schedule to this node pool
               - `allowBuilds`: (boolean) Allow builds to schedule to this node pool
               - `onlyGpuBuilds`: (boolean) Restrict build scheduling to builds which have GPU resources configured. Only relevant for GPU node pools.
               - `allowCeph`: (boolean) Allow the placement of Ceph pods
             - `platform`: {object}
               - `architecture`: (string) Platform architecture of the underlying node type. (enum: amd64, arm64)
             - `labels`: {object}
       - `settings`: {object}
         - `builds`: {object}
           - `mode`: (multiple options) (string) Determines where builds are run: on Northflank infrastructure (paas), on this cluster (internal) or on a dedicated build cluster (build-cluster). (enum: paas, internal, build-cluster) | (string) A string containing one or more references that resolve to determines where builds are run: on Northflank infrastructure (paas), on this cluster (internal) or on a dedicated build cluster (build-cluster). (pattern: .*\${.*}.*)
           - `plan`: (multiple options) (string) Plan to use for builds if they are run on the cluster (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to plan to use for builds if they are run on the cluster (pattern: .*\${.*}.*)
           - `clusterId`: (multiple options) (string) Cluster to use for scheduling builds (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to cluster to use for scheduling builds (pattern: .*\${.*}.*)
           - `caching`: {object}
             - `allow`: (boolean) Whether to allow local disk based caching for builds.
             - `storageClassName`: (string) Storage class used by default for local disk based caching.
         - `registry`: {object}
           - `mode`: (multiple options) (string) Determines where built images are stored: in the Northflank registry (paas) or in a self-hosted registry. (enum: paas, self-hosted) | (string) A string containing one or more references that resolve to determines where built images are stored: in the Northflank registry (paas) or in a self-hosted registry. (pattern: .*\${.*}.*)
           - `registryId`: (multiple options) (string) Credentials to use for storing of images. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to credentials to use for storing of images. (pattern: .*\${.*}.*)
         - `logging`: (multiple options) {object}
             - `mode`: (multiple options) (string) The logging mode. `paas` stores logs on Northflank infrastructure. (enum: paas) | (string) A string containing one or more references that resolve to the logging mode. `paas` stores logs on Northflank infrastructure. (pattern: .*\${.*}.*) | {object}
             - `mode`: (multiple options) (string) The logging mode. `loki` stores logs in your own storage via Loki. (enum: loki) | (string) A string containing one or more references that resolve to the logging mode. `loki` stores logs in your own storage via Loki. (pattern: .*\${.*}.*)
             - `loki`: {object}
               - `storageType`: (string) (required) (enum: s3)
               - `s3BucketName`: (multiple options) (string) Name of the S3 bucket used for Loki log storage. | (string) A string containing one or more references that resolve to name of the S3 bucket used for Loki log storage. (pattern: .*\${.*}.*)
               - `s3AccessKey`: (multiple options) (string) Access key for the S3 bucket used for Loki log storage. | (string) A string containing one or more references that resolve to access key for the S3 bucket used for Loki log storage. (pattern: .*\${.*}.*)
               - `s3SecretKey`: (multiple options) (string) Secret key for the S3 bucket used for Loki log storage. | (string) A string containing one or more references that resolve to secret key for the S3 bucket used for Loki log storage. (pattern: .*\${.*}.*)
               - `s3Region`: (multiple options) (string) Region of the S3 bucket used for Loki log storage. | (string) A string containing one or more references that resolve to region of the S3 bucket used for Loki log storage. (pattern: .*\${.*}.*) | {object}
             - `mode`: (multiple options) (string) The logging mode. `loki` stores logs in your own storage via Loki. (enum: loki) | (string) A string containing one or more references that resolve to the logging mode. `loki` stores logs in your own storage via Loki. (pattern: .*\${.*}.*)
             - `loki`: {object}
               - `storageType`: (string) (required) (enum: gcs)
               - `gcsBucketName`: (multiple options) (string) Name of the GCS bucket used for Loki log storage. | (string) A string containing one or more references that resolve to name of the GCS bucket used for Loki log storage. (pattern: .*\${.*}.*)
               - `gcpIntegrationId`: (multiple options) (string) ID of the GCP integration used to access the GCS bucket. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to iD of the GCP integration used to access the GCS bucket. (pattern: .*\${.*}.*)
         - `networking`: {object}
           - `overlayNetwork`: (boolean) Whether overlay networking is enabled for this cluster.
           - `overlayCIDR`: (string) CIDR range for the overlay network. (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$)
         - `vanityDomains`: {object}
           - `apps`: {object}
             - `zoneName`: (string) (required)
             - `integrationId`: (string) (required)
           - `customDomains`: {object}
             - `zoneName`: (string) (required)
             - `integrationId`: (string) (required)
           - `loadBalancers`: {object}
             - `zoneName`: (string) (required)
             - `integrationId`: (string) (required)
         - `infrastructure`: {object}
           - `workloads`: {object}
             - `runtimeClass`: (multiple options) (string) Defines which runtime scheduling constraints apply for workloads (enum: none, gvisor, kata-clh, kata-qemu) | (string) A string containing one or more references that resolve to defines which runtime scheduling constraints apply for workloads (pattern: .*\${.*}.*)
           - `builds`: {object}
             - `runtimeClass`: (multiple options) (string) Defines which runtime scheduling constraints apply for builds (enum: none, gvisor, kata-clh, kata-qemu) | (string) A string containing one or more references that resolve to defines which runtime scheduling constraints apply for builds (pattern: .*\${.*}.*)
           - `sandboxing`: {object}
             - `installGvisor`: (boolean)
             - `installMicroVm`: (boolean)
             - `defaultSandbox`: {object}
               - `builds`: (multiple options) (string) Default runtime class used for builds if none is configured (enum: none, gvisor, kata-clh, kata-qemu) | (string) A string containing one or more references that resolve to default runtime class used for builds if none is configured (pattern: .*\${.*}.*)
               - `jobs`: (multiple options) (string) Default runtime class used for jobs if none is configured (enum: none, gvisor, kata-clh, kata-qemu) | (string) A string containing one or more references that resolve to default runtime class used for jobs if none is configured (pattern: .*\${.*}.*)
               - `services`: (multiple options) (string) Default runtime class used for services if none is configured (enum: none, gvisor, kata-clh, kata-qemu) | (string) A string containing one or more references that resolve to default runtime class used for services if none is configured (pattern: .*\${.*}.*)
               - `addons`: (multiple options) (string) Default runtime class used for addons if none is configured (enum: none, gvisor, kata-clh, kata-qemu) | (string) A string containing one or more references that resolve to default runtime class used for addons if none is configured (pattern: .*\${.*}.*)
           - `installKata`: (boolean) DEPRECATED: This field will be removed in the near future.
           - `installGvisor`: (boolean) DEPRECATED: This field will be removed in the near future.
           - `cleanupVolumes`: (boolean)
           - `cleanupSnapshots`: (boolean)
           - `cephStorageProvider`: {object}
             - `enabled`: (boolean)
             - `resources`: {object}
               - `cpu`: (number) Configure the CPU resources per Ceph replica (format: float)
               - `memory`: (number) Configure the memory resources per Ceph replica (format: float)
               - `storage`: (number) Configure the data disk size per Ceph replica (format: float)
             - `enableMultiReadWriteStorage`: (boolean) Configure Ceph to be enable use of multi read write storage for persistent volumes on the cluster.
             - `enableSingleReadWriteStorage`: (boolean) Configure Ceph to be used as default storage class for single read write storage. This will replace the default storage of the cloud provider.
             - `enableErasureCoding`: (boolean) Configure Ceph to be set up with erasure coding. This will be less fault tolerant but more cost effective.
             - `enableTopologyAwareScheduling`: (boolean) Configure Ceph to be set up with topology aware scheduling, enforcing deployment across multiple zones.
         - `requestModifiers`: {object}
           - `services`: {object}
             - `cpu`: (number) (required) (format: float)
             - `memory`: (number) (required) (format: float)
           - `jobs`: {object}
             - `cpu`: (number) (required) (format: float)
             - `memory`: (number) (required) (format: float)
           - `builds`: {object}
             - `cpu`: (number) (required) (format: float)
             - `memory`: (number) (required) (format: float)
           - `addons`: {object}
             - `cpu`: (number) (required) (format: float)
             - `memory`: (number) (required) (format: float)
       - `restrictions`: {object}
         - `enabled`: (boolean) (required) Enable or disable BYOC restrictions for this entity
         - `teams`: [array of] {object}
             - `teamId`: (string) (required) The ID of the team that has access to this BYOC cluster (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 45)
       - `gcp`: {object}
         - `networking`: {object}
           - `network`: (multiple options) (string) Name of the GCP network the cluster should be created in. By default a new network will be created. | (string) A string containing one or more references that resolve to name of the GCP network the cluster should be created in. By default a new network will be created. (pattern: .*\${.*}.*)
           - `subnetwork`: (multiple options) (string) Name of the GCP subnetwork the cluster should be created in. By default a new subnetwork will be created. | (string) A string containing one or more references that resolve to name of the GCP subnetwork the cluster should be created in. By default a new subnetwork will be created. (pattern: .*\${.*}.*)
         - `enableAuthorizedIpRanges`: (multiple options) (boolean) Whether access to the Kubernetes API server should be restricted to authorized IP ranges. | (string) A string containing one or more references that resolve to whether access to the Kubernetes API server should be restricted to authorized IP ranges. (pattern: .*\${.*}.*)
         - `authorizedIpRanges`: (multiple options) [array of] (string) (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$) | (string) A string containing one or more references that resolve to iP ranges that are authorized to access the Kubernetes API server. (pattern: .*\${.*}.*)
         - `projectId`: (multiple options) (string) GCP Project ID (pattern: ^[a-z][a-z0-9-]{4,28}[a-z0-9]$) | (string) A string containing one or more references that resolve to gCP Project ID (pattern: .*\${.*}.*)
       - `aws`: {object}
         - `enablePublicAccessCidrs`: (multiple options) (boolean) Whether access to the public Kubernetes API endpoint should be restricted to specific CIDR ranges. | (string) A string containing one or more references that resolve to whether access to the public Kubernetes API endpoint should be restricted to specific CIDR ranges. (pattern: .*\${.*}.*)
         - `publicAccessCidrs`: (multiple options) [array of] (string) (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$) | (string) A string containing one or more references that resolve to cIDR ranges that are allowed to access the public Kubernetes API endpoint. (pattern: .*\${.*}.*)
         - `subnetConfiguration`: {object}
           - `mode`: (multiple options) (string) The mode of the AWS subnet configuration (enum: default-subnets-for-azs, explicit-subnets) | (string) A string containing one or more references that resolve to the mode of the AWS subnet configuration (pattern: .*\${.*}.*)
           - `vpcId`: (multiple options) (string) Id of the VPC | (string) A string containing one or more references that resolve to id of the VPC (pattern: .*\${.*}.*)
           - `subnets`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to list of subnets the cluster should be created for. At least 2 must be specified. (pattern: .*\${.*}.*)
         - `vpcEgress`: (multiple options) (boolean) If egress traffic from the cluster should come from a single static egress IP. | (string) A string containing one or more references that resolve to if egress traffic from the cluster should come from a single static egress IP. (pattern: .*\${.*}.*)
       - `oci`: {object}
         - `vcnConfiguration`: {object}
           - `vcnId`: (multiple options) (string) ID of the OCI VCN the cluster should be created in. | (string) A string containing one or more references that resolve to iD of the OCI VCN the cluster should be created in. (pattern: .*\${.*}.*)
           - `subnetIdForKubernetesApi`: (multiple options) (string) ID of the subnet to use for the Kubernetes API endpoint. | (string) A string containing one or more references that resolve to iD of the subnet to use for the Kubernetes API endpoint. (pattern: .*\${.*}.*)
           - `subnetIdsForServiceLBs`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to iDs of the subnets to use for service load balancers. (pattern: .*\${.*}.*)
       - `azure`: {object}
         - `networking`: {object}
           - `vnetConfiguration`: {object}
             - `mode`: (multiple options) (string) The vnet mode to use for this cluster. Use this to switch between creation of a new vnet per cluster or specifying a custom vnet. (enum: create-default, custom-vnet) | (string) A string containing one or more references that resolve to the vnet mode to use for this cluster. Use this to switch between creation of a new vnet per cluster or specifying a custom vnet. (pattern: .*\${.*}.*)
             - `vnetId`: (multiple options) (string) Azure vnetId that should be used for this cluster. By default a new vnet will be created. | (string) A string containing one or more references that resolve to azure vnetId that should be used for this cluster. By default a new vnet will be created. (pattern: .*\${.*}.*)
           - `networkPluginMode`: (multiple options) (string) Optional setting to configure overlay mode on Azure. (enum: overlay) | (string) A string containing one or more references that resolve to optional setting to configure overlay mode on Azure. (pattern: .*\${.*}.*)
         - `enableAuthorizedIpRanges`: (multiple options) (boolean) Whether access to the Kubernetes API server should be restricted to authorized IP ranges. | (string) A string containing one or more references that resolve to whether access to the Kubernetes API server should be restricted to authorized IP ranges. (pattern: .*\${.*}.*)
         - `authorizedIpRanges`: (multiple options) [array of] (string) (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$) | (string) A string containing one or more references that resolve to iP ranges that are authorized to access the Kubernetes API server. (pattern: .*\${.*}.*)
       - `coreweave`: {object}
         - `zone`: (multiple options) (string) AZ of the cluster | (string) A string containing one or more references that resolve to aZ of the cluster (pattern: .*\${.*}.*)
         - `network`: {object}
           - `networkMode`: (multiple options) (string) The network mode to use for this cluster. Use this to switch between the default network configuration and a custom VPC. (enum: create-default, custom) | (string) A string containing one or more references that resolve to the network mode to use for this cluster. Use this to switch between the default network configuration and a custom VPC. (pattern: .*\${.*}.*)
           - `vpcId`: (multiple options) (string) ID of the CoreWeave VPC to use for this cluster. | (string) A string containing one or more references that resolve to iD of the CoreWeave VPC to use for this cluster. (pattern: .*\${.*}.*)
           - `customPrefixNames`: {object}
             - `podCidrName`: (multiple options) (string) Name of the VPC prefix to use for the pod CIDR. | (string) A string containing one or more references that resolve to name of the VPC prefix to use for the pod CIDR. (pattern: .*\${.*}.*)
             - `serviceCidrName`: (multiple options) (string) Name of the VPC prefix to use for the service CIDR. | (string) A string containing one or more references that resolve to name of the VPC prefix to use for the service CIDR. (pattern: .*\${.*}.*)
             - `internalLbCidrNames`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to names of the VPC prefixes to use for internal load balancer CIDRs. (pattern: .*\${.*}.*)
       - `nebius`: {object}
         - `projectId`: (multiple options) (string) Nebius project ID to place the cluster in. | (string) A string containing one or more references that resolve to nebius project ID to place the cluster in. (pattern: .*\${.*}.*)
         - `subnetId`: (multiple options) (string) Nebius VPC subnet ID for the cluster. | (string) A string containing one or more references that resolve to nebius VPC subnet ID for the cluster. (pattern: .*\${.*}.*)
       - `byok`: {object}
         - `nodePoolProviderIdLabel`: (multiple options) (string) The node label used to identify which provider node pool a node belongs to. | (string) A string containing one or more references that resolve to the node label used to identify which provider node pool a node belongs to. (pattern: .*\${.*}.*)
       - `coordinates`: {object}
         - `latitude`: (number) (required) (format: float)
         - `longitude`: (number) (required) (format: float)
     - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: BYOCRegistry)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: {object}
         - `id`: (string) (required) ID of the registry (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
         - `name`: (string) (required) The name of the cloud provider registry. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
         - `description`: (string) The description of the integration. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
         - `uid`: (string) Unique id of the registry.
         - `provider`: (string) (required) Cloud provider to be used for the selected resource (enum: aws, azure, civo, gcp, oci, cloudflare, coreweave, nebius, aiven, backblaze, akamai, byok)
         - `region`: (string) (required)
         - `integrationId`: (string) Integration to use for this registry. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)
         - `restrictions`: {object}
           - `enabled`: (boolean) (required) Enable or disable BYOC restrictions for this entity
           - `teams`: [array of] {object}
               - `teamId`: (string) (required) The ID of the team that has access to this BYOC cluster
         - `updatedAt`: (string) time of update (format: date-time)
         - `createdAt`: (string) time of creation (format: date-time)
     - `spec`: {object}
       - `description`: (string) The description of the integration. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
       - `restrictions`: {object}
         - `enabled`: (boolean) (required) Enable or disable BYOC restrictions for this entity
         - `teams`: [array of] {object}
             - `teamId`: (string) (required) The ID of the team that has access to this BYOC cluster (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 45)
       - `updatedAt`: (string) time of update (format: date-time)
       - `createdAt`: (string) time of creation (format: date-time)
       - `name`: (multiple options) (string) The name of the cloud provider registry. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the cloud provider registry. (pattern: .*\${.*}.*)
     - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: BYOCRegistry)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: {object}
         - `id`: (string) (required) ID of the registry (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
         - `name`: (string) (required) The name of the cloud provider registry. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
         - `description`: (string) The description of the integration. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
         - `uid`: (string) Unique id of the registry.
         - `provider`: (string) (required) Cloud provider to be used for the selected resource (enum: aws, azure, civo, gcp, oci, cloudflare, coreweave, nebius, aiven, backblaze, akamai, byok)
         - `region`: (string) (required)
         - `integrationId`: (string) Integration to use for this registry. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)
         - `restrictions`: {object}
           - `enabled`: (boolean) (required) Enable or disable BYOC restrictions for this entity
           - `teams`: [array of] {object}
               - `teamId`: (string) (required) The ID of the team that has access to this BYOC cluster
         - `updatedAt`: (string) time of update (format: date-time)
         - `createdAt`: (string) time of creation (format: date-time)
     - `spec`: {object}
       - `name`: (multiple options) (string) The name of the cloud provider registry. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the cloud provider registry. (pattern: .*\${.*}.*)
       - `description`: (string) The description of the integration. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
       - `uid`: (string) Unique id of the registry.
       - `provider`: (multiple options) (string) Cloud provider to be used for the selected resource (enum: aws, azure, civo, gcp, oci, cloudflare, coreweave, nebius, aiven, backblaze, akamai, byok) | (string) A string containing one or more references that resolve to cloud provider to be used for the selected resource (pattern: .*\${.*}.*)
       - `region`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
       - `integrationId`: (multiple options) (string) Integration to use for this registry. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to integration to use for this registry. (pattern: .*\${.*}.*)
       - `restrictions`: {object}
         - `enabled`: (boolean) (required) Enable or disable BYOC restrictions for this entity
         - `teams`: [array of] {object}
             - `teamId`: (string) (required) The ID of the team that has access to this BYOC cluster (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 45)
       - `updatedAt`: (string) time of update (format: date-time)
       - `createdAt`: (string) time of creation (format: date-time)
     - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: CustomDockerCredentials)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: {object}
         - `id`: (string) (required) ID of the docker credentials (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
         - `name`: (string) (required) The name of the docker credentials. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
         - `provider`: (string) (required) The provider of the docker registry. (enum: acr, ecr, gar, dockerhub, dhi, github, gitlab, custom, legacy)
         - `registryUrl`: (string) The URL of the docker registry.
         - `aws`: {object}
           - `region`: (string) The region of the docker registry.
         - `gcp`: {object}
           - `projectId`: (string) The project ID of the GCP docker registry.
         - `azure`: {object}
           - `resourceGroup`: (string) The resource group of the Azure docker registry.
         - `integrationId`: (string) Integration to use for this registry. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)
         - `credentials`: {object}
           - `username`: (string) Username for the docker registry. Required when `integrationId` is provided.
           - `password`: (string) Password for the docker registry. Required when `integrationId` is provided.
           - `scope`: {object}
             - `pull`: (boolean) Whether the credentials can pull images.
             - `push`: (boolean) Whether the credentials can push images.
         - `restrictions`: {object}
           - `restricted`: (boolean) (required) Whether access to this credential is restricted.
           - `projects`: [array of] (string)
         - `updatedAt`: (string) time of update (format: date-time)
         - `createdAt`: (string) time of creation (format: date-time)
     - `spec`: {object}
       - `name`: (multiple options) (string) The name of the docker credentials. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the docker credentials. (pattern: .*\${.*}.*)
       - `provider`: (string) (required) The provider of the docker registry. (enum: acr, ecr, gar, dockerhub, dhi, github, gitlab, custom, legacy)
       - `registryUrl`: (multiple options) (string) The URL of the docker registry. | (string) A string containing one or more references that resolve to the URL of the docker registry. (pattern: .*\${.*}.*)
       - `aws`: {object}
         - `region`: (string) The region of the docker registry.
       - `gcp`: {object}
         - `projectId`: (string) The project ID of the GCP docker registry.
       - `azure`: {object}
         - `resourceGroup`: (string) The resource group of the Azure docker registry.
       - `integrationId`: (multiple options) (string) Integration to use for this registry. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to integration to use for this registry. (pattern: .*\${.*}.*)
       - `credentials`: {object}
         - `username`: (string) Username for the docker registry. Required when `integrationId` is provided.
         - `password`: (string) Password for the docker registry. Required when `integrationId` is provided.
         - `scope`: {object}
           - `pull`: (boolean) Whether the credentials can pull images.
           - `push`: (boolean) Whether the credentials can push images.
       - `restrictions`: {object}
         - `restricted`: (boolean) (required) Whether access to this credential is restricted.
         - `projects`: [array of] (string)
       - `updatedAt`: (string) time of update (format: date-time)
       - `createdAt`: (string) time of creation (format: date-time) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: Project)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: {object}
         - `id`: (string) (required) Identifier for the project
         - `name`: (string) (required) The name of the project. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
         - `description`: (string) The description of the project. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
         - `color`: (string) The color of the project in the Northflank App. (pattern: ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$)
         - `region`: (string) The region the project will be hosted in.
         - `clusterId`: (string) The BYOC cluster this project will be hosted in. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)
         - `customRegistry`: {object}
           - `enabled`: (boolean)
           - `configuration`: {object}
             - `credentialId`: (string) (required) (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)
             - `provider`: (string) (enum: acr, ecr, gar, dockerhub, dhi, github, gitlab, custom, legacy)
         - `networking`: {object}
           - `allowedIngressProjects`: [array of] (string) (pattern: ^[A-Za-z0-9-]+$)
           - `tailscale`: {object}
             - `enabled`: (boolean) Whether or not to inject a Tailscale sidecar for this project's resources
             - `authKeyTags`: [array of] (string) (pattern: ^tag:.+)
             - `restrictions`: {object}
               - `enabled`: (boolean) (required) Whether or not to restrict the settings to resources with specific tags
               - `tags`: [array of] (string) (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
               - `tagMatchCondition`: (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or)
             - `options`: {object}
               - `applyToAddons`: (boolean) Apply the Tailscale configuration to addons.
               - `applyToAddonJobs`: (boolean) Apply the Tailscale configuration to addon jobs (backups, restores).
               - `autoRedeployOnRegeneration`: (boolean) Automatically restart applicable services when the auth key is regenerated
             - `tailscaleOptions`: {object}
               - `acceptRoutes`: (boolean) Accept advertised routes from the Tailscale network
               - `tailnetServicesEnabled`: (boolean) Enable automatic creation of Tailnet services for resources in this project
               - `useUnscopedServiceNames`: (boolean) Use the service internal ID as the Tailnet Service name without the project UID. This causes undefined behavior when two services in the tailnet have matching internal IDs.
               - `tailnetServicesRestrictions`: {object}
                 - `enabled`: (boolean) (required) Whether or not to restrict the settings to resources with specific tags
                 - `tags`: [array of] (string) (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
                 - `tagMatchCondition`: (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or)
             - `secrets`: {object}
               - `clientId`: (string) (required) Tailscale OAuth client ID (required for generating auth keys for Tailscale)
               - `clientSecret`: (string) (required) Tailscale OAuth client secret (required for generating auth keys for Tailscale)
           - `hostAliases`: {object}
             - `enabled`: (boolean) Enable support for adding /etc/hosts overrides for a container
             - `hostEntries`: [array of] {object}
                 - `ipAddress`: (string) (required) (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$)
                 - `hostnames`: [array of] (string) (pattern: ^(([a-z0-9][a-z0-9\-]*)|[a-z0-9]\.)*([a-z]+|xn\-\-[a-z0-9]+)\.?$)
             - `restrictions`: {object}
               - `enabled`: (boolean) (required) Whether or not to restrict the settings to resources with specific tags
               - `tags`: [array of] (string) (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
               - `tagMatchCondition`: (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or)
         - `createdAt`: (string) time of creation (format: date-time)
         - `updatedAt`: (string) time of update (format: date-time)
     - `spec`: {object}
       - `description`: (multiple options) (string) The description of the project. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to the description of the project. (pattern: .*\${.*}.*)
       - `color`: (multiple options) (string) The color of the project in the Northflank App. (pattern: ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$) | (string) A string containing one or more references that resolve to the color of the project in the Northflank App. (pattern: .*\${.*}.*)
       - `networking`: {object}
         - `allowedIngressProjects`: [array of] (multiple options) (string) (pattern: ^[A-Za-z0-9-]+$) | (string) (pattern: .*\${.*}.*)
         - `tailscale`: {object}
           - `enabled`: (boolean) Whether or not to inject a Tailscale sidecar for this project's resources
           - `authKeyTags`: [array of] (multiple options) (string) (pattern: ^tag:.+) | (string) (pattern: .*\${.*}.*)
           - `restrictions`: {object}
             - `enabled`: (boolean) Whether or not to restrict the settings to resources with specific tags
             - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) (pattern: .*\${.*}.*)
             - `tagMatchCondition`: (multiple options) (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or) | (string) A string containing one or more references that resolve to if all or any of the tags must be present on the target for it to match the condition. (pattern: .*\${.*}.*)
           - `options`: {object}
             - `applyToAddons`: (boolean) Apply the Tailscale configuration to addons.
             - `applyToAddonJobs`: (boolean) Apply the Tailscale configuration to addon jobs (backups, restores).
             - `autoRedeployOnRegeneration`: (boolean) Automatically restart applicable services when the auth key is regenerated
           - `tailscaleOptions`: {object}
             - `acceptRoutes`: (boolean) Accept advertised routes from the Tailscale network
             - `tailnetServicesEnabled`: (boolean) Enable automatic creation of Tailnet services for resources in this project
             - `useUnscopedServiceNames`: (boolean) Use the service internal ID as the Tailnet Service name without the project UID. This causes undefined behavior when two services in the tailnet have matching internal IDs.
             - `tailnetServicesRestrictions`: {object}
               - `enabled`: (boolean) (required) Whether or not to restrict the settings to resources with specific tags
               - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) (pattern: .*\${.*}.*)
               - `tagMatchCondition`: (multiple options) (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or) | (string) A string containing one or more references that resolve to if all or any of the tags must be present on the target for it to match the condition. (pattern: .*\${.*}.*)
           - `secrets`: {object}
             - `clientId`: (multiple options) (string) Tailscale OAuth client ID (required for generating auth keys for Tailscale) | (string) A string containing one or more references that resolve to tailscale OAuth client ID (required for generating auth keys for Tailscale) (pattern: .*\${.*}.*)
             - `clientSecret`: (multiple options) (string) Tailscale OAuth client secret (required for generating auth keys for Tailscale) | (string) A string containing one or more references that resolve to tailscale OAuth client secret (required for generating auth keys for Tailscale) (pattern: .*\${.*}.*)
         - `hostAliases`: {object}
           - `enabled`: (boolean) Enable support for adding /etc/hosts overrides for a container
           - `hostEntries`: [array of] (multiple options) {object}
                 - `ipAddress`: (multiple options) (string) (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$) | (string) (pattern: .*\${.*}.*)
                 - `hostnames`: (multiple options) [array of] (multiple options) (string) (pattern: ^(([a-z0-9][a-z0-9\-]*)|[a-z0-9]\.)*([a-z]+|xn\-\-[a-z0-9]+)\.?$) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
           - `restrictions`: {object}
             - `enabled`: (boolean) Whether or not to restrict the settings to resources with specific tags
             - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) (pattern: .*\${.*}.*)
             - `tagMatchCondition`: (multiple options) (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or) | (string) A string containing one or more references that resolve to if all or any of the tags must be present on the target for it to match the condition. (pattern: .*\${.*}.*)
       - `name`: (multiple options) (string) The name of the project. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the project. (pattern: .*\${.*}.*)
     - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: Project)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: {object}
         - `id`: (string) (required) Identifier for the project
         - `name`: (string) (required) The name of the project. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
         - `description`: (string) The description of the project. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
         - `color`: (string) The color of the project in the Northflank App. (pattern: ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$)
         - `region`: (string) The region the project will be hosted in.
         - `clusterId`: (string) The BYOC cluster this project will be hosted in. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)
         - `customRegistry`: {object}
           - `enabled`: (boolean)
           - `configuration`: {object}
             - `credentialId`: (string) (required) (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)
             - `provider`: (string) (enum: acr, ecr, gar, dockerhub, dhi, github, gitlab, custom, legacy)
         - `networking`: {object}
           - `allowedIngressProjects`: [array of] (string) (pattern: ^[A-Za-z0-9-]+$)
           - `tailscale`: {object}
             - `enabled`: (boolean) Whether or not to inject a Tailscale sidecar for this project's resources
             - `authKeyTags`: [array of] (string) (pattern: ^tag:.+)
             - `restrictions`: {object}
               - `enabled`: (boolean) (required) Whether or not to restrict the settings to resources with specific tags
               - `tags`: [array of] (string) (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
               - `tagMatchCondition`: (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or)
             - `options`: {object}
               - `applyToAddons`: (boolean) Apply the Tailscale configuration to addons.
               - `applyToAddonJobs`: (boolean) Apply the Tailscale configuration to addon jobs (backups, restores).
               - `autoRedeployOnRegeneration`: (boolean) Automatically restart applicable services when the auth key is regenerated
             - `tailscaleOptions`: {object}
               - `acceptRoutes`: (boolean) Accept advertised routes from the Tailscale network
               - `tailnetServicesEnabled`: (boolean) Enable automatic creation of Tailnet services for resources in this project
               - `useUnscopedServiceNames`: (boolean) Use the service internal ID as the Tailnet Service name without the project UID. This causes undefined behavior when two services in the tailnet have matching internal IDs.
               - `tailnetServicesRestrictions`: {object}
                 - `enabled`: (boolean) (required) Whether or not to restrict the settings to resources with specific tags
                 - `tags`: [array of] (string) (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
                 - `tagMatchCondition`: (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or)
             - `secrets`: {object}
               - `clientId`: (string) (required) Tailscale OAuth client ID (required for generating auth keys for Tailscale)
               - `clientSecret`: (string) (required) Tailscale OAuth client secret (required for generating auth keys for Tailscale)
           - `hostAliases`: {object}
             - `enabled`: (boolean) Enable support for adding /etc/hosts overrides for a container
             - `hostEntries`: [array of] {object}
                 - `ipAddress`: (string) (required) (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$)
                 - `hostnames`: [array of] (string) (pattern: ^(([a-z0-9][a-z0-9\-]*)|[a-z0-9]\.)*([a-z]+|xn\-\-[a-z0-9]+)\.?$)
             - `restrictions`: {object}
               - `enabled`: (boolean) (required) Whether or not to restrict the settings to resources with specific tags
               - `tags`: [array of] (string) (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
               - `tagMatchCondition`: (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or)
         - `createdAt`: (string) time of creation (format: date-time)
         - `updatedAt`: (string) time of update (format: date-time)
     - `spec`: (multiple options) {object}
         - `name`: (multiple options) (string) The name of the project. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the project. (pattern: .*\${.*}.*)
         - `description`: (multiple options) (string) The description of the project. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to the description of the project. (pattern: .*\${.*}.*)
         - `color`: (multiple options) (string) The color of the project in the Northflank App. (pattern: ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$) | (string) A string containing one or more references that resolve to the color of the project in the Northflank App. (pattern: .*\${.*}.*)
         - `region`: (multiple options) (string) The region the project will be hosted in. | (string) A string containing one or more references that resolve to the region the project will be hosted in. (pattern: .*\${.*}.*)
         - `networking`: {object}
           - `allowedIngressProjects`: [array of] (multiple options) (string) (pattern: ^[A-Za-z0-9-]+$) | (string) (pattern: .*\${.*}.*)
           - `tailscale`: {object}
             - `enabled`: (boolean) Whether or not to inject a Tailscale sidecar for this project's resources
             - `authKeyTags`: [array of] (multiple options) (string) (pattern: ^tag:.+) | (string) (pattern: .*\${.*}.*)
             - `restrictions`: {object}
               - `enabled`: (boolean) (required) Whether or not to restrict the settings to resources with specific tags
               - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) (pattern: .*\${.*}.*)
               - `tagMatchCondition`: (multiple options) (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or) | (string) A string containing one or more references that resolve to if all or any of the tags must be present on the target for it to match the condition. (pattern: .*\${.*}.*)
             - `options`: {object}
               - `applyToAddons`: (boolean) Apply the Tailscale configuration to addons.
               - `applyToAddonJobs`: (boolean) Apply the Tailscale configuration to addon jobs (backups, restores).
               - `autoRedeployOnRegeneration`: (boolean) Automatically restart applicable services when the auth key is regenerated
             - `tailscaleOptions`: {object}
               - `acceptRoutes`: (boolean) Accept advertised routes from the Tailscale network
               - `tailnetServicesEnabled`: (boolean) Enable automatic creation of Tailnet services for resources in this project
               - `useUnscopedServiceNames`: (boolean) Use the service internal ID as the Tailnet Service name without the project UID. This causes undefined behavior when two services in the tailnet have matching internal IDs.
               - `tailnetServicesRestrictions`: {object}
                 - `enabled`: (boolean) (required) Whether or not to restrict the settings to resources with specific tags
                 - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) (pattern: .*\${.*}.*)
                 - `tagMatchCondition`: (multiple options) (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or) | (string) A string containing one or more references that resolve to if all or any of the tags must be present on the target for it to match the condition. (pattern: .*\${.*}.*)
             - `secrets`: {object}
               - `clientId`: (multiple options) (string) Tailscale OAuth client ID (required for generating auth keys for Tailscale) | (string) A string containing one or more references that resolve to tailscale OAuth client ID (required for generating auth keys for Tailscale) (pattern: .*\${.*}.*)
               - `clientSecret`: (multiple options) (string) Tailscale OAuth client secret (required for generating auth keys for Tailscale) | (string) A string containing one or more references that resolve to tailscale OAuth client secret (required for generating auth keys for Tailscale) (pattern: .*\${.*}.*)
           - `hostAliases`: {object}
             - `enabled`: (boolean) Enable support for adding /etc/hosts overrides for a container
             - `hostEntries`: [array of] (multiple options) {object}
                   - `ipAddress`: (multiple options) (string) (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$) | (string) (pattern: .*\${.*}.*)
                   - `hostnames`: (multiple options) [array of] (multiple options) (string) (pattern: ^(([a-z0-9][a-z0-9\-]*)|[a-z0-9]\.)*([a-z]+|xn\-\-[a-z0-9]+)\.?$) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
             - `restrictions`: {object}
               - `enabled`: (boolean) (required) Whether or not to restrict the settings to resources with specific tags
               - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) (pattern: .*\${.*}.*)
               - `tagMatchCondition`: (multiple options) (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or) | (string) A string containing one or more references that resolve to if all or any of the tags must be present on the target for it to match the condition. (pattern: .*\${.*}.*) | {object}
         - `name`: (multiple options) (string) The name of the project. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the project. (pattern: .*\${.*}.*)
         - `description`: (multiple options) (string) The description of the project. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to the description of the project. (pattern: .*\${.*}.*)
         - `color`: (multiple options) (string) The color of the project in the Northflank App. (pattern: ^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$) | (string) A string containing one or more references that resolve to the color of the project in the Northflank App. (pattern: .*\${.*}.*)
         - `clusterId`: (multiple options) (string) The BYOC cluster this project will be hosted in. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to the BYOC cluster this project will be hosted in. (pattern: .*\${.*}.*)
         - `networking`: {object}
           - `allowedIngressProjects`: [array of] (multiple options) (string) (pattern: ^[A-Za-z0-9-]+$) | (string) (pattern: .*\${.*}.*)
           - `tailscale`: {object}
             - `enabled`: (boolean) Whether or not to inject a Tailscale sidecar for this project's resources
             - `authKeyTags`: [array of] (multiple options) (string) (pattern: ^tag:.+) | (string) (pattern: .*\${.*}.*)
             - `restrictions`: {object}
               - `enabled`: (boolean) (required) Whether or not to restrict the settings to resources with specific tags
               - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) (pattern: .*\${.*}.*)
               - `tagMatchCondition`: (multiple options) (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or) | (string) A string containing one or more references that resolve to if all or any of the tags must be present on the target for it to match the condition. (pattern: .*\${.*}.*)
             - `options`: {object}
               - `applyToAddons`: (boolean) Apply the Tailscale configuration to addons.
               - `applyToAddonJobs`: (boolean) Apply the Tailscale configuration to addon jobs (backups, restores).
               - `autoRedeployOnRegeneration`: (boolean) Automatically restart applicable services when the auth key is regenerated
             - `tailscaleOptions`: {object}
               - `acceptRoutes`: (boolean) Accept advertised routes from the Tailscale network
               - `tailnetServicesEnabled`: (boolean) Enable automatic creation of Tailnet services for resources in this project
               - `useUnscopedServiceNames`: (boolean) Use the service internal ID as the Tailnet Service name without the project UID. This causes undefined behavior when two services in the tailnet have matching internal IDs.
               - `tailnetServicesRestrictions`: {object}
                 - `enabled`: (boolean) (required) Whether or not to restrict the settings to resources with specific tags
                 - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) (pattern: .*\${.*}.*)
                 - `tagMatchCondition`: (multiple options) (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or) | (string) A string containing one or more references that resolve to if all or any of the tags must be present on the target for it to match the condition. (pattern: .*\${.*}.*)
             - `secrets`: {object}
               - `clientId`: (multiple options) (string) Tailscale OAuth client ID (required for generating auth keys for Tailscale) | (string) A string containing one or more references that resolve to tailscale OAuth client ID (required for generating auth keys for Tailscale) (pattern: .*\${.*}.*)
               - `clientSecret`: (multiple options) (string) Tailscale OAuth client secret (required for generating auth keys for Tailscale) | (string) A string containing one or more references that resolve to tailscale OAuth client secret (required for generating auth keys for Tailscale) (pattern: .*\${.*}.*)
           - `hostAliases`: {object}
             - `enabled`: (boolean) Enable support for adding /etc/hosts overrides for a container
             - `hostEntries`: [array of] (multiple options) {object}
                   - `ipAddress`: (multiple options) (string) (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$) | (string) (pattern: .*\${.*}.*)
                   - `hostnames`: (multiple options) [array of] (multiple options) (string) (pattern: ^(([a-z0-9][a-z0-9\-]*)|[a-z0-9]\.)*([a-z]+|xn\-\-[a-z0-9]+)\.?$) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
             - `restrictions`: {object}
               - `enabled`: (boolean) (required) Whether or not to restrict the settings to resources with specific tags
               - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) (pattern: .*\${.*}.*)
               - `tagMatchCondition`: (multiple options) (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or) | (string) A string containing one or more references that resolve to if all or any of the tags must be present on the target for it to match the condition. (pattern: .*\${.*}.*)
     - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: BuildService)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: {object}
         - `name`: (string) (required) The name of the service. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54)
         - `description`: (string) A description of the service. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
         - `stageId`: (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `tags`: [array of] (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `billing`: {object}
           - `deploymentPlan`: (string) The ID of the deployment plan to use. (Deprecated - use buildPlan for build resources instead.). (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
           - `buildPlan`: (string) The ID of the build plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
           - `gpu`: {object}
             - `enabled`: (boolean) Whether GPUs are enabled for this workload.
             - `configuration`: {object}
               - `gpuType`: (string) (required) The type of GPU to use.
               - `gpuCount`: (integer) The number of GPUs to allocate.
               - `timesliced`: (boolean) Whether GPU timeslicing is enabled.
         - `infrastructure`: {object}
           - `architecture`: (string) (enum: x86, arm)
         - `disabledCI`: (boolean) Whether CI (continuous integration) should be disabled.
         - `buildSource`: (string) Defines the build source for this resource (enum: git, bundle)
         - `vcsData`: {object}
           - `projectUrl`: (string) (required) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$)
           - `projectType`: (string) (required) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure)
           - `selfHostedVcsId`: (string) If projectType is self-hosted, the ID of the self-hosted vcs to use.
           - `accountLogin`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name.
           - `vcsLinkId`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24)
         - `buildSettings`: (multiple options) {object}
             - `storage`: {object}
               - `ephemeralStorage`: {object}
                 - `storageSize`: (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288)
             - `dockerfile`: {object}
               - `useCache`: (boolean) DEPRECATED: This field will be removed in the near future and currently has no effect.
               - `buildEngine`: (string) Build engine to use. Defaults to recommended build engine `buildkit` (enum: buildkit, kaniko)
               - `dockerFilePath`: (string) (required) The file path of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$)
               - `dockerWorkDir`: (string) (required) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$)
               - `buildkit`: {object}
                 - `useCache`: (boolean) Use persistent storage to cache build layers.
                 - `cacheStorageSize`: (integer) The amount of persistent storage available to each build in MB.
                 - `useInternalCache`: (boolean) DEPRECATED: This field will be removed in the near future.
                 - `internalCacheStorage`: (number) DEPRECATED: This field will be removed in the near future. (format: float) | {object}
             - `storage`: {object}
               - `ephemeralStorage`: {object}
                 - `storageSize`: (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288)
             - `buildpack`: {object}
               - `builder`: (string) Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (enum: HEROKU_24, HEROKU_22, HEROKU_22_CLASSIC, HEROKU_20, HEROKU_18, GOOGLE_22, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_JAMMY_TINY, PAKETO_JAMMY_BASE, PAKETO_JAMMY_FULL, PAKETO_TINY, PAKETO_BASE, PAKETO_FULL)
               - `buildpackLocators`: [array of] (string) Url or registry identifier of custom Buildpack.
               - `buildContext`: (string) The working directory to build in. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$)
               - `useCache`: (boolean) Should build dependencies be cached?
         - `buildConfiguration`: {object}
           - `prRestrictions`: [array of] (string) A pull request build rule. Can contain `*` as a wildcard to match multiple branch names. For example, `feature/*` will build all commits from pull requests from branches that start with `feature/`. (pattern: ^[^?:@$~ [\]{}]*$)
           - `branchRestrictions`: [array of] (string) A branch build rule. Can contain `*` as a wildcard to match multiple branch names. For example, `feature/*` will build all commits from branches that start with `feature/`. (pattern: ^[^?:@$~ [\]{}]*$)
           - `crossProjectAccess`: {object}
             - `enabled`: (boolean) (required) Allow this build service to be referenced by resources in other projects.
             - `projects`: [array of] (string) The ID of a project to include or exclude. (pattern: ^[A-Za-z0-9-]+$)
             - `isAllowList`: (boolean) (required) If true, only the listed projects can use this build service. If false, all projects except the listed ones can use this build service.
           - `pathIgnoreRules`: [array of] (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260)
           - `isAllowList`: (boolean) If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`.
           - `ciIgnoreFlagsEnabled`: (boolean) If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built.
           - `ciIgnoreFlags`: [array of] (string) A commit ignore flag. (max length: 72)
           - `dockerfileTarget`: (string) If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here.
           - `dockerCredentials`: [array of] (string) The ID of the docker credentials to use. (pattern: ^[A-Za-z0-9-]+$)
           - `includeGitFolder`: (boolean) Include .git folder inside the build context
           - `fullGitClone`: (boolean) Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set.
           - `enableGitLfs`: (boolean) Enable Git LFS support for the build
           - `storage`: {object}
             - `ephemeralStorage`: {object}
               - `storageSize`: (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288)
         - `buildArguments`: {object}
         - `buildFiles`: {object}
         - `dockerSecretMounts`: {object}
         - `serviceType`: (string) (required) Type of the service (combined, build or deployment) (enum: build)
         - `id`: (string) (required) Identifier for the service
         - `appId`: (string) (required) Full identifier used for service deployment
         - `cluster`: {object}
           - `id`: (string) (required) The id of the cluster associated with this project.
           - `name`: (string) (required) The name of the cluster associated with this project.
           - `namespace`: (string) Namespace this resource is located within on the cluster.
           - `loadBalancers`: [array of] (string)
         - `createdAt`: (string) time of creation (format: date-time)
         - `updatedAt`: (string) time of update (format: date-time)
         - `status`: {object}
           - `build`: {object}
             - `status`: (string) (required) The current status of the build. (enum: QUEUED, PENDING, UNSCHEDULABLE, STARTING, CLONING, BUILDING, UPLOADING, ABORTED, FAILURE, SUBMISSION_FAILURE, SUCCESS, CRASHED, IN_PROGRESS)
             - `lastTransitionTime`: (string) The timestamp of when the build reached this status. (format: date-time)
     - `spec`: {object}
       - `description`: (multiple options) (string) A description of the service. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the service. (pattern: .*\${.*}.*)
       - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `billing`: {object}
         - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (Deprecated - use buildPlan for build resources instead.). (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (Deprecated - use buildPlan for build resources instead.). (pattern: .*\${.*}.*)
         - `buildPlan`: (multiple options) (string) The ID of the build plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the build plan to use. (pattern: .*\${.*}.*)
         - `gpu`: {object}
           - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
           - `configuration`: {object}
             - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
             - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
             - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
       - `disabledCI`: (boolean) Whether CI (continuous integration) should be disabled.
       - `buildSource`: (string) Defines the build source for this resource (enum: git, bundle)
       - `vcsData`: {object}
         - `projectUrl`: (multiple options) (string) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo to build. (pattern: .*\${.*}.*)
         - `projectType`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
         - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
         - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
         - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24) | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
       - `buildSettings`: {object}
         - `storage`: {object}
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
         - `dockerfile`: {object}
           - `useCache`: (boolean) DEPRECATED: This field will be removed in the near future and currently has no effect.
           - `buildEngine`: (multiple options) (string) Build engine to use. Defaults to recommended build engine `buildkit` (enum: buildkit, kaniko) | (string) A string containing one or more references that resolve to build engine to use. Defaults to recommended build engine `buildkit` (pattern: .*\${.*}.*)
           - `dockerFilePath`: (multiple options) (string) The file path of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$) | (string) A string containing one or more references that resolve to the file path of the Dockerfile. (pattern: .*\${.*}.*)
           - `dockerWorkDir`: (multiple options) (string) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory of the Dockerfile. (pattern: .*\${.*}.*)
           - `buildkit`: {object}
             - `useCache`: (multiple options) (boolean) Use persistent storage to cache build layers. | (string) A string containing one or more references that resolve to use persistent storage to cache build layers. (pattern: .*\${.*}.*)
             - `cacheStorageSize`: (multiple options) (integer) The amount of persistent storage available to each build in MB. | (string) A string containing one or more references that resolve to the amount of persistent storage available to each build in MB. (pattern: .*\${.*}.*)
             - `useInternalCache`: (multiple options) (boolean) DEPRECATED: This field will be removed in the near future. | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*)
             - `internalCacheStorage`: (multiple options) (number) DEPRECATED: This field will be removed in the near future. (format: float) | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*)
         - `buildpack`: {object}
           - `builder`: (multiple options) (string) Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (enum: HEROKU_24, HEROKU_22, HEROKU_22_CLASSIC, HEROKU_20, HEROKU_18, GOOGLE_22, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_JAMMY_TINY, PAKETO_JAMMY_BASE, PAKETO_JAMMY_FULL, PAKETO_TINY, PAKETO_BASE, PAKETO_FULL) | (string) A string containing one or more references that resolve to buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (pattern: .*\${.*}.*)
           - `buildpackLocators`: [array of] (multiple options) (string) Url or registry identifier of custom Buildpack. | (string) A string containing one or more references that resolve to url or registry identifier of custom Buildpack. (pattern: .*\${.*}.*)
           - `buildContext`: (multiple options) (string) The working directory to build in. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory to build in. (pattern: .*\${.*}.*)
           - `useCache`: (multiple options) (boolean) Should build dependencies be cached? | (string) A string containing one or more references that resolve to should build dependencies be cached? (pattern: .*\${.*}.*)
       - `buildConfiguration`: {object}
         - `prRestrictions`: [array of] (multiple options) (string) A pull request build rule. Can contain `*` as a wildcard to match multiple branch names. For example, `feature/*` will build all commits from pull requests from branches that start with `feature/`. (pattern: ^[^?:@$~ [\]{}]*$) | (string) A string containing one or more references that resolve to a pull request build rule. Can contain `*` as a wildcard to match multiple branch names. For example, `feature/*` will build all commits from pull requests from branches that start with `feature/`. (pattern: .*\${.*}.*)
         - `branchRestrictions`: [array of] (multiple options) (string) A branch build rule. Can contain `*` as a wildcard to match multiple branch names. For example, `feature/*` will build all commits from branches that start with `feature/`. (pattern: ^[^?:@$~ [\]{}]*$) | (string) A string containing one or more references that resolve to a branch build rule. Can contain `*` as a wildcard to match multiple branch names. For example, `feature/*` will build all commits from branches that start with `feature/`. (pattern: .*\${.*}.*)
         - `crossProjectAccess`: {object}
           - `enabled`: (boolean) (required) Allow this build service to be referenced by resources in other projects.
           - `projects`: [array of] (multiple options) (string) The ID of a project to include or exclude. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of a project to include or exclude. (pattern: .*\${.*}.*)
           - `isAllowList`: (boolean) (required) If true, only the listed projects can use this build service. If false, all projects except the listed ones can use this build service.
         - `pathIgnoreRules`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
         - `isAllowList`: (multiple options) (boolean) If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. | (string) A string containing one or more references that resolve to if `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. (pattern: .*\${.*}.*)
         - `ciIgnoreFlagsEnabled`: (multiple options) (boolean) If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. | (string) A string containing one or more references that resolve to if `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. (pattern: .*\${.*}.*)
         - `ciIgnoreFlags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
         - `dockerfileTarget`: (multiple options) (string) If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. | (string) A string containing one or more references that resolve to if your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. (pattern: .*\${.*}.*)
         - `dockerCredentials`: [array of] (multiple options) (string) The ID of the docker credentials to use. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of the docker credentials to use. (pattern: .*\${.*}.*)
         - `includeGitFolder`: (boolean) Include .git folder inside the build context
         - `fullGitClone`: (boolean) Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set.
         - `enableGitLfs`: (boolean) Enable Git LFS support for the build
         - `storage`: {object}
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
       - `buildArguments`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
       - `buildFiles`: {object}
       - `dockerSecretMounts`: {object}
       - `name`: (multiple options) (string) The name of the service. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the name of the service. (pattern: .*\${.*}.*)
     - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: BuildService)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: {object}
         - `name`: (string) (required) The name of the service. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54)
         - `description`: (string) A description of the service. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
         - `stageId`: (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `tags`: [array of] (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `billing`: {object}
           - `deploymentPlan`: (string) The ID of the deployment plan to use. (Deprecated - use buildPlan for build resources instead.). (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
           - `buildPlan`: (string) The ID of the build plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
           - `gpu`: {object}
             - `enabled`: (boolean) Whether GPUs are enabled for this workload.
             - `configuration`: {object}
               - `gpuType`: (string) (required) The type of GPU to use.
               - `gpuCount`: (integer) The number of GPUs to allocate.
               - `timesliced`: (boolean) Whether GPU timeslicing is enabled.
         - `infrastructure`: {object}
           - `architecture`: (string) (enum: x86, arm)
         - `disabledCI`: (boolean) Whether CI (continuous integration) should be disabled.
         - `buildSource`: (string) Defines the build source for this resource (enum: git, bundle)
         - `vcsData`: {object}
           - `projectUrl`: (string) (required) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$)
           - `projectType`: (string) (required) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure)
           - `selfHostedVcsId`: (string) If projectType is self-hosted, the ID of the self-hosted vcs to use.
           - `accountLogin`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name.
           - `vcsLinkId`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24)
         - `buildSettings`: (multiple options) {object}
             - `storage`: {object}
               - `ephemeralStorage`: {object}
                 - `storageSize`: (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288)
             - `dockerfile`: {object}
               - `useCache`: (boolean) DEPRECATED: This field will be removed in the near future and currently has no effect.
               - `buildEngine`: (string) Build engine to use. Defaults to recommended build engine `buildkit` (enum: buildkit, kaniko)
               - `dockerFilePath`: (string) (required) The file path of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$)
               - `dockerWorkDir`: (string) (required) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$)
               - `buildkit`: {object}
                 - `useCache`: (boolean) Use persistent storage to cache build layers.
                 - `cacheStorageSize`: (integer) The amount of persistent storage available to each build in MB.
                 - `useInternalCache`: (boolean) DEPRECATED: This field will be removed in the near future.
                 - `internalCacheStorage`: (number) DEPRECATED: This field will be removed in the near future. (format: float) | {object}
             - `storage`: {object}
               - `ephemeralStorage`: {object}
                 - `storageSize`: (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288)
             - `buildpack`: {object}
               - `builder`: (string) Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (enum: HEROKU_24, HEROKU_22, HEROKU_22_CLASSIC, HEROKU_20, HEROKU_18, GOOGLE_22, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_JAMMY_TINY, PAKETO_JAMMY_BASE, PAKETO_JAMMY_FULL, PAKETO_TINY, PAKETO_BASE, PAKETO_FULL)
               - `buildpackLocators`: [array of] (string) Url or registry identifier of custom Buildpack.
               - `buildContext`: (string) The working directory to build in. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$)
               - `useCache`: (boolean) Should build dependencies be cached?
         - `buildConfiguration`: {object}
           - `prRestrictions`: [array of] (string) A pull request build rule. Can contain `*` as a wildcard to match multiple branch names. For example, `feature/*` will build all commits from pull requests from branches that start with `feature/`. (pattern: ^[^?:@$~ [\]{}]*$)
           - `branchRestrictions`: [array of] (string) A branch build rule. Can contain `*` as a wildcard to match multiple branch names. For example, `feature/*` will build all commits from branches that start with `feature/`. (pattern: ^[^?:@$~ [\]{}]*$)
           - `crossProjectAccess`: {object}
             - `enabled`: (boolean) (required) Allow this build service to be referenced by resources in other projects.
             - `projects`: [array of] (string) The ID of a project to include or exclude. (pattern: ^[A-Za-z0-9-]+$)
             - `isAllowList`: (boolean) (required) If true, only the listed projects can use this build service. If false, all projects except the listed ones can use this build service.
           - `pathIgnoreRules`: [array of] (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260)
           - `isAllowList`: (boolean) If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`.
           - `ciIgnoreFlagsEnabled`: (boolean) If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built.
           - `ciIgnoreFlags`: [array of] (string) A commit ignore flag. (max length: 72)
           - `dockerfileTarget`: (string) If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here.
           - `dockerCredentials`: [array of] (string) The ID of the docker credentials to use. (pattern: ^[A-Za-z0-9-]+$)
           - `includeGitFolder`: (boolean) Include .git folder inside the build context
           - `fullGitClone`: (boolean) Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set.
           - `enableGitLfs`: (boolean) Enable Git LFS support for the build
           - `storage`: {object}
             - `ephemeralStorage`: {object}
               - `storageSize`: (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288)
         - `buildArguments`: {object}
         - `buildFiles`: {object}
         - `dockerSecretMounts`: {object}
         - `serviceType`: (string) (required) Type of the service (combined, build or deployment) (enum: build)
         - `id`: (string) (required) Identifier for the service
         - `appId`: (string) (required) Full identifier used for service deployment
         - `cluster`: {object}
           - `id`: (string) (required) The id of the cluster associated with this project.
           - `name`: (string) (required) The name of the cluster associated with this project.
           - `namespace`: (string) Namespace this resource is located within on the cluster.
           - `loadBalancers`: [array of] (string)
         - `createdAt`: (string) time of creation (format: date-time)
         - `updatedAt`: (string) time of update (format: date-time)
         - `status`: {object}
           - `build`: {object}
             - `status`: (string) (required) The current status of the build. (enum: QUEUED, PENDING, UNSCHEDULABLE, STARTING, CLONING, BUILDING, UPLOADING, ABORTED, FAILURE, SUBMISSION_FAILURE, SUCCESS, CRASHED, IN_PROGRESS)
             - `lastTransitionTime`: (string) The timestamp of when the build reached this status. (format: date-time)
     - `spec`: {object}
       - `name`: (multiple options) (string) The name of the service. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the name of the service. (pattern: .*\${.*}.*)
       - `description`: (multiple options) (string) A description of the service. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the service. (pattern: .*\${.*}.*)
       - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
       - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `billing`: {object}
         - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (Deprecated - use buildPlan for build resources instead.). (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (Deprecated - use buildPlan for build resources instead.). (pattern: .*\${.*}.*)
         - `buildPlan`: (multiple options) (string) The ID of the build plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the build plan to use. (pattern: .*\${.*}.*)
         - `gpu`: {object}
           - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
           - `configuration`: {object}
             - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
             - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
             - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
       - `infrastructure`: {object}
         - `architecture`: (string) (enum: x86, arm)
       - `disabledCI`: (boolean) Whether CI (continuous integration) should be disabled.
       - `buildSource`: (string) Defines the build source for this resource (enum: git, bundle)
       - `vcsData`: {object}
         - `projectUrl`: (multiple options) (string) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo to build. (pattern: .*\${.*}.*)
         - `projectType`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
         - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
         - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
         - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24) | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
       - `buildSettings`: (multiple options) {object}
           - `storage`: {object}
             - `ephemeralStorage`: {object}
               - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
           - `dockerfile`: {object}
             - `useCache`: (boolean) DEPRECATED: This field will be removed in the near future and currently has no effect.
             - `buildEngine`: (multiple options) (string) Build engine to use. Defaults to recommended build engine `buildkit` (enum: buildkit, kaniko) | (string) A string containing one or more references that resolve to build engine to use. Defaults to recommended build engine `buildkit` (pattern: .*\${.*}.*)
             - `dockerFilePath`: (multiple options) (string) The file path of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$) | (string) A string containing one or more references that resolve to the file path of the Dockerfile. (pattern: .*\${.*}.*)
             - `dockerWorkDir`: (multiple options) (string) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory of the Dockerfile. (pattern: .*\${.*}.*)
             - `buildkit`: {object}
               - `useCache`: (multiple options) (boolean) Use persistent storage to cache build layers. | (string) A string containing one or more references that resolve to use persistent storage to cache build layers. (pattern: .*\${.*}.*)
               - `cacheStorageSize`: (multiple options) (integer) The amount of persistent storage available to each build in MB. | (string) A string containing one or more references that resolve to the amount of persistent storage available to each build in MB. (pattern: .*\${.*}.*)
               - `useInternalCache`: (multiple options) (boolean) DEPRECATED: This field will be removed in the near future. | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*)
               - `internalCacheStorage`: (multiple options) (number) DEPRECATED: This field will be removed in the near future. (format: float) | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*) | {object}
           - `storage`: {object}
             - `ephemeralStorage`: {object}
               - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
           - `buildpack`: {object}
             - `builder`: (multiple options) (string) Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (enum: HEROKU_24, HEROKU_22, HEROKU_22_CLASSIC, HEROKU_20, HEROKU_18, GOOGLE_22, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_JAMMY_TINY, PAKETO_JAMMY_BASE, PAKETO_JAMMY_FULL, PAKETO_TINY, PAKETO_BASE, PAKETO_FULL) | (string) A string containing one or more references that resolve to buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (pattern: .*\${.*}.*)
             - `buildpackLocators`: [array of] (multiple options) (string) Url or registry identifier of custom Buildpack. | (string) A string containing one or more references that resolve to url or registry identifier of custom Buildpack. (pattern: .*\${.*}.*)
             - `buildContext`: (multiple options) (string) The working directory to build in. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory to build in. (pattern: .*\${.*}.*)
             - `useCache`: (multiple options) (boolean) Should build dependencies be cached? | (string) A string containing one or more references that resolve to should build dependencies be cached? (pattern: .*\${.*}.*)
       - `buildConfiguration`: {object}
         - `prRestrictions`: [array of] (multiple options) (string) A pull request build rule. Can contain `*` as a wildcard to match multiple branch names. For example, `feature/*` will build all commits from pull requests from branches that start with `feature/`. (pattern: ^[^?:@$~ [\]{}]*$) | (string) A string containing one or more references that resolve to a pull request build rule. Can contain `*` as a wildcard to match multiple branch names. For example, `feature/*` will build all commits from pull requests from branches that start with `feature/`. (pattern: .*\${.*}.*)
         - `branchRestrictions`: [array of] (multiple options) (string) A branch build rule. Can contain `*` as a wildcard to match multiple branch names. For example, `feature/*` will build all commits from branches that start with `feature/`. (pattern: ^[^?:@$~ [\]{}]*$) | (string) A string containing one or more references that resolve to a branch build rule. Can contain `*` as a wildcard to match multiple branch names. For example, `feature/*` will build all commits from branches that start with `feature/`. (pattern: .*\${.*}.*)
         - `crossProjectAccess`: {object}
           - `enabled`: (boolean) (required) Allow this build service to be referenced by resources in other projects.
           - `projects`: [array of] (multiple options) (string) The ID of a project to include or exclude. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of a project to include or exclude. (pattern: .*\${.*}.*)
           - `isAllowList`: (boolean) (required) If true, only the listed projects can use this build service. If false, all projects except the listed ones can use this build service.
         - `pathIgnoreRules`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
         - `isAllowList`: (multiple options) (boolean) If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. | (string) A string containing one or more references that resolve to if `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. (pattern: .*\${.*}.*)
         - `ciIgnoreFlagsEnabled`: (multiple options) (boolean) If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. | (string) A string containing one or more references that resolve to if `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. (pattern: .*\${.*}.*)
         - `ciIgnoreFlags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
         - `dockerfileTarget`: (multiple options) (string) If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. | (string) A string containing one or more references that resolve to if your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. (pattern: .*\${.*}.*)
         - `dockerCredentials`: [array of] (multiple options) (string) The ID of the docker credentials to use. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of the docker credentials to use. (pattern: .*\${.*}.*)
         - `includeGitFolder`: (boolean) Include .git folder inside the build context
         - `fullGitClone`: (boolean) Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set.
         - `enableGitLfs`: (boolean) Enable Git LFS support for the build
         - `storage`: {object}
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
       - `buildArguments`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
       - `buildFiles`: {object}
       - `dockerSecretMounts`: {object}
     - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: CombinedService)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: {object}
         - `name`: (string) (required) The name of the service. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54)
         - `description`: (string) A description of the service. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
         - `stageId`: (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `tags`: [array of] (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `billing`: {object}
           - `deploymentPlan`: (string) (required) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
           - `buildPlan`: (string) The ID of the build plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
           - `gpu`: {object}
             - `enabled`: (boolean) Whether GPUs are enabled for this workload.
             - `configuration`: {object}
               - `gpuType`: (string) (required) The type of GPU to use.
               - `gpuCount`: (integer) The number of GPUs to allocate.
               - `timesliced`: (boolean) Whether GPU timeslicing is enabled.
         - `infrastructure`: {object}
           - `architecture`: (string) (enum: x86, arm)
         - `ports`: [array of] {object}
             - `name`: (string) (required) The name used to identify the port. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 1) (max length: 8)
             - `internalPort`: (integer) (required) The port number.
             - `public`: (boolean) If true, the port will be exposed publicly.
             - `security`: {object}
               - `credentials`: [array of] {object}
                   - `username`: (string) (required) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
                   - `password`: (string) (required) The password to access the service with this username.
                   - `type`: (string) (required) The type of authentication used (enum: basic-auth)
               - `ip`: [array of] {object}
                   - `addresses`: [array of] (string) An IP address used by this rule
                   - `action`: (string) (required) The action for this rule. (enum: ALLOW, DENY)
               - `policies`: [array of] {object}
                   - `addresses`: [array of] (string) An IP address used by this rule
                   - `action`: (string) (required) The action for this rule. (enum: ALLOW, DENY)
               - `sso`: {object}
                 - `organizationId`: (string) ID of the SSO organization that the user will have to be a member of
                 - `directoryGroupIds`: [array of] (string)
                 - `allowAnyOrgUsers`: (boolean) Allow entire organization to access this service
                 - `validateInternalTraffic`: (boolean) Enforce internal traffic through SSO authentication flow
                 - `setCookieOnRootDomain`: (boolean) Set SSO authentication cookie on root domain
                 - `allowInternalTrafficViaPublicDns`: (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow
               - `headers`: [array of] (multiple options) {object}
                     - `regexMode`: (boolean)
                     - `name`: (string) (required) (pattern: ^[a-zA-Z0-9_\-%$+]+$)
                     - `value`: (string) (required) | {object}
                     - `regexMode`: (boolean)
                     - `name`: (string) (required)
                     - `value`: (string) (required)
               - `verificationMode`: (string) Mode used to verify multiple security features like ip policies and SSO authentication (enum: or, and)
               - `securePathConfiguration`: {object}
                 - `enabled`: (boolean) Enable security policies on a path-level style
                 - `skipSecurityPoliciesForInternalTrafficViaPublicDns`: (boolean) Allow internal traffic from same or shared projects via public DNS to skip all security policies
                 - `rules`: [array of] {object}
                     - `paths`: [array of] (multiple options) {object}
                           - `path`: (string) (required) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$)
                           - `routingMode`: (string) (required) Mode of the path, determining how the URI will be interpreted. (enum: prefix)
                           - `priority`: (integer) (required) | {object}
                           - `path`: (string) (required) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$)
                           - `routingMode`: (string) (required) Mode of the path, determining how the URI will be interpreted. (enum: exact)
                           - `priority`: (integer) (required) | {object}
                           - `path`: (string) (required)
                           - `routingMode`: (string) (required) Mode of the path, determining how the URI will be interpreted. (enum: regex)
                           - `priority`: (integer) (required)
                     - `accessMode`: (string) (required) Specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path (enum: protected, unprotected)
                     - `securityPolicies`: {object}
                       - `orPolicies`: {object}
                         - `credentials`: [array of] {object}
                             - `username`: (string) (required) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
                             - `password`: (string) (required) The password to access the service with this username.
                             - `type`: (string) (required) The type of authentication used (enum: basic-auth)
                         - `ip`: [array of] {object}
                             - `addresses`: [array of] (string) An IP address used by this rule
                             - `action`: (string) (required) The action for this rule. (enum: ALLOW, DENY)
                         - `policies`: [array of] {object}
                             - `addresses`: [array of] (string) An IP address used by this rule
                             - `action`: (string) (required) The action for this rule. (enum: ALLOW, DENY)
                         - `sso`: {object}
                           - `organizationId`: (string) ID of the SSO organization that the user will have to be a member of
                           - `directoryGroupIds`: [array of] (string)
                           - `allowAnyOrgUsers`: (boolean) Allow entire organization to access this service
                           - `validateInternalTraffic`: (boolean) Enforce internal traffic through SSO authentication flow
                           - `setCookieOnRootDomain`: (boolean) Set SSO authentication cookie on root domain
                           - `allowInternalTrafficViaPublicDns`: (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow
                         - `headers`: [array of] (multiple options) {object}
                               - `regexMode`: (boolean)
                               - `name`: (string) (required) (pattern: ^[a-zA-Z0-9_\-%$+]+$)
                               - `value`: (string) (required) | {object}
                               - `regexMode`: (boolean)
                               - `name`: (string) (required)
                               - `value`: (string) (required)
                       - `requiredPolicies`: {object}
                         - `credentials`: [array of] {object}
                             - `username`: (string) (required) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
                             - `password`: (string) (required) The password to access the service with this username.
                             - `type`: (string) (required) The type of authentication used (enum: basic-auth)
                         - `ip`: [array of] {object}
                             - `addresses`: [array of] (string) An IP address used by this rule
                             - `action`: (string) (required) The action for this rule. (enum: ALLOW, DENY)
                         - `policies`: [array of] {object}
                             - `addresses`: [array of] (string) An IP address used by this rule
                             - `action`: (string) (required) The action for this rule. (enum: ALLOW, DENY)
                         - `sso`: {object}
                           - `organizationId`: (string) ID of the SSO organization that the user will have to be a member of
                           - `directoryGroupIds`: [array of] (string)
                           - `allowAnyOrgUsers`: (boolean) Allow entire organization to access this service
                           - `validateInternalTraffic`: (boolean) Enforce internal traffic through SSO authentication flow
                           - `setCookieOnRootDomain`: (boolean) Set SSO authentication cookie on root domain
                           - `allowInternalTrafficViaPublicDns`: (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow
                         - `headers`: [array of] (multiple options) {object}
                               - `regexMode`: (boolean)
                               - `name`: (string) (required) (pattern: ^[a-zA-Z0-9_\-%$+]+$)
                               - `value`: (string) (required) | {object}
                               - `regexMode`: (boolean)
                               - `name`: (string) (required)
                               - `value`: (string) (required)
             - `domains`: [array of] (string) A domain to redirect to this port.
             - `disableNfDomain`: (boolean) Disable routing on the default code.run domain for public HTTP ports with custom domains.
             - `advancedOptions`: {object}
               - `enableTlsPassthrough`: (boolean) Whether this port should use pass through mode for TLS
             - `protocol`: (multiple options) (string) (enum: HTTP, HTTP/2) | (string) (enum: HTTP, HTTP/2, TCP, UDP)
         - `disabledCI`: (boolean) Whether CI (continuous integration) should be disabled.
         - `buildSource`: (string) Defines the build source for this resource (enum: git, bundle)
         - `vcsData`: {object}
           - `projectUrl`: (string) (required) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$)
           - `projectType`: (string) (required) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure)
           - `selfHostedVcsId`: (string) If projectType is self-hosted, the ID of the self-hosted vcs to use.
           - `accountLogin`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name.
           - `vcsLinkId`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24)
           - `projectBranch`: (string) (required) The name of the branch to use.
         - `bundleData`: {object}
           - `bundleUrl`: (string) (required) URL of the bundle to be built
           - `branch`: (string) (required) Branch identifier for the bundle. (pattern: ^[A-Za-z0-9-]+$)
         - `buildSettings`: (multiple options) {object}
             - `storage`: {object}
               - `ephemeralStorage`: {object}
                 - `storageSize`: (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288)
             - `dockerfile`: {object}
               - `useCache`: (boolean) DEPRECATED: This field will be removed in the near future and currently has no effect.
               - `buildEngine`: (string) Build engine to use. Defaults to recommended build engine `buildkit` (enum: buildkit, kaniko)
               - `dockerFilePath`: (string) (required) The file path of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$)
               - `dockerWorkDir`: (string) (required) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$)
               - `buildkit`: {object}
                 - `useCache`: (boolean) Use persistent storage to cache build layers.
                 - `cacheStorageSize`: (integer) The amount of persistent storage available to each build in MB.
                 - `useInternalCache`: (boolean) DEPRECATED: This field will be removed in the near future.
                 - `internalCacheStorage`: (number) DEPRECATED: This field will be removed in the near future. (format: float) | {object}
             - `storage`: {object}
               - `ephemeralStorage`: {object}
                 - `storageSize`: (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288)
             - `buildpack`: {object}
               - `builder`: (string) Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (enum: HEROKU_24, HEROKU_22, HEROKU_22_CLASSIC, HEROKU_20, HEROKU_18, GOOGLE_22, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_JAMMY_TINY, PAKETO_JAMMY_BASE, PAKETO_JAMMY_FULL, PAKETO_TINY, PAKETO_BASE, PAKETO_FULL)
               - `buildpackLocators`: [array of] (string) Url or registry identifier of custom Buildpack.
               - `buildContext`: (string) The working directory to build in. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$)
               - `useCache`: (boolean) Should build dependencies be cached?
         - `buildConfiguration`: {object}
           - `pathIgnoreRules`: [array of] (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260)
           - `isAllowList`: (boolean) If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`.
           - `ciIgnoreFlagsEnabled`: (boolean) If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built.
           - `ciIgnoreFlags`: [array of] (string) A commit ignore flag. (max length: 72)
           - `dockerfileTarget`: (string) If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here.
           - `dockerCredentials`: [array of] (string) The ID of the docker credentials to use. (pattern: ^[A-Za-z0-9-]+$)
           - `includeGitFolder`: (boolean) Include .git folder inside the build context
           - `fullGitClone`: (boolean) Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set.
           - `enableGitLfs`: (boolean) Enable Git LFS support for the build
           - `storage`: {object}
             - `ephemeralStorage`: {object}
               - `storageSize`: (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288)
         - `runtimeEnvironment`: {object}
         - `runtimeFiles`: {object}
         - `buildArguments`: {object}
         - `buildFiles`: {object}
         - `dockerSecretMounts`: {object}
         - `healthChecks`: [array of] {object}
             - `protocol`: (string) (required) The protocol to access the health check with. (enum: HTTP, CMD, TCP)
             - `type`: (string) (required) The type of health check. (enum: livenessProbe, readinessProbe, startupProbe)
             - `path`: (string) The path of the health check endpoint. Required when protocol is HTTP. (pattern: ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*((\?([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)(&([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)*)?$)
             - `cmd`: (string) The command to run for the health check. Required when protocol is CMD
             - `port`: (integer) Port number for the health check endpoint. Required when protocol is HTTP.
             - `initialDelaySeconds`: (integer) (required) Initial delay, in seconds, before the health check is first run.
             - `periodSeconds`: (integer) (required) The time between each check, in seconds.
             - `timeoutSeconds`: (integer) (required) The time to wait for a response before marking the health check as a failure.
             - `failureThreshold`: (integer) (required) The maximum number of allowed failures.
             - `successThreshold`: (integer) The number of successes required to mark the health check as a success.
         - `loadBalancing`: {object}
           - `mode`: (string) (required) (enum: leastConnection, consistentHash, roundRobin, consistentReplicaRouting)
           - `consistentHash`: {object}
             - `mode`: (string) (required) (enum: ip, customHeader)
             - `header`: (string)
           - `consistentReplicaRouting`: {object}
             - `mode`: (string) (required) (enum: path, header)
         - `autoscaling`: {object}
           - `horizontal`: {object}
             - `enabled`: (boolean) (required) Whether horizontal autoscaling should be enabled
             - `minReplicas`: (number) (required) Minimum number of replicas which should be running at any time (format: float)
             - `maxReplicas`: (number) (required) Maximum number of replicas which can be running at any time (format: float)
             - `cpu`: {object}
               - `enabled`: (boolean) (required) Whether autoscaling should take into account cpu usage
               - `thresholdPercentage`: (integer) (required) Threshold CPU usage percentage at which the workload will be scaled
             - `memory`: {object}
               - `enabled`: (boolean) (required) Whether autoscaling should take into account memory usage
               - `thresholdPercentage`: (integer) (required) Threshold memory usage percentage at which the workload will be scaled
             - `rps`: {object}
               - `enabled`: (boolean) (required) Whether autoscaling should take into requests-per-second
               - `thresholdValue`: (integer) (required) Threshold rps value on which the workload will be scaled
             - `userMetrics`: {object}
               - `enabled`: (boolean) (required) Whether to enable handling for custom metrics in the autoscaling configuration
               - `exposedMetricsPath`: (string) (required) Path on which the metrics will be exposed by the service.. (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$)
               - `exposedMetricsPort`: (integer) (required) Port on which the metrics will be exposed by the service.
               - `metrics`: [array of] {object}
                   - `metricName`: (string) (required) Name of the custom metric (pattern: [a-zA-Z_:][a-zA-Z0-9_:]*$)
                   - `metricType`: (string) (required) Type of metric exposed, this will affect how it'll be queried by the autoscaler component: Gauge will be used as is, Counter will be used with rate() (enum: gauge, counter)
                   - `thresholdValue`: (number) (required) Threshold value on which the workload will be scaled. Represents the average value across all running pods. (format: float)
         - `createOptions`: {object}
           - `volumesToAttach`: [array of] (string) (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
           - `expiryTime`: (integer) Number of seconds from creation after which the service should automatically expire. Once reached, the service is paused and scheduled for deletion. Must be between 300 (5 minutes) and 604800 (7 days).
         - `serviceType`: (string) (required) Type of the service (combined, build or deployment) (enum: combined)
         - `deployment`: {object}
           - `type`: (string) The way the service should be deployed. Either as a deployment (default), or as a stateful set. (enum: deployment, statefulSet)
           - `instances`: (integer) (required) The number of instances to run the service on.
           - `buildpack`: {object}
             - `configType`: (string) (required) Type of buildpack run configuration (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand)
             - `customProcess`: (string) Custom process which should be run. Required in case where `configType` is `customProcess`
             - `customEntrypoint`: (string) Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand`
             - `customCommand`: (string) Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand`
           - `docker`: {object}
             - `configType`: (string) (required) Type of entrypoint & command override configuration (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand)
             - `customEntrypoint`: (string) Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand`
             - `customCommand`: (string) Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand`
           - `storage`: {object}
             - `useHdbStorage`: (boolean)
             - `usePdSsdStorage`: (boolean)
             - `ephemeralStorage`: {object}
               - `storageSize`: (integer) Ephemeral storage per container in MB
             - `shmSize`: (integer) Configures the amount of available memory-backed disk space available to /dev/shm
           - `strategy`: {object}
             - `type`: (string) Configures the instance roll out strategy of your service. Currently only available via feature flag. (enum: recreate, rollout-steady, rollout-balanced, rollout-fast, custom)
             - `settings`: {object}
               - `maxSurge`: (multiple options) (integer) A non-negative integer. | (string) A percentage string in the range 0% to 100%, e.g. `25%` (pattern: ^\d+%$)
               - `maxUnavailable`: (multiple options) (integer) A non-negative integer. | (string) A percentage string in the range 0% to 100%, e.g. `25%` (pattern: ^\d+%$)
           - `zonalRedundancy`: {object}
             - `type`: (string) Defines scheduling behaviour across different zones within the same region. (enum: disabled, preferred, required)
             - `minZones`: (integer) Defines how many zones are required and will prevent containers from additional scheduling into existing zones. (Only relevant if type is set to "required")
           - `gpu`: {object}
             - `enabled`: (boolean) Whether GPUs are enabled for this workload.
             - `configuration`: {object}
               - `gpuType`: (string) (required) The type of GPU to use.
               - `gpuCount`: (integer) The number of GPUs to allocate.
               - `timesliced`: (boolean) Whether GPU timeslicing is enabled.
           - `gracePeriodSeconds`: (integer) The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system.
           - `gradualRolloutStrategyId`: (multiple options) (undefined)
           - `ssh`: {object}
             - `enabled`: (boolean) (required) Enables SSH access if the resource matches an SSH identity selector.
           - `metadata`: {object}
             - `labels`: {object}
             - `annotations`: {object}
           - `volumes`: [array of] {object}
               - `id`: (string) (required) Slug identifying this volume within the service. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
               - `mounts`: [array of] {object}
                   - `volumeMountPath`: (string) Optionally specify the path inside this volume that should be mounted (pattern: ^((?!\.\.).)*$)
                   - `containerMountPath`: (string) (required) Specify the path into which the volume should be mounted (pattern: ^((?!:).)*$)
               - `spec`: {object}
                 - `accessMode`: (string) Access mode of a per-replica volume. Always `ReadWriteOnce`. (enum: ReadWriteOnce)
                 - `storageClassName`: (string) The type of the storage.
                 - `storageSize`: (integer) (required) The size of the storage, in megabytes. Configurable sizes depend on the storage class.
           - `imageUrl`: (string) Image registry url of the deployed image.
         - `id`: (string) (required) Identifier for the service
         - `appId`: (string) (required) Full identifier used for service deployment
         - `cluster`: {object}
           - `id`: (string) (required) The id of the cluster associated with this project.
           - `name`: (string) (required) The name of the cluster associated with this project.
           - `namespace`: (string) Namespace this resource is located within on the cluster.
           - `loadBalancers`: [array of] (string)
         - `createdAt`: (string) time of creation (format: date-time)
         - `updatedAt`: (string) time of update (format: date-time)
         - `expiryTime`: (string) Absolute time at which the service is scheduled to automatically expire. Resolved from createOptions.expiryTime on creation; cleared once the service has expired. (format: date-time)
         - `expiredAt`: (string) Time at which the service expired and was paused. (format: date-time)
         - `scheduledDeletion`: (string) Time at which the expired service is scheduled for deletion. (format: date-time)
         - `status`: {object}
           - `build`: {object}
             - `status`: (string) (required) The current status of the build. (enum: QUEUED, PENDING, UNSCHEDULABLE, STARTING, CLONING, BUILDING, UPLOADING, ABORTED, FAILURE, SUBMISSION_FAILURE, SUCCESS, CRASHED, IN_PROGRESS)
             - `lastTransitionTime`: (string) The timestamp of when the build reached this status. (format: date-time)
           - `deployment`: {object}
             - `status`: (string) (required) The current status of the deployment. (enum: PENDING, IN_PROGRESS, COMPLETED, FAILED)
             - `reason`: (string) (required) The reason the current deployment was started. (enum: SCALING, DEPLOYING)
             - `lastTransitionTime`: (string) The timestamp of when the deployment reached this status. (format: date-time)
     - `spec`: {object}
       - `description`: (multiple options) (string) A description of the service. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the service. (pattern: .*\${.*}.*)
       - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `billing`: {object}
         - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (pattern: .*\${.*}.*)
         - `buildPlan`: (multiple options) (string) The ID of the build plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the build plan to use. (pattern: .*\${.*}.*)
         - `gpu`: {object}
           - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
           - `configuration`: {object}
             - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
             - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
             - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
       - `deployment`: {object}
         - `instances`: (multiple options) (integer) The number of instances to run the service on. | (string) A string containing one or more references that resolve to the number of instances to run the service on. (pattern: .*\${.*}.*)
         - `buildpack`: {object}
           - `configType`: (string) (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand)
           - `customProcess`: (multiple options) (string)
           - `customEntrypoint`: (multiple options) (string)
           - `customCommand`: (multiple options) (string)
         - `docker`: {object}
           - `configType`: (string) (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand)
           - `customEntrypoint`: (multiple options) (string)
           - `customCommand`: (multiple options) (string)
         - `storage`: {object}
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per container in MB | (string) A string containing one or more references that resolve to ephemeral storage per container in MB (pattern: .*\${.*}.*)
           - `shmSize`: (multiple options) (integer) Configures the amount of available memory-backed disk space available to /dev/shm | (string) A string containing one or more references that resolve to configures the amount of available memory-backed disk space available to /dev/shm (pattern: .*\${.*}.*)
         - `strategy`: {object}
           - `type`: (multiple options) (string) Configures the instance roll out strategy of your service. Currently only available via feature flag. (enum: recreate, rollout-steady, rollout-balanced, rollout-fast, custom) | (string) A string containing one or more references that resolve to configures the instance roll out strategy of your service. Currently only available via feature flag. (pattern: .*\${.*}.*)
           - `settings`: {object}
             - `maxSurge`: (multiple options) (integer) A non-negative integer. | (string) A percentage string in the range 0% to 100%, e.g. `25%` (pattern: ^\d+%$)
             - `maxUnavailable`: (multiple options) (integer) A non-negative integer. | (string) A percentage string in the range 0% to 100%, e.g. `25%` (pattern: ^\d+%$)
         - `zonalRedundancy`: {object}
           - `type`: (multiple options) (string) Defines scheduling behaviour across different zones within the same region. (enum: disabled, preferred, required) | (string) A string containing one or more references that resolve to defines scheduling behaviour across different zones within the same region. (pattern: .*\${.*}.*)
           - `minZones`: (integer) Defines how many zones are required and will prevent containers from additional scheduling into existing zones. (Only relevant if type is set to "required")
         - `gpu`: {object}
           - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
           - `configuration`: {object}
             - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
             - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
             - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
         - `gracePeriodSeconds`: (multiple options) (integer) The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. | (string) A string containing one or more references that resolve to the maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. (pattern: .*\${.*}.*)
         - `gradualRolloutStrategyId`: (multiple options) (string) The id of the strategy to be attached to service. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the strategy to be attached to service. (pattern: .*\${.*}.*)
         - `ssh`: {object}
           - `enabled`: (multiple options) (boolean) Enables SSH access if the resource matches an SSH identity selector. | (string) A string containing one or more references that resolve to enables SSH access if the resource matches an SSH identity selector. (pattern: .*\${.*}.*)
         - `metadata`: {object}
           - `labels`: {object}
           - `annotations`: {object}
         - `volumes`: [array of] {object}
             - `id`: (multiple options) (string) Slug identifying this volume within the service. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to slug identifying this volume within the service. (pattern: .*\${.*}.*)
             - `mounts`: [array of] {object}
                 - `volumeMountPath`: (string) Optionally specify the path inside this volume that should be mounted (pattern: ^((?!\.\.).)*$)
                 - `containerMountPath`: (string) (required) Specify the path into which the volume should be mounted (pattern: ^((?!:).)*$)
             - `spec`: {object}
               - `accessMode`: (string) Access mode of a per-replica volume. Always `ReadWriteOnce`. (enum: ReadWriteOnce)
               - `storageClassName`: (string) The type of the storage.
               - `storageSize`: (integer) (required) The size of the storage, in megabytes. Configurable sizes depend on the storage class.
       - `ports`: [array of] {object}
           - `name`: (multiple options) (string) The name used to identify the port. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 1) (max length: 8) | (string) A string containing one or more references that resolve to the name used to identify the port. (pattern: .*\${.*}.*)
           - `internalPort`: (multiple options) (integer) The port number. | (string) A string containing one or more references that resolve to the port number. (pattern: .*\${.*}.*)
           - `public`: (multiple options) (boolean) If true, the port will be exposed publicly. | (string) A string containing one or more references that resolve to if true, the port will be exposed publicly. (pattern: .*\${.*}.*)
           - `security`: {object}
             - `credentials`: [array of] {object}
                 - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
                 - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
                 - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
             - `ip`: (multiple options) [array of] {object}
                   - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                   - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
             - `policies`: (multiple options) [array of] {object}
                   - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                   - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
             - `sso`: {object}
               - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
               - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
               - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
               - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
               - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
               - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
             - `headers`: [array of] (multiple options) {object}
                   - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                   - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                   - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                   - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                   - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                   - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
             - `verificationMode`: (string) Mode used to verify multiple security features like ip policies and SSO authentication (enum: or, and)
             - `securePathConfiguration`: {object}
               - `enabled`: (boolean) Enable security policies on a path-level style
               - `skipSecurityPoliciesForInternalTrafficViaPublicDns`: (boolean) Allow internal traffic from same or shared projects via public DNS to skip all security policies
               - `rules`: [array of] {object}
                   - `paths`: [array of] (multiple options) {object}
                         - `path`: (multiple options) (string) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) (pattern: .*\${.*}.*)
                         - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: prefix) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                         - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*) | {object}
                         - `path`: (multiple options) (string) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) (pattern: .*\${.*}.*)
                         - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: exact) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                         - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*) | {object}
                         - `path`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                         - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: regex) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                         - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*)
                   - `accessMode`: (multiple options) (string) Specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path (enum: protected, unprotected) | (string) A string containing one or more references that resolve to specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path (pattern: .*\${.*}.*)
                   - `securityPolicies`: (multiple options) {object}
                       - `orPolicies`: {object}
                         - `credentials`: [array of] {object}
                             - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
                             - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
                             - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
                         - `ip`: (multiple options) [array of] {object}
                               - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                               - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                         - `policies`: (multiple options) [array of] {object}
                               - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                               - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                         - `sso`: {object}
                           - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
                           - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
                           - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
                           - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
                           - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
                           - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
                         - `headers`: [array of] (multiple options) {object}
                               - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                               - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                               - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                               - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                               - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                               - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                       - `requiredPolicies`: {object}
                         - `credentials`: [array of] {object}
                             - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
                             - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
                             - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
                         - `ip`: (multiple options) [array of] {object}
                               - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                               - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                         - `policies`: (multiple options) [array of] {object}
                               - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                               - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                         - `sso`: {object}
                           - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
                           - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
                           - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
                           - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
                           - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
                           - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
                         - `headers`: [array of] (multiple options) {object}
                               - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                               - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                               - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                               - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                               - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                               - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
           - `domains`: (multiple options) [array of] (multiple options) (string) A domain to redirect to this port. | (string) A string containing one or more references that resolve to a domain to redirect to this port. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of domains to redirect to this port. Each domain must first be verified and registered to your account. (pattern: .*\${.*}.*)
           - `disableNfDomain`: (multiple options) (boolean) Disable routing on the default code.run domain for public HTTP ports with custom domains. | (string) A string containing one or more references that resolve to disable routing on the default code.run domain for public HTTP ports with custom domains. (pattern: .*\${.*}.*)
           - `advancedOptions`: {object}
             - `enableTlsPassthrough`: (multiple options) (boolean) Whether this port should use pass through mode for TLS | (string) A string containing one or more references that resolve to whether this port should use pass through mode for TLS (pattern: .*\${.*}.*)
           - `protocol`: (multiple options) (string) (enum: HTTP, HTTP/2) | (string) (enum: HTTP, HTTP/2, TCP, UDP)
       - `disabledCI`: (boolean) Whether CI (continuous integration) should be disabled.
       - `buildSource`: (string) Defines the build source for this resource (enum: git, bundle)
       - `vcsData`: {object}
         - `projectUrl`: (multiple options) (string) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo to build. (pattern: .*\${.*}.*)
         - `projectType`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
         - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
         - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
         - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24) | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
         - `projectBranch`: (multiple options) (string) The name of the branch to use. | (string) A string containing one or more references that resolve to the name of the branch to use. (pattern: .*\${.*}.*)
       - `bundleData`: {object}
         - `bundleUrl`: (multiple options) (string) URL of the bundle to be built | (string) A string containing one or more references that resolve to uRL of the bundle to be built (pattern: .*\${.*}.*)
         - `branch`: (multiple options) (string) Branch identifier for the bundle. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to branch identifier for the bundle. (pattern: .*\${.*}.*)
       - `buildSettings`: {object}
         - `storage`: {object}
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
         - `dockerfile`: {object}
           - `useCache`: (boolean) DEPRECATED: This field will be removed in the near future and currently has no effect.
           - `buildEngine`: (multiple options) (string) Build engine to use. Defaults to recommended build engine `buildkit` (enum: buildkit, kaniko) | (string) A string containing one or more references that resolve to build engine to use. Defaults to recommended build engine `buildkit` (pattern: .*\${.*}.*)
           - `dockerFilePath`: (multiple options) (string) The file path of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$) | (string) A string containing one or more references that resolve to the file path of the Dockerfile. (pattern: .*\${.*}.*)
           - `dockerWorkDir`: (multiple options) (string) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory of the Dockerfile. (pattern: .*\${.*}.*)
           - `buildkit`: {object}
             - `useCache`: (multiple options) (boolean) Use persistent storage to cache build layers. | (string) A string containing one or more references that resolve to use persistent storage to cache build layers. (pattern: .*\${.*}.*)
             - `cacheStorageSize`: (multiple options) (integer) The amount of persistent storage available to each build in MB. | (string) A string containing one or more references that resolve to the amount of persistent storage available to each build in MB. (pattern: .*\${.*}.*)
             - `useInternalCache`: (multiple options) (boolean) DEPRECATED: This field will be removed in the near future. | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*)
             - `internalCacheStorage`: (multiple options) (number) DEPRECATED: This field will be removed in the near future. (format: float) | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*)
         - `buildpack`: {object}
           - `builder`: (multiple options) (string) Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (enum: HEROKU_24, HEROKU_22, HEROKU_22_CLASSIC, HEROKU_20, HEROKU_18, GOOGLE_22, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_JAMMY_TINY, PAKETO_JAMMY_BASE, PAKETO_JAMMY_FULL, PAKETO_TINY, PAKETO_BASE, PAKETO_FULL) | (string) A string containing one or more references that resolve to buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (pattern: .*\${.*}.*)
           - `buildpackLocators`: [array of] (multiple options) (string) Url or registry identifier of custom Buildpack. | (string) A string containing one or more references that resolve to url or registry identifier of custom Buildpack. (pattern: .*\${.*}.*)
           - `buildContext`: (multiple options) (string) The working directory to build in. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory to build in. (pattern: .*\${.*}.*)
           - `useCache`: (multiple options) (boolean) Should build dependencies be cached? | (string) A string containing one or more references that resolve to should build dependencies be cached? (pattern: .*\${.*}.*)
       - `buildConfiguration`: {object}
         - `pathIgnoreRules`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
         - `isAllowList`: (multiple options) (boolean) If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. | (string) A string containing one or more references that resolve to if `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. (pattern: .*\${.*}.*)
         - `ciIgnoreFlagsEnabled`: (multiple options) (boolean) If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. | (string) A string containing one or more references that resolve to if `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. (pattern: .*\${.*}.*)
         - `ciIgnoreFlags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
         - `dockerfileTarget`: (multiple options) (string) If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. | (string) A string containing one or more references that resolve to if your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. (pattern: .*\${.*}.*)
         - `dockerCredentials`: [array of] (multiple options) (string) The ID of the docker credentials to use. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of the docker credentials to use. (pattern: .*\${.*}.*)
         - `includeGitFolder`: (boolean) Include .git folder inside the build context
         - `fullGitClone`: (boolean) Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set.
         - `enableGitLfs`: (boolean) Enable Git LFS support for the build
         - `storage`: {object}
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
       - `runtimeEnvironment`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
       - `runtimeFiles`: {object}
       - `buildArguments`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
       - `buildFiles`: {object}
       - `dockerSecretMounts`: {object}
       - `healthChecks`: [array of] {object}
           - `protocol`: (multiple options) (string) The protocol to access the health check with. (enum: HTTP, CMD, TCP) | (string) A string containing one or more references that resolve to the protocol to access the health check with. (pattern: .*\${.*}.*)
           - `type`: (multiple options) (string) The type of health check. (enum: livenessProbe, readinessProbe, startupProbe) | (string) A string containing one or more references that resolve to the type of health check. (pattern: .*\${.*}.*)
           - `path`: (multiple options) (string) The path of the health check endpoint. Required when protocol is HTTP. (pattern: ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*((\?([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)(&([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)*)?$) | (string) (pattern: .*\${.*}.*)
           - `cmd`: (multiple options) (string) The command to run for the health check. Required when protocol is CMD | (string) (pattern: .*\${.*}.*)
           - `port`: (multiple options) (integer) Port number for the health check endpoint. Required when protocol is HTTP. | (string) (pattern: .*\${.*}.*)
           - `initialDelaySeconds`: (multiple options) (integer) Initial delay, in seconds, before the health check is first run. | (string) A string containing one or more references that resolve to initial delay, in seconds, before the health check is first run. (pattern: .*\${.*}.*)
           - `periodSeconds`: (multiple options) (integer) The time between each check, in seconds. | (string) A string containing one or more references that resolve to the time between each check, in seconds. (pattern: .*\${.*}.*)
           - `timeoutSeconds`: (multiple options) (integer) The time to wait for a response before marking the health check as a failure. | (string) A string containing one or more references that resolve to the time to wait for a response before marking the health check as a failure. (pattern: .*\${.*}.*)
           - `failureThreshold`: (multiple options) (integer) The maximum number of allowed failures. | (string) A string containing one or more references that resolve to the maximum number of allowed failures. (pattern: .*\${.*}.*)
           - `successThreshold`: (multiple options) (integer) The number of successes required to mark the health check as a success. | (string) (pattern: .*\${.*}.*)
       - `loadBalancing`: {object}
         - `mode`: (string) (enum: leastConnection, consistentHash, roundRobin, consistentReplicaRouting)
         - `consistentHash`: {object}
           - `mode`: (string) (required) (enum: ip, customHeader)
           - `header`: (string)
         - `consistentReplicaRouting`: {object}
           - `mode`: (string) (required) (enum: path, header)
       - `autoscaling`: {object}
         - `horizontal`: {object}
           - `enabled`: (multiple options) (boolean) Whether horizontal autoscaling should be enabled | (string) A string containing one or more references that resolve to whether horizontal autoscaling should be enabled (pattern: .*\${.*}.*)
           - `minReplicas`: (multiple options) (number) Minimum number of replicas which should be running at any time (format: float) | (string) A string containing one or more references that resolve to minimum number of replicas which should be running at any time (pattern: .*\${.*}.*)
           - `maxReplicas`: (multiple options) (number) Maximum number of replicas which can be running at any time (format: float) | (string) A string containing one or more references that resolve to maximum number of replicas which can be running at any time (pattern: .*\${.*}.*)
           - `cpu`: {object}
             - `enabled`: (multiple options) (boolean) Whether autoscaling should take into account cpu usage | (string) A string containing one or more references that resolve to whether autoscaling should take into account cpu usage (pattern: .*\${.*}.*)
             - `thresholdPercentage`: (multiple options) (integer) Threshold CPU usage percentage at which the workload will be scaled | (string) A string containing one or more references that resolve to threshold CPU usage percentage at which the workload will be scaled (pattern: .*\${.*}.*)
           - `memory`: {object}
             - `enabled`: (multiple options) (boolean) Whether autoscaling should take into account memory usage | (string) A string containing one or more references that resolve to whether autoscaling should take into account memory usage (pattern: .*\${.*}.*)
             - `thresholdPercentage`: (multiple options) (integer) Threshold memory usage percentage at which the workload will be scaled | (string) A string containing one or more references that resolve to threshold memory usage percentage at which the workload will be scaled (pattern: .*\${.*}.*)
           - `rps`: {object}
             - `enabled`: (multiple options) (boolean) Whether autoscaling should take into requests-per-second | (string) A string containing one or more references that resolve to whether autoscaling should take into requests-per-second (pattern: .*\${.*}.*)
             - `thresholdValue`: (multiple options) (integer) Threshold rps value on which the workload will be scaled | (string) A string containing one or more references that resolve to threshold rps value on which the workload will be scaled (pattern: .*\${.*}.*)
           - `userMetrics`: {object}
             - `enabled`: (multiple options) (boolean) Whether to enable handling for custom metrics in the autoscaling configuration | (string) A string containing one or more references that resolve to whether to enable handling for custom metrics in the autoscaling configuration (pattern: .*\${.*}.*)
             - `exposedMetricsPath`: (multiple options) (string) Path on which the metrics will be exposed by the service.. (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) A string containing one or more references that resolve to path on which the metrics will be exposed by the service.. (pattern: .*\${.*}.*)
             - `exposedMetricsPort`: (multiple options) (integer) Port on which the metrics will be exposed by the service. | (string) A string containing one or more references that resolve to port on which the metrics will be exposed by the service. (pattern: .*\${.*}.*)
             - `metrics`: [array of] {object}
                 - `metricName`: (multiple options) (string) Name of the custom metric (pattern: [a-zA-Z_:][a-zA-Z0-9_:]*$) | (string) A string containing one or more references that resolve to name of the custom metric (pattern: .*\${.*}.*)
                 - `metricType`: (multiple options) (string) Type of metric exposed, this will affect how it'll be queried by the autoscaler component: Gauge will be used as is, Counter will be used with rate() (enum: gauge, counter) | (string) A string containing one or more references that resolve to type of metric exposed, this will affect how it'll be queried by the autoscaler component: Gauge will be used as is, Counter will be used with rate() (pattern: .*\${.*}.*)
                 - `thresholdValue`: (multiple options) (number) Threshold value on which the workload will be scaled. Represents the average value across all running pods. (format: float) | (string) A string containing one or more references that resolve to threshold value on which the workload will be scaled. Represents the average value across all running pods. (pattern: .*\${.*}.*)
       - `name`: (multiple options) (string) The name of the service. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the name of the service. (pattern: .*\${.*}.*)
     - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: CombinedService)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: {object}
         - `name`: (string) (required) The name of the service. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54)
         - `description`: (string) A description of the service. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
         - `stageId`: (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `tags`: [array of] (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `billing`: {object}
           - `deploymentPlan`: (string) (required) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
           - `buildPlan`: (string) The ID of the build plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
           - `gpu`: {object}
             - `enabled`: (boolean) Whether GPUs are enabled for this workload.
             - `configuration`: {object}
               - `gpuType`: (string) (required) The type of GPU to use.
               - `gpuCount`: (integer) The number of GPUs to allocate.
               - `timesliced`: (boolean) Whether GPU timeslicing is enabled.
         - `infrastructure`: {object}
           - `architecture`: (string) (enum: x86, arm)
         - `ports`: [array of] {object}
             - `name`: (string) (required) The name used to identify the port. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 1) (max length: 8)
             - `internalPort`: (integer) (required) The port number.
             - `public`: (boolean) If true, the port will be exposed publicly.
             - `security`: {object}
               - `credentials`: [array of] {object}
                   - `username`: (string) (required) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
                   - `password`: (string) (required) The password to access the service with this username.
                   - `type`: (string) (required) The type of authentication used (enum: basic-auth)
               - `ip`: [array of] {object}
                   - `addresses`: [array of] (string) An IP address used by this rule
                   - `action`: (string) (required) The action for this rule. (enum: ALLOW, DENY)
               - `policies`: [array of] {object}
                   - `addresses`: [array of] (string) An IP address used by this rule
                   - `action`: (string) (required) The action for this rule. (enum: ALLOW, DENY)
               - `sso`: {object}
                 - `organizationId`: (string) ID of the SSO organization that the user will have to be a member of
                 - `directoryGroupIds`: [array of] (string)
                 - `allowAnyOrgUsers`: (boolean) Allow entire organization to access this service
                 - `validateInternalTraffic`: (boolean) Enforce internal traffic through SSO authentication flow
                 - `setCookieOnRootDomain`: (boolean) Set SSO authentication cookie on root domain
                 - `allowInternalTrafficViaPublicDns`: (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow
               - `headers`: [array of] (multiple options) {object}
                     - `regexMode`: (boolean)
                     - `name`: (string) (required) (pattern: ^[a-zA-Z0-9_\-%$+]+$)
                     - `value`: (string) (required) | {object}
                     - `regexMode`: (boolean)
                     - `name`: (string) (required)
                     - `value`: (string) (required)
               - `verificationMode`: (string) Mode used to verify multiple security features like ip policies and SSO authentication (enum: or, and)
               - `securePathConfiguration`: {object}
                 - `enabled`: (boolean) Enable security policies on a path-level style
                 - `skipSecurityPoliciesForInternalTrafficViaPublicDns`: (boolean) Allow internal traffic from same or shared projects via public DNS to skip all security policies
                 - `rules`: [array of] {object}
                     - `paths`: [array of] (multiple options) {object}
                           - `path`: (string) (required) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$)
                           - `routingMode`: (string) (required) Mode of the path, determining how the URI will be interpreted. (enum: prefix)
                           - `priority`: (integer) (required) | {object}
                           - `path`: (string) (required) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$)
                           - `routingMode`: (string) (required) Mode of the path, determining how the URI will be interpreted. (enum: exact)
                           - `priority`: (integer) (required) | {object}
                           - `path`: (string) (required)
                           - `routingMode`: (string) (required) Mode of the path, determining how the URI will be interpreted. (enum: regex)
                           - `priority`: (integer) (required)
                     - `accessMode`: (string) (required) Specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path (enum: protected, unprotected)
                     - `securityPolicies`: {object}
                       - `orPolicies`: {object}
                         - `credentials`: [array of] {object}
                             - `username`: (string) (required) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
                             - `password`: (string) (required) The password to access the service with this username.
                             - `type`: (string) (required) The type of authentication used (enum: basic-auth)
                         - `ip`: [array of] {object}
                             - `addresses`: [array of] (string) An IP address used by this rule
                             - `action`: (string) (required) The action for this rule. (enum: ALLOW, DENY)
                         - `policies`: [array of] {object}
                             - `addresses`: [array of] (string) An IP address used by this rule
                             - `action`: (string) (required) The action for this rule. (enum: ALLOW, DENY)
                         - `sso`: {object}
                           - `organizationId`: (string) ID of the SSO organization that the user will have to be a member of
                           - `directoryGroupIds`: [array of] (string)
                           - `allowAnyOrgUsers`: (boolean) Allow entire organization to access this service
                           - `validateInternalTraffic`: (boolean) Enforce internal traffic through SSO authentication flow
                           - `setCookieOnRootDomain`: (boolean) Set SSO authentication cookie on root domain
                           - `allowInternalTrafficViaPublicDns`: (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow
                         - `headers`: [array of] (multiple options) {object}
                               - `regexMode`: (boolean)
                               - `name`: (string) (required) (pattern: ^[a-zA-Z0-9_\-%$+]+$)
                               - `value`: (string) (required) | {object}
                               - `regexMode`: (boolean)
                               - `name`: (string) (required)
                               - `value`: (string) (required)
                       - `requiredPolicies`: {object}
                         - `credentials`: [array of] {object}
                             - `username`: (string) (required) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
                             - `password`: (string) (required) The password to access the service with this username.
                             - `type`: (string) (required) The type of authentication used (enum: basic-auth)
                         - `ip`: [array of] {object}
                             - `addresses`: [array of] (string) An IP address used by this rule
                             - `action`: (string) (required) The action for this rule. (enum: ALLOW, DENY)
                         - `policies`: [array of] {object}
                             - `addresses`: [array of] (string) An IP address used by this rule
                             - `action`: (string) (required) The action for this rule. (enum: ALLOW, DENY)
                         - `sso`: {object}
                           - `organizationId`: (string) ID of the SSO organization that the user will have to be a member of
                           - `directoryGroupIds`: [array of] (string)
                           - `allowAnyOrgUsers`: (boolean) Allow entire organization to access this service
                           - `validateInternalTraffic`: (boolean) Enforce internal traffic through SSO authentication flow
                           - `setCookieOnRootDomain`: (boolean) Set SSO authentication cookie on root domain
                           - `allowInternalTrafficViaPublicDns`: (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow
                         - `headers`: [array of] (multiple options) {object}
                               - `regexMode`: (boolean)
                               - `name`: (string) (required) (pattern: ^[a-zA-Z0-9_\-%$+]+$)
                               - `value`: (string) (required) | {object}
                               - `regexMode`: (boolean)
                               - `name`: (string) (required)
                               - `value`: (string) (required)
             - `domains`: [array of] (string) A domain to redirect to this port.
             - `disableNfDomain`: (boolean) Disable routing on the default code.run domain for public HTTP ports with custom domains.
             - `advancedOptions`: {object}
               - `enableTlsPassthrough`: (boolean) Whether this port should use pass through mode for TLS
             - `protocol`: (multiple options) (string) (enum: HTTP, HTTP/2) | (string) (enum: HTTP, HTTP/2, TCP, UDP)
         - `disabledCI`: (boolean) Whether CI (continuous integration) should be disabled.
         - `buildSource`: (string) Defines the build source for this resource (enum: git, bundle)
         - `vcsData`: {object}
           - `projectUrl`: (string) (required) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$)
           - `projectType`: (string) (required) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure)
           - `selfHostedVcsId`: (string) If projectType is self-hosted, the ID of the self-hosted vcs to use.
           - `accountLogin`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name.
           - `vcsLinkId`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24)
           - `projectBranch`: (string) (required) The name of the branch to use.
         - `bundleData`: {object}
           - `bundleUrl`: (string) (required) URL of the bundle to be built
           - `branch`: (string) (required) Branch identifier for the bundle. (pattern: ^[A-Za-z0-9-]+$)
         - `buildSettings`: (multiple options) {object}
             - `storage`: {object}
               - `ephemeralStorage`: {object}
                 - `storageSize`: (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288)
             - `dockerfile`: {object}
               - `useCache`: (boolean) DEPRECATED: This field will be removed in the near future and currently has no effect.
               - `buildEngine`: (string) Build engine to use. Defaults to recommended build engine `buildkit` (enum: buildkit, kaniko)
               - `dockerFilePath`: (string) (required) The file path of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$)
               - `dockerWorkDir`: (string) (required) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$)
               - `buildkit`: {object}
                 - `useCache`: (boolean) Use persistent storage to cache build layers.
                 - `cacheStorageSize`: (integer) The amount of persistent storage available to each build in MB.
                 - `useInternalCache`: (boolean) DEPRECATED: This field will be removed in the near future.
                 - `internalCacheStorage`: (number) DEPRECATED: This field will be removed in the near future. (format: float) | {object}
             - `storage`: {object}
               - `ephemeralStorage`: {object}
                 - `storageSize`: (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288)
             - `buildpack`: {object}
               - `builder`: (string) Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (enum: HEROKU_24, HEROKU_22, HEROKU_22_CLASSIC, HEROKU_20, HEROKU_18, GOOGLE_22, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_JAMMY_TINY, PAKETO_JAMMY_BASE, PAKETO_JAMMY_FULL, PAKETO_TINY, PAKETO_BASE, PAKETO_FULL)
               - `buildpackLocators`: [array of] (string) Url or registry identifier of custom Buildpack.
               - `buildContext`: (string) The working directory to build in. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$)
               - `useCache`: (boolean) Should build dependencies be cached?
         - `buildConfiguration`: {object}
           - `pathIgnoreRules`: [array of] (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260)
           - `isAllowList`: (boolean) If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`.
           - `ciIgnoreFlagsEnabled`: (boolean) If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built.
           - `ciIgnoreFlags`: [array of] (string) A commit ignore flag. (max length: 72)
           - `dockerfileTarget`: (string) If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here.
           - `dockerCredentials`: [array of] (string) The ID of the docker credentials to use. (pattern: ^[A-Za-z0-9-]+$)
           - `includeGitFolder`: (boolean) Include .git folder inside the build context
           - `fullGitClone`: (boolean) Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set.
           - `enableGitLfs`: (boolean) Enable Git LFS support for the build
           - `storage`: {object}
             - `ephemeralStorage`: {object}
               - `storageSize`: (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288)
         - `runtimeEnvironment`: {object}
         - `runtimeFiles`: {object}
         - `buildArguments`: {object}
         - `buildFiles`: {object}
         - `dockerSecretMounts`: {object}
         - `healthChecks`: [array of] {object}
             - `protocol`: (string) (required) The protocol to access the health check with. (enum: HTTP, CMD, TCP)
             - `type`: (string) (required) The type of health check. (enum: livenessProbe, readinessProbe, startupProbe)
             - `path`: (string) The path of the health check endpoint. Required when protocol is HTTP. (pattern: ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*((\?([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)(&([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)*)?$)
             - `cmd`: (string) The command to run for the health check. Required when protocol is CMD
             - `port`: (integer) Port number for the health check endpoint. Required when protocol is HTTP.
             - `initialDelaySeconds`: (integer) (required) Initial delay, in seconds, before the health check is first run.
             - `periodSeconds`: (integer) (required) The time between each check, in seconds.
             - `timeoutSeconds`: (integer) (required) The time to wait for a response before marking the health check as a failure.
             - `failureThreshold`: (integer) (required) The maximum number of allowed failures.
             - `successThreshold`: (integer) The number of successes required to mark the health check as a success.
         - `loadBalancing`: {object}
           - `mode`: (string) (required) (enum: leastConnection, consistentHash, roundRobin, consistentReplicaRouting)
           - `consistentHash`: {object}
             - `mode`: (string) (required) (enum: ip, customHeader)
             - `header`: (string)
           - `consistentReplicaRouting`: {object}
             - `mode`: (string) (required) (enum: path, header)
         - `autoscaling`: {object}
           - `horizontal`: {object}
             - `enabled`: (boolean) (required) Whether horizontal autoscaling should be enabled
             - `minReplicas`: (number) (required) Minimum number of replicas which should be running at any time (format: float)
             - `maxReplicas`: (number) (required) Maximum number of replicas which can be running at any time (format: float)
             - `cpu`: {object}
               - `enabled`: (boolean) (required) Whether autoscaling should take into account cpu usage
               - `thresholdPercentage`: (integer) (required) Threshold CPU usage percentage at which the workload will be scaled
             - `memory`: {object}
               - `enabled`: (boolean) (required) Whether autoscaling should take into account memory usage
               - `thresholdPercentage`: (integer) (required) Threshold memory usage percentage at which the workload will be scaled
             - `rps`: {object}
               - `enabled`: (boolean) (required) Whether autoscaling should take into requests-per-second
               - `thresholdValue`: (integer) (required) Threshold rps value on which the workload will be scaled
             - `userMetrics`: {object}
               - `enabled`: (boolean) (required) Whether to enable handling for custom metrics in the autoscaling configuration
               - `exposedMetricsPath`: (string) (required) Path on which the metrics will be exposed by the service.. (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$)
               - `exposedMetricsPort`: (integer) (required) Port on which the metrics will be exposed by the service.
               - `metrics`: [array of] {object}
                   - `metricName`: (string) (required) Name of the custom metric (pattern: [a-zA-Z_:][a-zA-Z0-9_:]*$)
                   - `metricType`: (string) (required) Type of metric exposed, this will affect how it'll be queried by the autoscaler component: Gauge will be used as is, Counter will be used with rate() (enum: gauge, counter)
                   - `thresholdValue`: (number) (required) Threshold value on which the workload will be scaled. Represents the average value across all running pods. (format: float)
         - `createOptions`: {object}
           - `volumesToAttach`: [array of] (string) (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
           - `expiryTime`: (integer) Number of seconds from creation after which the service should automatically expire. Once reached, the service is paused and scheduled for deletion. Must be between 300 (5 minutes) and 604800 (7 days).
         - `serviceType`: (string) (required) Type of the service (combined, build or deployment) (enum: combined)
         - `deployment`: {object}
           - `type`: (string) The way the service should be deployed. Either as a deployment (default), or as a stateful set. (enum: deployment, statefulSet)
           - `instances`: (integer) (required) The number of instances to run the service on.
           - `buildpack`: {object}
             - `configType`: (string) (required) Type of buildpack run configuration (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand)
             - `customProcess`: (string) Custom process which should be run. Required in case where `configType` is `customProcess`
             - `customEntrypoint`: (string) Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand`
             - `customCommand`: (string) Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand`
           - `docker`: {object}
             - `configType`: (string) (required) Type of entrypoint & command override configuration (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand)
             - `customEntrypoint`: (string) Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand`
             - `customCommand`: (string) Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand`
           - `storage`: {object}
             - `useHdbStorage`: (boolean)
             - `usePdSsdStorage`: (boolean)
             - `ephemeralStorage`: {object}
               - `storageSize`: (integer) Ephemeral storage per container in MB
             - `shmSize`: (integer) Configures the amount of available memory-backed disk space available to /dev/shm
           - `strategy`: {object}
             - `type`: (string) Configures the instance roll out strategy of your service. Currently only available via feature flag. (enum: recreate, rollout-steady, rollout-balanced, rollout-fast, custom)
             - `settings`: {object}
               - `maxSurge`: (multiple options) (integer) A non-negative integer. | (string) A percentage string in the range 0% to 100%, e.g. `25%` (pattern: ^\d+%$)
               - `maxUnavailable`: (multiple options) (integer) A non-negative integer. | (string) A percentage string in the range 0% to 100%, e.g. `25%` (pattern: ^\d+%$)
           - `zonalRedundancy`: {object}
             - `type`: (string) Defines scheduling behaviour across different zones within the same region. (enum: disabled, preferred, required)
             - `minZones`: (integer) Defines how many zones are required and will prevent containers from additional scheduling into existing zones. (Only relevant if type is set to "required")
           - `gpu`: {object}
             - `enabled`: (boolean) Whether GPUs are enabled for this workload.
             - `configuration`: {object}
               - `gpuType`: (string) (required) The type of GPU to use.
               - `gpuCount`: (integer) The number of GPUs to allocate.
               - `timesliced`: (boolean) Whether GPU timeslicing is enabled.
           - `gracePeriodSeconds`: (integer) The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system.
           - `gradualRolloutStrategyId`: (multiple options) (undefined)
           - `ssh`: {object}
             - `enabled`: (boolean) (required) Enables SSH access if the resource matches an SSH identity selector.
           - `metadata`: {object}
             - `labels`: {object}
             - `annotations`: {object}
           - `volumes`: [array of] {object}
               - `id`: (string) (required) Slug identifying this volume within the service. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
               - `mounts`: [array of] {object}
                   - `volumeMountPath`: (string) Optionally specify the path inside this volume that should be mounted (pattern: ^((?!\.\.).)*$)
                   - `containerMountPath`: (string) (required) Specify the path into which the volume should be mounted (pattern: ^((?!:).)*$)
               - `spec`: {object}
                 - `accessMode`: (string) Access mode of a per-replica volume. Always `ReadWriteOnce`. (enum: ReadWriteOnce)
                 - `storageClassName`: (string) The type of the storage.
                 - `storageSize`: (integer) (required) The size of the storage, in megabytes. Configurable sizes depend on the storage class.
           - `imageUrl`: (string) Image registry url of the deployed image.
         - `id`: (string) (required) Identifier for the service
         - `appId`: (string) (required) Full identifier used for service deployment
         - `cluster`: {object}
           - `id`: (string) (required) The id of the cluster associated with this project.
           - `name`: (string) (required) The name of the cluster associated with this project.
           - `namespace`: (string) Namespace this resource is located within on the cluster.
           - `loadBalancers`: [array of] (string)
         - `createdAt`: (string) time of creation (format: date-time)
         - `updatedAt`: (string) time of update (format: date-time)
         - `expiryTime`: (string) Absolute time at which the service is scheduled to automatically expire. Resolved from createOptions.expiryTime on creation; cleared once the service has expired. (format: date-time)
         - `expiredAt`: (string) Time at which the service expired and was paused. (format: date-time)
         - `scheduledDeletion`: (string) Time at which the expired service is scheduled for deletion. (format: date-time)
         - `status`: {object}
           - `build`: {object}
             - `status`: (string) (required) The current status of the build. (enum: QUEUED, PENDING, UNSCHEDULABLE, STARTING, CLONING, BUILDING, UPLOADING, ABORTED, FAILURE, SUBMISSION_FAILURE, SUCCESS, CRASHED, IN_PROGRESS)
             - `lastTransitionTime`: (string) The timestamp of when the build reached this status. (format: date-time)
           - `deployment`: {object}
             - `status`: (string) (required) The current status of the deployment. (enum: PENDING, IN_PROGRESS, COMPLETED, FAILED)
             - `reason`: (string) (required) The reason the current deployment was started. (enum: SCALING, DEPLOYING)
             - `lastTransitionTime`: (string) The timestamp of when the deployment reached this status. (format: date-time)
     - `spec`: {object}
       - `name`: (multiple options) (string) The name of the service. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the name of the service. (pattern: .*\${.*}.*)
       - `description`: (multiple options) (string) A description of the service. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the service. (pattern: .*\${.*}.*)
       - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
       - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `billing`: {object}
         - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (pattern: .*\${.*}.*)
         - `buildPlan`: (multiple options) (string) The ID of the build plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the build plan to use. (pattern: .*\${.*}.*)
         - `gpu`: {object}
           - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
           - `configuration`: {object}
             - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
             - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
             - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
       - `infrastructure`: {object}
         - `architecture`: (string) (enum: x86, arm)
       - `deployment`: {object}
         - `type`: (multiple options) (string) The way the service should be deployed. Either as a deployment (default), or as a stateful set. (enum: deployment, statefulSet) | (string) A string containing one or more references that resolve to the way the service should be deployed. Either as a deployment (default), or as a stateful set. (pattern: .*\${.*}.*)
         - `instances`: (multiple options) (integer) The number of instances to run the service on. | (string) A string containing one or more references that resolve to the number of instances to run the service on. (pattern: .*\${.*}.*)
         - `buildpack`: {object}
           - `configType`: (string) (required) Type of buildpack run configuration (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand)
           - `customProcess`: (string) Custom process which should be run. Required in case where `configType` is `customProcess`
           - `customEntrypoint`: (string) Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand`
           - `customCommand`: (string) Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand`
         - `docker`: {object}
           - `configType`: (string) (required) Type of entrypoint & command override configuration (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand)
           - `customEntrypoint`: (string) Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand`
           - `customCommand`: (string) Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand`
         - `storage`: {object}
           - `useHdbStorage`: (boolean)
           - `usePdSsdStorage`: (boolean)
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per container in MB | (string) A string containing one or more references that resolve to ephemeral storage per container in MB (pattern: .*\${.*}.*)
           - `shmSize`: (multiple options) (integer) Configures the amount of available memory-backed disk space available to /dev/shm | (string) A string containing one or more references that resolve to configures the amount of available memory-backed disk space available to /dev/shm (pattern: .*\${.*}.*)
         - `strategy`: {object}
           - `type`: (multiple options) (string) Configures the instance roll out strategy of your service. Currently only available via feature flag. (enum: recreate, rollout-steady, rollout-balanced, rollout-fast, custom) | (string) A string containing one or more references that resolve to configures the instance roll out strategy of your service. Currently only available via feature flag. (pattern: .*\${.*}.*)
           - `settings`: {object}
             - `maxSurge`: (multiple options) (integer) A non-negative integer. | (string) A percentage string in the range 0% to 100%, e.g. `25%` (pattern: ^\d+%$)
             - `maxUnavailable`: (multiple options) (integer) A non-negative integer. | (string) A percentage string in the range 0% to 100%, e.g. `25%` (pattern: ^\d+%$)
         - `zonalRedundancy`: {object}
           - `type`: (multiple options) (string) Defines scheduling behaviour across different zones within the same region. (enum: disabled, preferred, required) | (string) A string containing one or more references that resolve to defines scheduling behaviour across different zones within the same region. (pattern: .*\${.*}.*)
           - `minZones`: (integer) Defines how many zones are required and will prevent containers from additional scheduling into existing zones. (Only relevant if type is set to "required")
         - `gpu`: {object}
           - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
           - `configuration`: {object}
             - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
             - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
             - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
         - `gracePeriodSeconds`: (multiple options) (integer) The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. | (string) A string containing one or more references that resolve to the maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. (pattern: .*\${.*}.*)
         - `gradualRolloutStrategyId`: (multiple options) (string) The id of the strategy to be attached to service. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the strategy to be attached to service. (pattern: .*\${.*}.*)
         - `ssh`: {object}
           - `enabled`: (multiple options) (boolean) Enables SSH access if the resource matches an SSH identity selector. | (string) A string containing one or more references that resolve to enables SSH access if the resource matches an SSH identity selector. (pattern: .*\${.*}.*)
         - `metadata`: {object}
           - `labels`: {object}
           - `annotations`: {object}
         - `volumes`: [array of] {object}
             - `id`: (multiple options) (string) Slug identifying this volume within the service. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to slug identifying this volume within the service. (pattern: .*\${.*}.*)
             - `mounts`: [array of] {object}
                 - `volumeMountPath`: (string) Optionally specify the path inside this volume that should be mounted (pattern: ^((?!\.\.).)*$)
                 - `containerMountPath`: (string) (required) Specify the path into which the volume should be mounted (pattern: ^((?!:).)*$)
             - `spec`: {object}
               - `accessMode`: (string) Access mode of a per-replica volume. Always `ReadWriteOnce`. (enum: ReadWriteOnce)
               - `storageClassName`: (string) The type of the storage.
               - `storageSize`: (integer) (required) The size of the storage, in megabytes. Configurable sizes depend on the storage class.
       - `ports`: [array of] {object}
           - `name`: (multiple options) (string) The name used to identify the port. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 1) (max length: 8) | (string) A string containing one or more references that resolve to the name used to identify the port. (pattern: .*\${.*}.*)
           - `internalPort`: (multiple options) (integer) The port number. | (string) A string containing one or more references that resolve to the port number. (pattern: .*\${.*}.*)
           - `public`: (multiple options) (boolean) If true, the port will be exposed publicly. | (string) A string containing one or more references that resolve to if true, the port will be exposed publicly. (pattern: .*\${.*}.*)
           - `security`: {object}
             - `credentials`: [array of] {object}
                 - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
                 - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
                 - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
             - `ip`: (multiple options) [array of] {object}
                   - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                   - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
             - `policies`: (multiple options) [array of] {object}
                   - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                   - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
             - `sso`: {object}
               - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
               - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
               - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
               - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
               - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
               - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
             - `headers`: [array of] (multiple options) {object}
                   - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                   - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                   - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                   - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                   - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                   - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
             - `verificationMode`: (string) Mode used to verify multiple security features like ip policies and SSO authentication (enum: or, and)
             - `securePathConfiguration`: {object}
               - `enabled`: (boolean) Enable security policies on a path-level style
               - `skipSecurityPoliciesForInternalTrafficViaPublicDns`: (boolean) Allow internal traffic from same or shared projects via public DNS to skip all security policies
               - `rules`: [array of] {object}
                   - `paths`: [array of] (multiple options) {object}
                         - `path`: (multiple options) (string) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) (pattern: .*\${.*}.*)
                         - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: prefix) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                         - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*) | {object}
                         - `path`: (multiple options) (string) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) (pattern: .*\${.*}.*)
                         - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: exact) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                         - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*) | {object}
                         - `path`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                         - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: regex) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                         - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*)
                   - `accessMode`: (multiple options) (string) Specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path (enum: protected, unprotected) | (string) A string containing one or more references that resolve to specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path (pattern: .*\${.*}.*)
                   - `securityPolicies`: (multiple options) {object}
                       - `orPolicies`: {object}
                         - `credentials`: [array of] {object}
                             - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
                             - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
                             - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
                         - `ip`: (multiple options) [array of] {object}
                               - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                               - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                         - `policies`: (multiple options) [array of] {object}
                               - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                               - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                         - `sso`: {object}
                           - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
                           - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
                           - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
                           - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
                           - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
                           - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
                         - `headers`: [array of] (multiple options) {object}
                               - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                               - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                               - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                               - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                               - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                               - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                       - `requiredPolicies`: {object}
                         - `credentials`: [array of] {object}
                             - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
                             - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
                             - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
                         - `ip`: (multiple options) [array of] {object}
                               - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                               - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                         - `policies`: (multiple options) [array of] {object}
                               - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                               - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                         - `sso`: {object}
                           - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
                           - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
                           - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
                           - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
                           - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
                           - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
                         - `headers`: [array of] (multiple options) {object}
                               - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                               - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                               - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                               - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                               - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                               - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
           - `domains`: (multiple options) [array of] (multiple options) (string) A domain to redirect to this port. | (string) A string containing one or more references that resolve to a domain to redirect to this port. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of domains to redirect to this port. Each domain must first be verified and registered to your account. (pattern: .*\${.*}.*)
           - `disableNfDomain`: (multiple options) (boolean) Disable routing on the default code.run domain for public HTTP ports with custom domains. | (string) A string containing one or more references that resolve to disable routing on the default code.run domain for public HTTP ports with custom domains. (pattern: .*\${.*}.*)
           - `advancedOptions`: {object}
             - `enableTlsPassthrough`: (multiple options) (boolean) Whether this port should use pass through mode for TLS | (string) A string containing one or more references that resolve to whether this port should use pass through mode for TLS (pattern: .*\${.*}.*)
           - `protocol`: (multiple options) (string) (enum: HTTP, HTTP/2) | (string) (enum: HTTP, HTTP/2, TCP, UDP)
       - `disabledCI`: (boolean) Whether CI (continuous integration) should be disabled.
       - `buildSource`: (string) Defines the build source for this resource (enum: git, bundle)
       - `vcsData`: {object}
         - `projectUrl`: (multiple options) (string) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo to build. (pattern: .*\${.*}.*)
         - `projectType`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
         - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
         - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
         - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24) | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
         - `projectBranch`: (multiple options) (string) The name of the branch to use. | (string) A string containing one or more references that resolve to the name of the branch to use. (pattern: .*\${.*}.*)
       - `bundleData`: {object}
         - `bundleUrl`: (multiple options) (string) URL of the bundle to be built | (string) A string containing one or more references that resolve to uRL of the bundle to be built (pattern: .*\${.*}.*)
         - `branch`: (multiple options) (string) Branch identifier for the bundle. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to branch identifier for the bundle. (pattern: .*\${.*}.*)
       - `buildSettings`: (multiple options) {object}
           - `storage`: {object}
             - `ephemeralStorage`: {object}
               - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
           - `dockerfile`: {object}
             - `useCache`: (boolean) DEPRECATED: This field will be removed in the near future and currently has no effect.
             - `buildEngine`: (multiple options) (string) Build engine to use. Defaults to recommended build engine `buildkit` (enum: buildkit, kaniko) | (string) A string containing one or more references that resolve to build engine to use. Defaults to recommended build engine `buildkit` (pattern: .*\${.*}.*)
             - `dockerFilePath`: (multiple options) (string) The file path of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$) | (string) A string containing one or more references that resolve to the file path of the Dockerfile. (pattern: .*\${.*}.*)
             - `dockerWorkDir`: (multiple options) (string) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory of the Dockerfile. (pattern: .*\${.*}.*)
             - `buildkit`: {object}
               - `useCache`: (multiple options) (boolean) Use persistent storage to cache build layers. | (string) A string containing one or more references that resolve to use persistent storage to cache build layers. (pattern: .*\${.*}.*)
               - `cacheStorageSize`: (multiple options) (integer) The amount of persistent storage available to each build in MB. | (string) A string containing one or more references that resolve to the amount of persistent storage available to each build in MB. (pattern: .*\${.*}.*)
               - `useInternalCache`: (multiple options) (boolean) DEPRECATED: This field will be removed in the near future. | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*)
               - `internalCacheStorage`: (multiple options) (number) DEPRECATED: This field will be removed in the near future. (format: float) | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*) | {object}
           - `storage`: {object}
             - `ephemeralStorage`: {object}
               - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
           - `buildpack`: {object}
             - `builder`: (multiple options) (string) Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (enum: HEROKU_24, HEROKU_22, HEROKU_22_CLASSIC, HEROKU_20, HEROKU_18, GOOGLE_22, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_JAMMY_TINY, PAKETO_JAMMY_BASE, PAKETO_JAMMY_FULL, PAKETO_TINY, PAKETO_BASE, PAKETO_FULL) | (string) A string containing one or more references that resolve to buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (pattern: .*\${.*}.*)
             - `buildpackLocators`: [array of] (multiple options) (string) Url or registry identifier of custom Buildpack. | (string) A string containing one or more references that resolve to url or registry identifier of custom Buildpack. (pattern: .*\${.*}.*)
             - `buildContext`: (multiple options) (string) The working directory to build in. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory to build in. (pattern: .*\${.*}.*)
             - `useCache`: (multiple options) (boolean) Should build dependencies be cached? | (string) A string containing one or more references that resolve to should build dependencies be cached? (pattern: .*\${.*}.*)
       - `buildConfiguration`: {object}
         - `pathIgnoreRules`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
         - `isAllowList`: (multiple options) (boolean) If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. | (string) A string containing one or more references that resolve to if `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. (pattern: .*\${.*}.*)
         - `ciIgnoreFlagsEnabled`: (multiple options) (boolean) If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. | (string) A string containing one or more references that resolve to if `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. (pattern: .*\${.*}.*)
         - `ciIgnoreFlags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
         - `dockerfileTarget`: (multiple options) (string) If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. | (string) A string containing one or more references that resolve to if your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. (pattern: .*\${.*}.*)
         - `dockerCredentials`: [array of] (multiple options) (string) The ID of the docker credentials to use. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of the docker credentials to use. (pattern: .*\${.*}.*)
         - `includeGitFolder`: (boolean) Include .git folder inside the build context
         - `fullGitClone`: (boolean) Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set.
         - `enableGitLfs`: (boolean) Enable Git LFS support for the build
         - `storage`: {object}
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
       - `runtimeEnvironment`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
       - `runtimeFiles`: {object}
       - `buildArguments`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
       - `buildFiles`: {object}
       - `dockerSecretMounts`: {object}
       - `healthChecks`: [array of] {object}
           - `protocol`: (multiple options) (string) The protocol to access the health check with. (enum: HTTP, CMD, TCP) | (string) A string containing one or more references that resolve to the protocol to access the health check with. (pattern: .*\${.*}.*)
           - `type`: (multiple options) (string) The type of health check. (enum: livenessProbe, readinessProbe, startupProbe) | (string) A string containing one or more references that resolve to the type of health check. (pattern: .*\${.*}.*)
           - `path`: (multiple options) (string) The path of the health check endpoint. Required when protocol is HTTP. (pattern: ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*((\?([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)(&([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)*)?$) | (string) (pattern: .*\${.*}.*)
           - `cmd`: (multiple options) (string) The command to run for the health check. Required when protocol is CMD | (string) (pattern: .*\${.*}.*)
           - `port`: (multiple options) (integer) Port number for the health check endpoint. Required when protocol is HTTP. | (string) (pattern: .*\${.*}.*)
           - `initialDelaySeconds`: (multiple options) (integer) Initial delay, in seconds, before the health check is first run. | (string) A string containing one or more references that resolve to initial delay, in seconds, before the health check is first run. (pattern: .*\${.*}.*)
           - `periodSeconds`: (multiple options) (integer) The time between each check, in seconds. | (string) A string containing one or more references that resolve to the time between each check, in seconds. (pattern: .*\${.*}.*)
           - `timeoutSeconds`: (multiple options) (integer) The time to wait for a response before marking the health check as a failure. | (string) A string containing one or more references that resolve to the time to wait for a response before marking the health check as a failure. (pattern: .*\${.*}.*)
           - `failureThreshold`: (multiple options) (integer) The maximum number of allowed failures. | (string) A string containing one or more references that resolve to the maximum number of allowed failures. (pattern: .*\${.*}.*)
           - `successThreshold`: (multiple options) (integer) The number of successes required to mark the health check as a success. | (string) (pattern: .*\${.*}.*)
       - `loadBalancing`: {object}
         - `mode`: (string) (required) (enum: leastConnection, consistentHash, roundRobin, consistentReplicaRouting)
         - `consistentHash`: {object}
           - `mode`: (string) (required) (enum: ip, customHeader)
           - `header`: (string)
         - `consistentReplicaRouting`: {object}
           - `mode`: (string) (required) (enum: path, header)
       - `autoscaling`: {object}
         - `horizontal`: {object}
           - `enabled`: (multiple options) (boolean) Whether horizontal autoscaling should be enabled | (string) A string containing one or more references that resolve to whether horizontal autoscaling should be enabled (pattern: .*\${.*}.*)
           - `minReplicas`: (multiple options) (number) Minimum number of replicas which should be running at any time (format: float) | (string) A string containing one or more references that resolve to minimum number of replicas which should be running at any time (pattern: .*\${.*}.*)
           - `maxReplicas`: (multiple options) (number) Maximum number of replicas which can be running at any time (format: float) | (string) A string containing one or more references that resolve to maximum number of replicas which can be running at any time (pattern: .*\${.*}.*)
           - `cpu`: {object}
             - `enabled`: (multiple options) (boolean) Whether autoscaling should take into account cpu usage | (string) A string containing one or more references that resolve to whether autoscaling should take into account cpu usage (pattern: .*\${.*}.*)
             - `thresholdPercentage`: (multiple options) (integer) Threshold CPU usage percentage at which the workload will be scaled | (string) A string containing one or more references that resolve to threshold CPU usage percentage at which the workload will be scaled (pattern: .*\${.*}.*)
           - `memory`: {object}
             - `enabled`: (multiple options) (boolean) Whether autoscaling should take into account memory usage | (string) A string containing one or more references that resolve to whether autoscaling should take into account memory usage (pattern: .*\${.*}.*)
             - `thresholdPercentage`: (multiple options) (integer) Threshold memory usage percentage at which the workload will be scaled | (string) A string containing one or more references that resolve to threshold memory usage percentage at which the workload will be scaled (pattern: .*\${.*}.*)
           - `rps`: {object}
             - `enabled`: (multiple options) (boolean) Whether autoscaling should take into requests-per-second | (string) A string containing one or more references that resolve to whether autoscaling should take into requests-per-second (pattern: .*\${.*}.*)
             - `thresholdValue`: (multiple options) (integer) Threshold rps value on which the workload will be scaled | (string) A string containing one or more references that resolve to threshold rps value on which the workload will be scaled (pattern: .*\${.*}.*)
           - `userMetrics`: {object}
             - `enabled`: (multiple options) (boolean) Whether to enable handling for custom metrics in the autoscaling configuration | (string) A string containing one or more references that resolve to whether to enable handling for custom metrics in the autoscaling configuration (pattern: .*\${.*}.*)
             - `exposedMetricsPath`: (multiple options) (string) Path on which the metrics will be exposed by the service.. (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) A string containing one or more references that resolve to path on which the metrics will be exposed by the service.. (pattern: .*\${.*}.*)
             - `exposedMetricsPort`: (multiple options) (integer) Port on which the metrics will be exposed by the service. | (string) A string containing one or more references that resolve to port on which the metrics will be exposed by the service. (pattern: .*\${.*}.*)
             - `metrics`: [array of] {object}
                 - `metricName`: (multiple options) (string) Name of the custom metric (pattern: [a-zA-Z_:][a-zA-Z0-9_:]*$) | (string) A string containing one or more references that resolve to name of the custom metric (pattern: .*\${.*}.*)
                 - `metricType`: (multiple options) (string) Type of metric exposed, this will affect how it'll be queried by the autoscaler component: Gauge will be used as is, Counter will be used with rate() (enum: gauge, counter) | (string) A string containing one or more references that resolve to type of metric exposed, this will affect how it'll be queried by the autoscaler component: Gauge will be used as is, Counter will be used with rate() (pattern: .*\${.*}.*)
                 - `thresholdValue`: (multiple options) (number) Threshold value on which the workload will be scaled. Represents the average value across all running pods. (format: float) | (string) A string containing one or more references that resolve to threshold value on which the workload will be scaled. Represents the average value across all running pods. (pattern: .*\${.*}.*)
       - `createOptions`: {object}
         - `volumesToAttach`: [array of] (string) (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
         - `expiryTime`: (integer) Number of seconds from creation after which the service should automatically expire. Once reached, the service is paused and scheduled for deletion. Must be between 300 (5 minutes) and 604800 (7 days).
     - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: DeploymentService)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: {object}
         - `name`: (string) (required) The name of the service. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54)
         - `description`: (string) A description of the service. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
         - `stageId`: (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `tags`: [array of] (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `billing`: {object}
           - `deploymentPlan`: (string) (required) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
           - `gpu`: {object}
             - `enabled`: (boolean) Whether GPUs are enabled for this workload.
             - `configuration`: {object}
               - `gpuType`: (string) (required) The type of GPU to use.
               - `gpuCount`: (integer) The number of GPUs to allocate.
               - `timesliced`: (boolean) Whether GPU timeslicing is enabled.
         - `infrastructure`: {object}
           - `architecture`: (string) (enum: x86, arm)
         - `ports`: [array of] {object}
             - `name`: (string) (required) The name used to identify the port. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 1) (max length: 8)
             - `internalPort`: (integer) (required) The port number.
             - `public`: (boolean) If true, the port will be exposed publicly.
             - `security`: {object}
               - `credentials`: [array of] {object}
                   - `username`: (string) (required) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
                   - `password`: (string) (required) The password to access the service with this username.
                   - `type`: (string) (required) The type of authentication used (enum: basic-auth)
               - `ip`: [array of] {object}
                   - `addresses`: [array of] (string) An IP address used by this rule
                   - `action`: (string) (required) The action for this rule. (enum: ALLOW, DENY)
               - `policies`: [array of] {object}
                   - `addresses`: [array of] (string) An IP address used by this rule
                   - `action`: (string) (required) The action for this rule. (enum: ALLOW, DENY)
               - `sso`: {object}
                 - `organizationId`: (string) ID of the SSO organization that the user will have to be a member of
                 - `directoryGroupIds`: [array of] (string)
                 - `allowAnyOrgUsers`: (boolean) Allow entire organization to access this service
                 - `validateInternalTraffic`: (boolean) Enforce internal traffic through SSO authentication flow
                 - `setCookieOnRootDomain`: (boolean) Set SSO authentication cookie on root domain
                 - `allowInternalTrafficViaPublicDns`: (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow
               - `headers`: [array of] (multiple options) {object}
                     - `regexMode`: (boolean)
                     - `name`: (string) (required) (pattern: ^[a-zA-Z0-9_\-%$+]+$)
                     - `value`: (string) (required) | {object}
                     - `regexMode`: (boolean)
                     - `name`: (string) (required)
                     - `value`: (string) (required)
               - `verificationMode`: (string) Mode used to verify multiple security features like ip policies and SSO authentication (enum: or, and)
               - `securePathConfiguration`: {object}
                 - `enabled`: (boolean) Enable security policies on a path-level style
                 - `skipSecurityPoliciesForInternalTrafficViaPublicDns`: (boolean) Allow internal traffic from same or shared projects via public DNS to skip all security policies
                 - `rules`: [array of] {object}
                     - `paths`: [array of] (multiple options) {object}
                           - `path`: (string) (required) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$)
                           - `routingMode`: (string) (required) Mode of the path, determining how the URI will be interpreted. (enum: prefix)
                           - `priority`: (integer) (required) | {object}
                           - `path`: (string) (required) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$)
                           - `routingMode`: (string) (required) Mode of the path, determining how the URI will be interpreted. (enum: exact)
                           - `priority`: (integer) (required) | {object}
                           - `path`: (string) (required)
                           - `routingMode`: (string) (required) Mode of the path, determining how the URI will be interpreted. (enum: regex)
                           - `priority`: (integer) (required)
                     - `accessMode`: (string) (required) Specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path (enum: protected, unprotected)
                     - `securityPolicies`: {object}
                       - `orPolicies`: {object}
                         - `credentials`: [array of] {object}
                             - `username`: (string) (required) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
                             - `password`: (string) (required) The password to access the service with this username.
                             - `type`: (string) (required) The type of authentication used (enum: basic-auth)
                         - `ip`: [array of] {object}
                             - `addresses`: [array of] (string) An IP address used by this rule
                             - `action`: (string) (required) The action for this rule. (enum: ALLOW, DENY)
                         - `policies`: [array of] {object}
                             - `addresses`: [array of] (string) An IP address used by this rule
                             - `action`: (string) (required) The action for this rule. (enum: ALLOW, DENY)
                         - `sso`: {object}
                           - `organizationId`: (string) ID of the SSO organization that the user will have to be a member of
                           - `directoryGroupIds`: [array of] (string)
                           - `allowAnyOrgUsers`: (boolean) Allow entire organization to access this service
                           - `validateInternalTraffic`: (boolean) Enforce internal traffic through SSO authentication flow
                           - `setCookieOnRootDomain`: (boolean) Set SSO authentication cookie on root domain
                           - `allowInternalTrafficViaPublicDns`: (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow
                         - `headers`: [array of] (multiple options) {object}
                               - `regexMode`: (boolean)
                               - `name`: (string) (required) (pattern: ^[a-zA-Z0-9_\-%$+]+$)
                               - `value`: (string) (required) | {object}
                               - `regexMode`: (boolean)
                               - `name`: (string) (required)
                               - `value`: (string) (required)
                       - `requiredPolicies`: {object}
                         - `credentials`: [array of] {object}
                             - `username`: (string) (required) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
                             - `password`: (string) (required) The password to access the service with this username.
                             - `type`: (string) (required) The type of authentication used (enum: basic-auth)
                         - `ip`: [array of] {object}
                             - `addresses`: [array of] (string) An IP address used by this rule
                             - `action`: (string) (required) The action for this rule. (enum: ALLOW, DENY)
                         - `policies`: [array of] {object}
                             - `addresses`: [array of] (string) An IP address used by this rule
                             - `action`: (string) (required) The action for this rule. (enum: ALLOW, DENY)
                         - `sso`: {object}
                           - `organizationId`: (string) ID of the SSO organization that the user will have to be a member of
                           - `directoryGroupIds`: [array of] (string)
                           - `allowAnyOrgUsers`: (boolean) Allow entire organization to access this service
                           - `validateInternalTraffic`: (boolean) Enforce internal traffic through SSO authentication flow
                           - `setCookieOnRootDomain`: (boolean) Set SSO authentication cookie on root domain
                           - `allowInternalTrafficViaPublicDns`: (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow
                         - `headers`: [array of] (multiple options) {object}
                               - `regexMode`: (boolean)
                               - `name`: (string) (required) (pattern: ^[a-zA-Z0-9_\-%$+]+$)
                               - `value`: (string) (required) | {object}
                               - `regexMode`: (boolean)
                               - `name`: (string) (required)
                               - `value`: (string) (required)
             - `domains`: [array of] (string) A domain to redirect to this port.
             - `disableNfDomain`: (boolean) Disable routing on the default code.run domain for public HTTP ports with custom domains.
             - `advancedOptions`: {object}
               - `enableTlsPassthrough`: (boolean) Whether this port should use pass through mode for TLS
             - `protocol`: (multiple options) (string) (enum: HTTP, HTTP/2) | (string) (enum: HTTP, HTTP/2, TCP, UDP)
         - `runtimeEnvironment`: {object}
         - `runtimeFiles`: {object}
         - `healthChecks`: [array of] {object}
             - `protocol`: (string) (required) The protocol to access the health check with. (enum: HTTP, CMD, TCP)
             - `type`: (string) (required) The type of health check. (enum: livenessProbe, readinessProbe, startupProbe)
             - `path`: (string) The path of the health check endpoint. Required when protocol is HTTP. (pattern: ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*((\?([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)(&([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)*)?$)
             - `cmd`: (string) The command to run for the health check. Required when protocol is CMD
             - `port`: (integer) Port number for the health check endpoint. Required when protocol is HTTP.
             - `initialDelaySeconds`: (integer) (required) Initial delay, in seconds, before the health check is first run.
             - `periodSeconds`: (integer) (required) The time between each check, in seconds.
             - `timeoutSeconds`: (integer) (required) The time to wait for a response before marking the health check as a failure.
             - `failureThreshold`: (integer) (required) The maximum number of allowed failures.
             - `successThreshold`: (integer) The number of successes required to mark the health check as a success.
         - `loadBalancing`: {object}
           - `mode`: (string) (required) (enum: leastConnection, consistentHash, roundRobin, consistentReplicaRouting)
           - `consistentHash`: {object}
             - `mode`: (string) (required) (enum: ip, customHeader)
             - `header`: (string)
           - `consistentReplicaRouting`: {object}
             - `mode`: (string) (required) (enum: path, header)
         - `autoscaling`: {object}
           - `horizontal`: {object}
             - `enabled`: (boolean) (required) Whether horizontal autoscaling should be enabled
             - `minReplicas`: (number) (required) Minimum number of replicas which should be running at any time (format: float)
             - `maxReplicas`: (number) (required) Maximum number of replicas which can be running at any time (format: float)
             - `cpu`: {object}
               - `enabled`: (boolean) (required) Whether autoscaling should take into account cpu usage
               - `thresholdPercentage`: (integer) (required) Threshold CPU usage percentage at which the workload will be scaled
             - `memory`: {object}
               - `enabled`: (boolean) (required) Whether autoscaling should take into account memory usage
               - `thresholdPercentage`: (integer) (required) Threshold memory usage percentage at which the workload will be scaled
             - `rps`: {object}
               - `enabled`: (boolean) (required) Whether autoscaling should take into requests-per-second
               - `thresholdValue`: (integer) (required) Threshold rps value on which the workload will be scaled
             - `userMetrics`: {object}
               - `enabled`: (boolean) (required) Whether to enable handling for custom metrics in the autoscaling configuration
               - `exposedMetricsPath`: (string) (required) Path on which the metrics will be exposed by the service.. (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$)
               - `exposedMetricsPort`: (integer) (required) Port on which the metrics will be exposed by the service.
               - `metrics`: [array of] {object}
                   - `metricName`: (string) (required) Name of the custom metric (pattern: [a-zA-Z_:][a-zA-Z0-9_:]*$)
                   - `metricType`: (string) (required) Type of metric exposed, this will affect how it'll be queried by the autoscaler component: Gauge will be used as is, Counter will be used with rate() (enum: gauge, counter)
                   - `thresholdValue`: (number) (required) Threshold value on which the workload will be scaled. Represents the average value across all running pods. (format: float)
         - `createOptions`: {object}
           - `volumesToAttach`: [array of] (string) (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
           - `expiryTime`: (integer) Number of seconds from creation after which the service should automatically expire. Once reached, the service is paused and scheduled for deletion. Must be between 300 (5 minutes) and 604800 (7 days).
         - `serviceType`: (string) (required) Type of the service (combined, build or deployment) (enum: deployment)
         - `deployment`: {object}
           - `type`: (string) The way the service should be deployed. Either as a deployment (default), or as a stateful set. (enum: deployment, statefulSet)
           - `instances`: (integer) (required) The number of instances to run the service on.
           - `buildpack`: {object}
             - `configType`: (string) (required) Type of buildpack run configuration (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand)
             - `customProcess`: (string) Custom process which should be run. Required in case where `configType` is `customProcess`
             - `customEntrypoint`: (string) Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand`
             - `customCommand`: (string) Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand`
           - `docker`: {object}
             - `configType`: (string) (required) Type of entrypoint & command override configuration (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand)
             - `customEntrypoint`: (string) Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand`
             - `customCommand`: (string) Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand`
           - `storage`: {object}
             - `useHdbStorage`: (boolean)
             - `usePdSsdStorage`: (boolean)
             - `ephemeralStorage`: {object}
               - `storageSize`: (integer) Ephemeral storage per container in MB
             - `shmSize`: (integer) Configures the amount of available memory-backed disk space available to /dev/shm
           - `strategy`: {object}
             - `type`: (string) Configures the instance roll out strategy of your service. Currently only available via feature flag. (enum: recreate, rollout-steady, rollout-balanced, rollout-fast, custom)
             - `settings`: {object}
               - `maxSurge`: (multiple options) (integer) A non-negative integer. | (string) A percentage string in the range 0% to 100%, e.g. `25%` (pattern: ^\d+%$)
               - `maxUnavailable`: (multiple options) (integer) A non-negative integer. | (string) A percentage string in the range 0% to 100%, e.g. `25%` (pattern: ^\d+%$)
           - `zonalRedundancy`: {object}
             - `type`: (string) Defines scheduling behaviour across different zones within the same region. (enum: disabled, preferred, required)
             - `minZones`: (integer) Defines how many zones are required and will prevent containers from additional scheduling into existing zones. (Only relevant if type is set to "required")
           - `gpu`: {object}
             - `enabled`: (boolean) Whether GPUs are enabled for this workload.
             - `configuration`: {object}
               - `gpuType`: (string) (required) The type of GPU to use.
               - `gpuCount`: (integer) The number of GPUs to allocate.
               - `timesliced`: (boolean) Whether GPU timeslicing is enabled.
           - `gracePeriodSeconds`: (integer) The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system.
           - `gradualRolloutStrategyId`: (multiple options) (undefined)
           - `ssh`: {object}
             - `enabled`: (boolean) (required) Enables SSH access if the resource matches an SSH identity selector.
           - `metadata`: {object}
             - `labels`: {object}
             - `annotations`: {object}
           - `volumes`: [array of] {object}
               - `id`: (string) (required) Slug identifying this volume within the service. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
               - `mounts`: [array of] {object}
                   - `volumeMountPath`: (string) Optionally specify the path inside this volume that should be mounted (pattern: ^((?!\.\.).)*$)
                   - `containerMountPath`: (string) (required) Specify the path into which the volume should be mounted (pattern: ^((?!:).)*$)
               - `spec`: {object}
                 - `accessMode`: (string) Access mode of a per-replica volume. Always `ReadWriteOnce`. (enum: ReadWriteOnce)
                 - `storageClassName`: (string) The type of the storage.
                 - `storageSize`: (integer) (required) The size of the storage, in megabytes. Configurable sizes depend on the storage class.
           - `containerSnapshot`: {object}
             - `restoreFrom`: (string) The successful container snapshot to restore the service from. (format: uuid)
             - `capture`: {object}
               - `onTermination`: (boolean) Creates a snapshot when a service container terminates, including crashes, rollouts, scale-downs, evictions, and manual restarts.
               - `retention`: {object}
                 - `maxSnapshots`: (integer) The maximum number of termination snapshots retained for the service.
           - `internal`: {object}
             - `id`: (multiple options) (string) The ID of a build service in the same project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) The ID of a build service in another project, in the format `project-id/build-service-id`
             - `branch`: (string) Branch to deploy
             - `buildSHA`: (multiple options) (string) A commit sha. (min length: 40) (max length: 40) | (string) Latest commit. (enum: latest)
             - `buildId`: (string) ID of the build that should be deployed
           - `external`: {object}
             - `imagePath`: (string) (required) Image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: ^(?:(?:https?:\/\/)?([a-zA-Z0-9\-]+\.[a-zA-Z0-9\.\-]+))?(?:\/)?([a-zA-Z/-9\.\-_]+)(?:\:([a-zA-Z/-9\.\-_\:]+)|\@([a-zA-Z/-9\.\-_\:]+))$)
             - `credentials`: (string) ID of the saved credentials to use to access this external image. (pattern: ^[A-Za-z0-9-]+$)
           - `imageUrl`: (string) Image registry url of the deployed image.
         - `id`: (string) (required) Identifier for the service
         - `appId`: (string) (required) Full identifier used for service deployment
         - `cluster`: {object}
           - `id`: (string) (required) The id of the cluster associated with this project.
           - `name`: (string) (required) The name of the cluster associated with this project.
           - `namespace`: (string) Namespace this resource is located within on the cluster.
           - `loadBalancers`: [array of] (string)
         - `createdAt`: (string) time of creation (format: date-time)
         - `updatedAt`: (string) time of update (format: date-time)
         - `expiryTime`: (string) Absolute time at which the service is scheduled to automatically expire. Resolved from createOptions.expiryTime on creation; cleared once the service has expired. (format: date-time)
         - `expiredAt`: (string) Time at which the service expired and was paused. (format: date-time)
         - `scheduledDeletion`: (string) Time at which the expired service is scheduled for deletion. (format: date-time)
         - `status`: {object}
           - `deployment`: {object}
             - `status`: (string) (required) The current status of the deployment. (enum: PENDING, IN_PROGRESS, COMPLETED, FAILED)
             - `reason`: (string) (required) The reason the current deployment was started. (enum: SCALING, DEPLOYING)
             - `lastTransitionTime`: (string) The timestamp of when the deployment reached this status. (format: date-time)
     - `spec`: {object}
       - `description`: (multiple options) (string) A description of the service. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the service. (pattern: .*\${.*}.*)
       - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `billing`: {object}
         - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (pattern: .*\${.*}.*)
         - `gpu`: {object}
           - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
           - `configuration`: {object}
             - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
             - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
             - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
       - `deployment`: {object}
         - `instances`: (multiple options) (integer) The number of instances to run the service on. | (string) A string containing one or more references that resolve to the number of instances to run the service on. (pattern: .*\${.*}.*)
         - `buildpack`: {object}
           - `configType`: (string) (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand)
           - `customProcess`: (multiple options) (string)
           - `customEntrypoint`: (multiple options) (string)
           - `customCommand`: (multiple options) (string)
         - `docker`: {object}
           - `configType`: (string) (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand)
           - `customEntrypoint`: (multiple options) (string)
           - `customCommand`: (multiple options) (string)
         - `storage`: {object}
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per container in MB | (string) A string containing one or more references that resolve to ephemeral storage per container in MB (pattern: .*\${.*}.*)
           - `shmSize`: (multiple options) (integer) Configures the amount of available memory-backed disk space available to /dev/shm | (string) A string containing one or more references that resolve to configures the amount of available memory-backed disk space available to /dev/shm (pattern: .*\${.*}.*)
         - `strategy`: {object}
           - `type`: (multiple options) (string) Configures the instance roll out strategy of your service. Currently only available via feature flag. (enum: recreate, rollout-steady, rollout-balanced, rollout-fast, custom) | (string) A string containing one or more references that resolve to configures the instance roll out strategy of your service. Currently only available via feature flag. (pattern: .*\${.*}.*)
           - `settings`: {object}
             - `maxSurge`: (multiple options) (integer) A non-negative integer. | (string) A percentage string in the range 0% to 100%, e.g. `25%` (pattern: ^\d+%$)
             - `maxUnavailable`: (multiple options) (integer) A non-negative integer. | (string) A percentage string in the range 0% to 100%, e.g. `25%` (pattern: ^\d+%$)
         - `zonalRedundancy`: {object}
           - `type`: (multiple options) (string) Defines scheduling behaviour across different zones within the same region. (enum: disabled, preferred, required) | (string) A string containing one or more references that resolve to defines scheduling behaviour across different zones within the same region. (pattern: .*\${.*}.*)
           - `minZones`: (integer) Defines how many zones are required and will prevent containers from additional scheduling into existing zones. (Only relevant if type is set to "required")
         - `gpu`: {object}
           - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
           - `configuration`: {object}
             - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
             - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
             - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
         - `gracePeriodSeconds`: (multiple options) (integer) The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. | (string) A string containing one or more references that resolve to the maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. (pattern: .*\${.*}.*)
         - `gradualRolloutStrategyId`: (multiple options) (string) The id of the strategy to be attached to service. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the strategy to be attached to service. (pattern: .*\${.*}.*)
         - `ssh`: {object}
           - `enabled`: (multiple options) (boolean) Enables SSH access if the resource matches an SSH identity selector. | (string) A string containing one or more references that resolve to enables SSH access if the resource matches an SSH identity selector. (pattern: .*\${.*}.*)
         - `metadata`: {object}
           - `labels`: {object}
           - `annotations`: {object}
         - `volumes`: [array of] {object}
             - `id`: (multiple options) (string) Slug identifying this volume within the service. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to slug identifying this volume within the service. (pattern: .*\${.*}.*)
             - `mounts`: [array of] {object}
                 - `volumeMountPath`: (string) Optionally specify the path inside this volume that should be mounted (pattern: ^((?!\.\.).)*$)
                 - `containerMountPath`: (string) (required) Specify the path into which the volume should be mounted (pattern: ^((?!:).)*$)
             - `spec`: {object}
               - `accessMode`: (string) Access mode of a per-replica volume. Always `ReadWriteOnce`. (enum: ReadWriteOnce)
               - `storageClassName`: (string) The type of the storage.
               - `storageSize`: (integer) (required) The size of the storage, in megabytes. Configurable sizes depend on the storage class.
         - `containerSnapshot`: {object}
           - `capture`: {object}
             - `onTermination`: (multiple options) (boolean) Creates a snapshot when a service container terminates, including crashes, rollouts, scale-downs, evictions, and manual restarts. | (string) A string containing one or more references that resolve to creates a snapshot when a service container terminates, including crashes, rollouts, scale-downs, evictions, and manual restarts. (pattern: .*\${.*}.*)
             - `retention`: {object}
               - `maxSnapshots`: (multiple options) (integer) The maximum number of termination snapshots retained for the service. | (string) A string containing one or more references that resolve to the maximum number of termination snapshots retained for the service. (pattern: .*\${.*}.*)
         - `internal`: {object}
           - `id`: (multiple options) (multiple options) (string) The ID of a build service in the same project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) The ID of a build service in another project, in the format `project-id/build-service-id` | (string) A string containing one or more references that resolve to iD of the build service to deploy (pattern: .*\${.*}.*)
           - `branch`: (multiple options) (string) Branch to deploy | (string) A string containing one or more references that resolve to branch to deploy (pattern: .*\${.*}.*)
           - `buildSHA`: (multiple options) (multiple options) (string) A commit sha. (min length: 40) (max length: 40) | (string) Latest commit. (enum: latest) | (string) A string containing one or more references that resolve to commit SHA to deploy, or 'latest' to deploy the most recent commit (pattern: .*\${.*}.*)
           - `buildId`: (multiple options) (string) ID of the build that should be deployed | (string) A string containing one or more references that resolve to iD of the build that should be deployed (pattern: .*\${.*}.*)
         - `external`: {object}
           - `imagePath`: (multiple options) (string) Image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: ^(?:(?:https?:\/\/)?([a-zA-Z0-9\-]+\.[a-zA-Z0-9\.\-]+))?(?:\/)?([a-zA-Z/-9\.\-_]+)(?:\:([a-zA-Z/-9\.\-_\:]+)|\@([a-zA-Z/-9\.\-_\:]+))$) | (string) A string containing one or more references that resolve to image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: .*\${.*}.*)
           - `credentials`: (multiple options) (string) ID of the saved credentials to use to access this external image. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of the saved credentials to use to access this external image. (pattern: .*\${.*}.*)
       - `ports`: [array of] {object}
           - `name`: (multiple options) (string) The name used to identify the port. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 1) (max length: 8) | (string) A string containing one or more references that resolve to the name used to identify the port. (pattern: .*\${.*}.*)
           - `internalPort`: (multiple options) (integer) The port number. | (string) A string containing one or more references that resolve to the port number. (pattern: .*\${.*}.*)
           - `public`: (multiple options) (boolean) If true, the port will be exposed publicly. | (string) A string containing one or more references that resolve to if true, the port will be exposed publicly. (pattern: .*\${.*}.*)
           - `security`: {object}
             - `credentials`: [array of] {object}
                 - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
                 - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
                 - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
             - `ip`: (multiple options) [array of] {object}
                   - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                   - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
             - `policies`: (multiple options) [array of] {object}
                   - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                   - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
             - `sso`: {object}
               - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
               - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
               - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
               - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
               - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
               - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
             - `headers`: [array of] (multiple options) {object}
                   - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                   - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                   - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                   - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                   - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                   - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
             - `verificationMode`: (string) Mode used to verify multiple security features like ip policies and SSO authentication (enum: or, and)
             - `securePathConfiguration`: {object}
               - `enabled`: (boolean) Enable security policies on a path-level style
               - `skipSecurityPoliciesForInternalTrafficViaPublicDns`: (boolean) Allow internal traffic from same or shared projects via public DNS to skip all security policies
               - `rules`: [array of] {object}
                   - `paths`: [array of] (multiple options) {object}
                         - `path`: (multiple options) (string) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) (pattern: .*\${.*}.*)
                         - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: prefix) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                         - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*) | {object}
                         - `path`: (multiple options) (string) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) (pattern: .*\${.*}.*)
                         - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: exact) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                         - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*) | {object}
                         - `path`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                         - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: regex) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                         - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*)
                   - `accessMode`: (multiple options) (string) Specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path (enum: protected, unprotected) | (string) A string containing one or more references that resolve to specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path (pattern: .*\${.*}.*)
                   - `securityPolicies`: (multiple options) {object}
                       - `orPolicies`: {object}
                         - `credentials`: [array of] {object}
                             - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
                             - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
                             - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
                         - `ip`: (multiple options) [array of] {object}
                               - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                               - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                         - `policies`: (multiple options) [array of] {object}
                               - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                               - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                         - `sso`: {object}
                           - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
                           - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
                           - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
                           - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
                           - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
                           - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
                         - `headers`: [array of] (multiple options) {object}
                               - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                               - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                               - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                               - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                               - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                               - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                       - `requiredPolicies`: {object}
                         - `credentials`: [array of] {object}
                             - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
                             - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
                             - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
                         - `ip`: (multiple options) [array of] {object}
                               - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                               - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                         - `policies`: (multiple options) [array of] {object}
                               - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                               - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                         - `sso`: {object}
                           - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
                           - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
                           - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
                           - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
                           - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
                           - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
                         - `headers`: [array of] (multiple options) {object}
                               - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                               - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                               - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                               - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                               - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                               - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
           - `domains`: (multiple options) [array of] (multiple options) (string) A domain to redirect to this port. | (string) A string containing one or more references that resolve to a domain to redirect to this port. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of domains to redirect to this port. Each domain must first be verified and registered to your account. (pattern: .*\${.*}.*)
           - `disableNfDomain`: (multiple options) (boolean) Disable routing on the default code.run domain for public HTTP ports with custom domains. | (string) A string containing one or more references that resolve to disable routing on the default code.run domain for public HTTP ports with custom domains. (pattern: .*\${.*}.*)
           - `advancedOptions`: {object}
             - `enableTlsPassthrough`: (multiple options) (boolean) Whether this port should use pass through mode for TLS | (string) A string containing one or more references that resolve to whether this port should use pass through mode for TLS (pattern: .*\${.*}.*)
           - `protocol`: (multiple options) (string) (enum: HTTP, HTTP/2) | (string) (enum: HTTP, HTTP/2, TCP, UDP)
       - `runtimeEnvironment`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
       - `runtimeFiles`: {object}
       - `healthChecks`: [array of] {object}
           - `protocol`: (multiple options) (string) The protocol to access the health check with. (enum: HTTP, CMD, TCP) | (string) A string containing one or more references that resolve to the protocol to access the health check with. (pattern: .*\${.*}.*)
           - `type`: (multiple options) (string) The type of health check. (enum: livenessProbe, readinessProbe, startupProbe) | (string) A string containing one or more references that resolve to the type of health check. (pattern: .*\${.*}.*)
           - `path`: (multiple options) (string) The path of the health check endpoint. Required when protocol is HTTP. (pattern: ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*((\?([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)(&([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)*)?$) | (string) (pattern: .*\${.*}.*)
           - `cmd`: (multiple options) (string) The command to run for the health check. Required when protocol is CMD | (string) (pattern: .*\${.*}.*)
           - `port`: (multiple options) (integer) Port number for the health check endpoint. Required when protocol is HTTP. | (string) (pattern: .*\${.*}.*)
           - `initialDelaySeconds`: (multiple options) (integer) Initial delay, in seconds, before the health check is first run. | (string) A string containing one or more references that resolve to initial delay, in seconds, before the health check is first run. (pattern: .*\${.*}.*)
           - `periodSeconds`: (multiple options) (integer) The time between each check, in seconds. | (string) A string containing one or more references that resolve to the time between each check, in seconds. (pattern: .*\${.*}.*)
           - `timeoutSeconds`: (multiple options) (integer) The time to wait for a response before marking the health check as a failure. | (string) A string containing one or more references that resolve to the time to wait for a response before marking the health check as a failure. (pattern: .*\${.*}.*)
           - `failureThreshold`: (multiple options) (integer) The maximum number of allowed failures. | (string) A string containing one or more references that resolve to the maximum number of allowed failures. (pattern: .*\${.*}.*)
           - `successThreshold`: (multiple options) (integer) The number of successes required to mark the health check as a success. | (string) (pattern: .*\${.*}.*)
       - `loadBalancing`: {object}
         - `mode`: (string) (enum: leastConnection, consistentHash, roundRobin, consistentReplicaRouting)
         - `consistentHash`: {object}
           - `mode`: (string) (required) (enum: ip, customHeader)
           - `header`: (string)
         - `consistentReplicaRouting`: {object}
           - `mode`: (string) (required) (enum: path, header)
       - `autoscaling`: {object}
         - `horizontal`: {object}
           - `enabled`: (multiple options) (boolean) Whether horizontal autoscaling should be enabled | (string) A string containing one or more references that resolve to whether horizontal autoscaling should be enabled (pattern: .*\${.*}.*)
           - `minReplicas`: (multiple options) (number) Minimum number of replicas which should be running at any time (format: float) | (string) A string containing one or more references that resolve to minimum number of replicas which should be running at any time (pattern: .*\${.*}.*)
           - `maxReplicas`: (multiple options) (number) Maximum number of replicas which can be running at any time (format: float) | (string) A string containing one or more references that resolve to maximum number of replicas which can be running at any time (pattern: .*\${.*}.*)
           - `cpu`: {object}
             - `enabled`: (multiple options) (boolean) Whether autoscaling should take into account cpu usage | (string) A string containing one or more references that resolve to whether autoscaling should take into account cpu usage (pattern: .*\${.*}.*)
             - `thresholdPercentage`: (multiple options) (integer) Threshold CPU usage percentage at which the workload will be scaled | (string) A string containing one or more references that resolve to threshold CPU usage percentage at which the workload will be scaled (pattern: .*\${.*}.*)
           - `memory`: {object}
             - `enabled`: (multiple options) (boolean) Whether autoscaling should take into account memory usage | (string) A string containing one or more references that resolve to whether autoscaling should take into account memory usage (pattern: .*\${.*}.*)
             - `thresholdPercentage`: (multiple options) (integer) Threshold memory usage percentage at which the workload will be scaled | (string) A string containing one or more references that resolve to threshold memory usage percentage at which the workload will be scaled (pattern: .*\${.*}.*)
           - `rps`: {object}
             - `enabled`: (multiple options) (boolean) Whether autoscaling should take into requests-per-second | (string) A string containing one or more references that resolve to whether autoscaling should take into requests-per-second (pattern: .*\${.*}.*)
             - `thresholdValue`: (multiple options) (integer) Threshold rps value on which the workload will be scaled | (string) A string containing one or more references that resolve to threshold rps value on which the workload will be scaled (pattern: .*\${.*}.*)
           - `userMetrics`: {object}
             - `enabled`: (multiple options) (boolean) Whether to enable handling for custom metrics in the autoscaling configuration | (string) A string containing one or more references that resolve to whether to enable handling for custom metrics in the autoscaling configuration (pattern: .*\${.*}.*)
             - `exposedMetricsPath`: (multiple options) (string) Path on which the metrics will be exposed by the service.. (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) A string containing one or more references that resolve to path on which the metrics will be exposed by the service.. (pattern: .*\${.*}.*)
             - `exposedMetricsPort`: (multiple options) (integer) Port on which the metrics will be exposed by the service. | (string) A string containing one or more references that resolve to port on which the metrics will be exposed by the service. (pattern: .*\${.*}.*)
             - `metrics`: [array of] {object}
                 - `metricName`: (multiple options) (string) Name of the custom metric (pattern: [a-zA-Z_:][a-zA-Z0-9_:]*$) | (string) A string containing one or more references that resolve to name of the custom metric (pattern: .*\${.*}.*)
                 - `metricType`: (multiple options) (string) Type of metric exposed, this will affect how it'll be queried by the autoscaler component: Gauge will be used as is, Counter will be used with rate() (enum: gauge, counter) | (string) A string containing one or more references that resolve to type of metric exposed, this will affect how it'll be queried by the autoscaler component: Gauge will be used as is, Counter will be used with rate() (pattern: .*\${.*}.*)
                 - `thresholdValue`: (multiple options) (number) Threshold value on which the workload will be scaled. Represents the average value across all running pods. (format: float) | (string) A string containing one or more references that resolve to threshold value on which the workload will be scaled. Represents the average value across all running pods. (pattern: .*\${.*}.*)
       - `name`: (multiple options) (string) The name of the service. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the name of the service. (pattern: .*\${.*}.*)
     - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: DeploymentService)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: {object}
         - `name`: (string) (required) The name of the service. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54)
         - `description`: (string) A description of the service. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
         - `stageId`: (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `tags`: [array of] (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `billing`: {object}
           - `deploymentPlan`: (string) (required) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
           - `gpu`: {object}
             - `enabled`: (boolean) Whether GPUs are enabled for this workload.
             - `configuration`: {object}
               - `gpuType`: (string) (required) The type of GPU to use.
               - `gpuCount`: (integer) The number of GPUs to allocate.
               - `timesliced`: (boolean) Whether GPU timeslicing is enabled.
         - `infrastructure`: {object}
           - `architecture`: (string) (enum: x86, arm)
         - `ports`: [array of] {object}
             - `name`: (string) (required) The name used to identify the port. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 1) (max length: 8)
             - `internalPort`: (integer) (required) The port number.
             - `public`: (boolean) If true, the port will be exposed publicly.
             - `security`: {object}
               - `credentials`: [array of] {object}
                   - `username`: (string) (required) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
                   - `password`: (string) (required) The password to access the service with this username.
                   - `type`: (string) (required) The type of authentication used (enum: basic-auth)
               - `ip`: [array of] {object}
                   - `addresses`: [array of] (string) An IP address used by this rule
                   - `action`: (string) (required) The action for this rule. (enum: ALLOW, DENY)
               - `policies`: [array of] {object}
                   - `addresses`: [array of] (string) An IP address used by this rule
                   - `action`: (string) (required) The action for this rule. (enum: ALLOW, DENY)
               - `sso`: {object}
                 - `organizationId`: (string) ID of the SSO organization that the user will have to be a member of
                 - `directoryGroupIds`: [array of] (string)
                 - `allowAnyOrgUsers`: (boolean) Allow entire organization to access this service
                 - `validateInternalTraffic`: (boolean) Enforce internal traffic through SSO authentication flow
                 - `setCookieOnRootDomain`: (boolean) Set SSO authentication cookie on root domain
                 - `allowInternalTrafficViaPublicDns`: (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow
               - `headers`: [array of] (multiple options) {object}
                     - `regexMode`: (boolean)
                     - `name`: (string) (required) (pattern: ^[a-zA-Z0-9_\-%$+]+$)
                     - `value`: (string) (required) | {object}
                     - `regexMode`: (boolean)
                     - `name`: (string) (required)
                     - `value`: (string) (required)
               - `verificationMode`: (string) Mode used to verify multiple security features like ip policies and SSO authentication (enum: or, and)
               - `securePathConfiguration`: {object}
                 - `enabled`: (boolean) Enable security policies on a path-level style
                 - `skipSecurityPoliciesForInternalTrafficViaPublicDns`: (boolean) Allow internal traffic from same or shared projects via public DNS to skip all security policies
                 - `rules`: [array of] {object}
                     - `paths`: [array of] (multiple options) {object}
                           - `path`: (string) (required) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$)
                           - `routingMode`: (string) (required) Mode of the path, determining how the URI will be interpreted. (enum: prefix)
                           - `priority`: (integer) (required) | {object}
                           - `path`: (string) (required) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$)
                           - `routingMode`: (string) (required) Mode of the path, determining how the URI will be interpreted. (enum: exact)
                           - `priority`: (integer) (required) | {object}
                           - `path`: (string) (required)
                           - `routingMode`: (string) (required) Mode of the path, determining how the URI will be interpreted. (enum: regex)
                           - `priority`: (integer) (required)
                     - `accessMode`: (string) (required) Specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path (enum: protected, unprotected)
                     - `securityPolicies`: {object}
                       - `orPolicies`: {object}
                         - `credentials`: [array of] {object}
                             - `username`: (string) (required) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
                             - `password`: (string) (required) The password to access the service with this username.
                             - `type`: (string) (required) The type of authentication used (enum: basic-auth)
                         - `ip`: [array of] {object}
                             - `addresses`: [array of] (string) An IP address used by this rule
                             - `action`: (string) (required) The action for this rule. (enum: ALLOW, DENY)
                         - `policies`: [array of] {object}
                             - `addresses`: [array of] (string) An IP address used by this rule
                             - `action`: (string) (required) The action for this rule. (enum: ALLOW, DENY)
                         - `sso`: {object}
                           - `organizationId`: (string) ID of the SSO organization that the user will have to be a member of
                           - `directoryGroupIds`: [array of] (string)
                           - `allowAnyOrgUsers`: (boolean) Allow entire organization to access this service
                           - `validateInternalTraffic`: (boolean) Enforce internal traffic through SSO authentication flow
                           - `setCookieOnRootDomain`: (boolean) Set SSO authentication cookie on root domain
                           - `allowInternalTrafficViaPublicDns`: (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow
                         - `headers`: [array of] (multiple options) {object}
                               - `regexMode`: (boolean)
                               - `name`: (string) (required) (pattern: ^[a-zA-Z0-9_\-%$+]+$)
                               - `value`: (string) (required) | {object}
                               - `regexMode`: (boolean)
                               - `name`: (string) (required)
                               - `value`: (string) (required)
                       - `requiredPolicies`: {object}
                         - `credentials`: [array of] {object}
                             - `username`: (string) (required) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
                             - `password`: (string) (required) The password to access the service with this username.
                             - `type`: (string) (required) The type of authentication used (enum: basic-auth)
                         - `ip`: [array of] {object}
                             - `addresses`: [array of] (string) An IP address used by this rule
                             - `action`: (string) (required) The action for this rule. (enum: ALLOW, DENY)
                         - `policies`: [array of] {object}
                             - `addresses`: [array of] (string) An IP address used by this rule
                             - `action`: (string) (required) The action for this rule. (enum: ALLOW, DENY)
                         - `sso`: {object}
                           - `organizationId`: (string) ID of the SSO organization that the user will have to be a member of
                           - `directoryGroupIds`: [array of] (string)
                           - `allowAnyOrgUsers`: (boolean) Allow entire organization to access this service
                           - `validateInternalTraffic`: (boolean) Enforce internal traffic through SSO authentication flow
                           - `setCookieOnRootDomain`: (boolean) Set SSO authentication cookie on root domain
                           - `allowInternalTrafficViaPublicDns`: (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow
                         - `headers`: [array of] (multiple options) {object}
                               - `regexMode`: (boolean)
                               - `name`: (string) (required) (pattern: ^[a-zA-Z0-9_\-%$+]+$)
                               - `value`: (string) (required) | {object}
                               - `regexMode`: (boolean)
                               - `name`: (string) (required)
                               - `value`: (string) (required)
             - `domains`: [array of] (string) A domain to redirect to this port.
             - `disableNfDomain`: (boolean) Disable routing on the default code.run domain for public HTTP ports with custom domains.
             - `advancedOptions`: {object}
               - `enableTlsPassthrough`: (boolean) Whether this port should use pass through mode for TLS
             - `protocol`: (multiple options) (string) (enum: HTTP, HTTP/2) | (string) (enum: HTTP, HTTP/2, TCP, UDP)
         - `runtimeEnvironment`: {object}
         - `runtimeFiles`: {object}
         - `healthChecks`: [array of] {object}
             - `protocol`: (string) (required) The protocol to access the health check with. (enum: HTTP, CMD, TCP)
             - `type`: (string) (required) The type of health check. (enum: livenessProbe, readinessProbe, startupProbe)
             - `path`: (string) The path of the health check endpoint. Required when protocol is HTTP. (pattern: ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*((\?([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)(&([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)*)?$)
             - `cmd`: (string) The command to run for the health check. Required when protocol is CMD
             - `port`: (integer) Port number for the health check endpoint. Required when protocol is HTTP.
             - `initialDelaySeconds`: (integer) (required) Initial delay, in seconds, before the health check is first run.
             - `periodSeconds`: (integer) (required) The time between each check, in seconds.
             - `timeoutSeconds`: (integer) (required) The time to wait for a response before marking the health check as a failure.
             - `failureThreshold`: (integer) (required) The maximum number of allowed failures.
             - `successThreshold`: (integer) The number of successes required to mark the health check as a success.
         - `loadBalancing`: {object}
           - `mode`: (string) (required) (enum: leastConnection, consistentHash, roundRobin, consistentReplicaRouting)
           - `consistentHash`: {object}
             - `mode`: (string) (required) (enum: ip, customHeader)
             - `header`: (string)
           - `consistentReplicaRouting`: {object}
             - `mode`: (string) (required) (enum: path, header)
         - `autoscaling`: {object}
           - `horizontal`: {object}
             - `enabled`: (boolean) (required) Whether horizontal autoscaling should be enabled
             - `minReplicas`: (number) (required) Minimum number of replicas which should be running at any time (format: float)
             - `maxReplicas`: (number) (required) Maximum number of replicas which can be running at any time (format: float)
             - `cpu`: {object}
               - `enabled`: (boolean) (required) Whether autoscaling should take into account cpu usage
               - `thresholdPercentage`: (integer) (required) Threshold CPU usage percentage at which the workload will be scaled
             - `memory`: {object}
               - `enabled`: (boolean) (required) Whether autoscaling should take into account memory usage
               - `thresholdPercentage`: (integer) (required) Threshold memory usage percentage at which the workload will be scaled
             - `rps`: {object}
               - `enabled`: (boolean) (required) Whether autoscaling should take into requests-per-second
               - `thresholdValue`: (integer) (required) Threshold rps value on which the workload will be scaled
             - `userMetrics`: {object}
               - `enabled`: (boolean) (required) Whether to enable handling for custom metrics in the autoscaling configuration
               - `exposedMetricsPath`: (string) (required) Path on which the metrics will be exposed by the service.. (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$)
               - `exposedMetricsPort`: (integer) (required) Port on which the metrics will be exposed by the service.
               - `metrics`: [array of] {object}
                   - `metricName`: (string) (required) Name of the custom metric (pattern: [a-zA-Z_:][a-zA-Z0-9_:]*$)
                   - `metricType`: (string) (required) Type of metric exposed, this will affect how it'll be queried by the autoscaler component: Gauge will be used as is, Counter will be used with rate() (enum: gauge, counter)
                   - `thresholdValue`: (number) (required) Threshold value on which the workload will be scaled. Represents the average value across all running pods. (format: float)
         - `createOptions`: {object}
           - `volumesToAttach`: [array of] (string) (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
           - `expiryTime`: (integer) Number of seconds from creation after which the service should automatically expire. Once reached, the service is paused and scheduled for deletion. Must be between 300 (5 minutes) and 604800 (7 days).
         - `serviceType`: (string) (required) Type of the service (combined, build or deployment) (enum: deployment)
         - `deployment`: {object}
           - `type`: (string) The way the service should be deployed. Either as a deployment (default), or as a stateful set. (enum: deployment, statefulSet)
           - `instances`: (integer) (required) The number of instances to run the service on.
           - `buildpack`: {object}
             - `configType`: (string) (required) Type of buildpack run configuration (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand)
             - `customProcess`: (string) Custom process which should be run. Required in case where `configType` is `customProcess`
             - `customEntrypoint`: (string) Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand`
             - `customCommand`: (string) Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand`
           - `docker`: {object}
             - `configType`: (string) (required) Type of entrypoint & command override configuration (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand)
             - `customEntrypoint`: (string) Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand`
             - `customCommand`: (string) Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand`
           - `storage`: {object}
             - `useHdbStorage`: (boolean)
             - `usePdSsdStorage`: (boolean)
             - `ephemeralStorage`: {object}
               - `storageSize`: (integer) Ephemeral storage per container in MB
             - `shmSize`: (integer) Configures the amount of available memory-backed disk space available to /dev/shm
           - `strategy`: {object}
             - `type`: (string) Configures the instance roll out strategy of your service. Currently only available via feature flag. (enum: recreate, rollout-steady, rollout-balanced, rollout-fast, custom)
             - `settings`: {object}
               - `maxSurge`: (multiple options) (integer) A non-negative integer. | (string) A percentage string in the range 0% to 100%, e.g. `25%` (pattern: ^\d+%$)
               - `maxUnavailable`: (multiple options) (integer) A non-negative integer. | (string) A percentage string in the range 0% to 100%, e.g. `25%` (pattern: ^\d+%$)
           - `zonalRedundancy`: {object}
             - `type`: (string) Defines scheduling behaviour across different zones within the same region. (enum: disabled, preferred, required)
             - `minZones`: (integer) Defines how many zones are required and will prevent containers from additional scheduling into existing zones. (Only relevant if type is set to "required")
           - `gpu`: {object}
             - `enabled`: (boolean) Whether GPUs are enabled for this workload.
             - `configuration`: {object}
               - `gpuType`: (string) (required) The type of GPU to use.
               - `gpuCount`: (integer) The number of GPUs to allocate.
               - `timesliced`: (boolean) Whether GPU timeslicing is enabled.
           - `gracePeriodSeconds`: (integer) The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system.
           - `gradualRolloutStrategyId`: (multiple options) (undefined)
           - `ssh`: {object}
             - `enabled`: (boolean) (required) Enables SSH access if the resource matches an SSH identity selector.
           - `metadata`: {object}
             - `labels`: {object}
             - `annotations`: {object}
           - `volumes`: [array of] {object}
               - `id`: (string) (required) Slug identifying this volume within the service. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
               - `mounts`: [array of] {object}
                   - `volumeMountPath`: (string) Optionally specify the path inside this volume that should be mounted (pattern: ^((?!\.\.).)*$)
                   - `containerMountPath`: (string) (required) Specify the path into which the volume should be mounted (pattern: ^((?!:).)*$)
               - `spec`: {object}
                 - `accessMode`: (string) Access mode of a per-replica volume. Always `ReadWriteOnce`. (enum: ReadWriteOnce)
                 - `storageClassName`: (string) The type of the storage.
                 - `storageSize`: (integer) (required) The size of the storage, in megabytes. Configurable sizes depend on the storage class.
           - `containerSnapshot`: {object}
             - `restoreFrom`: (string) The successful container snapshot to restore the service from. (format: uuid)
             - `capture`: {object}
               - `onTermination`: (boolean) Creates a snapshot when a service container terminates, including crashes, rollouts, scale-downs, evictions, and manual restarts.
               - `retention`: {object}
                 - `maxSnapshots`: (integer) The maximum number of termination snapshots retained for the service.
           - `internal`: {object}
             - `id`: (multiple options) (string) The ID of a build service in the same project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) The ID of a build service in another project, in the format `project-id/build-service-id`
             - `branch`: (string) Branch to deploy
             - `buildSHA`: (multiple options) (string) A commit sha. (min length: 40) (max length: 40) | (string) Latest commit. (enum: latest)
             - `buildId`: (string) ID of the build that should be deployed
           - `external`: {object}
             - `imagePath`: (string) (required) Image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: ^(?:(?:https?:\/\/)?([a-zA-Z0-9\-]+\.[a-zA-Z0-9\.\-]+))?(?:\/)?([a-zA-Z/-9\.\-_]+)(?:\:([a-zA-Z/-9\.\-_\:]+)|\@([a-zA-Z/-9\.\-_\:]+))$)
             - `credentials`: (string) ID of the saved credentials to use to access this external image. (pattern: ^[A-Za-z0-9-]+$)
           - `imageUrl`: (string) Image registry url of the deployed image.
         - `id`: (string) (required) Identifier for the service
         - `appId`: (string) (required) Full identifier used for service deployment
         - `cluster`: {object}
           - `id`: (string) (required) The id of the cluster associated with this project.
           - `name`: (string) (required) The name of the cluster associated with this project.
           - `namespace`: (string) Namespace this resource is located within on the cluster.
           - `loadBalancers`: [array of] (string)
         - `createdAt`: (string) time of creation (format: date-time)
         - `updatedAt`: (string) time of update (format: date-time)
         - `expiryTime`: (string) Absolute time at which the service is scheduled to automatically expire. Resolved from createOptions.expiryTime on creation; cleared once the service has expired. (format: date-time)
         - `expiredAt`: (string) Time at which the service expired and was paused. (format: date-time)
         - `scheduledDeletion`: (string) Time at which the expired service is scheduled for deletion. (format: date-time)
         - `status`: {object}
           - `deployment`: {object}
             - `status`: (string) (required) The current status of the deployment. (enum: PENDING, IN_PROGRESS, COMPLETED, FAILED)
             - `reason`: (string) (required) The reason the current deployment was started. (enum: SCALING, DEPLOYING)
             - `lastTransitionTime`: (string) The timestamp of when the deployment reached this status. (format: date-time)
     - `spec`: {object}
       - `name`: (multiple options) (string) The name of the service. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the name of the service. (pattern: .*\${.*}.*)
       - `description`: (multiple options) (string) A description of the service. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the service. (pattern: .*\${.*}.*)
       - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
       - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `billing`: {object}
         - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (pattern: .*\${.*}.*)
         - `gpu`: {object}
           - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
           - `configuration`: {object}
             - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
             - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
             - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
       - `infrastructure`: {object}
         - `architecture`: (string) (enum: x86, arm)
       - `deployment`: {object}
         - `type`: (multiple options) (string) The way the service should be deployed. Either as a deployment (default), or as a stateful set. (enum: deployment, statefulSet) | (string) A string containing one or more references that resolve to the way the service should be deployed. Either as a deployment (default), or as a stateful set. (pattern: .*\${.*}.*)
         - `instances`: (multiple options) (integer) The number of instances to run the service on. | (string) A string containing one or more references that resolve to the number of instances to run the service on. (pattern: .*\${.*}.*)
         - `buildpack`: {object}
           - `configType`: (string) (required) Type of buildpack run configuration (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand)
           - `customProcess`: (string) Custom process which should be run. Required in case where `configType` is `customProcess`
           - `customEntrypoint`: (string) Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand`
           - `customCommand`: (string) Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand`
         - `docker`: {object}
           - `configType`: (string) (required) Type of entrypoint & command override configuration (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand)
           - `customEntrypoint`: (string) Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand`
           - `customCommand`: (string) Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand`
         - `storage`: {object}
           - `useHdbStorage`: (boolean)
           - `usePdSsdStorage`: (boolean)
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per container in MB | (string) A string containing one or more references that resolve to ephemeral storage per container in MB (pattern: .*\${.*}.*)
           - `shmSize`: (multiple options) (integer) Configures the amount of available memory-backed disk space available to /dev/shm | (string) A string containing one or more references that resolve to configures the amount of available memory-backed disk space available to /dev/shm (pattern: .*\${.*}.*)
         - `strategy`: {object}
           - `type`: (multiple options) (string) Configures the instance roll out strategy of your service. Currently only available via feature flag. (enum: recreate, rollout-steady, rollout-balanced, rollout-fast, custom) | (string) A string containing one or more references that resolve to configures the instance roll out strategy of your service. Currently only available via feature flag. (pattern: .*\${.*}.*)
           - `settings`: {object}
             - `maxSurge`: (multiple options) (integer) A non-negative integer. | (string) A percentage string in the range 0% to 100%, e.g. `25%` (pattern: ^\d+%$)
             - `maxUnavailable`: (multiple options) (integer) A non-negative integer. | (string) A percentage string in the range 0% to 100%, e.g. `25%` (pattern: ^\d+%$)
         - `zonalRedundancy`: {object}
           - `type`: (multiple options) (string) Defines scheduling behaviour across different zones within the same region. (enum: disabled, preferred, required) | (string) A string containing one or more references that resolve to defines scheduling behaviour across different zones within the same region. (pattern: .*\${.*}.*)
           - `minZones`: (integer) Defines how many zones are required and will prevent containers from additional scheduling into existing zones. (Only relevant if type is set to "required")
         - `gpu`: {object}
           - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
           - `configuration`: {object}
             - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
             - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
             - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
         - `gracePeriodSeconds`: (multiple options) (integer) The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. | (string) A string containing one or more references that resolve to the maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. (pattern: .*\${.*}.*)
         - `gradualRolloutStrategyId`: (multiple options) (string) The id of the strategy to be attached to service. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the strategy to be attached to service. (pattern: .*\${.*}.*)
         - `ssh`: {object}
           - `enabled`: (multiple options) (boolean) Enables SSH access if the resource matches an SSH identity selector. | (string) A string containing one or more references that resolve to enables SSH access if the resource matches an SSH identity selector. (pattern: .*\${.*}.*)
         - `metadata`: {object}
           - `labels`: {object}
           - `annotations`: {object}
         - `volumes`: [array of] {object}
             - `id`: (multiple options) (string) Slug identifying this volume within the service. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to slug identifying this volume within the service. (pattern: .*\${.*}.*)
             - `mounts`: [array of] {object}
                 - `volumeMountPath`: (string) Optionally specify the path inside this volume that should be mounted (pattern: ^((?!\.\.).)*$)
                 - `containerMountPath`: (string) (required) Specify the path into which the volume should be mounted (pattern: ^((?!:).)*$)
             - `spec`: {object}
               - `accessMode`: (string) Access mode of a per-replica volume. Always `ReadWriteOnce`. (enum: ReadWriteOnce)
               - `storageClassName`: (string) The type of the storage.
               - `storageSize`: (integer) (required) The size of the storage, in megabytes. Configurable sizes depend on the storage class.
         - `containerSnapshot`: {object}
           - `restoreFrom`: (multiple options) (string) The successful container snapshot to restore the service from. (format: uuid) | (string) A string containing one or more references that resolve to the successful container snapshot to restore the service from. (pattern: .*\${.*}.*)
           - `capture`: {object}
             - `onTermination`: (multiple options) (boolean) Creates a snapshot when a service container terminates, including crashes, rollouts, scale-downs, evictions, and manual restarts. | (string) A string containing one or more references that resolve to creates a snapshot when a service container terminates, including crashes, rollouts, scale-downs, evictions, and manual restarts. (pattern: .*\${.*}.*)
             - `retention`: {object}
               - `maxSnapshots`: (multiple options) (integer) The maximum number of termination snapshots retained for the service. | (string) A string containing one or more references that resolve to the maximum number of termination snapshots retained for the service. (pattern: .*\${.*}.*)
         - `internal`: {object}
           - `id`: (multiple options) (multiple options) (string) The ID of a build service in the same project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) The ID of a build service in another project, in the format `project-id/build-service-id` | (string) A string containing one or more references that resolve to iD of the build service to deploy (pattern: .*\${.*}.*)
           - `branch`: (multiple options) (string) Branch to deploy | (string) A string containing one or more references that resolve to branch to deploy (pattern: .*\${.*}.*)
           - `buildSHA`: (multiple options) (multiple options) (string) A commit sha. (min length: 40) (max length: 40) | (string) Latest commit. (enum: latest) | (string) A string containing one or more references that resolve to commit SHA to deploy, or 'latest' to deploy the most recent commit (pattern: .*\${.*}.*)
           - `buildId`: (multiple options) (string) ID of the build that should be deployed | (string) A string containing one or more references that resolve to iD of the build that should be deployed (pattern: .*\${.*}.*)
         - `external`: {object}
           - `imagePath`: (multiple options) (string) Image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: ^(?:(?:https?:\/\/)?([a-zA-Z0-9\-]+\.[a-zA-Z0-9\.\-]+))?(?:\/)?([a-zA-Z/-9\.\-_]+)(?:\:([a-zA-Z/-9\.\-_\:]+)|\@([a-zA-Z/-9\.\-_\:]+))$) | (string) A string containing one or more references that resolve to image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: .*\${.*}.*)
           - `credentials`: (multiple options) (string) ID of the saved credentials to use to access this external image. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of the saved credentials to use to access this external image. (pattern: .*\${.*}.*)
         - `releaseFlowControlled`: (boolean) When enabled the deployment source will only be set on creation. All changes to the deployment source must be done via a release flow or manually.
       - `ports`: [array of] {object}
           - `name`: (multiple options) (string) The name used to identify the port. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 1) (max length: 8) | (string) A string containing one or more references that resolve to the name used to identify the port. (pattern: .*\${.*}.*)
           - `internalPort`: (multiple options) (integer) The port number. | (string) A string containing one or more references that resolve to the port number. (pattern: .*\${.*}.*)
           - `public`: (multiple options) (boolean) If true, the port will be exposed publicly. | (string) A string containing one or more references that resolve to if true, the port will be exposed publicly. (pattern: .*\${.*}.*)
           - `security`: {object}
             - `credentials`: [array of] {object}
                 - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
                 - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
                 - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
             - `ip`: (multiple options) [array of] {object}
                   - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                   - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
             - `policies`: (multiple options) [array of] {object}
                   - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                   - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
             - `sso`: {object}
               - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
               - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
               - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
               - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
               - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
               - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
             - `headers`: [array of] (multiple options) {object}
                   - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                   - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                   - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                   - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                   - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                   - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
             - `verificationMode`: (string) Mode used to verify multiple security features like ip policies and SSO authentication (enum: or, and)
             - `securePathConfiguration`: {object}
               - `enabled`: (boolean) Enable security policies on a path-level style
               - `skipSecurityPoliciesForInternalTrafficViaPublicDns`: (boolean) Allow internal traffic from same or shared projects via public DNS to skip all security policies
               - `rules`: [array of] {object}
                   - `paths`: [array of] (multiple options) {object}
                         - `path`: (multiple options) (string) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) (pattern: .*\${.*}.*)
                         - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: prefix) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                         - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*) | {object}
                         - `path`: (multiple options) (string) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) (pattern: .*\${.*}.*)
                         - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: exact) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                         - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*) | {object}
                         - `path`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                         - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: regex) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                         - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*)
                   - `accessMode`: (multiple options) (string) Specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path (enum: protected, unprotected) | (string) A string containing one or more references that resolve to specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path (pattern: .*\${.*}.*)
                   - `securityPolicies`: (multiple options) {object}
                       - `orPolicies`: {object}
                         - `credentials`: [array of] {object}
                             - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
                             - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
                             - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
                         - `ip`: (multiple options) [array of] {object}
                               - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                               - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                         - `policies`: (multiple options) [array of] {object}
                               - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                               - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                         - `sso`: {object}
                           - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
                           - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
                           - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
                           - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
                           - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
                           - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
                         - `headers`: [array of] (multiple options) {object}
                               - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                               - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                               - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                               - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                               - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                               - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                       - `requiredPolicies`: {object}
                         - `credentials`: [array of] {object}
                             - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
                             - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
                             - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
                         - `ip`: (multiple options) [array of] {object}
                               - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                               - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                         - `policies`: (multiple options) [array of] {object}
                               - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                               - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                         - `sso`: {object}
                           - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
                           - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
                           - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
                           - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
                           - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
                           - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
                         - `headers`: [array of] (multiple options) {object}
                               - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                               - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                               - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                               - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                               - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                               - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
           - `domains`: (multiple options) [array of] (multiple options) (string) A domain to redirect to this port. | (string) A string containing one or more references that resolve to a domain to redirect to this port. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of domains to redirect to this port. Each domain must first be verified and registered to your account. (pattern: .*\${.*}.*)
           - `disableNfDomain`: (multiple options) (boolean) Disable routing on the default code.run domain for public HTTP ports with custom domains. | (string) A string containing one or more references that resolve to disable routing on the default code.run domain for public HTTP ports with custom domains. (pattern: .*\${.*}.*)
           - `advancedOptions`: {object}
             - `enableTlsPassthrough`: (multiple options) (boolean) Whether this port should use pass through mode for TLS | (string) A string containing one or more references that resolve to whether this port should use pass through mode for TLS (pattern: .*\${.*}.*)
           - `protocol`: (multiple options) (string) (enum: HTTP, HTTP/2) | (string) (enum: HTTP, HTTP/2, TCP, UDP)
       - `runtimeEnvironment`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
       - `runtimeFiles`: {object}
       - `healthChecks`: [array of] {object}
           - `protocol`: (multiple options) (string) The protocol to access the health check with. (enum: HTTP, CMD, TCP) | (string) A string containing one or more references that resolve to the protocol to access the health check with. (pattern: .*\${.*}.*)
           - `type`: (multiple options) (string) The type of health check. (enum: livenessProbe, readinessProbe, startupProbe) | (string) A string containing one or more references that resolve to the type of health check. (pattern: .*\${.*}.*)
           - `path`: (multiple options) (string) The path of the health check endpoint. Required when protocol is HTTP. (pattern: ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*((\?([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)(&([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)*)?$) | (string) (pattern: .*\${.*}.*)
           - `cmd`: (multiple options) (string) The command to run for the health check. Required when protocol is CMD | (string) (pattern: .*\${.*}.*)
           - `port`: (multiple options) (integer) Port number for the health check endpoint. Required when protocol is HTTP. | (string) (pattern: .*\${.*}.*)
           - `initialDelaySeconds`: (multiple options) (integer) Initial delay, in seconds, before the health check is first run. | (string) A string containing one or more references that resolve to initial delay, in seconds, before the health check is first run. (pattern: .*\${.*}.*)
           - `periodSeconds`: (multiple options) (integer) The time between each check, in seconds. | (string) A string containing one or more references that resolve to the time between each check, in seconds. (pattern: .*\${.*}.*)
           - `timeoutSeconds`: (multiple options) (integer) The time to wait for a response before marking the health check as a failure. | (string) A string containing one or more references that resolve to the time to wait for a response before marking the health check as a failure. (pattern: .*\${.*}.*)
           - `failureThreshold`: (multiple options) (integer) The maximum number of allowed failures. | (string) A string containing one or more references that resolve to the maximum number of allowed failures. (pattern: .*\${.*}.*)
           - `successThreshold`: (multiple options) (integer) The number of successes required to mark the health check as a success. | (string) (pattern: .*\${.*}.*)
       - `loadBalancing`: {object}
         - `mode`: (string) (required) (enum: leastConnection, consistentHash, roundRobin, consistentReplicaRouting)
         - `consistentHash`: {object}
           - `mode`: (string) (required) (enum: ip, customHeader)
           - `header`: (string)
         - `consistentReplicaRouting`: {object}
           - `mode`: (string) (required) (enum: path, header)
       - `autoscaling`: {object}
         - `horizontal`: {object}
           - `enabled`: (multiple options) (boolean) Whether horizontal autoscaling should be enabled | (string) A string containing one or more references that resolve to whether horizontal autoscaling should be enabled (pattern: .*\${.*}.*)
           - `minReplicas`: (multiple options) (number) Minimum number of replicas which should be running at any time (format: float) | (string) A string containing one or more references that resolve to minimum number of replicas which should be running at any time (pattern: .*\${.*}.*)
           - `maxReplicas`: (multiple options) (number) Maximum number of replicas which can be running at any time (format: float) | (string) A string containing one or more references that resolve to maximum number of replicas which can be running at any time (pattern: .*\${.*}.*)
           - `cpu`: {object}
             - `enabled`: (multiple options) (boolean) Whether autoscaling should take into account cpu usage | (string) A string containing one or more references that resolve to whether autoscaling should take into account cpu usage (pattern: .*\${.*}.*)
             - `thresholdPercentage`: (multiple options) (integer) Threshold CPU usage percentage at which the workload will be scaled | (string) A string containing one or more references that resolve to threshold CPU usage percentage at which the workload will be scaled (pattern: .*\${.*}.*)
           - `memory`: {object}
             - `enabled`: (multiple options) (boolean) Whether autoscaling should take into account memory usage | (string) A string containing one or more references that resolve to whether autoscaling should take into account memory usage (pattern: .*\${.*}.*)
             - `thresholdPercentage`: (multiple options) (integer) Threshold memory usage percentage at which the workload will be scaled | (string) A string containing one or more references that resolve to threshold memory usage percentage at which the workload will be scaled (pattern: .*\${.*}.*)
           - `rps`: {object}
             - `enabled`: (multiple options) (boolean) Whether autoscaling should take into requests-per-second | (string) A string containing one or more references that resolve to whether autoscaling should take into requests-per-second (pattern: .*\${.*}.*)
             - `thresholdValue`: (multiple options) (integer) Threshold rps value on which the workload will be scaled | (string) A string containing one or more references that resolve to threshold rps value on which the workload will be scaled (pattern: .*\${.*}.*)
           - `userMetrics`: {object}
             - `enabled`: (multiple options) (boolean) Whether to enable handling for custom metrics in the autoscaling configuration | (string) A string containing one or more references that resolve to whether to enable handling for custom metrics in the autoscaling configuration (pattern: .*\${.*}.*)
             - `exposedMetricsPath`: (multiple options) (string) Path on which the metrics will be exposed by the service.. (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) A string containing one or more references that resolve to path on which the metrics will be exposed by the service.. (pattern: .*\${.*}.*)
             - `exposedMetricsPort`: (multiple options) (integer) Port on which the metrics will be exposed by the service. | (string) A string containing one or more references that resolve to port on which the metrics will be exposed by the service. (pattern: .*\${.*}.*)
             - `metrics`: [array of] {object}
                 - `metricName`: (multiple options) (string) Name of the custom metric (pattern: [a-zA-Z_:][a-zA-Z0-9_:]*$) | (string) A string containing one or more references that resolve to name of the custom metric (pattern: .*\${.*}.*)
                 - `metricType`: (multiple options) (string) Type of metric exposed, this will affect how it'll be queried by the autoscaler component: Gauge will be used as is, Counter will be used with rate() (enum: gauge, counter) | (string) A string containing one or more references that resolve to type of metric exposed, this will affect how it'll be queried by the autoscaler component: Gauge will be used as is, Counter will be used with rate() (pattern: .*\${.*}.*)
                 - `thresholdValue`: (multiple options) (number) Threshold value on which the workload will be scaled. Represents the average value across all running pods. (format: float) | (string) A string containing one or more references that resolve to threshold value on which the workload will be scaled. Represents the average value across all running pods. (pattern: .*\${.*}.*)
       - `createOptions`: {object}
         - `volumesToAttach`: [array of] (string) (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
         - `expiryTime`: (integer) Number of seconds from creation after which the service should automatically expire. Once reached, the service is paused and scheduled for deletion. Must be between 300 (5 minutes) and 604800 (7 days).
     - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: Harness)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: {object}
         - `name`: (string) (required) The name of the harness. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54)
         - `description`: (string) A description of the harness. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
         - `tags`: [array of] (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `billing`: {object}
           - `deploymentPlan`: (string) (required) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
           - `gpu`: {object}
             - `enabled`: (boolean) Whether GPUs are enabled for this workload.
             - `configuration`: {object}
               - `gpuType`: (string) (required) The type of GPU to use.
               - `gpuCount`: (integer) The number of GPUs to allocate.
               - `timesliced`: (boolean) Whether GPU timeslicing is enabled.
         - `ports`: [array of] {object}
             - `name`: (string) (required) The name used to identify the port. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 1) (max length: 8)
             - `internalPort`: (integer) (required) The port number.
             - `public`: (boolean) If true, the port will be exposed publicly.
             - `security`: {object}
               - `credentials`: [array of] {object}
                   - `username`: (string) (required) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
                   - `password`: (string) (required) The password to access the service with this username.
                   - `type`: (string) (required) The type of authentication used (enum: basic-auth)
               - `ip`: [array of] {object}
                   - `addresses`: [array of] (string) An IP address used by this rule
                   - `action`: (string) (required) The action for this rule. (enum: ALLOW, DENY)
               - `policies`: [array of] {object}
                   - `addresses`: [array of] (string) An IP address used by this rule
                   - `action`: (string) (required) The action for this rule. (enum: ALLOW, DENY)
               - `sso`: {object}
                 - `organizationId`: (string) ID of the SSO organization that the user will have to be a member of
                 - `directoryGroupIds`: [array of] (string)
                 - `allowAnyOrgUsers`: (boolean) Allow entire organization to access this service
                 - `validateInternalTraffic`: (boolean) Enforce internal traffic through SSO authentication flow
                 - `setCookieOnRootDomain`: (boolean) Set SSO authentication cookie on root domain
                 - `allowInternalTrafficViaPublicDns`: (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow
               - `headers`: [array of] (multiple options) {object}
                     - `regexMode`: (boolean)
                     - `name`: (string) (required) (pattern: ^[a-zA-Z0-9_\-%$+]+$)
                     - `value`: (string) (required) | {object}
                     - `regexMode`: (boolean)
                     - `name`: (string) (required)
                     - `value`: (string) (required)
               - `verificationMode`: (string) Mode used to verify multiple security features like ip policies and SSO authentication (enum: or, and)
               - `securePathConfiguration`: {object}
                 - `enabled`: (boolean) Enable security policies on a path-level style
                 - `skipSecurityPoliciesForInternalTrafficViaPublicDns`: (boolean) Allow internal traffic from same or shared projects via public DNS to skip all security policies
                 - `rules`: [array of] {object}
                     - `paths`: [array of] (multiple options) {object}
                           - `path`: (string) (required) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$)
                           - `routingMode`: (string) (required) Mode of the path, determining how the URI will be interpreted. (enum: prefix)
                           - `priority`: (integer) (required) | {object}
                           - `path`: (string) (required) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$)
                           - `routingMode`: (string) (required) Mode of the path, determining how the URI will be interpreted. (enum: exact)
                           - `priority`: (integer) (required) | {object}
                           - `path`: (string) (required)
                           - `routingMode`: (string) (required) Mode of the path, determining how the URI will be interpreted. (enum: regex)
                           - `priority`: (integer) (required)
                     - `accessMode`: (string) (required) Specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path (enum: protected, unprotected)
                     - `securityPolicies`: {object}
                       - `orPolicies`: {object}
                         - `credentials`: [array of] {object}
                             - `username`: (string) (required) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
                             - `password`: (string) (required) The password to access the service with this username.
                             - `type`: (string) (required) The type of authentication used (enum: basic-auth)
                         - `ip`: [array of] {object}
                             - `addresses`: [array of] (string) An IP address used by this rule
                             - `action`: (string) (required) The action for this rule. (enum: ALLOW, DENY)
                         - `policies`: [array of] {object}
                             - `addresses`: [array of] (string) An IP address used by this rule
                             - `action`: (string) (required) The action for this rule. (enum: ALLOW, DENY)
                         - `sso`: {object}
                           - `organizationId`: (string) ID of the SSO organization that the user will have to be a member of
                           - `directoryGroupIds`: [array of] (string)
                           - `allowAnyOrgUsers`: (boolean) Allow entire organization to access this service
                           - `validateInternalTraffic`: (boolean) Enforce internal traffic through SSO authentication flow
                           - `setCookieOnRootDomain`: (boolean) Set SSO authentication cookie on root domain
                           - `allowInternalTrafficViaPublicDns`: (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow
                         - `headers`: [array of] (multiple options) {object}
                               - `regexMode`: (boolean)
                               - `name`: (string) (required) (pattern: ^[a-zA-Z0-9_\-%$+]+$)
                               - `value`: (string) (required) | {object}
                               - `regexMode`: (boolean)
                               - `name`: (string) (required)
                               - `value`: (string) (required)
                       - `requiredPolicies`: {object}
                         - `credentials`: [array of] {object}
                             - `username`: (string) (required) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
                             - `password`: (string) (required) The password to access the service with this username.
                             - `type`: (string) (required) The type of authentication used (enum: basic-auth)
                         - `ip`: [array of] {object}
                             - `addresses`: [array of] (string) An IP address used by this rule
                             - `action`: (string) (required) The action for this rule. (enum: ALLOW, DENY)
                         - `policies`: [array of] {object}
                             - `addresses`: [array of] (string) An IP address used by this rule
                             - `action`: (string) (required) The action for this rule. (enum: ALLOW, DENY)
                         - `sso`: {object}
                           - `organizationId`: (string) ID of the SSO organization that the user will have to be a member of
                           - `directoryGroupIds`: [array of] (string)
                           - `allowAnyOrgUsers`: (boolean) Allow entire organization to access this service
                           - `validateInternalTraffic`: (boolean) Enforce internal traffic through SSO authentication flow
                           - `setCookieOnRootDomain`: (boolean) Set SSO authentication cookie on root domain
                           - `allowInternalTrafficViaPublicDns`: (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow
                         - `headers`: [array of] (multiple options) {object}
                               - `regexMode`: (boolean)
                               - `name`: (string) (required) (pattern: ^[a-zA-Z0-9_\-%$+]+$)
                               - `value`: (string) (required) | {object}
                               - `regexMode`: (boolean)
                               - `name`: (string) (required)
                               - `value`: (string) (required)
             - `domains`: [array of] (string) A domain to redirect to this port.
             - `disableNfDomain`: (boolean) Disable routing on the default code.run domain for public HTTP ports with custom domains.
             - `advancedOptions`: {object}
               - `enableTlsPassthrough`: (boolean) Whether this port should use pass through mode for TLS
             - `protocol`: (multiple options) (string) (enum: HTTP, HTTP/2) | (string) (enum: HTTP, HTTP/2, TCP, UDP)
         - `source`: {object}
           - `projectUrl`: (string) (required) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$)
           - `projectType`: (string) (required) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure)
           - `selfHostedVcsId`: (string) If projectType is self-hosted, the ID of the self-hosted vcs to use.
           - `accountLogin`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name.
           - `vcsLinkId`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24)
           - `projectBranch`: (string) (required) The name of the branch to pre-pull for the harness environment.
           - `publicRepo`: (boolean) Whether the linked repository is public.
         - `repositoryData`: {object}
           - `name`: (string) (required) Name of the new repository to create. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54)
           - `projectType`: (string) (required) The VCS provider to create the repository on. (enum: bitbucket, gitlab, github, self-hosted, azure)
           - `vcsLinkId`: (string) (required) Linked account ID under which to create the repository. (min length: 24) (max length: 24)
           - `accountLogin`: (string) Linked account login to create the repository under.
           - `selfHostedVcsId`: (string) If projectType is self-hosted, the ID of the self-hosted vcs to use.
           - `privateRepo`: (boolean) Whether the new repository should be private.
           - `context`: (string) Namespace/owner the repository is created under (gitlab/bitbucket).
           - `folder`: (string) Project/folder the repository is created under (bitbucket).
           - `description`: (string) Description for the new repository. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
         - `runtimeEnvironment`: {object}
         - `runtimeFiles`: {object}
         - `deployment`: {object}
           - `gpu`: {object}
             - `enabled`: (boolean) Whether GPUs are enabled for this workload.
             - `configuration`: {object}
               - `gpuType`: (string) (required) The type of GPU to use.
               - `gpuCount`: (integer) The number of GPUs to allocate.
               - `timesliced`: (boolean) Whether GPU timeslicing is enabled.
           - `storage`: {object}
             - `ephemeralStorage`: {object}
               - `storageSize`: (integer) Ephemeral storage per container in MB
           - `workspaceSize`: (integer) Size of the persistent workspace volume in MiB. Can only be grown after creation; shrinking is rejected because Kubernetes does not support shrinking persistent volume claims.
         - `harness`: {object}
           - `type`: (string) (required) The harness environment type to run. (enum: claude, codex)
           - `authMode`: (string) How the harness authenticates: `apiKey` (a provider key is stored) or `account` (interactive/account login, no key). (enum: apiKey, account)
           - `apiKey`: (string) Masked API key used by the harness environment. Absent for `account` harnesses.
           - `cloneDirectory`: (string) Absolute path the repo is cloned into in the harness container.
         - `id`: (string) (required) Identifier for the harness
         - `appId`: (string) (required) Full identifier used for harness deployment
         - `cluster`: {object}
           - `id`: (string) (required) The id of the cluster associated with this project.
           - `name`: (string) (required) The name of the cluster associated with this project.
           - `namespace`: (string) Namespace this resource is located within on the cluster.
           - `loadBalancers`: [array of] (string)
         - `createdAt`: (string) time of creation (format: date-time)
         - `updatedAt`: (string) time of update (format: date-time)
         - `harnessPaused`: (boolean) Is the harness paused?
         - `status`: {object}
           - `deployment`: {object}
             - `status`: (string) (required) The current status of the deployment. (enum: PENDING, IN_PROGRESS, COMPLETED, FAILED)
             - `reason`: (string) (required) The reason the current deployment was started. (enum: SCALING, DEPLOYING)
             - `lastTransitionTime`: (string) The timestamp of when the deployment reached this status. (format: date-time)
     - `spec`: {object}
       - `description`: (multiple options) (string) A description of the harness. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the harness. (pattern: .*\${.*}.*)
       - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `billing`: {object}
         - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (pattern: .*\${.*}.*)
         - `gpu`: {object}
           - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
           - `configuration`: {object}
             - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
             - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
             - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
       - `deployment`: {object}
         - `gpu`: {object}
           - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
           - `configuration`: {object}
             - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
             - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
             - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
         - `storage`: {object}
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per container in MB | (string) A string containing one or more references that resolve to ephemeral storage per container in MB (pattern: .*\${.*}.*)
         - `workspaceSize`: (multiple options) (integer) Size of the persistent workspace volume in MiB. Can only be grown after creation; shrinking is rejected because Kubernetes does not support shrinking persistent volume claims. | (string) A string containing one or more references that resolve to size of the persistent workspace volume in MiB. Can only be grown after creation; shrinking is rejected because Kubernetes does not support shrinking persistent volume claims. (pattern: .*\${.*}.*)
       - `ports`: [array of] {object}
           - `name`: (multiple options) (string) The name used to identify the port. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 1) (max length: 8) | (string) A string containing one or more references that resolve to the name used to identify the port. (pattern: .*\${.*}.*)
           - `internalPort`: (multiple options) (integer) The port number. | (string) A string containing one or more references that resolve to the port number. (pattern: .*\${.*}.*)
           - `public`: (multiple options) (boolean) If true, the port will be exposed publicly. | (string) A string containing one or more references that resolve to if true, the port will be exposed publicly. (pattern: .*\${.*}.*)
           - `security`: {object}
             - `credentials`: [array of] {object}
                 - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
                 - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
                 - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
             - `ip`: (multiple options) [array of] {object}
                   - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                   - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
             - `policies`: (multiple options) [array of] {object}
                   - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                   - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
             - `sso`: {object}
               - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
               - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
               - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
               - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
               - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
               - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
             - `headers`: [array of] (multiple options) {object}
                   - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                   - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                   - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                   - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                   - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                   - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
             - `verificationMode`: (string) Mode used to verify multiple security features like ip policies and SSO authentication (enum: or, and)
             - `securePathConfiguration`: {object}
               - `enabled`: (boolean) Enable security policies on a path-level style
               - `skipSecurityPoliciesForInternalTrafficViaPublicDns`: (boolean) Allow internal traffic from same or shared projects via public DNS to skip all security policies
               - `rules`: [array of] {object}
                   - `paths`: [array of] (multiple options) {object}
                         - `path`: (multiple options) (string) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) (pattern: .*\${.*}.*)
                         - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: prefix) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                         - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*) | {object}
                         - `path`: (multiple options) (string) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) (pattern: .*\${.*}.*)
                         - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: exact) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                         - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*) | {object}
                         - `path`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                         - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: regex) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                         - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*)
                   - `accessMode`: (multiple options) (string) Specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path (enum: protected, unprotected) | (string) A string containing one or more references that resolve to specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path (pattern: .*\${.*}.*)
                   - `securityPolicies`: (multiple options) {object}
                       - `orPolicies`: {object}
                         - `credentials`: [array of] {object}
                             - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
                             - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
                             - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
                         - `ip`: (multiple options) [array of] {object}
                               - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                               - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                         - `policies`: (multiple options) [array of] {object}
                               - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                               - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                         - `sso`: {object}
                           - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
                           - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
                           - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
                           - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
                           - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
                           - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
                         - `headers`: [array of] (multiple options) {object}
                               - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                               - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                               - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                               - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                               - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                               - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                       - `requiredPolicies`: {object}
                         - `credentials`: [array of] {object}
                             - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
                             - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
                             - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
                         - `ip`: (multiple options) [array of] {object}
                               - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                               - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                         - `policies`: (multiple options) [array of] {object}
                               - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                               - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                         - `sso`: {object}
                           - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
                           - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
                           - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
                           - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
                           - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
                           - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
                         - `headers`: [array of] (multiple options) {object}
                               - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                               - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                               - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                               - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                               - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                               - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
           - `domains`: (multiple options) [array of] (multiple options) (string) A domain to redirect to this port. | (string) A string containing one or more references that resolve to a domain to redirect to this port. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of domains to redirect to this port. Each domain must first be verified and registered to your account. (pattern: .*\${.*}.*)
           - `disableNfDomain`: (multiple options) (boolean) Disable routing on the default code.run domain for public HTTP ports with custom domains. | (string) A string containing one or more references that resolve to disable routing on the default code.run domain for public HTTP ports with custom domains. (pattern: .*\${.*}.*)
           - `advancedOptions`: {object}
             - `enableTlsPassthrough`: (multiple options) (boolean) Whether this port should use pass through mode for TLS | (string) A string containing one or more references that resolve to whether this port should use pass through mode for TLS (pattern: .*\${.*}.*)
           - `protocol`: (multiple options) (string) (enum: HTTP, HTTP/2) | (string) (enum: HTTP, HTTP/2, TCP, UDP)
       - `source`: {object}
         - `projectUrl`: (multiple options) (string) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo to build. (pattern: .*\${.*}.*)
         - `projectType`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
         - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
         - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
         - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24) | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
         - `projectBranch`: (multiple options) (string) The name of the branch to pre-pull for the harness environment. | (string) A string containing one or more references that resolve to the name of the branch to pre-pull for the harness environment. (pattern: .*\${.*}.*)
         - `publicRepo`: (multiple options) (boolean) Whether the linked repository is public. | (string) A string containing one or more references that resolve to whether the linked repository is public. (pattern: .*\${.*}.*)
       - `harness`: {object}
         - `authMode`: (multiple options) (string) How the harness authenticates: `apiKey` (a provider API key is supplied) or `account` (interactive/account login, no key stored). When omitted, defaults to `apiKey` if an apiKey is provided. (enum: apiKey, account) | (string) A string containing one or more references that resolve to how the harness authenticates: `apiKey` (a provider API key is supplied) or `account` (interactive/account login, no key stored). When omitted, defaults to `apiKey` if an apiKey is provided. (pattern: .*\${.*}.*)
         - `apiKey`: (multiple options) (string) API key used by the harness environment. | (string) A string containing one or more references that resolve to aPI key used by the harness environment. (pattern: .*\${.*}.*)
       - `runtimeEnvironment`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
       - `runtimeFiles`: {object}
       - `name`: (multiple options) (string) The name of the harness. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the name of the harness. (pattern: .*\${.*}.*)
     - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: Harness)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: {object}
         - `name`: (string) (required) The name of the harness. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54)
         - `description`: (string) A description of the harness. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
         - `tags`: [array of] (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `billing`: {object}
           - `deploymentPlan`: (string) (required) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
           - `gpu`: {object}
             - `enabled`: (boolean) Whether GPUs are enabled for this workload.
             - `configuration`: {object}
               - `gpuType`: (string) (required) The type of GPU to use.
               - `gpuCount`: (integer) The number of GPUs to allocate.
               - `timesliced`: (boolean) Whether GPU timeslicing is enabled.
         - `ports`: [array of] {object}
             - `name`: (string) (required) The name used to identify the port. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 1) (max length: 8)
             - `internalPort`: (integer) (required) The port number.
             - `public`: (boolean) If true, the port will be exposed publicly.
             - `security`: {object}
               - `credentials`: [array of] {object}
                   - `username`: (string) (required) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
                   - `password`: (string) (required) The password to access the service with this username.
                   - `type`: (string) (required) The type of authentication used (enum: basic-auth)
               - `ip`: [array of] {object}
                   - `addresses`: [array of] (string) An IP address used by this rule
                   - `action`: (string) (required) The action for this rule. (enum: ALLOW, DENY)
               - `policies`: [array of] {object}
                   - `addresses`: [array of] (string) An IP address used by this rule
                   - `action`: (string) (required) The action for this rule. (enum: ALLOW, DENY)
               - `sso`: {object}
                 - `organizationId`: (string) ID of the SSO organization that the user will have to be a member of
                 - `directoryGroupIds`: [array of] (string)
                 - `allowAnyOrgUsers`: (boolean) Allow entire organization to access this service
                 - `validateInternalTraffic`: (boolean) Enforce internal traffic through SSO authentication flow
                 - `setCookieOnRootDomain`: (boolean) Set SSO authentication cookie on root domain
                 - `allowInternalTrafficViaPublicDns`: (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow
               - `headers`: [array of] (multiple options) {object}
                     - `regexMode`: (boolean)
                     - `name`: (string) (required) (pattern: ^[a-zA-Z0-9_\-%$+]+$)
                     - `value`: (string) (required) | {object}
                     - `regexMode`: (boolean)
                     - `name`: (string) (required)
                     - `value`: (string) (required)
               - `verificationMode`: (string) Mode used to verify multiple security features like ip policies and SSO authentication (enum: or, and)
               - `securePathConfiguration`: {object}
                 - `enabled`: (boolean) Enable security policies on a path-level style
                 - `skipSecurityPoliciesForInternalTrafficViaPublicDns`: (boolean) Allow internal traffic from same or shared projects via public DNS to skip all security policies
                 - `rules`: [array of] {object}
                     - `paths`: [array of] (multiple options) {object}
                           - `path`: (string) (required) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$)
                           - `routingMode`: (string) (required) Mode of the path, determining how the URI will be interpreted. (enum: prefix)
                           - `priority`: (integer) (required) | {object}
                           - `path`: (string) (required) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$)
                           - `routingMode`: (string) (required) Mode of the path, determining how the URI will be interpreted. (enum: exact)
                           - `priority`: (integer) (required) | {object}
                           - `path`: (string) (required)
                           - `routingMode`: (string) (required) Mode of the path, determining how the URI will be interpreted. (enum: regex)
                           - `priority`: (integer) (required)
                     - `accessMode`: (string) (required) Specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path (enum: protected, unprotected)
                     - `securityPolicies`: {object}
                       - `orPolicies`: {object}
                         - `credentials`: [array of] {object}
                             - `username`: (string) (required) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
                             - `password`: (string) (required) The password to access the service with this username.
                             - `type`: (string) (required) The type of authentication used (enum: basic-auth)
                         - `ip`: [array of] {object}
                             - `addresses`: [array of] (string) An IP address used by this rule
                             - `action`: (string) (required) The action for this rule. (enum: ALLOW, DENY)
                         - `policies`: [array of] {object}
                             - `addresses`: [array of] (string) An IP address used by this rule
                             - `action`: (string) (required) The action for this rule. (enum: ALLOW, DENY)
                         - `sso`: {object}
                           - `organizationId`: (string) ID of the SSO organization that the user will have to be a member of
                           - `directoryGroupIds`: [array of] (string)
                           - `allowAnyOrgUsers`: (boolean) Allow entire organization to access this service
                           - `validateInternalTraffic`: (boolean) Enforce internal traffic through SSO authentication flow
                           - `setCookieOnRootDomain`: (boolean) Set SSO authentication cookie on root domain
                           - `allowInternalTrafficViaPublicDns`: (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow
                         - `headers`: [array of] (multiple options) {object}
                               - `regexMode`: (boolean)
                               - `name`: (string) (required) (pattern: ^[a-zA-Z0-9_\-%$+]+$)
                               - `value`: (string) (required) | {object}
                               - `regexMode`: (boolean)
                               - `name`: (string) (required)
                               - `value`: (string) (required)
                       - `requiredPolicies`: {object}
                         - `credentials`: [array of] {object}
                             - `username`: (string) (required) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
                             - `password`: (string) (required) The password to access the service with this username.
                             - `type`: (string) (required) The type of authentication used (enum: basic-auth)
                         - `ip`: [array of] {object}
                             - `addresses`: [array of] (string) An IP address used by this rule
                             - `action`: (string) (required) The action for this rule. (enum: ALLOW, DENY)
                         - `policies`: [array of] {object}
                             - `addresses`: [array of] (string) An IP address used by this rule
                             - `action`: (string) (required) The action for this rule. (enum: ALLOW, DENY)
                         - `sso`: {object}
                           - `organizationId`: (string) ID of the SSO organization that the user will have to be a member of
                           - `directoryGroupIds`: [array of] (string)
                           - `allowAnyOrgUsers`: (boolean) Allow entire organization to access this service
                           - `validateInternalTraffic`: (boolean) Enforce internal traffic through SSO authentication flow
                           - `setCookieOnRootDomain`: (boolean) Set SSO authentication cookie on root domain
                           - `allowInternalTrafficViaPublicDns`: (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow
                         - `headers`: [array of] (multiple options) {object}
                               - `regexMode`: (boolean)
                               - `name`: (string) (required) (pattern: ^[a-zA-Z0-9_\-%$+]+$)
                               - `value`: (string) (required) | {object}
                               - `regexMode`: (boolean)
                               - `name`: (string) (required)
                               - `value`: (string) (required)
             - `domains`: [array of] (string) A domain to redirect to this port.
             - `disableNfDomain`: (boolean) Disable routing on the default code.run domain for public HTTP ports with custom domains.
             - `advancedOptions`: {object}
               - `enableTlsPassthrough`: (boolean) Whether this port should use pass through mode for TLS
             - `protocol`: (multiple options) (string) (enum: HTTP, HTTP/2) | (string) (enum: HTTP, HTTP/2, TCP, UDP)
         - `source`: {object}
           - `projectUrl`: (string) (required) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$)
           - `projectType`: (string) (required) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure)
           - `selfHostedVcsId`: (string) If projectType is self-hosted, the ID of the self-hosted vcs to use.
           - `accountLogin`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name.
           - `vcsLinkId`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24)
           - `projectBranch`: (string) (required) The name of the branch to pre-pull for the harness environment.
           - `publicRepo`: (boolean) Whether the linked repository is public.
         - `repositoryData`: {object}
           - `name`: (string) (required) Name of the new repository to create. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54)
           - `projectType`: (string) (required) The VCS provider to create the repository on. (enum: bitbucket, gitlab, github, self-hosted, azure)
           - `vcsLinkId`: (string) (required) Linked account ID under which to create the repository. (min length: 24) (max length: 24)
           - `accountLogin`: (string) Linked account login to create the repository under.
           - `selfHostedVcsId`: (string) If projectType is self-hosted, the ID of the self-hosted vcs to use.
           - `privateRepo`: (boolean) Whether the new repository should be private.
           - `context`: (string) Namespace/owner the repository is created under (gitlab/bitbucket).
           - `folder`: (string) Project/folder the repository is created under (bitbucket).
           - `description`: (string) Description for the new repository. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
         - `runtimeEnvironment`: {object}
         - `runtimeFiles`: {object}
         - `deployment`: {object}
           - `gpu`: {object}
             - `enabled`: (boolean) Whether GPUs are enabled for this workload.
             - `configuration`: {object}
               - `gpuType`: (string) (required) The type of GPU to use.
               - `gpuCount`: (integer) The number of GPUs to allocate.
               - `timesliced`: (boolean) Whether GPU timeslicing is enabled.
           - `storage`: {object}
             - `ephemeralStorage`: {object}
               - `storageSize`: (integer) Ephemeral storage per container in MB
           - `workspaceSize`: (integer) Size of the persistent workspace volume in MiB. Can only be grown after creation; shrinking is rejected because Kubernetes does not support shrinking persistent volume claims.
         - `harness`: {object}
           - `type`: (string) (required) The harness environment type to run. (enum: claude, codex)
           - `authMode`: (string) How the harness authenticates: `apiKey` (a provider key is stored) or `account` (interactive/account login, no key). (enum: apiKey, account)
           - `apiKey`: (string) Masked API key used by the harness environment. Absent for `account` harnesses.
           - `cloneDirectory`: (string) Absolute path the repo is cloned into in the harness container.
         - `id`: (string) (required) Identifier for the harness
         - `appId`: (string) (required) Full identifier used for harness deployment
         - `cluster`: {object}
           - `id`: (string) (required) The id of the cluster associated with this project.
           - `name`: (string) (required) The name of the cluster associated with this project.
           - `namespace`: (string) Namespace this resource is located within on the cluster.
           - `loadBalancers`: [array of] (string)
         - `createdAt`: (string) time of creation (format: date-time)
         - `updatedAt`: (string) time of update (format: date-time)
         - `harnessPaused`: (boolean) Is the harness paused?
         - `status`: {object}
           - `deployment`: {object}
             - `status`: (string) (required) The current status of the deployment. (enum: PENDING, IN_PROGRESS, COMPLETED, FAILED)
             - `reason`: (string) (required) The reason the current deployment was started. (enum: SCALING, DEPLOYING)
             - `lastTransitionTime`: (string) The timestamp of when the deployment reached this status. (format: date-time)
     - `spec`: {object}
       - `name`: (multiple options) (string) The name of the harness. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the name of the harness. (pattern: .*\${.*}.*)
       - `description`: (multiple options) (string) A description of the harness. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the harness. (pattern: .*\${.*}.*)
       - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
       - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `billing`: {object}
         - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (pattern: .*\${.*}.*)
         - `gpu`: {object}
           - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
           - `configuration`: {object}
             - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
             - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
             - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
       - `deployment`: {object}
         - `gpu`: {object}
           - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
           - `configuration`: {object}
             - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
             - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
             - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
         - `storage`: {object}
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per container in MB | (string) A string containing one or more references that resolve to ephemeral storage per container in MB (pattern: .*\${.*}.*)
         - `workspaceSize`: (multiple options) (integer) Size of the persistent workspace volume in MiB. Can only be grown after creation; shrinking is rejected because Kubernetes does not support shrinking persistent volume claims. | (string) A string containing one or more references that resolve to size of the persistent workspace volume in MiB. Can only be grown after creation; shrinking is rejected because Kubernetes does not support shrinking persistent volume claims. (pattern: .*\${.*}.*)
       - `ports`: [array of] {object}
           - `name`: (multiple options) (string) The name used to identify the port. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 1) (max length: 8) | (string) A string containing one or more references that resolve to the name used to identify the port. (pattern: .*\${.*}.*)
           - `internalPort`: (multiple options) (integer) The port number. | (string) A string containing one or more references that resolve to the port number. (pattern: .*\${.*}.*)
           - `public`: (multiple options) (boolean) If true, the port will be exposed publicly. | (string) A string containing one or more references that resolve to if true, the port will be exposed publicly. (pattern: .*\${.*}.*)
           - `security`: {object}
             - `credentials`: [array of] {object}
                 - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
                 - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
                 - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
             - `ip`: (multiple options) [array of] {object}
                   - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                   - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
             - `policies`: (multiple options) [array of] {object}
                   - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                   - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
             - `sso`: {object}
               - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
               - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
               - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
               - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
               - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
               - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
             - `headers`: [array of] (multiple options) {object}
                   - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                   - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                   - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                   - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                   - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                   - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
             - `verificationMode`: (string) Mode used to verify multiple security features like ip policies and SSO authentication (enum: or, and)
             - `securePathConfiguration`: {object}
               - `enabled`: (boolean) Enable security policies on a path-level style
               - `skipSecurityPoliciesForInternalTrafficViaPublicDns`: (boolean) Allow internal traffic from same or shared projects via public DNS to skip all security policies
               - `rules`: [array of] {object}
                   - `paths`: [array of] (multiple options) {object}
                         - `path`: (multiple options) (string) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) (pattern: .*\${.*}.*)
                         - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: prefix) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                         - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*) | {object}
                         - `path`: (multiple options) (string) (pattern: ^\/([_a-zA-Z0-9-&?=.]*)((\/[_a-zA-Z0-9-&?=.]+)*(\/)?)?$) | (string) (pattern: .*\${.*}.*)
                         - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: exact) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                         - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*) | {object}
                         - `path`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                         - `routingMode`: (multiple options) (string) Mode of the path, determining how the URI will be interpreted. (enum: regex) | (string) A string containing one or more references that resolve to mode of the path, determining how the URI will be interpreted. (pattern: .*\${.*}.*)
                         - `priority`: (multiple options) (integer) | (string) (pattern: .*\${.*}.*)
                   - `accessMode`: (multiple options) (string) Specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path (enum: protected, unprotected) | (string) A string containing one or more references that resolve to specify the way the path rule will behave when processing policies. This enables an allow-list/deny-list approach for access control on each path (pattern: .*\${.*}.*)
                   - `securityPolicies`: (multiple options) {object}
                       - `orPolicies`: {object}
                         - `credentials`: [array of] {object}
                             - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
                             - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
                             - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
                         - `ip`: (multiple options) [array of] {object}
                               - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                               - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                         - `policies`: (multiple options) [array of] {object}
                               - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                               - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                         - `sso`: {object}
                           - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
                           - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
                           - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
                           - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
                           - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
                           - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
                         - `headers`: [array of] (multiple options) {object}
                               - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                               - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                               - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                               - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                               - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                               - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                       - `requiredPolicies`: {object}
                         - `credentials`: [array of] {object}
                             - `username`: (multiple options) (string) The username to access the service (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the username to access the service (pattern: .*\${.*}.*)
                             - `password`: (multiple options) (string) The password to access the service with this username. | (string) A string containing one or more references that resolve to the password to access the service with this username. (pattern: .*\${.*}.*)
                             - `type`: (multiple options) (string) The type of authentication used (enum: basic-auth) | (string) A string containing one or more references that resolve to the type of authentication used (pattern: .*\${.*}.*)
                         - `ip`: (multiple options) [array of] {object}
                               - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                               - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                         - `policies`: (multiple options) [array of] {object}
                               - `addresses`: (multiple options) [array of] (multiple options) (string) An IP address used by this rule (pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$) | (string) A string containing one or more references that resolve to an IP address used by this rule (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP addresses used for this rule (pattern: .*\${.*}.*)
                               - `action`: (multiple options) (string) The action for this rule. (enum: ALLOW, DENY) | (string) A string containing one or more references that resolve to the action for this rule. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of IP address policies. (pattern: .*\${.*}.*)
                         - `sso`: {object}
                           - `organizationId`: (multiple options) (string) ID of the SSO organization that the user will have to be a member of | (string) A string containing one or more references that resolve to iD of the SSO organization that the user will have to be a member of (pattern: .*\${.*}.*)
                           - `directoryGroupIds`: (multiple options) [array of] (string) | (string) A string containing one or more references that resolve to array of directory groups that will have access (pattern: .*\${.*}.*)
                           - `allowAnyOrgUsers`: (multiple options) (boolean) Allow entire organization to access this service | (string) A string containing one or more references that resolve to allow entire organization to access this service (pattern: .*\${.*}.*)
                           - `validateInternalTraffic`: (multiple options) (boolean) Enforce internal traffic through SSO authentication flow | (string) A string containing one or more references that resolve to enforce internal traffic through SSO authentication flow (pattern: .*\${.*}.*)
                           - `setCookieOnRootDomain`: (multiple options) (boolean) Set SSO authentication cookie on root domain | (string) A string containing one or more references that resolve to set SSO authentication cookie on root domain (pattern: .*\${.*}.*)
                           - `allowInternalTrafficViaPublicDns`: (multiple options) (boolean) Allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow | (string) A string containing one or more references that resolve to allow internal traffic from same or shared projects via public DNS to skip SSO authentication flow (pattern: .*\${.*}.*)
                         - `headers`: [array of] (multiple options) {object}
                               - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                               - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9_\-%$+]+$) | (string) (pattern: .*\${.*}.*)
                               - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | {object}
                               - `regexMode`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                               - `name`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
                               - `value`: (multiple options) (string) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
           - `domains`: (multiple options) [array of] (multiple options) (string) A domain to redirect to this port. | (string) A string containing one or more references that resolve to a domain to redirect to this port. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of domains to redirect to this port. Each domain must first be verified and registered to your account. (pattern: .*\${.*}.*)
           - `disableNfDomain`: (multiple options) (boolean) Disable routing on the default code.run domain for public HTTP ports with custom domains. | (string) A string containing one or more references that resolve to disable routing on the default code.run domain for public HTTP ports with custom domains. (pattern: .*\${.*}.*)
           - `advancedOptions`: {object}
             - `enableTlsPassthrough`: (multiple options) (boolean) Whether this port should use pass through mode for TLS | (string) A string containing one or more references that resolve to whether this port should use pass through mode for TLS (pattern: .*\${.*}.*)
           - `protocol`: (multiple options) (string) (enum: HTTP, HTTP/2) | (string) (enum: HTTP, HTTP/2, TCP, UDP)
       - `source`: {object}
         - `projectUrl`: (multiple options) (string) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo to build. (pattern: .*\${.*}.*)
         - `projectType`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
         - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
         - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
         - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24) | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
         - `projectBranch`: (multiple options) (string) The name of the branch to pre-pull for the harness environment. | (string) A string containing one or more references that resolve to the name of the branch to pre-pull for the harness environment. (pattern: .*\${.*}.*)
         - `publicRepo`: (multiple options) (boolean) Whether the linked repository is public. | (string) A string containing one or more references that resolve to whether the linked repository is public. (pattern: .*\${.*}.*)
       - `harness`: {object}
         - `type`: (multiple options) (string) The harness environment type to run. (enum: claude, codex) | (string) A string containing one or more references that resolve to the harness environment type to run. (pattern: .*\${.*}.*)
         - `authMode`: (multiple options) (string) How the harness authenticates: `apiKey` (a provider API key is supplied) or `account` (interactive/account login, no key stored). When omitted, defaults to `apiKey` if an apiKey is provided. (enum: apiKey, account) | (string) A string containing one or more references that resolve to how the harness authenticates: `apiKey` (a provider API key is supplied) or `account` (interactive/account login, no key stored). When omitted, defaults to `apiKey` if an apiKey is provided. (pattern: .*\${.*}.*)
         - `apiKey`: (multiple options) (string) API key used by the harness environment. | (string) A string containing one or more references that resolve to aPI key used by the harness environment. (pattern: .*\${.*}.*)
         - `cloneDirectory`: (multiple options) (string) Absolute path the repo is cloned into in the harness container. Must be /home/harness or a directory inside it, the path backed by the harness's persistent workspace volume. Defaults to /home/harness. Can only be set when creating the harness. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to absolute path the repo is cloned into in the harness container. Must be /home/harness or a directory inside it, the path backed by the harness's persistent workspace volume. Defaults to /home/harness. Can only be set when creating the harness. (pattern: .*\${.*}.*)
       - `runtimeEnvironment`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
       - `runtimeFiles`: {object}
     - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: LLMModelDeployment)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: {object}
         - `name`: (string) (required) The name of the AI model. (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `description`: (string) A description of the AI model. (pattern: ^[\s\S]*$) (max length: 1024)
         - `tags`: [array of] (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `spec`: {object}
           - `type`: (string) (required) Type of model spec - custom for user-defined configuration (enum: custom)
           - `configuration`: {object}
             - `name`: (string)
             - `engine`: (string) (enum: vllm)
             - `revision`: (string)
             - `nodeConfiguration`: {object}
               - `gpu`: {object}
                 - `enabled`: (boolean)
                 - `configuration`: {object}
                   - `gpuType`: (string)
                   - `gpuCount`: (integer)
                   - `timesliced`: (boolean)
               - `storage`: {object}
                 - `accessMode`: (string) (enum: ReadWriteMany)
                 - `storageClass`: (string) The type of the storage. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
                 - `storageSize`: (integer) (required) The size of the storage, in megabytes. Configurable sizes depend on the storage class.
                 - `shmSize`: (integer)
             - `architecture`: {object}
               - `type`: (string) (enum: aggregated)
               - `workerConfig`: {object}
                 - `replicas`: (integer)
                 - `parallelismConfig`: {object}
                   - `tensorParallelism`: (integer)
                   - `pipelineParallelism`: (integer)
                   - `expertParallelism`: (integer)
                 - `sequenceLengthConfig`: {object}
                   - `maxModelLength`: (multiple options) (integer) A fixed maximum context length, in tokens | (string) `auto` to derive the maximum context length from the model's config (enum: auto)
                   - `maxInputLength`: (integer)
                   - `maxOutputLength`: (integer)
                 - `batchingConfig`: {object}
                   - `maxNumSeqs`: (integer)
                   - `maxNumBatchedTokens`: (integer)
                 - `enableChunkedPrefill`: (boolean)
                 - `enablePrefixCaching`: (boolean)
                 - `enforceEager`: (boolean)
                 - `enableAsyncScheduling`: (boolean)
                 - `gpuMemoryUtilization`: (number) (format: float)
                 - `trustRemoteCode`: (boolean)
                 - `dataType`: (string) (enum: auto, float16, bfloat16)
                 - `kvCacheDataType`: (string) (enum: fp8, fp8_e5m2, fp8_e4m3)
                 - `quantization`: (string) (enum: fp8, awq, gptq, int4)
         - `id`: (string) (required) The unique identifier of the AI model.
         - `projectId`: (string) (required) ID of the project that the AI model belongs to
         - `entityId`: (string) (required) The entity ID (team) this deployment belongs to.
         - `entityType`: (string) (required) (enum: user, team, org)
         - `creatorId`: (string) (required) The user who created this deployment.
         - `dns`: {object}
           - `base`: (string) (required) (pattern: ^([a-zA-Z0-9-]{2,}\.){2,}[a-zA-Z]{2,}$)
           - `zone`: (string) (required)
         - `ports`: [array of] {object}
             - `id`: (string) (required) The id used to identify the port across requests. (pattern: ^[a-z]-?[a-z0-9]+(-[a-z0-9]+)*$)
             - `name`: (string) (required) The name of the port used in the public url and UI. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)
             - `internalPort`: (integer) (required) The port number.
             - `protocol`: (string) (required) The protocol used by the port.
             - `public`: (boolean) (required) If true, the port is exposed publicly.
             - `dns`: (string) DNS entry for this port.
             - `disableNfDomain`: (boolean) Disable routing on the default code.run domain for public HTTP ports with custom domains.
         - `status`: (string) (required) The current status of the AI model. (enum: pending, provisioning, starting, crashed, paused, running, deleting)
         - `deploymentConfiguration`: {object}
           - `id`: (string) (required) The deployment configuration identifier.
           - `createdAt`: (string) time of creation (format: date-time)
         - `createdAt`: (string) time of creation (format: date-time)
         - `updatedAt`: (string) time of update (format: date-time)
     - `spec`: {object}
       - `name`: (multiple options) (string) The name of the AI model. (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the name of the AI model. (pattern: .*\${.*}.*)
       - `description`: (multiple options) (string) A description of the AI model. (pattern: ^[\s\S]*$) (max length: 1024) | (string) A string containing one or more references that resolve to a description of the AI model. (pattern: .*\${.*}.*)
       - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `ports`: [array of] {object}
           - `name`: (multiple options) (string) The name used to identify the port. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 1) (max length: 8) | (string) A string containing one or more references that resolve to the name used to identify the port. (pattern: .*\${.*}.*)
           - `internalPort`: (multiple options) (integer) The port number. | (string) A string containing one or more references that resolve to the port number. (pattern: .*\${.*}.*)
           - `public`: (multiple options) (boolean) If true, the port will be exposed publicly. | (string) A string containing one or more references that resolve to if true, the port will be exposed publicly. (pattern: .*\${.*}.*)
           - `domains`: (multiple options) [array of] (multiple options) (string) A domain to redirect to this port. | (string) A string containing one or more references that resolve to a domain to redirect to this port. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of domains to redirect to this port. Each domain must first be verified and registered to your account. (pattern: .*\${.*}.*)
           - `disableNfDomain`: (multiple options) (boolean) Disable routing on the default code.run domain for public HTTP ports with custom domains. | (string) A string containing one or more references that resolve to disable routing on the default code.run domain for public HTTP ports with custom domains. (pattern: .*\${.*}.*)
           - `protocol`: (string) (required) The protocol to use for the port. (enum: HTTP, HTTP/2, TCP, UDP)
       - `spec`: {object}
         - `configuration`: {object}
           - `name`: (string)
           - `engine`: (string) (enum: vllm)
           - `revision`: (string)
           - `nodeConfiguration`: {object}
             - `gpu`: {object}
               - `enabled`: (boolean)
               - `configuration`: {object}
                 - `gpuType`: (string)
                 - `gpuCount`: (integer)
                 - `timesliced`: (boolean)
             - `storage`: {object}
               - `accessMode`: (string) (enum: ReadWriteMany)
               - `storageClass`: (string) The type of the storage. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
               - `storageSize`: (integer) The size of the storage, in megabytes. Configurable sizes depend on the storage class.
               - `shmSize`: (integer)
           - `architecture`: {object}
             - `type`: (string) (enum: aggregated)
             - `workerConfig`: {object}
               - `replicas`: (integer)
               - `parallelismConfig`: {object}
                 - `tensorParallelism`: (integer)
                 - `pipelineParallelism`: (integer)
                 - `expertParallelism`: (integer)
               - `sequenceLengthConfig`: {object}
                 - `maxModelLength`: (multiple options) (integer) A fixed maximum context length, in tokens | (string) `auto` to derive the maximum context length from the model's config (enum: auto)
                 - `maxInputLength`: (integer)
                 - `maxOutputLength`: (integer)
               - `batchingConfig`: {object}
                 - `maxNumSeqs`: (integer)
                 - `maxNumBatchedTokens`: (integer)
               - `enableChunkedPrefill`: (boolean)
               - `enablePrefixCaching`: (boolean)
               - `enforceEager`: (boolean)
               - `enableAsyncScheduling`: (boolean)
               - `gpuMemoryUtilization`: (number) (format: float)
               - `trustRemoteCode`: (boolean)
               - `dataType`: (string) (enum: auto, float16, bfloat16)
               - `kvCacheDataType`: (string) (enum: fp8, fp8_e5m2, fp8_e4m3)
               - `quantization`: (string) (enum: fp8, awq, gptq, int4)
     - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: LLMModelDeployment)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: {object}
         - `name`: (string) (required) The name of the AI model. (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `description`: (string) A description of the AI model. (pattern: ^[\s\S]*$) (max length: 1024)
         - `tags`: [array of] (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `spec`: {object}
           - `type`: (string) (required) Type of model spec - custom for user-defined configuration (enum: custom)
           - `configuration`: {object}
             - `name`: (string)
             - `engine`: (string) (enum: vllm)
             - `revision`: (string)
             - `nodeConfiguration`: {object}
               - `gpu`: {object}
                 - `enabled`: (boolean)
                 - `configuration`: {object}
                   - `gpuType`: (string)
                   - `gpuCount`: (integer)
                   - `timesliced`: (boolean)
               - `storage`: {object}
                 - `accessMode`: (string) (enum: ReadWriteMany)
                 - `storageClass`: (string) The type of the storage. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
                 - `storageSize`: (integer) (required) The size of the storage, in megabytes. Configurable sizes depend on the storage class.
                 - `shmSize`: (integer)
             - `architecture`: {object}
               - `type`: (string) (enum: aggregated)
               - `workerConfig`: {object}
                 - `replicas`: (integer)
                 - `parallelismConfig`: {object}
                   - `tensorParallelism`: (integer)
                   - `pipelineParallelism`: (integer)
                   - `expertParallelism`: (integer)
                 - `sequenceLengthConfig`: {object}
                   - `maxModelLength`: (multiple options) (integer) A fixed maximum context length, in tokens | (string) `auto` to derive the maximum context length from the model's config (enum: auto)
                   - `maxInputLength`: (integer)
                   - `maxOutputLength`: (integer)
                 - `batchingConfig`: {object}
                   - `maxNumSeqs`: (integer)
                   - `maxNumBatchedTokens`: (integer)
                 - `enableChunkedPrefill`: (boolean)
                 - `enablePrefixCaching`: (boolean)
                 - `enforceEager`: (boolean)
                 - `enableAsyncScheduling`: (boolean)
                 - `gpuMemoryUtilization`: (number) (format: float)
                 - `trustRemoteCode`: (boolean)
                 - `dataType`: (string) (enum: auto, float16, bfloat16)
                 - `kvCacheDataType`: (string) (enum: fp8, fp8_e5m2, fp8_e4m3)
                 - `quantization`: (string) (enum: fp8, awq, gptq, int4)
         - `id`: (string) (required) The unique identifier of the AI model.
         - `projectId`: (string) (required) ID of the project that the AI model belongs to
         - `entityId`: (string) (required) The entity ID (team) this deployment belongs to.
         - `entityType`: (string) (required) (enum: user, team, org)
         - `creatorId`: (string) (required) The user who created this deployment.
         - `dns`: {object}
           - `base`: (string) (required) (pattern: ^([a-zA-Z0-9-]{2,}\.){2,}[a-zA-Z]{2,}$)
           - `zone`: (string) (required)
         - `ports`: [array of] {object}
             - `id`: (string) (required) The id used to identify the port across requests. (pattern: ^[a-z]-?[a-z0-9]+(-[a-z0-9]+)*$)
             - `name`: (string) (required) The name of the port used in the public url and UI. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)
             - `internalPort`: (integer) (required) The port number.
             - `protocol`: (string) (required) The protocol used by the port.
             - `public`: (boolean) (required) If true, the port is exposed publicly.
             - `dns`: (string) DNS entry for this port.
             - `disableNfDomain`: (boolean) Disable routing on the default code.run domain for public HTTP ports with custom domains.
         - `status`: (string) (required) The current status of the AI model. (enum: pending, provisioning, starting, crashed, paused, running, deleting)
         - `deploymentConfiguration`: {object}
           - `id`: (string) (required) The deployment configuration identifier.
           - `createdAt`: (string) time of creation (format: date-time)
         - `createdAt`: (string) time of creation (format: date-time)
         - `updatedAt`: (string) time of update (format: date-time)
     - `spec`: {object}
       - `name`: (multiple options) (string) The name of the AI model. (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the name of the AI model. (pattern: .*\${.*}.*)
       - `description`: (multiple options) (string) A description of the AI model. (pattern: ^[\s\S]*$) (max length: 1024) | (string) A string containing one or more references that resolve to a description of the AI model. (pattern: .*\${.*}.*)
       - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `ports`: [array of] {object}
           - `name`: (multiple options) (string) The name used to identify the port. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 1) (max length: 8) | (string) A string containing one or more references that resolve to the name used to identify the port. (pattern: .*\${.*}.*)
           - `internalPort`: (multiple options) (integer) The port number. | (string) A string containing one or more references that resolve to the port number. (pattern: .*\${.*}.*)
           - `public`: (multiple options) (boolean) If true, the port will be exposed publicly. | (string) A string containing one or more references that resolve to if true, the port will be exposed publicly. (pattern: .*\${.*}.*)
           - `domains`: (multiple options) [array of] (multiple options) (string) A domain to redirect to this port. | (string) A string containing one or more references that resolve to a domain to redirect to this port. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to an array of domains to redirect to this port. Each domain must first be verified and registered to your account. (pattern: .*\${.*}.*)
           - `disableNfDomain`: (multiple options) (boolean) Disable routing on the default code.run domain for public HTTP ports with custom domains. | (string) A string containing one or more references that resolve to disable routing on the default code.run domain for public HTTP ports with custom domains. (pattern: .*\${.*}.*)
           - `protocol`: (string) (required) The protocol to use for the port. (enum: HTTP, HTTP/2, TCP, UDP)
       - `spec`: {object}
         - `type`: (string) (required) Type of model spec - custom for user-defined configuration (enum: custom)
         - `configuration`: {object}
           - `name`: (string)
           - `engine`: (string) (enum: vllm)
           - `revision`: (string)
           - `nodeConfiguration`: {object}
             - `gpu`: {object}
               - `enabled`: (boolean)
               - `configuration`: {object}
                 - `gpuType`: (string)
                 - `gpuCount`: (integer)
                 - `timesliced`: (boolean)
             - `storage`: {object}
               - `accessMode`: (string) (enum: ReadWriteMany)
               - `storageClass`: (string) The type of the storage. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
               - `storageSize`: (integer) (required) The size of the storage, in megabytes. Configurable sizes depend on the storage class.
               - `shmSize`: (integer)
           - `architecture`: {object}
             - `type`: (string) (enum: aggregated)
             - `workerConfig`: {object}
               - `replicas`: (integer)
               - `parallelismConfig`: {object}
                 - `tensorParallelism`: (integer)
                 - `pipelineParallelism`: (integer)
                 - `expertParallelism`: (integer)
               - `sequenceLengthConfig`: {object}
                 - `maxModelLength`: (multiple options) (integer) A fixed maximum context length, in tokens | (string) `auto` to derive the maximum context length from the model's config (enum: auto)
                 - `maxInputLength`: (integer)
                 - `maxOutputLength`: (integer)
               - `batchingConfig`: {object}
                 - `maxNumSeqs`: (integer)
                 - `maxNumBatchedTokens`: (integer)
               - `enableChunkedPrefill`: (boolean)
               - `enablePrefixCaching`: (boolean)
               - `enforceEager`: (boolean)
               - `enableAsyncScheduling`: (boolean)
               - `gpuMemoryUtilization`: (number) (format: float)
               - `trustRemoteCode`: (boolean)
               - `dataType`: (string) (enum: auto, float16, bfloat16)
               - `kvCacheDataType`: (string) (enum: fp8, fp8_e5m2, fp8_e4m3)
               - `quantization`: (string) (enum: fp8, awq, gptq, int4)
       - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
     - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: CronJob)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: {object}
         - `name`: (string) (required) The name of the job. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 52)
         - `description`: (string) A description of the job. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
         - `stageId`: (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `infrastructure`: {object}
           - `architecture`: (string) (enum: x86, arm)
         - `tags`: [array of] (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `billing`: {object}
           - `buildPlan`: (string) The ID of the build plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
           - `deploymentPlan`: (string) (required) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
           - `gpu`: {object}
             - `enabled`: (boolean) Whether GPUs are enabled for this workload.
             - `configuration`: {object}
               - `gpuType`: (string) (required) The type of GPU to use.
               - `gpuCount`: (integer) The number of GPUs to allocate.
               - `timesliced`: (boolean) Whether GPU timeslicing is enabled.
         - `disabledCI`: (boolean) Whether CI should be disabled. Only relevant for jobs deploying directly from version control.
         - `buildConfiguration`: {object}
           - `pathIgnoreRules`: [array of] (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260)
           - `isAllowList`: (boolean) If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`.
           - `ciIgnoreFlagsEnabled`: (boolean) If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built.
           - `ciIgnoreFlags`: [array of] (string) A commit ignore flag. (max length: 72)
           - `dockerfileTarget`: (string) If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here.
           - `dockerCredentials`: [array of] (string) The ID of the docker credentials to use. (pattern: ^[A-Za-z0-9-]+$)
           - `includeGitFolder`: (boolean) Include .git folder inside the build context
           - `fullGitClone`: (boolean) Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set.
           - `enableGitLfs`: (boolean) Enable Git LFS support for the build
           - `storage`: {object}
             - `ephemeralStorage`: {object}
               - `storageSize`: (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288)
         - `buildSettings`: (multiple options) {object}
             - `storage`: {object}
               - `ephemeralStorage`: {object}
                 - `storageSize`: (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288)
             - `dockerfile`: {object}
               - `useCache`: (boolean) DEPRECATED: This field will be removed in the near future and currently has no effect.
               - `buildEngine`: (string) Build engine to use. Defaults to recommended build engine `buildkit` (enum: buildkit, kaniko)
               - `dockerFilePath`: (string) (required) The file path of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$)
               - `dockerWorkDir`: (string) (required) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$)
               - `buildkit`: {object}
                 - `useCache`: (boolean) Use persistent storage to cache build layers.
                 - `cacheStorageSize`: (integer) The amount of persistent storage available to each build in MB.
                 - `useInternalCache`: (boolean) DEPRECATED: This field will be removed in the near future.
                 - `internalCacheStorage`: (number) DEPRECATED: This field will be removed in the near future. (format: float) | {object}
             - `storage`: {object}
               - `ephemeralStorage`: {object}
                 - `storageSize`: (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288)
             - `buildpack`: {object}
               - `builder`: (string) Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (enum: HEROKU_24, HEROKU_22, HEROKU_22_CLASSIC, HEROKU_20, HEROKU_18, GOOGLE_22, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_JAMMY_TINY, PAKETO_JAMMY_BASE, PAKETO_JAMMY_FULL, PAKETO_TINY, PAKETO_BASE, PAKETO_FULL)
               - `buildpackLocators`: [array of] (string) Url or registry identifier of custom Buildpack.
               - `buildContext`: (string) The working directory to build in. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$)
               - `useCache`: (boolean) Should build dependencies be cached?
         - `runtimeEnvironment`: {object}
         - `runtimeFiles`: {object}
         - `buildArguments`: {object}
         - `buildFiles`: {object}
         - `dockerSecretMounts`: {object}
         - `healthChecks`: [array of] {object}
             - `protocol`: (string) (required) The protocol to access the health check with. (enum: HTTP, CMD, TCP)
             - `type`: (string) (required) The type of health check. (enum: livenessProbe, readinessProbe, startupProbe)
             - `path`: (string) The path of the health check endpoint. Required when protocol is HTTP. (pattern: ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*((\?([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)(&([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)*)?$)
             - `cmd`: (string) The command to run for the health check. Required when protocol is CMD
             - `port`: (integer) Port number for the health check endpoint. Required when protocol is HTTP.
             - `initialDelaySeconds`: (integer) (required) Initial delay, in seconds, before the health check is first run.
             - `periodSeconds`: (integer) (required) The time between each check, in seconds.
             - `timeoutSeconds`: (integer) (required) The time to wait for a response before marking the health check as a failure.
             - `failureThreshold`: (integer) (required) The maximum number of allowed failures.
             - `successThreshold`: (integer) The number of successes required to mark the health check as a success.
         - `backoffLimit`: (integer) (required) The number of attempts to rerun a job before it is marked as failed.
         - `runOnSourceChange`: (string) Configure when the job should be run if the source image changes. (enum: never, cd-promote, always)
         - `activeDeadlineSeconds`: (integer) The maximum amount of time, in seconds, for a job to run before it is marked as failed.
         - `schedule`: (string) The cron timer scheduling when to run the job.
         - `suspended`: (boolean) Whether the cron's automatic scheduling is suspended
         - `concurrencyPolicy`: (string) Whether this job should run when another instance of the job is already running. `allow` will enable multiple instances of this job to run. `forbid` will keep the current instance of the job running and stop a new instance from being run. `replace` will terminate any currently running instance of the job and start a new one. (enum: allow, forbid, replace)
         - `jobType`: (string) (required) Type of the job (manual or cron) (enum: cron)
         - `id`: (string) (required) Identifier for the job
         - `appId`: (string) (required) Full identifier used for job deployment
         - `deployment`: {object}
           - `buildpack`: {object}
             - `configType`: (string) (required) Type of buildpack run configuration (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand)
             - `customProcess`: (string) Custom process which should be run. Required in case where `configType` is `customProcess`
             - `customEntrypoint`: (string) Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand`
             - `customCommand`: (string) Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand`
           - `docker`: {object}
             - `configType`: (string) (required) Type of entrypoint & command override configuration (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand)
             - `customEntrypoint`: (string) Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand`
             - `customCommand`: (string) Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand`
           - `storage`: {object}
             - `useHdbStorage`: (boolean)
             - `usePdSsdStorage`: (boolean)
             - `ephemeralStorage`: {object}
               - `storageSize`: (integer) Ephemeral storage per container in MB
             - `shmSize`: (integer) Configures the amount of available memory-backed disk space available to /dev/shm
           - `gpu`: {object}
             - `enabled`: (boolean) Whether GPUs are enabled for this workload.
             - `configuration`: {object}
               - `gpuType`: (string) (required) The type of GPU to use.
               - `gpuCount`: (integer) The number of GPUs to allocate.
               - `timesliced`: (boolean) Whether GPU timeslicing is enabled.
           - `gracePeriodSeconds`: (integer) The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system.
           - `metadata`: {object}
             - `labels`: {object}
             - `annotations`: {object}
           - `vcs`: {object}
             - `projectUrl`: (string) (required) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$)
             - `projectType`: (string) (required) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure)
             - `selfHostedVcsId`: (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$)
             - `accountLogin`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name.
             - `vcsLinkId`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24)
             - `projectBranch`: (string) (required) The name of the branch to use.
           - `external`: {object}
             - `imagePath`: (string) (required) Image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: ^(?:(?:https?:\/\/)?([a-zA-Z0-9\-]+\.[a-zA-Z0-9\.\-]+))?(?:\/)?([a-zA-Z/-9\.\-_]+)(?:\:([a-zA-Z/-9\.\-_\:]+)|\@([a-zA-Z/-9\.\-_\:]+))$)
             - `credentials`: (string) ID of the saved credentials to use to access this external image. (pattern: ^[A-Za-z0-9-]+$)
           - `internal`: {object}
             - `id`: (multiple options) (string) The ID of a build service in the same project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) The ID of a build service in another project, in the format `project-id/build-service-id`
             - `branch`: (string) Branch to deploy
             - `buildSHA`: (multiple options) (string) A commit sha. (min length: 40) (max length: 40) | (string) Latest commit. (enum: latest)
             - `buildId`: (string) ID of the build that should be deployed
           - `imageUrl`: (string) Image registry url of the deployed image.
         - `status`: {object}
           - `build`: {object}
             - `status`: (string) (required) The current status of the build. (enum: QUEUED, PENDING, UNSCHEDULABLE, STARTING, CLONING, BUILDING, UPLOADING, ABORTED, FAILURE, SUBMISSION_FAILURE, SUCCESS, CRASHED, IN_PROGRESS)
             - `lastTransitionTime`: (string) The timestamp of when the build reached this status. (format: date-time)
         - `cluster`: {object}
           - `id`: (string) (required) The id of the cluster associated with this project.
           - `name`: (string) (required) The name of the cluster associated with this project.
           - `namespace`: (string) Namespace this resource is located within on the cluster.
           - `loadBalancers`: [array of] (string)
         - `createdAt`: (string) time of creation (format: date-time)
         - `updatedAt`: (string) time of update (format: date-time)
     - `spec`: {object}
       - `description`: (multiple options) (string) A description of the job. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the job. (pattern: .*\${.*}.*)
       - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `billing`: {object}
         - `buildPlan`: (multiple options) (string) The ID of the build plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the build plan to use. (pattern: .*\${.*}.*)
         - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (pattern: .*\${.*}.*)
         - `gpu`: {object}
           - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
           - `configuration`: {object}
             - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
             - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
             - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
       - `deployment`: {object}
         - `buildpack`: {object}
           - `configType`: (multiple options) (string) (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand) | (string) (pattern: .*\${.*}.*)
           - `customProcess`: (multiple options) (multiple options) (string) | (string) (pattern: .*\${.*}.*)
           - `customEntrypoint`: (multiple options) (multiple options) (string) | (string) (pattern: .*\${.*}.*)
           - `customCommand`: (multiple options) (multiple options) (string) | (string) (pattern: .*\${.*}.*)
         - `docker`: {object}
           - `configType`: (multiple options) (string) (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand) | (string) (pattern: .*\${.*}.*)
           - `customEntrypoint`: (multiple options) (multiple options) (string) | (string) (pattern: .*\${.*}.*)
           - `customCommand`: (multiple options) (multiple options) (string) | (string) (pattern: .*\${.*}.*)
         - `storage`: {object}
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per container in MB | (string) A string containing one or more references that resolve to ephemeral storage per container in MB (pattern: .*\${.*}.*)
           - `shmSize`: (multiple options) (integer) Configures the amount of available memory-backed disk space available to /dev/shm | (string) A string containing one or more references that resolve to configures the amount of available memory-backed disk space available to /dev/shm (pattern: .*\${.*}.*)
         - `gpu`: {object}
           - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
           - `configuration`: {object}
             - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
             - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
             - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
         - `gracePeriodSeconds`: (multiple options) (integer) The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. | (string) A string containing one or more references that resolve to the maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. (pattern: .*\${.*}.*)
         - `metadata`: {object}
           - `labels`: {object}
           - `annotations`: {object}
         - `vcs`: {object}
           - `projectUrl`: (multiple options) (string) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo to build. (pattern: .*\${.*}.*)
           - `projectType`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
           - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
           - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
           - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24) | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
           - `projectBranch`: (multiple options) (string) The name of the branch to use. | (string) A string containing one or more references that resolve to the name of the branch to use. (pattern: .*\${.*}.*)
         - `external`: {object}
           - `imagePath`: (multiple options) (string) Image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: ^(?:(?:https?:\/\/)?([a-zA-Z0-9\-]+\.[a-zA-Z0-9\.\-]+))?(?:\/)?([a-zA-Z/-9\.\-_]+)(?:\:([a-zA-Z/-9\.\-_\:]+)|\@([a-zA-Z/-9\.\-_\:]+))$) | (string) A string containing one or more references that resolve to image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: .*\${.*}.*)
           - `credentials`: (multiple options) (string) ID of the saved credentials to use to access this external image. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of the saved credentials to use to access this external image. (pattern: .*\${.*}.*)
         - `internal`: {object}
           - `id`: (multiple options) (multiple options) (string) The ID of a build service in the same project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) The ID of a build service in another project, in the format `project-id/build-service-id` | (string) A string containing one or more references that resolve to iD of the build service to deploy (pattern: .*\${.*}.*)
           - `branch`: (multiple options) (string) Branch to deploy | (string) A string containing one or more references that resolve to branch to deploy (pattern: .*\${.*}.*)
           - `buildSHA`: (multiple options) (multiple options) (string) A commit sha. (min length: 40) (max length: 40) | (string) Latest commit. (enum: latest) | (string) A string containing one or more references that resolve to commit SHA to deploy, or 'latest' to deploy the most recent commit (pattern: .*\${.*}.*)
           - `buildId`: (multiple options) (string) ID of the build that should be deployed | (string) A string containing one or more references that resolve to iD of the build that should be deployed (pattern: .*\${.*}.*)
       - `disabledCI`: (multiple options) (boolean) Whether CI should be disabled. Only relevant for jobs deploying directly from version control. | (string) A string containing one or more references that resolve to whether CI should be disabled. Only relevant for jobs deploying directly from version control. (pattern: .*\${.*}.*)
       - `buildConfiguration`: {object}
         - `pathIgnoreRules`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
         - `isAllowList`: (multiple options) (boolean) If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. | (string) A string containing one or more references that resolve to if `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. (pattern: .*\${.*}.*)
         - `ciIgnoreFlagsEnabled`: (multiple options) (boolean) If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. | (string) A string containing one or more references that resolve to if `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. (pattern: .*\${.*}.*)
         - `ciIgnoreFlags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
         - `dockerfileTarget`: (multiple options) (string) If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. | (string) A string containing one or more references that resolve to if your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. (pattern: .*\${.*}.*)
         - `dockerCredentials`: [array of] (multiple options) (string) The ID of the docker credentials to use. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of the docker credentials to use. (pattern: .*\${.*}.*)
         - `includeGitFolder`: (boolean) Include .git folder inside the build context
         - `fullGitClone`: (boolean) Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set.
         - `enableGitLfs`: (boolean) Enable Git LFS support for the build
         - `storage`: {object}
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
       - `buildSettings`: {object}
         - `storage`: {object}
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
         - `dockerfile`: {object}
           - `useCache`: (boolean) DEPRECATED: This field will be removed in the near future and currently has no effect.
           - `buildEngine`: (multiple options) (string) Build engine to use. Defaults to recommended build engine `buildkit` (enum: buildkit, kaniko) | (string) A string containing one or more references that resolve to build engine to use. Defaults to recommended build engine `buildkit` (pattern: .*\${.*}.*)
           - `dockerFilePath`: (multiple options) (string) The file path of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$) | (string) A string containing one or more references that resolve to the file path of the Dockerfile. (pattern: .*\${.*}.*)
           - `dockerWorkDir`: (multiple options) (string) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory of the Dockerfile. (pattern: .*\${.*}.*)
           - `buildkit`: {object}
             - `useCache`: (multiple options) (boolean) Use persistent storage to cache build layers. | (string) A string containing one or more references that resolve to use persistent storage to cache build layers. (pattern: .*\${.*}.*)
             - `cacheStorageSize`: (multiple options) (integer) The amount of persistent storage available to each build in MB. | (string) A string containing one or more references that resolve to the amount of persistent storage available to each build in MB. (pattern: .*\${.*}.*)
             - `useInternalCache`: (multiple options) (boolean) DEPRECATED: This field will be removed in the near future. | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*)
             - `internalCacheStorage`: (multiple options) (number) DEPRECATED: This field will be removed in the near future. (format: float) | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*)
         - `buildpack`: {object}
           - `builder`: (multiple options) (string) Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (enum: HEROKU_24, HEROKU_22, HEROKU_22_CLASSIC, HEROKU_20, HEROKU_18, GOOGLE_22, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_JAMMY_TINY, PAKETO_JAMMY_BASE, PAKETO_JAMMY_FULL, PAKETO_TINY, PAKETO_BASE, PAKETO_FULL) | (string) A string containing one or more references that resolve to buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (pattern: .*\${.*}.*)
           - `buildpackLocators`: [array of] (multiple options) (string) Url or registry identifier of custom Buildpack. | (string) A string containing one or more references that resolve to url or registry identifier of custom Buildpack. (pattern: .*\${.*}.*)
           - `buildContext`: (multiple options) (string) The working directory to build in. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory to build in. (pattern: .*\${.*}.*)
           - `useCache`: (multiple options) (boolean) Should build dependencies be cached? | (string) A string containing one or more references that resolve to should build dependencies be cached? (pattern: .*\${.*}.*)
       - `runtimeEnvironment`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
       - `runtimeFiles`: {object}
       - `buildArguments`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
       - `buildFiles`: {object}
       - `dockerSecretMounts`: {object}
       - `healthChecks`: [array of] {object}
           - `protocol`: (multiple options) (string) The protocol to access the health check with. (enum: HTTP, CMD, TCP) | (string) A string containing one or more references that resolve to the protocol to access the health check with. (pattern: .*\${.*}.*)
           - `type`: (multiple options) (string) The type of health check. (enum: livenessProbe, readinessProbe, startupProbe) | (string) A string containing one or more references that resolve to the type of health check. (pattern: .*\${.*}.*)
           - `path`: (multiple options) (string) The path of the health check endpoint. Required when protocol is HTTP. (pattern: ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*((\?([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)(&([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)*)?$) | (string) (pattern: .*\${.*}.*)
           - `cmd`: (multiple options) (string) The command to run for the health check. Required when protocol is CMD | (string) (pattern: .*\${.*}.*)
           - `port`: (multiple options) (integer) Port number for the health check endpoint. Required when protocol is HTTP. | (string) (pattern: .*\${.*}.*)
           - `initialDelaySeconds`: (multiple options) (integer) Initial delay, in seconds, before the health check is first run. | (string) A string containing one or more references that resolve to initial delay, in seconds, before the health check is first run. (pattern: .*\${.*}.*)
           - `periodSeconds`: (multiple options) (integer) The time between each check, in seconds. | (string) A string containing one or more references that resolve to the time between each check, in seconds. (pattern: .*\${.*}.*)
           - `timeoutSeconds`: (multiple options) (integer) The time to wait for a response before marking the health check as a failure. | (string) A string containing one or more references that resolve to the time to wait for a response before marking the health check as a failure. (pattern: .*\${.*}.*)
           - `failureThreshold`: (multiple options) (integer) The maximum number of allowed failures. | (string) A string containing one or more references that resolve to the maximum number of allowed failures. (pattern: .*\${.*}.*)
           - `successThreshold`: (multiple options) (integer) The number of successes required to mark the health check as a success. | (string) (pattern: .*\${.*}.*)
       - `backoffLimit`: (multiple options) (integer) The number of attempts to rerun a job before it is marked as failed. | (string) A string containing one or more references that resolve to the number of attempts to rerun a job before it is marked as failed. (pattern: .*\${.*}.*)
       - `runOnSourceChange`: (multiple options) (string) Configure when the job should be run if the source image changes. (enum: never, cd-promote, always) | (string) A string containing one or more references that resolve to configure when the job should be run if the source image changes. (pattern: .*\${.*}.*)
       - `activeDeadlineSeconds`: (multiple options) (integer) The maximum amount of time, in seconds, for a job to run before it is marked as failed. | (string) A string containing one or more references that resolve to the maximum amount of time, in seconds, for a job to run before it is marked as failed. (pattern: .*\${.*}.*)
       - `schedule`: (multiple options) (string) The cron timer scheduling when to run the job. | (string) A string containing one or more references that resolve to the cron timer scheduling when to run the job. (pattern: .*\${.*}.*)
       - `suspended`: (multiple options) (boolean) Whether the cron's automatic scheduling is suspended | (string) A string containing one or more references that resolve to whether the cron's automatic scheduling is suspended (pattern: .*\${.*}.*)
       - `concurrencyPolicy`: (multiple options) (string) Whether this job should run when another instance of the job is already running. `allow` will enable multiple instances of this job to run. `forbid` will keep the current instance of the job running and stop a new instance from being run. `replace` will terminate any currently running instance of the job and start a new one. (enum: allow, forbid, replace) | (string) A string containing one or more references that resolve to whether this job should run when another instance of the job is already running. `allow` will enable multiple instances of this job to run. `forbid` will keep the current instance of the job running and stop a new instance from being run. `replace` will terminate any currently running instance of the job and start a new one. (pattern: .*\${.*}.*)
       - `name`: (multiple options) (string) The name of the job. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 52) | (string) A string containing one or more references that resolve to the name of the job. (pattern: .*\${.*}.*)
     - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: CronJob)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: {object}
         - `name`: (string) (required) The name of the job. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 52)
         - `description`: (string) A description of the job. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
         - `stageId`: (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `infrastructure`: {object}
           - `architecture`: (string) (enum: x86, arm)
         - `tags`: [array of] (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `billing`: {object}
           - `buildPlan`: (string) The ID of the build plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
           - `deploymentPlan`: (string) (required) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
           - `gpu`: {object}
             - `enabled`: (boolean) Whether GPUs are enabled for this workload.
             - `configuration`: {object}
               - `gpuType`: (string) (required) The type of GPU to use.
               - `gpuCount`: (integer) The number of GPUs to allocate.
               - `timesliced`: (boolean) Whether GPU timeslicing is enabled.
         - `disabledCI`: (boolean) Whether CI should be disabled. Only relevant for jobs deploying directly from version control.
         - `buildConfiguration`: {object}
           - `pathIgnoreRules`: [array of] (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260)
           - `isAllowList`: (boolean) If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`.
           - `ciIgnoreFlagsEnabled`: (boolean) If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built.
           - `ciIgnoreFlags`: [array of] (string) A commit ignore flag. (max length: 72)
           - `dockerfileTarget`: (string) If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here.
           - `dockerCredentials`: [array of] (string) The ID of the docker credentials to use. (pattern: ^[A-Za-z0-9-]+$)
           - `includeGitFolder`: (boolean) Include .git folder inside the build context
           - `fullGitClone`: (boolean) Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set.
           - `enableGitLfs`: (boolean) Enable Git LFS support for the build
           - `storage`: {object}
             - `ephemeralStorage`: {object}
               - `storageSize`: (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288)
         - `buildSettings`: (multiple options) {object}
             - `storage`: {object}
               - `ephemeralStorage`: {object}
                 - `storageSize`: (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288)
             - `dockerfile`: {object}
               - `useCache`: (boolean) DEPRECATED: This field will be removed in the near future and currently has no effect.
               - `buildEngine`: (string) Build engine to use. Defaults to recommended build engine `buildkit` (enum: buildkit, kaniko)
               - `dockerFilePath`: (string) (required) The file path of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$)
               - `dockerWorkDir`: (string) (required) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$)
               - `buildkit`: {object}
                 - `useCache`: (boolean) Use persistent storage to cache build layers.
                 - `cacheStorageSize`: (integer) The amount of persistent storage available to each build in MB.
                 - `useInternalCache`: (boolean) DEPRECATED: This field will be removed in the near future.
                 - `internalCacheStorage`: (number) DEPRECATED: This field will be removed in the near future. (format: float) | {object}
             - `storage`: {object}
               - `ephemeralStorage`: {object}
                 - `storageSize`: (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288)
             - `buildpack`: {object}
               - `builder`: (string) Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (enum: HEROKU_24, HEROKU_22, HEROKU_22_CLASSIC, HEROKU_20, HEROKU_18, GOOGLE_22, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_JAMMY_TINY, PAKETO_JAMMY_BASE, PAKETO_JAMMY_FULL, PAKETO_TINY, PAKETO_BASE, PAKETO_FULL)
               - `buildpackLocators`: [array of] (string) Url or registry identifier of custom Buildpack.
               - `buildContext`: (string) The working directory to build in. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$)
               - `useCache`: (boolean) Should build dependencies be cached?
         - `runtimeEnvironment`: {object}
         - `runtimeFiles`: {object}
         - `buildArguments`: {object}
         - `buildFiles`: {object}
         - `dockerSecretMounts`: {object}
         - `healthChecks`: [array of] {object}
             - `protocol`: (string) (required) The protocol to access the health check with. (enum: HTTP, CMD, TCP)
             - `type`: (string) (required) The type of health check. (enum: livenessProbe, readinessProbe, startupProbe)
             - `path`: (string) The path of the health check endpoint. Required when protocol is HTTP. (pattern: ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*((\?([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)(&([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)*)?$)
             - `cmd`: (string) The command to run for the health check. Required when protocol is CMD
             - `port`: (integer) Port number for the health check endpoint. Required when protocol is HTTP.
             - `initialDelaySeconds`: (integer) (required) Initial delay, in seconds, before the health check is first run.
             - `periodSeconds`: (integer) (required) The time between each check, in seconds.
             - `timeoutSeconds`: (integer) (required) The time to wait for a response before marking the health check as a failure.
             - `failureThreshold`: (integer) (required) The maximum number of allowed failures.
             - `successThreshold`: (integer) The number of successes required to mark the health check as a success.
         - `backoffLimit`: (integer) (required) The number of attempts to rerun a job before it is marked as failed.
         - `runOnSourceChange`: (string) Configure when the job should be run if the source image changes. (enum: never, cd-promote, always)
         - `activeDeadlineSeconds`: (integer) The maximum amount of time, in seconds, for a job to run before it is marked as failed.
         - `schedule`: (string) The cron timer scheduling when to run the job.
         - `suspended`: (boolean) Whether the cron's automatic scheduling is suspended
         - `concurrencyPolicy`: (string) Whether this job should run when another instance of the job is already running. `allow` will enable multiple instances of this job to run. `forbid` will keep the current instance of the job running and stop a new instance from being run. `replace` will terminate any currently running instance of the job and start a new one. (enum: allow, forbid, replace)
         - `jobType`: (string) (required) Type of the job (manual or cron) (enum: cron)
         - `id`: (string) (required) Identifier for the job
         - `appId`: (string) (required) Full identifier used for job deployment
         - `deployment`: {object}
           - `buildpack`: {object}
             - `configType`: (string) (required) Type of buildpack run configuration (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand)
             - `customProcess`: (string) Custom process which should be run. Required in case where `configType` is `customProcess`
             - `customEntrypoint`: (string) Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand`
             - `customCommand`: (string) Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand`
           - `docker`: {object}
             - `configType`: (string) (required) Type of entrypoint & command override configuration (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand)
             - `customEntrypoint`: (string) Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand`
             - `customCommand`: (string) Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand`
           - `storage`: {object}
             - `useHdbStorage`: (boolean)
             - `usePdSsdStorage`: (boolean)
             - `ephemeralStorage`: {object}
               - `storageSize`: (integer) Ephemeral storage per container in MB
             - `shmSize`: (integer) Configures the amount of available memory-backed disk space available to /dev/shm
           - `gpu`: {object}
             - `enabled`: (boolean) Whether GPUs are enabled for this workload.
             - `configuration`: {object}
               - `gpuType`: (string) (required) The type of GPU to use.
               - `gpuCount`: (integer) The number of GPUs to allocate.
               - `timesliced`: (boolean) Whether GPU timeslicing is enabled.
           - `gracePeriodSeconds`: (integer) The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system.
           - `metadata`: {object}
             - `labels`: {object}
             - `annotations`: {object}
           - `vcs`: {object}
             - `projectUrl`: (string) (required) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$)
             - `projectType`: (string) (required) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure)
             - `selfHostedVcsId`: (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$)
             - `accountLogin`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name.
             - `vcsLinkId`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24)
             - `projectBranch`: (string) (required) The name of the branch to use.
           - `external`: {object}
             - `imagePath`: (string) (required) Image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: ^(?:(?:https?:\/\/)?([a-zA-Z0-9\-]+\.[a-zA-Z0-9\.\-]+))?(?:\/)?([a-zA-Z/-9\.\-_]+)(?:\:([a-zA-Z/-9\.\-_\:]+)|\@([a-zA-Z/-9\.\-_\:]+))$)
             - `credentials`: (string) ID of the saved credentials to use to access this external image. (pattern: ^[A-Za-z0-9-]+$)
           - `internal`: {object}
             - `id`: (multiple options) (string) The ID of a build service in the same project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) The ID of a build service in another project, in the format `project-id/build-service-id`
             - `branch`: (string) Branch to deploy
             - `buildSHA`: (multiple options) (string) A commit sha. (min length: 40) (max length: 40) | (string) Latest commit. (enum: latest)
             - `buildId`: (string) ID of the build that should be deployed
           - `imageUrl`: (string) Image registry url of the deployed image.
         - `status`: {object}
           - `build`: {object}
             - `status`: (string) (required) The current status of the build. (enum: QUEUED, PENDING, UNSCHEDULABLE, STARTING, CLONING, BUILDING, UPLOADING, ABORTED, FAILURE, SUBMISSION_FAILURE, SUCCESS, CRASHED, IN_PROGRESS)
             - `lastTransitionTime`: (string) The timestamp of when the build reached this status. (format: date-time)
         - `cluster`: {object}
           - `id`: (string) (required) The id of the cluster associated with this project.
           - `name`: (string) (required) The name of the cluster associated with this project.
           - `namespace`: (string) Namespace this resource is located within on the cluster.
           - `loadBalancers`: [array of] (string)
         - `createdAt`: (string) time of creation (format: date-time)
         - `updatedAt`: (string) time of update (format: date-time)
     - `spec`: {object}
       - `name`: (multiple options) (string) The name of the job. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 52) | (string) A string containing one or more references that resolve to the name of the job. (pattern: .*\${.*}.*)
       - `description`: (multiple options) (string) A description of the job. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the job. (pattern: .*\${.*}.*)
       - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
       - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `infrastructure`: {object}
         - `architecture`: (string) (enum: x86, arm)
       - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `billing`: {object}
         - `buildPlan`: (multiple options) (string) The ID of the build plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the build plan to use. (pattern: .*\${.*}.*)
         - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (pattern: .*\${.*}.*)
         - `gpu`: {object}
           - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
           - `configuration`: {object}
             - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
             - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
             - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
       - `deployment`: {object}
         - `buildpack`: {object}
           - `configType`: (string) (required) Type of buildpack run configuration (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand)
           - `customProcess`: (string) Custom process which should be run. Required in case where `configType` is `customProcess`
           - `customEntrypoint`: (string) Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand`
           - `customCommand`: (string) Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand`
         - `docker`: {object}
           - `configType`: (string) (required) Type of entrypoint & command override configuration (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand)
           - `customEntrypoint`: (string) Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand`
           - `customCommand`: (string) Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand`
         - `storage`: {object}
           - `useHdbStorage`: (boolean)
           - `usePdSsdStorage`: (boolean)
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per container in MB | (string) A string containing one or more references that resolve to ephemeral storage per container in MB (pattern: .*\${.*}.*)
           - `shmSize`: (multiple options) (integer) Configures the amount of available memory-backed disk space available to /dev/shm | (string) A string containing one or more references that resolve to configures the amount of available memory-backed disk space available to /dev/shm (pattern: .*\${.*}.*)
         - `gpu`: {object}
           - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
           - `configuration`: {object}
             - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
             - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
             - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
         - `gracePeriodSeconds`: (multiple options) (integer) The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. | (string) A string containing one or more references that resolve to the maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. (pattern: .*\${.*}.*)
         - `metadata`: {object}
           - `labels`: {object}
           - `annotations`: {object}
         - `vcs`: {object}
           - `projectUrl`: (multiple options) (string) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo to build. (pattern: .*\${.*}.*)
           - `projectType`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
           - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
           - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
           - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24) | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
           - `projectBranch`: (multiple options) (string) The name of the branch to use. | (string) A string containing one or more references that resolve to the name of the branch to use. (pattern: .*\${.*}.*)
         - `external`: {object}
           - `imagePath`: (multiple options) (string) Image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: ^(?:(?:https?:\/\/)?([a-zA-Z0-9\-]+\.[a-zA-Z0-9\.\-]+))?(?:\/)?([a-zA-Z/-9\.\-_]+)(?:\:([a-zA-Z/-9\.\-_\:]+)|\@([a-zA-Z/-9\.\-_\:]+))$) | (string) A string containing one or more references that resolve to image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: .*\${.*}.*)
           - `credentials`: (multiple options) (string) ID of the saved credentials to use to access this external image. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of the saved credentials to use to access this external image. (pattern: .*\${.*}.*)
         - `internal`: {object}
           - `id`: (multiple options) (multiple options) (string) The ID of a build service in the same project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) The ID of a build service in another project, in the format `project-id/build-service-id` | (string) A string containing one or more references that resolve to iD of the build service to deploy (pattern: .*\${.*}.*)
           - `branch`: (multiple options) (string) Branch to deploy | (string) A string containing one or more references that resolve to branch to deploy (pattern: .*\${.*}.*)
           - `buildSHA`: (multiple options) (multiple options) (string) A commit sha. (min length: 40) (max length: 40) | (string) Latest commit. (enum: latest) | (string) A string containing one or more references that resolve to commit SHA to deploy, or 'latest' to deploy the most recent commit (pattern: .*\${.*}.*)
           - `buildId`: (multiple options) (string) ID of the build that should be deployed | (string) A string containing one or more references that resolve to iD of the build that should be deployed (pattern: .*\${.*}.*)
         - `releaseFlowControlled`: (boolean) When enabled the deployment source will only be set on creation. All changes to the deployment source must be done via a release flow or manually.
       - `disabledCI`: (multiple options) (boolean) Whether CI should be disabled. Only relevant for jobs deploying directly from version control. | (string) A string containing one or more references that resolve to whether CI should be disabled. Only relevant for jobs deploying directly from version control. (pattern: .*\${.*}.*)
       - `buildConfiguration`: {object}
         - `pathIgnoreRules`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
         - `isAllowList`: (multiple options) (boolean) If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. | (string) A string containing one or more references that resolve to if `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. (pattern: .*\${.*}.*)
         - `ciIgnoreFlagsEnabled`: (multiple options) (boolean) If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. | (string) A string containing one or more references that resolve to if `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. (pattern: .*\${.*}.*)
         - `ciIgnoreFlags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
         - `dockerfileTarget`: (multiple options) (string) If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. | (string) A string containing one or more references that resolve to if your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. (pattern: .*\${.*}.*)
         - `dockerCredentials`: [array of] (multiple options) (string) The ID of the docker credentials to use. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of the docker credentials to use. (pattern: .*\${.*}.*)
         - `includeGitFolder`: (boolean) Include .git folder inside the build context
         - `fullGitClone`: (boolean) Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set.
         - `enableGitLfs`: (boolean) Enable Git LFS support for the build
         - `storage`: {object}
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
       - `buildSettings`: (multiple options) {object}
           - `storage`: {object}
             - `ephemeralStorage`: {object}
               - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
           - `dockerfile`: {object}
             - `useCache`: (boolean) DEPRECATED: This field will be removed in the near future and currently has no effect.
             - `buildEngine`: (multiple options) (string) Build engine to use. Defaults to recommended build engine `buildkit` (enum: buildkit, kaniko) | (string) A string containing one or more references that resolve to build engine to use. Defaults to recommended build engine `buildkit` (pattern: .*\${.*}.*)
             - `dockerFilePath`: (multiple options) (string) The file path of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$) | (string) A string containing one or more references that resolve to the file path of the Dockerfile. (pattern: .*\${.*}.*)
             - `dockerWorkDir`: (multiple options) (string) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory of the Dockerfile. (pattern: .*\${.*}.*)
             - `buildkit`: {object}
               - `useCache`: (multiple options) (boolean) Use persistent storage to cache build layers. | (string) A string containing one or more references that resolve to use persistent storage to cache build layers. (pattern: .*\${.*}.*)
               - `cacheStorageSize`: (multiple options) (integer) The amount of persistent storage available to each build in MB. | (string) A string containing one or more references that resolve to the amount of persistent storage available to each build in MB. (pattern: .*\${.*}.*)
               - `useInternalCache`: (multiple options) (boolean) DEPRECATED: This field will be removed in the near future. | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*)
               - `internalCacheStorage`: (multiple options) (number) DEPRECATED: This field will be removed in the near future. (format: float) | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*) | {object}
           - `storage`: {object}
             - `ephemeralStorage`: {object}
               - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
           - `buildpack`: {object}
             - `builder`: (multiple options) (string) Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (enum: HEROKU_24, HEROKU_22, HEROKU_22_CLASSIC, HEROKU_20, HEROKU_18, GOOGLE_22, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_JAMMY_TINY, PAKETO_JAMMY_BASE, PAKETO_JAMMY_FULL, PAKETO_TINY, PAKETO_BASE, PAKETO_FULL) | (string) A string containing one or more references that resolve to buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (pattern: .*\${.*}.*)
             - `buildpackLocators`: [array of] (multiple options) (string) Url or registry identifier of custom Buildpack. | (string) A string containing one or more references that resolve to url or registry identifier of custom Buildpack. (pattern: .*\${.*}.*)
             - `buildContext`: (multiple options) (string) The working directory to build in. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory to build in. (pattern: .*\${.*}.*)
             - `useCache`: (multiple options) (boolean) Should build dependencies be cached? | (string) A string containing one or more references that resolve to should build dependencies be cached? (pattern: .*\${.*}.*)
       - `runtimeEnvironment`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
       - `runtimeFiles`: {object}
       - `buildArguments`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
       - `buildFiles`: {object}
       - `dockerSecretMounts`: {object}
       - `healthChecks`: [array of] {object}
           - `protocol`: (multiple options) (string) The protocol to access the health check with. (enum: HTTP, CMD, TCP) | (string) A string containing one or more references that resolve to the protocol to access the health check with. (pattern: .*\${.*}.*)
           - `type`: (multiple options) (string) The type of health check. (enum: livenessProbe, readinessProbe, startupProbe) | (string) A string containing one or more references that resolve to the type of health check. (pattern: .*\${.*}.*)
           - `path`: (multiple options) (string) The path of the health check endpoint. Required when protocol is HTTP. (pattern: ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*((\?([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)(&([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)*)?$) | (string) (pattern: .*\${.*}.*)
           - `cmd`: (multiple options) (string) The command to run for the health check. Required when protocol is CMD | (string) (pattern: .*\${.*}.*)
           - `port`: (multiple options) (integer) Port number for the health check endpoint. Required when protocol is HTTP. | (string) (pattern: .*\${.*}.*)
           - `initialDelaySeconds`: (multiple options) (integer) Initial delay, in seconds, before the health check is first run. | (string) A string containing one or more references that resolve to initial delay, in seconds, before the health check is first run. (pattern: .*\${.*}.*)
           - `periodSeconds`: (multiple options) (integer) The time between each check, in seconds. | (string) A string containing one or more references that resolve to the time between each check, in seconds. (pattern: .*\${.*}.*)
           - `timeoutSeconds`: (multiple options) (integer) The time to wait for a response before marking the health check as a failure. | (string) A string containing one or more references that resolve to the time to wait for a response before marking the health check as a failure. (pattern: .*\${.*}.*)
           - `failureThreshold`: (multiple options) (integer) The maximum number of allowed failures. | (string) A string containing one or more references that resolve to the maximum number of allowed failures. (pattern: .*\${.*}.*)
           - `successThreshold`: (multiple options) (integer) The number of successes required to mark the health check as a success. | (string) (pattern: .*\${.*}.*)
       - `backoffLimit`: (multiple options) (integer) The number of attempts to rerun a job before it is marked as failed. | (string) A string containing one or more references that resolve to the number of attempts to rerun a job before it is marked as failed. (pattern: .*\${.*}.*)
       - `runOnSourceChange`: (multiple options) (string) Configure when the job should be run if the source image changes. (enum: never, cd-promote, always) | (string) A string containing one or more references that resolve to configure when the job should be run if the source image changes. (pattern: .*\${.*}.*)
       - `activeDeadlineSeconds`: (multiple options) (integer) The maximum amount of time, in seconds, for a job to run before it is marked as failed. | (string) A string containing one or more references that resolve to the maximum amount of time, in seconds, for a job to run before it is marked as failed. (pattern: .*\${.*}.*)
       - `schedule`: (multiple options) (string) The cron timer scheduling when to run the job. | (string) A string containing one or more references that resolve to the cron timer scheduling when to run the job. (pattern: .*\${.*}.*)
       - `suspended`: (multiple options) (boolean) Whether the cron's automatic scheduling is suspended | (string) A string containing one or more references that resolve to whether the cron's automatic scheduling is suspended (pattern: .*\${.*}.*)
       - `concurrencyPolicy`: (multiple options) (string) Whether this job should run when another instance of the job is already running. `allow` will enable multiple instances of this job to run. `forbid` will keep the current instance of the job running and stop a new instance from being run. `replace` will terminate any currently running instance of the job and start a new one. (enum: allow, forbid, replace) | (string) A string containing one or more references that resolve to whether this job should run when another instance of the job is already running. `allow` will enable multiple instances of this job to run. `forbid` will keep the current instance of the job running and stop a new instance from being run. `replace` will terminate any currently running instance of the job and start a new one. (pattern: .*\${.*}.*)
     - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: ManualJob)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: {object}
         - `name`: (string) (required) The name of the job. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 52)
         - `description`: (string) A description of the job. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
         - `stageId`: (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `infrastructure`: {object}
           - `architecture`: (string) (enum: x86, arm)
         - `tags`: [array of] (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `billing`: {object}
           - `buildPlan`: (string) The ID of the build plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
           - `deploymentPlan`: (string) (required) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
           - `gpu`: {object}
             - `enabled`: (boolean) Whether GPUs are enabled for this workload.
             - `configuration`: {object}
               - `gpuType`: (string) (required) The type of GPU to use.
               - `gpuCount`: (integer) The number of GPUs to allocate.
               - `timesliced`: (boolean) Whether GPU timeslicing is enabled.
         - `disabledCI`: (boolean) Whether CI should be disabled. Only relevant for jobs deploying directly from version control.
         - `buildConfiguration`: {object}
           - `pathIgnoreRules`: [array of] (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260)
           - `isAllowList`: (boolean) If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`.
           - `ciIgnoreFlagsEnabled`: (boolean) If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built.
           - `ciIgnoreFlags`: [array of] (string) A commit ignore flag. (max length: 72)
           - `dockerfileTarget`: (string) If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here.
           - `dockerCredentials`: [array of] (string) The ID of the docker credentials to use. (pattern: ^[A-Za-z0-9-]+$)
           - `includeGitFolder`: (boolean) Include .git folder inside the build context
           - `fullGitClone`: (boolean) Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set.
           - `enableGitLfs`: (boolean) Enable Git LFS support for the build
           - `storage`: {object}
             - `ephemeralStorage`: {object}
               - `storageSize`: (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288)
         - `buildSettings`: (multiple options) {object}
             - `storage`: {object}
               - `ephemeralStorage`: {object}
                 - `storageSize`: (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288)
             - `dockerfile`: {object}
               - `useCache`: (boolean) DEPRECATED: This field will be removed in the near future and currently has no effect.
               - `buildEngine`: (string) Build engine to use. Defaults to recommended build engine `buildkit` (enum: buildkit, kaniko)
               - `dockerFilePath`: (string) (required) The file path of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$)
               - `dockerWorkDir`: (string) (required) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$)
               - `buildkit`: {object}
                 - `useCache`: (boolean) Use persistent storage to cache build layers.
                 - `cacheStorageSize`: (integer) The amount of persistent storage available to each build in MB.
                 - `useInternalCache`: (boolean) DEPRECATED: This field will be removed in the near future.
                 - `internalCacheStorage`: (number) DEPRECATED: This field will be removed in the near future. (format: float) | {object}
             - `storage`: {object}
               - `ephemeralStorage`: {object}
                 - `storageSize`: (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288)
             - `buildpack`: {object}
               - `builder`: (string) Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (enum: HEROKU_24, HEROKU_22, HEROKU_22_CLASSIC, HEROKU_20, HEROKU_18, GOOGLE_22, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_JAMMY_TINY, PAKETO_JAMMY_BASE, PAKETO_JAMMY_FULL, PAKETO_TINY, PAKETO_BASE, PAKETO_FULL)
               - `buildpackLocators`: [array of] (string) Url or registry identifier of custom Buildpack.
               - `buildContext`: (string) The working directory to build in. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$)
               - `useCache`: (boolean) Should build dependencies be cached?
         - `runtimeEnvironment`: {object}
         - `runtimeFiles`: {object}
         - `buildArguments`: {object}
         - `buildFiles`: {object}
         - `dockerSecretMounts`: {object}
         - `healthChecks`: [array of] {object}
             - `protocol`: (string) (required) The protocol to access the health check with. (enum: HTTP, CMD, TCP)
             - `type`: (string) (required) The type of health check. (enum: livenessProbe, readinessProbe, startupProbe)
             - `path`: (string) The path of the health check endpoint. Required when protocol is HTTP. (pattern: ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*((\?([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)(&([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)*)?$)
             - `cmd`: (string) The command to run for the health check. Required when protocol is CMD
             - `port`: (integer) Port number for the health check endpoint. Required when protocol is HTTP.
             - `initialDelaySeconds`: (integer) (required) Initial delay, in seconds, before the health check is first run.
             - `periodSeconds`: (integer) (required) The time between each check, in seconds.
             - `timeoutSeconds`: (integer) (required) The time to wait for a response before marking the health check as a failure.
             - `failureThreshold`: (integer) (required) The maximum number of allowed failures.
             - `successThreshold`: (integer) The number of successes required to mark the health check as a success.
         - `backoffLimit`: (integer) (required) The number of attempts to rerun a job before it is marked as failed.
         - `runOnSourceChange`: (string) Configure when the job should be run if the source image changes. (enum: never, cd-promote, always)
         - `activeDeadlineSeconds`: (integer) The maximum amount of time, in seconds, for a job to run before it is marked as failed.
         - `jobType`: (string) (required) Type of the job (manual or manual) (enum: manual)
         - `id`: (string) (required) Identifier for the job
         - `appId`: (string) (required) Full identifier used for job deployment
         - `deployment`: {object}
           - `buildpack`: {object}
             - `configType`: (string) (required) Type of buildpack run configuration (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand)
             - `customProcess`: (string) Custom process which should be run. Required in case where `configType` is `customProcess`
             - `customEntrypoint`: (string) Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand`
             - `customCommand`: (string) Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand`
           - `docker`: {object}
             - `configType`: (string) (required) Type of entrypoint & command override configuration (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand)
             - `customEntrypoint`: (string) Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand`
             - `customCommand`: (string) Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand`
           - `storage`: {object}
             - `useHdbStorage`: (boolean)
             - `usePdSsdStorage`: (boolean)
             - `ephemeralStorage`: {object}
               - `storageSize`: (integer) Ephemeral storage per container in MB
             - `shmSize`: (integer) Configures the amount of available memory-backed disk space available to /dev/shm
           - `gpu`: {object}
             - `enabled`: (boolean) Whether GPUs are enabled for this workload.
             - `configuration`: {object}
               - `gpuType`: (string) (required) The type of GPU to use.
               - `gpuCount`: (integer) The number of GPUs to allocate.
               - `timesliced`: (boolean) Whether GPU timeslicing is enabled.
           - `gracePeriodSeconds`: (integer) The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system.
           - `metadata`: {object}
             - `labels`: {object}
             - `annotations`: {object}
           - `vcs`: {object}
             - `projectUrl`: (string) (required) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$)
             - `projectType`: (string) (required) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure)
             - `selfHostedVcsId`: (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$)
             - `accountLogin`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name.
             - `vcsLinkId`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24)
             - `projectBranch`: (string) (required) The name of the branch to use.
           - `external`: {object}
             - `imagePath`: (string) (required) Image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: ^(?:(?:https?:\/\/)?([a-zA-Z0-9\-]+\.[a-zA-Z0-9\.\-]+))?(?:\/)?([a-zA-Z/-9\.\-_]+)(?:\:([a-zA-Z/-9\.\-_\:]+)|\@([a-zA-Z/-9\.\-_\:]+))$)
             - `credentials`: (string) ID of the saved credentials to use to access this external image. (pattern: ^[A-Za-z0-9-]+$)
           - `internal`: {object}
             - `id`: (multiple options) (string) The ID of a build service in the same project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) The ID of a build service in another project, in the format `project-id/build-service-id`
             - `branch`: (string) Branch to deploy
             - `buildSHA`: (multiple options) (string) A commit sha. (min length: 40) (max length: 40) | (string) Latest commit. (enum: latest)
             - `buildId`: (string) ID of the build that should be deployed
           - `imageUrl`: (string) Image registry url of the deployed image.
         - `status`: {object}
           - `build`: {object}
             - `status`: (string) (required) The current status of the build. (enum: QUEUED, PENDING, UNSCHEDULABLE, STARTING, CLONING, BUILDING, UPLOADING, ABORTED, FAILURE, SUBMISSION_FAILURE, SUCCESS, CRASHED, IN_PROGRESS)
             - `lastTransitionTime`: (string) The timestamp of when the build reached this status. (format: date-time)
         - `cluster`: {object}
           - `id`: (string) (required) The id of the cluster associated with this project.
           - `name`: (string) (required) The name of the cluster associated with this project.
           - `namespace`: (string) Namespace this resource is located within on the cluster.
           - `loadBalancers`: [array of] (string)
         - `createdAt`: (string) time of creation (format: date-time)
         - `updatedAt`: (string) time of update (format: date-time)
     - `spec`: {object}
       - `description`: (multiple options) (string) A description of the job. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the job. (pattern: .*\${.*}.*)
       - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `billing`: {object}
         - `buildPlan`: (multiple options) (string) The ID of the build plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the build plan to use. (pattern: .*\${.*}.*)
         - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (pattern: .*\${.*}.*)
         - `gpu`: {object}
           - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
           - `configuration`: {object}
             - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
             - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
             - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
       - `deployment`: {object}
         - `buildpack`: {object}
           - `configType`: (multiple options) (string) (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand) | (string) (pattern: .*\${.*}.*)
           - `customProcess`: (multiple options) (multiple options) (string) | (string) (pattern: .*\${.*}.*)
           - `customEntrypoint`: (multiple options) (multiple options) (string) | (string) (pattern: .*\${.*}.*)
           - `customCommand`: (multiple options) (multiple options) (string) | (string) (pattern: .*\${.*}.*)
         - `docker`: {object}
           - `configType`: (multiple options) (string) (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand) | (string) (pattern: .*\${.*}.*)
           - `customEntrypoint`: (multiple options) (multiple options) (string) | (string) (pattern: .*\${.*}.*)
           - `customCommand`: (multiple options) (multiple options) (string) | (string) (pattern: .*\${.*}.*)
         - `storage`: {object}
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per container in MB | (string) A string containing one or more references that resolve to ephemeral storage per container in MB (pattern: .*\${.*}.*)
           - `shmSize`: (multiple options) (integer) Configures the amount of available memory-backed disk space available to /dev/shm | (string) A string containing one or more references that resolve to configures the amount of available memory-backed disk space available to /dev/shm (pattern: .*\${.*}.*)
         - `gpu`: {object}
           - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
           - `configuration`: {object}
             - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
             - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
             - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
         - `gracePeriodSeconds`: (multiple options) (integer) The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. | (string) A string containing one or more references that resolve to the maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. (pattern: .*\${.*}.*)
         - `metadata`: {object}
           - `labels`: {object}
           - `annotations`: {object}
         - `vcs`: {object}
           - `projectUrl`: (multiple options) (string) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo to build. (pattern: .*\${.*}.*)
           - `projectType`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
           - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
           - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
           - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24) | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
           - `projectBranch`: (multiple options) (string) The name of the branch to use. | (string) A string containing one or more references that resolve to the name of the branch to use. (pattern: .*\${.*}.*)
         - `external`: {object}
           - `imagePath`: (multiple options) (string) Image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: ^(?:(?:https?:\/\/)?([a-zA-Z0-9\-]+\.[a-zA-Z0-9\.\-]+))?(?:\/)?([a-zA-Z/-9\.\-_]+)(?:\:([a-zA-Z/-9\.\-_\:]+)|\@([a-zA-Z/-9\.\-_\:]+))$) | (string) A string containing one or more references that resolve to image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: .*\${.*}.*)
           - `credentials`: (multiple options) (string) ID of the saved credentials to use to access this external image. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of the saved credentials to use to access this external image. (pattern: .*\${.*}.*)
         - `internal`: {object}
           - `id`: (multiple options) (multiple options) (string) The ID of a build service in the same project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) The ID of a build service in another project, in the format `project-id/build-service-id` | (string) A string containing one or more references that resolve to iD of the build service to deploy (pattern: .*\${.*}.*)
           - `branch`: (multiple options) (string) Branch to deploy | (string) A string containing one or more references that resolve to branch to deploy (pattern: .*\${.*}.*)
           - `buildSHA`: (multiple options) (multiple options) (string) A commit sha. (min length: 40) (max length: 40) | (string) Latest commit. (enum: latest) | (string) A string containing one or more references that resolve to commit SHA to deploy, or 'latest' to deploy the most recent commit (pattern: .*\${.*}.*)
           - `buildId`: (multiple options) (string) ID of the build that should be deployed | (string) A string containing one or more references that resolve to iD of the build that should be deployed (pattern: .*\${.*}.*)
       - `disabledCI`: (multiple options) (boolean) Whether CI should be disabled. Only relevant for jobs deploying directly from version control. | (string) A string containing one or more references that resolve to whether CI should be disabled. Only relevant for jobs deploying directly from version control. (pattern: .*\${.*}.*)
       - `buildConfiguration`: {object}
         - `pathIgnoreRules`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
         - `isAllowList`: (multiple options) (boolean) If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. | (string) A string containing one or more references that resolve to if `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. (pattern: .*\${.*}.*)
         - `ciIgnoreFlagsEnabled`: (multiple options) (boolean) If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. | (string) A string containing one or more references that resolve to if `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. (pattern: .*\${.*}.*)
         - `ciIgnoreFlags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
         - `dockerfileTarget`: (multiple options) (string) If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. | (string) A string containing one or more references that resolve to if your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. (pattern: .*\${.*}.*)
         - `dockerCredentials`: [array of] (multiple options) (string) The ID of the docker credentials to use. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of the docker credentials to use. (pattern: .*\${.*}.*)
         - `includeGitFolder`: (boolean) Include .git folder inside the build context
         - `fullGitClone`: (boolean) Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set.
         - `enableGitLfs`: (boolean) Enable Git LFS support for the build
         - `storage`: {object}
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
       - `buildSettings`: {object}
         - `storage`: {object}
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
         - `dockerfile`: {object}
           - `useCache`: (boolean) DEPRECATED: This field will be removed in the near future and currently has no effect.
           - `buildEngine`: (multiple options) (string) Build engine to use. Defaults to recommended build engine `buildkit` (enum: buildkit, kaniko) | (string) A string containing one or more references that resolve to build engine to use. Defaults to recommended build engine `buildkit` (pattern: .*\${.*}.*)
           - `dockerFilePath`: (multiple options) (string) The file path of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$) | (string) A string containing one or more references that resolve to the file path of the Dockerfile. (pattern: .*\${.*}.*)
           - `dockerWorkDir`: (multiple options) (string) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory of the Dockerfile. (pattern: .*\${.*}.*)
           - `buildkit`: {object}
             - `useCache`: (multiple options) (boolean) Use persistent storage to cache build layers. | (string) A string containing one or more references that resolve to use persistent storage to cache build layers. (pattern: .*\${.*}.*)
             - `cacheStorageSize`: (multiple options) (integer) The amount of persistent storage available to each build in MB. | (string) A string containing one or more references that resolve to the amount of persistent storage available to each build in MB. (pattern: .*\${.*}.*)
             - `useInternalCache`: (multiple options) (boolean) DEPRECATED: This field will be removed in the near future. | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*)
             - `internalCacheStorage`: (multiple options) (number) DEPRECATED: This field will be removed in the near future. (format: float) | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*)
         - `buildpack`: {object}
           - `builder`: (multiple options) (string) Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (enum: HEROKU_24, HEROKU_22, HEROKU_22_CLASSIC, HEROKU_20, HEROKU_18, GOOGLE_22, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_JAMMY_TINY, PAKETO_JAMMY_BASE, PAKETO_JAMMY_FULL, PAKETO_TINY, PAKETO_BASE, PAKETO_FULL) | (string) A string containing one or more references that resolve to buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (pattern: .*\${.*}.*)
           - `buildpackLocators`: [array of] (multiple options) (string) Url or registry identifier of custom Buildpack. | (string) A string containing one or more references that resolve to url or registry identifier of custom Buildpack. (pattern: .*\${.*}.*)
           - `buildContext`: (multiple options) (string) The working directory to build in. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory to build in. (pattern: .*\${.*}.*)
           - `useCache`: (multiple options) (boolean) Should build dependencies be cached? | (string) A string containing one or more references that resolve to should build dependencies be cached? (pattern: .*\${.*}.*)
       - `runtimeEnvironment`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
       - `runtimeFiles`: {object}
       - `buildArguments`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
       - `buildFiles`: {object}
       - `dockerSecretMounts`: {object}
       - `healthChecks`: [array of] {object}
           - `protocol`: (multiple options) (string) The protocol to access the health check with. (enum: HTTP, CMD, TCP) | (string) A string containing one or more references that resolve to the protocol to access the health check with. (pattern: .*\${.*}.*)
           - `type`: (multiple options) (string) The type of health check. (enum: livenessProbe, readinessProbe, startupProbe) | (string) A string containing one or more references that resolve to the type of health check. (pattern: .*\${.*}.*)
           - `path`: (multiple options) (string) The path of the health check endpoint. Required when protocol is HTTP. (pattern: ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*((\?([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)(&([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)*)?$) | (string) (pattern: .*\${.*}.*)
           - `cmd`: (multiple options) (string) The command to run for the health check. Required when protocol is CMD | (string) (pattern: .*\${.*}.*)
           - `port`: (multiple options) (integer) Port number for the health check endpoint. Required when protocol is HTTP. | (string) (pattern: .*\${.*}.*)
           - `initialDelaySeconds`: (multiple options) (integer) Initial delay, in seconds, before the health check is first run. | (string) A string containing one or more references that resolve to initial delay, in seconds, before the health check is first run. (pattern: .*\${.*}.*)
           - `periodSeconds`: (multiple options) (integer) The time between each check, in seconds. | (string) A string containing one or more references that resolve to the time between each check, in seconds. (pattern: .*\${.*}.*)
           - `timeoutSeconds`: (multiple options) (integer) The time to wait for a response before marking the health check as a failure. | (string) A string containing one or more references that resolve to the time to wait for a response before marking the health check as a failure. (pattern: .*\${.*}.*)
           - `failureThreshold`: (multiple options) (integer) The maximum number of allowed failures. | (string) A string containing one or more references that resolve to the maximum number of allowed failures. (pattern: .*\${.*}.*)
           - `successThreshold`: (multiple options) (integer) The number of successes required to mark the health check as a success. | (string) (pattern: .*\${.*}.*)
       - `backoffLimit`: (multiple options) (integer) The number of attempts to rerun a job before it is marked as failed. | (string) A string containing one or more references that resolve to the number of attempts to rerun a job before it is marked as failed. (pattern: .*\${.*}.*)
       - `runOnSourceChange`: (multiple options) (string) Configure when the job should be run if the source image changes. (enum: never, cd-promote, always) | (string) A string containing one or more references that resolve to configure when the job should be run if the source image changes. (pattern: .*\${.*}.*)
       - `activeDeadlineSeconds`: (multiple options) (integer) The maximum amount of time, in seconds, for a job to run before it is marked as failed. | (string) A string containing one or more references that resolve to the maximum amount of time, in seconds, for a job to run before it is marked as failed. (pattern: .*\${.*}.*)
       - `name`: (multiple options) (string) The name of the job. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 52) | (string) A string containing one or more references that resolve to the name of the job. (pattern: .*\${.*}.*)
     - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: ManualJob)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: {object}
         - `name`: (string) (required) The name of the job. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 52)
         - `description`: (string) A description of the job. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
         - `stageId`: (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `infrastructure`: {object}
           - `architecture`: (string) (enum: x86, arm)
         - `tags`: [array of] (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `billing`: {object}
           - `buildPlan`: (string) The ID of the build plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
           - `deploymentPlan`: (string) (required) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
           - `gpu`: {object}
             - `enabled`: (boolean) Whether GPUs are enabled for this workload.
             - `configuration`: {object}
               - `gpuType`: (string) (required) The type of GPU to use.
               - `gpuCount`: (integer) The number of GPUs to allocate.
               - `timesliced`: (boolean) Whether GPU timeslicing is enabled.
         - `disabledCI`: (boolean) Whether CI should be disabled. Only relevant for jobs deploying directly from version control.
         - `buildConfiguration`: {object}
           - `pathIgnoreRules`: [array of] (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260)
           - `isAllowList`: (boolean) If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`.
           - `ciIgnoreFlagsEnabled`: (boolean) If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built.
           - `ciIgnoreFlags`: [array of] (string) A commit ignore flag. (max length: 72)
           - `dockerfileTarget`: (string) If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here.
           - `dockerCredentials`: [array of] (string) The ID of the docker credentials to use. (pattern: ^[A-Za-z0-9-]+$)
           - `includeGitFolder`: (boolean) Include .git folder inside the build context
           - `fullGitClone`: (boolean) Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set.
           - `enableGitLfs`: (boolean) Enable Git LFS support for the build
           - `storage`: {object}
             - `ephemeralStorage`: {object}
               - `storageSize`: (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288)
         - `buildSettings`: (multiple options) {object}
             - `storage`: {object}
               - `ephemeralStorage`: {object}
                 - `storageSize`: (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288)
             - `dockerfile`: {object}
               - `useCache`: (boolean) DEPRECATED: This field will be removed in the near future and currently has no effect.
               - `buildEngine`: (string) Build engine to use. Defaults to recommended build engine `buildkit` (enum: buildkit, kaniko)
               - `dockerFilePath`: (string) (required) The file path of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$)
               - `dockerWorkDir`: (string) (required) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$)
               - `buildkit`: {object}
                 - `useCache`: (boolean) Use persistent storage to cache build layers.
                 - `cacheStorageSize`: (integer) The amount of persistent storage available to each build in MB.
                 - `useInternalCache`: (boolean) DEPRECATED: This field will be removed in the near future.
                 - `internalCacheStorage`: (number) DEPRECATED: This field will be removed in the near future. (format: float) | {object}
             - `storage`: {object}
               - `ephemeralStorage`: {object}
                 - `storageSize`: (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288)
             - `buildpack`: {object}
               - `builder`: (string) Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (enum: HEROKU_24, HEROKU_22, HEROKU_22_CLASSIC, HEROKU_20, HEROKU_18, GOOGLE_22, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_JAMMY_TINY, PAKETO_JAMMY_BASE, PAKETO_JAMMY_FULL, PAKETO_TINY, PAKETO_BASE, PAKETO_FULL)
               - `buildpackLocators`: [array of] (string) Url or registry identifier of custom Buildpack.
               - `buildContext`: (string) The working directory to build in. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$)
               - `useCache`: (boolean) Should build dependencies be cached?
         - `runtimeEnvironment`: {object}
         - `runtimeFiles`: {object}
         - `buildArguments`: {object}
         - `buildFiles`: {object}
         - `dockerSecretMounts`: {object}
         - `healthChecks`: [array of] {object}
             - `protocol`: (string) (required) The protocol to access the health check with. (enum: HTTP, CMD, TCP)
             - `type`: (string) (required) The type of health check. (enum: livenessProbe, readinessProbe, startupProbe)
             - `path`: (string) The path of the health check endpoint. Required when protocol is HTTP. (pattern: ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*((\?([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)(&([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)*)?$)
             - `cmd`: (string) The command to run for the health check. Required when protocol is CMD
             - `port`: (integer) Port number for the health check endpoint. Required when protocol is HTTP.
             - `initialDelaySeconds`: (integer) (required) Initial delay, in seconds, before the health check is first run.
             - `periodSeconds`: (integer) (required) The time between each check, in seconds.
             - `timeoutSeconds`: (integer) (required) The time to wait for a response before marking the health check as a failure.
             - `failureThreshold`: (integer) (required) The maximum number of allowed failures.
             - `successThreshold`: (integer) The number of successes required to mark the health check as a success.
         - `backoffLimit`: (integer) (required) The number of attempts to rerun a job before it is marked as failed.
         - `runOnSourceChange`: (string) Configure when the job should be run if the source image changes. (enum: never, cd-promote, always)
         - `activeDeadlineSeconds`: (integer) The maximum amount of time, in seconds, for a job to run before it is marked as failed.
         - `jobType`: (string) (required) Type of the job (manual or manual) (enum: manual)
         - `id`: (string) (required) Identifier for the job
         - `appId`: (string) (required) Full identifier used for job deployment
         - `deployment`: {object}
           - `buildpack`: {object}
             - `configType`: (string) (required) Type of buildpack run configuration (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand)
             - `customProcess`: (string) Custom process which should be run. Required in case where `configType` is `customProcess`
             - `customEntrypoint`: (string) Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand`
             - `customCommand`: (string) Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand`
           - `docker`: {object}
             - `configType`: (string) (required) Type of entrypoint & command override configuration (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand)
             - `customEntrypoint`: (string) Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand`
             - `customCommand`: (string) Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand`
           - `storage`: {object}
             - `useHdbStorage`: (boolean)
             - `usePdSsdStorage`: (boolean)
             - `ephemeralStorage`: {object}
               - `storageSize`: (integer) Ephemeral storage per container in MB
             - `shmSize`: (integer) Configures the amount of available memory-backed disk space available to /dev/shm
           - `gpu`: {object}
             - `enabled`: (boolean) Whether GPUs are enabled for this workload.
             - `configuration`: {object}
               - `gpuType`: (string) (required) The type of GPU to use.
               - `gpuCount`: (integer) The number of GPUs to allocate.
               - `timesliced`: (boolean) Whether GPU timeslicing is enabled.
           - `gracePeriodSeconds`: (integer) The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system.
           - `metadata`: {object}
             - `labels`: {object}
             - `annotations`: {object}
           - `vcs`: {object}
             - `projectUrl`: (string) (required) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$)
             - `projectType`: (string) (required) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure)
             - `selfHostedVcsId`: (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$)
             - `accountLogin`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name.
             - `vcsLinkId`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24)
             - `projectBranch`: (string) (required) The name of the branch to use.
           - `external`: {object}
             - `imagePath`: (string) (required) Image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: ^(?:(?:https?:\/\/)?([a-zA-Z0-9\-]+\.[a-zA-Z0-9\.\-]+))?(?:\/)?([a-zA-Z/-9\.\-_]+)(?:\:([a-zA-Z/-9\.\-_\:]+)|\@([a-zA-Z/-9\.\-_\:]+))$)
             - `credentials`: (string) ID of the saved credentials to use to access this external image. (pattern: ^[A-Za-z0-9-]+$)
           - `internal`: {object}
             - `id`: (multiple options) (string) The ID of a build service in the same project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) The ID of a build service in another project, in the format `project-id/build-service-id`
             - `branch`: (string) Branch to deploy
             - `buildSHA`: (multiple options) (string) A commit sha. (min length: 40) (max length: 40) | (string) Latest commit. (enum: latest)
             - `buildId`: (string) ID of the build that should be deployed
           - `imageUrl`: (string) Image registry url of the deployed image.
         - `status`: {object}
           - `build`: {object}
             - `status`: (string) (required) The current status of the build. (enum: QUEUED, PENDING, UNSCHEDULABLE, STARTING, CLONING, BUILDING, UPLOADING, ABORTED, FAILURE, SUBMISSION_FAILURE, SUCCESS, CRASHED, IN_PROGRESS)
             - `lastTransitionTime`: (string) The timestamp of when the build reached this status. (format: date-time)
         - `cluster`: {object}
           - `id`: (string) (required) The id of the cluster associated with this project.
           - `name`: (string) (required) The name of the cluster associated with this project.
           - `namespace`: (string) Namespace this resource is located within on the cluster.
           - `loadBalancers`: [array of] (string)
         - `createdAt`: (string) time of creation (format: date-time)
         - `updatedAt`: (string) time of update (format: date-time)
     - `spec`: {object}
       - `name`: (multiple options) (string) The name of the job. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 52) | (string) A string containing one or more references that resolve to the name of the job. (pattern: .*\${.*}.*)
       - `description`: (multiple options) (string) A description of the job. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the job. (pattern: .*\${.*}.*)
       - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
       - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `infrastructure`: {object}
         - `architecture`: (string) (enum: x86, arm)
       - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `billing`: {object}
         - `buildPlan`: (multiple options) (string) The ID of the build plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the build plan to use. (pattern: .*\${.*}.*)
         - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (pattern: .*\${.*}.*)
         - `gpu`: {object}
           - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
           - `configuration`: {object}
             - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
             - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
             - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
       - `deployment`: {object}
         - `buildpack`: {object}
           - `configType`: (string) (required) Type of buildpack run configuration (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand)
           - `customProcess`: (string) Custom process which should be run. Required in case where `configType` is `customProcess`
           - `customEntrypoint`: (string) Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand`
           - `customCommand`: (string) Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand`
         - `docker`: {object}
           - `configType`: (string) (required) Type of entrypoint & command override configuration (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand)
           - `customEntrypoint`: (string) Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand`
           - `customCommand`: (string) Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand`
         - `storage`: {object}
           - `useHdbStorage`: (boolean)
           - `usePdSsdStorage`: (boolean)
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per container in MB | (string) A string containing one or more references that resolve to ephemeral storage per container in MB (pattern: .*\${.*}.*)
           - `shmSize`: (multiple options) (integer) Configures the amount of available memory-backed disk space available to /dev/shm | (string) A string containing one or more references that resolve to configures the amount of available memory-backed disk space available to /dev/shm (pattern: .*\${.*}.*)
         - `gpu`: {object}
           - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
           - `configuration`: {object}
             - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
             - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
             - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
         - `gracePeriodSeconds`: (multiple options) (integer) The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. | (string) A string containing one or more references that resolve to the maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. (pattern: .*\${.*}.*)
         - `metadata`: {object}
           - `labels`: {object}
           - `annotations`: {object}
         - `vcs`: {object}
           - `projectUrl`: (multiple options) (string) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo to build. (pattern: .*\${.*}.*)
           - `projectType`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
           - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
           - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
           - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24) | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
           - `projectBranch`: (multiple options) (string) The name of the branch to use. | (string) A string containing one or more references that resolve to the name of the branch to use. (pattern: .*\${.*}.*)
         - `external`: {object}
           - `imagePath`: (multiple options) (string) Image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: ^(?:(?:https?:\/\/)?([a-zA-Z0-9\-]+\.[a-zA-Z0-9\.\-]+))?(?:\/)?([a-zA-Z/-9\.\-_]+)(?:\:([a-zA-Z/-9\.\-_\:]+)|\@([a-zA-Z/-9\.\-_\:]+))$) | (string) A string containing one or more references that resolve to image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: .*\${.*}.*)
           - `credentials`: (multiple options) (string) ID of the saved credentials to use to access this external image. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of the saved credentials to use to access this external image. (pattern: .*\${.*}.*)
         - `internal`: {object}
           - `id`: (multiple options) (multiple options) (string) The ID of a build service in the same project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) The ID of a build service in another project, in the format `project-id/build-service-id` | (string) A string containing one or more references that resolve to iD of the build service to deploy (pattern: .*\${.*}.*)
           - `branch`: (multiple options) (string) Branch to deploy | (string) A string containing one or more references that resolve to branch to deploy (pattern: .*\${.*}.*)
           - `buildSHA`: (multiple options) (multiple options) (string) A commit sha. (min length: 40) (max length: 40) | (string) Latest commit. (enum: latest) | (string) A string containing one or more references that resolve to commit SHA to deploy, or 'latest' to deploy the most recent commit (pattern: .*\${.*}.*)
           - `buildId`: (multiple options) (string) ID of the build that should be deployed | (string) A string containing one or more references that resolve to iD of the build that should be deployed (pattern: .*\${.*}.*)
         - `releaseFlowControlled`: (boolean) When enabled the deployment source will only be set on creation. All changes to the deployment source must be done via a release flow or manually.
       - `disabledCI`: (multiple options) (boolean) Whether CI should be disabled. Only relevant for jobs deploying directly from version control. | (string) A string containing one or more references that resolve to whether CI should be disabled. Only relevant for jobs deploying directly from version control. (pattern: .*\${.*}.*)
       - `buildConfiguration`: {object}
         - `pathIgnoreRules`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
         - `isAllowList`: (multiple options) (boolean) If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. | (string) A string containing one or more references that resolve to if `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. (pattern: .*\${.*}.*)
         - `ciIgnoreFlagsEnabled`: (multiple options) (boolean) If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. | (string) A string containing one or more references that resolve to if `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. (pattern: .*\${.*}.*)
         - `ciIgnoreFlags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
         - `dockerfileTarget`: (multiple options) (string) If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. | (string) A string containing one or more references that resolve to if your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. (pattern: .*\${.*}.*)
         - `dockerCredentials`: [array of] (multiple options) (string) The ID of the docker credentials to use. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of the docker credentials to use. (pattern: .*\${.*}.*)
         - `includeGitFolder`: (boolean) Include .git folder inside the build context
         - `fullGitClone`: (boolean) Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set.
         - `enableGitLfs`: (boolean) Enable Git LFS support for the build
         - `storage`: {object}
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
       - `buildSettings`: (multiple options) {object}
           - `storage`: {object}
             - `ephemeralStorage`: {object}
               - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
           - `dockerfile`: {object}
             - `useCache`: (boolean) DEPRECATED: This field will be removed in the near future and currently has no effect.
             - `buildEngine`: (multiple options) (string) Build engine to use. Defaults to recommended build engine `buildkit` (enum: buildkit, kaniko) | (string) A string containing one or more references that resolve to build engine to use. Defaults to recommended build engine `buildkit` (pattern: .*\${.*}.*)
             - `dockerFilePath`: (multiple options) (string) The file path of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$) | (string) A string containing one or more references that resolve to the file path of the Dockerfile. (pattern: .*\${.*}.*)
             - `dockerWorkDir`: (multiple options) (string) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory of the Dockerfile. (pattern: .*\${.*}.*)
             - `buildkit`: {object}
               - `useCache`: (multiple options) (boolean) Use persistent storage to cache build layers. | (string) A string containing one or more references that resolve to use persistent storage to cache build layers. (pattern: .*\${.*}.*)
               - `cacheStorageSize`: (multiple options) (integer) The amount of persistent storage available to each build in MB. | (string) A string containing one or more references that resolve to the amount of persistent storage available to each build in MB. (pattern: .*\${.*}.*)
               - `useInternalCache`: (multiple options) (boolean) DEPRECATED: This field will be removed in the near future. | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*)
               - `internalCacheStorage`: (multiple options) (number) DEPRECATED: This field will be removed in the near future. (format: float) | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*) | {object}
           - `storage`: {object}
             - `ephemeralStorage`: {object}
               - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
           - `buildpack`: {object}
             - `builder`: (multiple options) (string) Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (enum: HEROKU_24, HEROKU_22, HEROKU_22_CLASSIC, HEROKU_20, HEROKU_18, GOOGLE_22, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_JAMMY_TINY, PAKETO_JAMMY_BASE, PAKETO_JAMMY_FULL, PAKETO_TINY, PAKETO_BASE, PAKETO_FULL) | (string) A string containing one or more references that resolve to buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (pattern: .*\${.*}.*)
             - `buildpackLocators`: [array of] (multiple options) (string) Url or registry identifier of custom Buildpack. | (string) A string containing one or more references that resolve to url or registry identifier of custom Buildpack. (pattern: .*\${.*}.*)
             - `buildContext`: (multiple options) (string) The working directory to build in. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory to build in. (pattern: .*\${.*}.*)
             - `useCache`: (multiple options) (boolean) Should build dependencies be cached? | (string) A string containing one or more references that resolve to should build dependencies be cached? (pattern: .*\${.*}.*)
       - `runtimeEnvironment`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
       - `runtimeFiles`: {object}
       - `buildArguments`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
       - `buildFiles`: {object}
       - `dockerSecretMounts`: {object}
       - `healthChecks`: [array of] {object}
           - `protocol`: (multiple options) (string) The protocol to access the health check with. (enum: HTTP, CMD, TCP) | (string) A string containing one or more references that resolve to the protocol to access the health check with. (pattern: .*\${.*}.*)
           - `type`: (multiple options) (string) The type of health check. (enum: livenessProbe, readinessProbe, startupProbe) | (string) A string containing one or more references that resolve to the type of health check. (pattern: .*\${.*}.*)
           - `path`: (multiple options) (string) The path of the health check endpoint. Required when protocol is HTTP. (pattern: ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*((\?([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)(&([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)*)?$) | (string) (pattern: .*\${.*}.*)
           - `cmd`: (multiple options) (string) The command to run for the health check. Required when protocol is CMD | (string) (pattern: .*\${.*}.*)
           - `port`: (multiple options) (integer) Port number for the health check endpoint. Required when protocol is HTTP. | (string) (pattern: .*\${.*}.*)
           - `initialDelaySeconds`: (multiple options) (integer) Initial delay, in seconds, before the health check is first run. | (string) A string containing one or more references that resolve to initial delay, in seconds, before the health check is first run. (pattern: .*\${.*}.*)
           - `periodSeconds`: (multiple options) (integer) The time between each check, in seconds. | (string) A string containing one or more references that resolve to the time between each check, in seconds. (pattern: .*\${.*}.*)
           - `timeoutSeconds`: (multiple options) (integer) The time to wait for a response before marking the health check as a failure. | (string) A string containing one or more references that resolve to the time to wait for a response before marking the health check as a failure. (pattern: .*\${.*}.*)
           - `failureThreshold`: (multiple options) (integer) The maximum number of allowed failures. | (string) A string containing one or more references that resolve to the maximum number of allowed failures. (pattern: .*\${.*}.*)
           - `successThreshold`: (multiple options) (integer) The number of successes required to mark the health check as a success. | (string) (pattern: .*\${.*}.*)
       - `backoffLimit`: (multiple options) (integer) The number of attempts to rerun a job before it is marked as failed. | (string) A string containing one or more references that resolve to the number of attempts to rerun a job before it is marked as failed. (pattern: .*\${.*}.*)
       - `runOnSourceChange`: (multiple options) (string) Configure when the job should be run if the source image changes. (enum: never, cd-promote, always) | (string) A string containing one or more references that resolve to configure when the job should be run if the source image changes. (pattern: .*\${.*}.*)
       - `activeDeadlineSeconds`: (multiple options) (integer) The maximum amount of time, in seconds, for a job to run before it is marked as failed. | (string) A string containing one or more references that resolve to the maximum amount of time, in seconds, for a job to run before it is marked as failed. (pattern: .*\${.*}.*)
     - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: Job)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: {object}
         - `name`: (string) (required) The name of the job. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 52)
         - `description`: (string) A description of the job. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
         - `stageId`: (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `infrastructure`: {object}
           - `architecture`: (string) (enum: x86, arm)
         - `tags`: [array of] (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `billing`: {object}
           - `buildPlan`: (string) The ID of the build plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
           - `deploymentPlan`: (string) (required) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
           - `gpu`: {object}
             - `enabled`: (boolean) Whether GPUs are enabled for this workload.
             - `configuration`: {object}
               - `gpuType`: (string) (required) The type of GPU to use.
               - `gpuCount`: (integer) The number of GPUs to allocate.
               - `timesliced`: (boolean) Whether GPU timeslicing is enabled.
         - `disabledCI`: (boolean) Whether CI should be disabled. Only relevant for jobs deploying directly from version control.
         - `buildConfiguration`: {object}
           - `pathIgnoreRules`: [array of] (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260)
           - `isAllowList`: (boolean) If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`.
           - `ciIgnoreFlagsEnabled`: (boolean) If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built.
           - `ciIgnoreFlags`: [array of] (string) A commit ignore flag. (max length: 72)
           - `dockerfileTarget`: (string) If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here.
           - `dockerCredentials`: [array of] (string) The ID of the docker credentials to use. (pattern: ^[A-Za-z0-9-]+$)
           - `includeGitFolder`: (boolean) Include .git folder inside the build context
           - `fullGitClone`: (boolean) Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set.
           - `enableGitLfs`: (boolean) Enable Git LFS support for the build
           - `storage`: {object}
             - `ephemeralStorage`: {object}
               - `storageSize`: (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288)
         - `buildSettings`: (multiple options) {object}
             - `storage`: {object}
               - `ephemeralStorage`: {object}
                 - `storageSize`: (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288)
             - `dockerfile`: {object}
               - `useCache`: (boolean) DEPRECATED: This field will be removed in the near future and currently has no effect.
               - `buildEngine`: (string) Build engine to use. Defaults to recommended build engine `buildkit` (enum: buildkit, kaniko)
               - `dockerFilePath`: (string) (required) The file path of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$)
               - `dockerWorkDir`: (string) (required) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$)
               - `buildkit`: {object}
                 - `useCache`: (boolean) Use persistent storage to cache build layers.
                 - `cacheStorageSize`: (integer) The amount of persistent storage available to each build in MB.
                 - `useInternalCache`: (boolean) DEPRECATED: This field will be removed in the near future.
                 - `internalCacheStorage`: (number) DEPRECATED: This field will be removed in the near future. (format: float) | {object}
             - `storage`: {object}
               - `ephemeralStorage`: {object}
                 - `storageSize`: (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288)
             - `buildpack`: {object}
               - `builder`: (string) Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (enum: HEROKU_24, HEROKU_22, HEROKU_22_CLASSIC, HEROKU_20, HEROKU_18, GOOGLE_22, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_JAMMY_TINY, PAKETO_JAMMY_BASE, PAKETO_JAMMY_FULL, PAKETO_TINY, PAKETO_BASE, PAKETO_FULL)
               - `buildpackLocators`: [array of] (string) Url or registry identifier of custom Buildpack.
               - `buildContext`: (string) The working directory to build in. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$)
               - `useCache`: (boolean) Should build dependencies be cached?
         - `runtimeEnvironment`: {object}
         - `runtimeFiles`: {object}
         - `buildArguments`: {object}
         - `buildFiles`: {object}
         - `dockerSecretMounts`: {object}
         - `healthChecks`: [array of] {object}
             - `protocol`: (string) (required) The protocol to access the health check with. (enum: HTTP, CMD, TCP)
             - `type`: (string) (required) The type of health check. (enum: livenessProbe, readinessProbe, startupProbe)
             - `path`: (string) The path of the health check endpoint. Required when protocol is HTTP. (pattern: ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*((\?([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)(&([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)*)?$)
             - `cmd`: (string) The command to run for the health check. Required when protocol is CMD
             - `port`: (integer) Port number for the health check endpoint. Required when protocol is HTTP.
             - `initialDelaySeconds`: (integer) (required) Initial delay, in seconds, before the health check is first run.
             - `periodSeconds`: (integer) (required) The time between each check, in seconds.
             - `timeoutSeconds`: (integer) (required) The time to wait for a response before marking the health check as a failure.
             - `failureThreshold`: (integer) (required) The maximum number of allowed failures.
             - `successThreshold`: (integer) The number of successes required to mark the health check as a success.
         - `settings`: {object}
           - `backoffLimit`: (integer) (required) The number of attempts to rerun a job before it is marked as failed.
           - `runOnSourceChange`: (string) Configure when the job should be run if the source image changes. (enum: never, cd-promote, always)
           - `activeDeadlineSeconds`: (integer) The maximum amount of time, in seconds, for a job to run before it is marked as failed.
           - `cron`: {object}
             - `schedule`: (string) The cron timer scheduling when to run the job.
             - `suspended`: (boolean) Whether the cron's automatic scheduling is suspended
             - `concurrencyPolicy`: (string) Whether this job should run when another instance of the job is already running. `allow` will enable multiple instances of this job to run. `forbid` will keep the current instance of the job running and stop a new instance from being run. `replace` will terminate any currently running instance of the job and start a new one. (enum: allow, forbid, replace)
         - `jobType`: (string) (required) Type of the job (manual or cron) (enum: cron)
         - `id`: (string) (required) Identifier for the job
         - `appId`: (string) (required) Full identifier used for job deployment
         - `deployment`: {object}
           - `buildpack`: {object}
             - `configType`: (string) (required) Type of buildpack run configuration (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand)
             - `customProcess`: (string) Custom process which should be run. Required in case where `configType` is `customProcess`
             - `customEntrypoint`: (string) Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand`
             - `customCommand`: (string) Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand`
           - `docker`: {object}
             - `configType`: (string) (required) Type of entrypoint & command override configuration (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand)
             - `customEntrypoint`: (string) Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand`
             - `customCommand`: (string) Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand`
           - `storage`: {object}
             - `useHdbStorage`: (boolean)
             - `usePdSsdStorage`: (boolean)
             - `ephemeralStorage`: {object}
               - `storageSize`: (integer) Ephemeral storage per container in MB
             - `shmSize`: (integer) Configures the amount of available memory-backed disk space available to /dev/shm
           - `gpu`: {object}
             - `enabled`: (boolean) Whether GPUs are enabled for this workload.
             - `configuration`: {object}
               - `gpuType`: (string) (required) The type of GPU to use.
               - `gpuCount`: (integer) The number of GPUs to allocate.
               - `timesliced`: (boolean) Whether GPU timeslicing is enabled.
           - `gracePeriodSeconds`: (integer) The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system.
           - `metadata`: {object}
             - `labels`: {object}
             - `annotations`: {object}
           - `vcs`: {object}
             - `projectUrl`: (string) (required) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$)
             - `projectType`: (string) (required) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure)
             - `selfHostedVcsId`: (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$)
             - `accountLogin`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name.
             - `vcsLinkId`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24)
             - `projectBranch`: (string) (required) The name of the branch to use.
           - `external`: {object}
             - `imagePath`: (string) (required) Image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: ^(?:(?:https?:\/\/)?([a-zA-Z0-9\-]+\.[a-zA-Z0-9\.\-]+))?(?:\/)?([a-zA-Z/-9\.\-_]+)(?:\:([a-zA-Z/-9\.\-_\:]+)|\@([a-zA-Z/-9\.\-_\:]+))$)
             - `credentials`: (string) ID of the saved credentials to use to access this external image. (pattern: ^[A-Za-z0-9-]+$)
           - `internal`: {object}
             - `id`: (multiple options) (string) The ID of a build service in the same project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) The ID of a build service in another project, in the format `project-id/build-service-id`
             - `branch`: (string) Branch to deploy
             - `buildSHA`: (multiple options) (string) A commit sha. (min length: 40) (max length: 40) | (string) Latest commit. (enum: latest)
             - `buildId`: (string) ID of the build that should be deployed
           - `imageUrl`: (string) Image registry url of the deployed image.
         - `status`: {object}
           - `build`: {object}
             - `status`: (string) (required) The current status of the build. (enum: QUEUED, PENDING, UNSCHEDULABLE, STARTING, CLONING, BUILDING, UPLOADING, ABORTED, FAILURE, SUBMISSION_FAILURE, SUCCESS, CRASHED, IN_PROGRESS)
             - `lastTransitionTime`: (string) The timestamp of when the build reached this status. (format: date-time)
         - `cluster`: {object}
           - `id`: (string) (required) The id of the cluster associated with this project.
           - `name`: (string) (required) The name of the cluster associated with this project.
           - `namespace`: (string) Namespace this resource is located within on the cluster.
           - `loadBalancers`: [array of] (string)
         - `createdAt`: (string) time of creation (format: date-time)
         - `updatedAt`: (string) time of update (format: date-time)
     - `spec`: {object}
       - `description`: (multiple options) (string) A description of the job. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the job. (pattern: .*\${.*}.*)
       - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `billing`: {object}
         - `buildPlan`: (multiple options) (string) The ID of the build plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the build plan to use. (pattern: .*\${.*}.*)
         - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (pattern: .*\${.*}.*)
         - `gpu`: {object}
           - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
           - `configuration`: {object}
             - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
             - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
             - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
       - `deployment`: {object}
         - `buildpack`: {object}
           - `configType`: (multiple options) (string) (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand) | (string) (pattern: .*\${.*}.*)
           - `customProcess`: (multiple options) (multiple options) (string) | (string) (pattern: .*\${.*}.*)
           - `customEntrypoint`: (multiple options) (multiple options) (string) | (string) (pattern: .*\${.*}.*)
           - `customCommand`: (multiple options) (multiple options) (string) | (string) (pattern: .*\${.*}.*)
         - `docker`: {object}
           - `configType`: (multiple options) (string) (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand) | (string) (pattern: .*\${.*}.*)
           - `customEntrypoint`: (multiple options) (multiple options) (string) | (string) (pattern: .*\${.*}.*)
           - `customCommand`: (multiple options) (multiple options) (string) | (string) (pattern: .*\${.*}.*)
         - `storage`: {object}
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per container in MB | (string) A string containing one or more references that resolve to ephemeral storage per container in MB (pattern: .*\${.*}.*)
           - `shmSize`: (multiple options) (integer) Configures the amount of available memory-backed disk space available to /dev/shm | (string) A string containing one or more references that resolve to configures the amount of available memory-backed disk space available to /dev/shm (pattern: .*\${.*}.*)
         - `gpu`: {object}
           - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
           - `configuration`: {object}
             - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
             - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
             - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
         - `gracePeriodSeconds`: (multiple options) (integer) The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. | (string) A string containing one or more references that resolve to the maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. (pattern: .*\${.*}.*)
         - `metadata`: {object}
           - `labels`: {object}
           - `annotations`: {object}
         - `vcs`: {object}
           - `projectUrl`: (multiple options) (string) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo to build. (pattern: .*\${.*}.*)
           - `projectType`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
           - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
           - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
           - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24) | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
           - `projectBranch`: (multiple options) (string) The name of the branch to use. | (string) A string containing one or more references that resolve to the name of the branch to use. (pattern: .*\${.*}.*)
         - `external`: {object}
           - `imagePath`: (multiple options) (string) Image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: ^(?:(?:https?:\/\/)?([a-zA-Z0-9\-]+\.[a-zA-Z0-9\.\-]+))?(?:\/)?([a-zA-Z/-9\.\-_]+)(?:\:([a-zA-Z/-9\.\-_\:]+)|\@([a-zA-Z/-9\.\-_\:]+))$) | (string) A string containing one or more references that resolve to image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: .*\${.*}.*)
           - `credentials`: (multiple options) (string) ID of the saved credentials to use to access this external image. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of the saved credentials to use to access this external image. (pattern: .*\${.*}.*)
         - `internal`: {object}
           - `id`: (multiple options) (multiple options) (string) The ID of a build service in the same project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) The ID of a build service in another project, in the format `project-id/build-service-id` | (string) A string containing one or more references that resolve to iD of the build service to deploy (pattern: .*\${.*}.*)
           - `branch`: (multiple options) (string) Branch to deploy | (string) A string containing one or more references that resolve to branch to deploy (pattern: .*\${.*}.*)
           - `buildSHA`: (multiple options) (multiple options) (string) A commit sha. (min length: 40) (max length: 40) | (string) Latest commit. (enum: latest) | (string) A string containing one or more references that resolve to commit SHA to deploy, or 'latest' to deploy the most recent commit (pattern: .*\${.*}.*)
           - `buildId`: (multiple options) (string) ID of the build that should be deployed | (string) A string containing one or more references that resolve to iD of the build that should be deployed (pattern: .*\${.*}.*)
       - `disabledCI`: (multiple options) (boolean) Whether CI should be disabled. Only relevant for jobs deploying directly from version control. | (string) A string containing one or more references that resolve to whether CI should be disabled. Only relevant for jobs deploying directly from version control. (pattern: .*\${.*}.*)
       - `buildConfiguration`: {object}
         - `pathIgnoreRules`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
         - `isAllowList`: (multiple options) (boolean) If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. | (string) A string containing one or more references that resolve to if `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. (pattern: .*\${.*}.*)
         - `ciIgnoreFlagsEnabled`: (multiple options) (boolean) If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. | (string) A string containing one or more references that resolve to if `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. (pattern: .*\${.*}.*)
         - `ciIgnoreFlags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
         - `dockerfileTarget`: (multiple options) (string) If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. | (string) A string containing one or more references that resolve to if your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. (pattern: .*\${.*}.*)
         - `dockerCredentials`: [array of] (multiple options) (string) The ID of the docker credentials to use. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of the docker credentials to use. (pattern: .*\${.*}.*)
         - `includeGitFolder`: (boolean) Include .git folder inside the build context
         - `fullGitClone`: (boolean) Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set.
         - `enableGitLfs`: (boolean) Enable Git LFS support for the build
         - `storage`: {object}
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
       - `buildSettings`: {object}
         - `storage`: {object}
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
         - `dockerfile`: {object}
           - `useCache`: (boolean) DEPRECATED: This field will be removed in the near future and currently has no effect.
           - `buildEngine`: (multiple options) (string) Build engine to use. Defaults to recommended build engine `buildkit` (enum: buildkit, kaniko) | (string) A string containing one or more references that resolve to build engine to use. Defaults to recommended build engine `buildkit` (pattern: .*\${.*}.*)
           - `dockerFilePath`: (multiple options) (string) The file path of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$) | (string) A string containing one or more references that resolve to the file path of the Dockerfile. (pattern: .*\${.*}.*)
           - `dockerWorkDir`: (multiple options) (string) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory of the Dockerfile. (pattern: .*\${.*}.*)
           - `buildkit`: {object}
             - `useCache`: (multiple options) (boolean) Use persistent storage to cache build layers. | (string) A string containing one or more references that resolve to use persistent storage to cache build layers. (pattern: .*\${.*}.*)
             - `cacheStorageSize`: (multiple options) (integer) The amount of persistent storage available to each build in MB. | (string) A string containing one or more references that resolve to the amount of persistent storage available to each build in MB. (pattern: .*\${.*}.*)
             - `useInternalCache`: (multiple options) (boolean) DEPRECATED: This field will be removed in the near future. | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*)
             - `internalCacheStorage`: (multiple options) (number) DEPRECATED: This field will be removed in the near future. (format: float) | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*)
         - `buildpack`: {object}
           - `builder`: (multiple options) (string) Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (enum: HEROKU_24, HEROKU_22, HEROKU_22_CLASSIC, HEROKU_20, HEROKU_18, GOOGLE_22, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_JAMMY_TINY, PAKETO_JAMMY_BASE, PAKETO_JAMMY_FULL, PAKETO_TINY, PAKETO_BASE, PAKETO_FULL) | (string) A string containing one or more references that resolve to buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (pattern: .*\${.*}.*)
           - `buildpackLocators`: [array of] (multiple options) (string) Url or registry identifier of custom Buildpack. | (string) A string containing one or more references that resolve to url or registry identifier of custom Buildpack. (pattern: .*\${.*}.*)
           - `buildContext`: (multiple options) (string) The working directory to build in. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory to build in. (pattern: .*\${.*}.*)
           - `useCache`: (multiple options) (boolean) Should build dependencies be cached? | (string) A string containing one or more references that resolve to should build dependencies be cached? (pattern: .*\${.*}.*)
       - `runtimeEnvironment`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
       - `runtimeFiles`: {object}
       - `buildArguments`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
       - `buildFiles`: {object}
       - `dockerSecretMounts`: {object}
       - `healthChecks`: [array of] {object}
           - `protocol`: (multiple options) (string) The protocol to access the health check with. (enum: HTTP, CMD, TCP) | (string) A string containing one or more references that resolve to the protocol to access the health check with. (pattern: .*\${.*}.*)
           - `type`: (multiple options) (string) The type of health check. (enum: livenessProbe, readinessProbe, startupProbe) | (string) A string containing one or more references that resolve to the type of health check. (pattern: .*\${.*}.*)
           - `path`: (multiple options) (string) The path of the health check endpoint. Required when protocol is HTTP. (pattern: ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*((\?([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)(&([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)*)?$) | (string) (pattern: .*\${.*}.*)
           - `cmd`: (multiple options) (string) The command to run for the health check. Required when protocol is CMD | (string) (pattern: .*\${.*}.*)
           - `port`: (multiple options) (integer) Port number for the health check endpoint. Required when protocol is HTTP. | (string) (pattern: .*\${.*}.*)
           - `initialDelaySeconds`: (multiple options) (integer) Initial delay, in seconds, before the health check is first run. | (string) A string containing one or more references that resolve to initial delay, in seconds, before the health check is first run. (pattern: .*\${.*}.*)
           - `periodSeconds`: (multiple options) (integer) The time between each check, in seconds. | (string) A string containing one or more references that resolve to the time between each check, in seconds. (pattern: .*\${.*}.*)
           - `timeoutSeconds`: (multiple options) (integer) The time to wait for a response before marking the health check as a failure. | (string) A string containing one or more references that resolve to the time to wait for a response before marking the health check as a failure. (pattern: .*\${.*}.*)
           - `failureThreshold`: (multiple options) (integer) The maximum number of allowed failures. | (string) A string containing one or more references that resolve to the maximum number of allowed failures. (pattern: .*\${.*}.*)
           - `successThreshold`: (multiple options) (integer) The number of successes required to mark the health check as a success. | (string) (pattern: .*\${.*}.*)
       - `settings`: {object}
         - `backoffLimit`: (multiple options) (integer) The number of attempts to rerun a job before it is marked as failed. | (string) A string containing one or more references that resolve to the number of attempts to rerun a job before it is marked as failed. (pattern: .*\${.*}.*)
         - `runOnSourceChange`: (multiple options) (string) Configure when the job should be run if the source image changes. (enum: never, cd-promote, always) | (string) A string containing one or more references that resolve to configure when the job should be run if the source image changes. (pattern: .*\${.*}.*)
         - `activeDeadlineSeconds`: (multiple options) (integer) The maximum amount of time, in seconds, for a job to run before it is marked as failed. | (string) A string containing one or more references that resolve to the maximum amount of time, in seconds, for a job to run before it is marked as failed. (pattern: .*\${.*}.*)
         - `cron`: {object}
           - `schedule`: (multiple options) (string) The cron timer scheduling when to run the job. | (string) A string containing one or more references that resolve to the cron timer scheduling when to run the job. (pattern: .*\${.*}.*)
           - `suspended`: (multiple options) (boolean) Whether the cron's automatic scheduling is suspended | (string) A string containing one or more references that resolve to whether the cron's automatic scheduling is suspended (pattern: .*\${.*}.*)
           - `concurrencyPolicy`: (multiple options) (string) Whether this job should run when another instance of the job is already running. `allow` will enable multiple instances of this job to run. `forbid` will keep the current instance of the job running and stop a new instance from being run. `replace` will terminate any currently running instance of the job and start a new one. (enum: allow, forbid, replace) | (string) A string containing one or more references that resolve to whether this job should run when another instance of the job is already running. `allow` will enable multiple instances of this job to run. `forbid` will keep the current instance of the job running and stop a new instance from being run. `replace` will terminate any currently running instance of the job and start a new one. (pattern: .*\${.*}.*)
       - `name`: (multiple options) (string) The name of the job. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 52) | (string) A string containing one or more references that resolve to the name of the job. (pattern: .*\${.*}.*)
     - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: Job)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: {object}
         - `name`: (string) (required) The name of the job. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 52)
         - `description`: (string) A description of the job. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
         - `stageId`: (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `infrastructure`: {object}
           - `architecture`: (string) (enum: x86, arm)
         - `tags`: [array of] (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `billing`: {object}
           - `buildPlan`: (string) The ID of the build plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
           - `deploymentPlan`: (string) (required) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
           - `gpu`: {object}
             - `enabled`: (boolean) Whether GPUs are enabled for this workload.
             - `configuration`: {object}
               - `gpuType`: (string) (required) The type of GPU to use.
               - `gpuCount`: (integer) The number of GPUs to allocate.
               - `timesliced`: (boolean) Whether GPU timeslicing is enabled.
         - `disabledCI`: (boolean) Whether CI should be disabled. Only relevant for jobs deploying directly from version control.
         - `buildConfiguration`: {object}
           - `pathIgnoreRules`: [array of] (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260)
           - `isAllowList`: (boolean) If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`.
           - `ciIgnoreFlagsEnabled`: (boolean) If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built.
           - `ciIgnoreFlags`: [array of] (string) A commit ignore flag. (max length: 72)
           - `dockerfileTarget`: (string) If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here.
           - `dockerCredentials`: [array of] (string) The ID of the docker credentials to use. (pattern: ^[A-Za-z0-9-]+$)
           - `includeGitFolder`: (boolean) Include .git folder inside the build context
           - `fullGitClone`: (boolean) Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set.
           - `enableGitLfs`: (boolean) Enable Git LFS support for the build
           - `storage`: {object}
             - `ephemeralStorage`: {object}
               - `storageSize`: (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288)
         - `buildSettings`: (multiple options) {object}
             - `storage`: {object}
               - `ephemeralStorage`: {object}
                 - `storageSize`: (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288)
             - `dockerfile`: {object}
               - `useCache`: (boolean) DEPRECATED: This field will be removed in the near future and currently has no effect.
               - `buildEngine`: (string) Build engine to use. Defaults to recommended build engine `buildkit` (enum: buildkit, kaniko)
               - `dockerFilePath`: (string) (required) The file path of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$)
               - `dockerWorkDir`: (string) (required) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$)
               - `buildkit`: {object}
                 - `useCache`: (boolean) Use persistent storage to cache build layers.
                 - `cacheStorageSize`: (integer) The amount of persistent storage available to each build in MB.
                 - `useInternalCache`: (boolean) DEPRECATED: This field will be removed in the near future.
                 - `internalCacheStorage`: (number) DEPRECATED: This field will be removed in the near future. (format: float) | {object}
             - `storage`: {object}
               - `ephemeralStorage`: {object}
                 - `storageSize`: (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288)
             - `buildpack`: {object}
               - `builder`: (string) Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (enum: HEROKU_24, HEROKU_22, HEROKU_22_CLASSIC, HEROKU_20, HEROKU_18, GOOGLE_22, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_JAMMY_TINY, PAKETO_JAMMY_BASE, PAKETO_JAMMY_FULL, PAKETO_TINY, PAKETO_BASE, PAKETO_FULL)
               - `buildpackLocators`: [array of] (string) Url or registry identifier of custom Buildpack.
               - `buildContext`: (string) The working directory to build in. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$)
               - `useCache`: (boolean) Should build dependencies be cached?
         - `runtimeEnvironment`: {object}
         - `runtimeFiles`: {object}
         - `buildArguments`: {object}
         - `buildFiles`: {object}
         - `dockerSecretMounts`: {object}
         - `healthChecks`: [array of] {object}
             - `protocol`: (string) (required) The protocol to access the health check with. (enum: HTTP, CMD, TCP)
             - `type`: (string) (required) The type of health check. (enum: livenessProbe, readinessProbe, startupProbe)
             - `path`: (string) The path of the health check endpoint. Required when protocol is HTTP. (pattern: ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*((\?([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)(&([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)*)?$)
             - `cmd`: (string) The command to run for the health check. Required when protocol is CMD
             - `port`: (integer) Port number for the health check endpoint. Required when protocol is HTTP.
             - `initialDelaySeconds`: (integer) (required) Initial delay, in seconds, before the health check is first run.
             - `periodSeconds`: (integer) (required) The time between each check, in seconds.
             - `timeoutSeconds`: (integer) (required) The time to wait for a response before marking the health check as a failure.
             - `failureThreshold`: (integer) (required) The maximum number of allowed failures.
             - `successThreshold`: (integer) The number of successes required to mark the health check as a success.
         - `settings`: {object}
           - `backoffLimit`: (integer) (required) The number of attempts to rerun a job before it is marked as failed.
           - `runOnSourceChange`: (string) Configure when the job should be run if the source image changes. (enum: never, cd-promote, always)
           - `activeDeadlineSeconds`: (integer) The maximum amount of time, in seconds, for a job to run before it is marked as failed.
           - `cron`: {object}
             - `schedule`: (string) The cron timer scheduling when to run the job.
             - `suspended`: (boolean) Whether the cron's automatic scheduling is suspended
             - `concurrencyPolicy`: (string) Whether this job should run when another instance of the job is already running. `allow` will enable multiple instances of this job to run. `forbid` will keep the current instance of the job running and stop a new instance from being run. `replace` will terminate any currently running instance of the job and start a new one. (enum: allow, forbid, replace)
         - `jobType`: (string) (required) Type of the job (manual or cron) (enum: cron)
         - `id`: (string) (required) Identifier for the job
         - `appId`: (string) (required) Full identifier used for job deployment
         - `deployment`: {object}
           - `buildpack`: {object}
             - `configType`: (string) (required) Type of buildpack run configuration (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand)
             - `customProcess`: (string) Custom process which should be run. Required in case where `configType` is `customProcess`
             - `customEntrypoint`: (string) Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand`
             - `customCommand`: (string) Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand`
           - `docker`: {object}
             - `configType`: (string) (required) Type of entrypoint & command override configuration (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand)
             - `customEntrypoint`: (string) Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand`
             - `customCommand`: (string) Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand`
           - `storage`: {object}
             - `useHdbStorage`: (boolean)
             - `usePdSsdStorage`: (boolean)
             - `ephemeralStorage`: {object}
               - `storageSize`: (integer) Ephemeral storage per container in MB
             - `shmSize`: (integer) Configures the amount of available memory-backed disk space available to /dev/shm
           - `gpu`: {object}
             - `enabled`: (boolean) Whether GPUs are enabled for this workload.
             - `configuration`: {object}
               - `gpuType`: (string) (required) The type of GPU to use.
               - `gpuCount`: (integer) The number of GPUs to allocate.
               - `timesliced`: (boolean) Whether GPU timeslicing is enabled.
           - `gracePeriodSeconds`: (integer) The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system.
           - `metadata`: {object}
             - `labels`: {object}
             - `annotations`: {object}
           - `vcs`: {object}
             - `projectUrl`: (string) (required) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$)
             - `projectType`: (string) (required) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure)
             - `selfHostedVcsId`: (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$)
             - `accountLogin`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name.
             - `vcsLinkId`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24)
             - `projectBranch`: (string) (required) The name of the branch to use.
           - `external`: {object}
             - `imagePath`: (string) (required) Image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: ^(?:(?:https?:\/\/)?([a-zA-Z0-9\-]+\.[a-zA-Z0-9\.\-]+))?(?:\/)?([a-zA-Z/-9\.\-_]+)(?:\:([a-zA-Z/-9\.\-_\:]+)|\@([a-zA-Z/-9\.\-_\:]+))$)
             - `credentials`: (string) ID of the saved credentials to use to access this external image. (pattern: ^[A-Za-z0-9-]+$)
           - `internal`: {object}
             - `id`: (multiple options) (string) The ID of a build service in the same project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) The ID of a build service in another project, in the format `project-id/build-service-id`
             - `branch`: (string) Branch to deploy
             - `buildSHA`: (multiple options) (string) A commit sha. (min length: 40) (max length: 40) | (string) Latest commit. (enum: latest)
             - `buildId`: (string) ID of the build that should be deployed
           - `imageUrl`: (string) Image registry url of the deployed image.
         - `status`: {object}
           - `build`: {object}
             - `status`: (string) (required) The current status of the build. (enum: QUEUED, PENDING, UNSCHEDULABLE, STARTING, CLONING, BUILDING, UPLOADING, ABORTED, FAILURE, SUBMISSION_FAILURE, SUCCESS, CRASHED, IN_PROGRESS)
             - `lastTransitionTime`: (string) The timestamp of when the build reached this status. (format: date-time)
         - `cluster`: {object}
           - `id`: (string) (required) The id of the cluster associated with this project.
           - `name`: (string) (required) The name of the cluster associated with this project.
           - `namespace`: (string) Namespace this resource is located within on the cluster.
           - `loadBalancers`: [array of] (string)
         - `createdAt`: (string) time of creation (format: date-time)
         - `updatedAt`: (string) time of update (format: date-time)
     - `spec`: {object}
       - `name`: (multiple options) (string) The name of the job. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 52) | (string) A string containing one or more references that resolve to the name of the job. (pattern: .*\${.*}.*)
       - `description`: (multiple options) (string) A description of the job. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the job. (pattern: .*\${.*}.*)
       - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
       - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `infrastructure`: {object}
         - `architecture`: (string) (enum: x86, arm)
       - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `billing`: {object}
         - `buildPlan`: (multiple options) (string) The ID of the build plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the build plan to use. (pattern: .*\${.*}.*)
         - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (pattern: .*\${.*}.*)
         - `gpu`: {object}
           - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
           - `configuration`: {object}
             - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
             - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
             - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
       - `deployment`: {object}
         - `buildpack`: {object}
           - `configType`: (string) (required) Type of buildpack run configuration (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand)
           - `customProcess`: (string) Custom process which should be run. Required in case where `configType` is `customProcess`
           - `customEntrypoint`: (string) Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand`
           - `customCommand`: (string) Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand`
         - `docker`: {object}
           - `configType`: (string) (required) Type of entrypoint & command override configuration (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand)
           - `customEntrypoint`: (string) Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand`
           - `customCommand`: (string) Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand`
         - `storage`: {object}
           - `useHdbStorage`: (boolean)
           - `usePdSsdStorage`: (boolean)
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per container in MB | (string) A string containing one or more references that resolve to ephemeral storage per container in MB (pattern: .*\${.*}.*)
           - `shmSize`: (multiple options) (integer) Configures the amount of available memory-backed disk space available to /dev/shm | (string) A string containing one or more references that resolve to configures the amount of available memory-backed disk space available to /dev/shm (pattern: .*\${.*}.*)
         - `gpu`: {object}
           - `enabled`: (multiple options) (boolean) Whether GPUs are enabled for this workload. | (string) A string containing one or more references that resolve to whether GPUs are enabled for this workload. (pattern: .*\${.*}.*)
           - `configuration`: {object}
             - `gpuType`: (multiple options) (string) The type of GPU to use. | (string) A string containing one or more references that resolve to the type of GPU to use. (pattern: .*\${.*}.*)
             - `gpuCount`: (multiple options) (integer) The number of GPUs to allocate. | (string) A string containing one or more references that resolve to the number of GPUs to allocate. (pattern: .*\${.*}.*)
             - `timesliced`: (multiple options) (boolean) Whether GPU timeslicing is enabled. | (string) A string containing one or more references that resolve to whether GPU timeslicing is enabled. (pattern: .*\${.*}.*)
         - `gracePeriodSeconds`: (multiple options) (integer) The maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. | (string) A string containing one or more references that resolve to the maximum amount of time the process has to shut down after receiving a SIGTERM signal before it is forcefully shut down SIGKILL by the system. (pattern: .*\${.*}.*)
         - `metadata`: {object}
           - `labels`: {object}
           - `annotations`: {object}
         - `vcs`: {object}
           - `projectUrl`: (multiple options) (string) URL of the Git repo to build. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo to build. (pattern: .*\${.*}.*)
           - `projectType`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
           - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
           - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
           - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (min length: 24) (max length: 24) | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
           - `projectBranch`: (multiple options) (string) The name of the branch to use. | (string) A string containing one or more references that resolve to the name of the branch to use. (pattern: .*\${.*}.*)
         - `external`: {object}
           - `imagePath`: (multiple options) (string) Image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: ^(?:(?:https?:\/\/)?([a-zA-Z0-9\-]+\.[a-zA-Z0-9\.\-]+))?(?:\/)?([a-zA-Z/-9\.\-_]+)(?:\:([a-zA-Z/-9\.\-_\:]+)|\@([a-zA-Z/-9\.\-_\:]+))$) | (string) A string containing one or more references that resolve to image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: .*\${.*}.*)
           - `credentials`: (multiple options) (string) ID of the saved credentials to use to access this external image. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of the saved credentials to use to access this external image. (pattern: .*\${.*}.*)
         - `internal`: {object}
           - `id`: (multiple options) (multiple options) (string) The ID of a build service in the same project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) The ID of a build service in another project, in the format `project-id/build-service-id` | (string) A string containing one or more references that resolve to iD of the build service to deploy (pattern: .*\${.*}.*)
           - `branch`: (multiple options) (string) Branch to deploy | (string) A string containing one or more references that resolve to branch to deploy (pattern: .*\${.*}.*)
           - `buildSHA`: (multiple options) (multiple options) (string) A commit sha. (min length: 40) (max length: 40) | (string) Latest commit. (enum: latest) | (string) A string containing one or more references that resolve to commit SHA to deploy, or 'latest' to deploy the most recent commit (pattern: .*\${.*}.*)
           - `buildId`: (multiple options) (string) ID of the build that should be deployed | (string) A string containing one or more references that resolve to iD of the build that should be deployed (pattern: .*\${.*}.*)
         - `releaseFlowControlled`: (boolean) When enabled the deployment source will only be set on creation. All changes to the deployment source must be done via a release flow or manually.
       - `disabledCI`: (multiple options) (boolean) Whether CI should be disabled. Only relevant for jobs deploying directly from version control. | (string) A string containing one or more references that resolve to whether CI should be disabled. Only relevant for jobs deploying directly from version control. (pattern: .*\${.*}.*)
       - `buildConfiguration`: {object}
         - `pathIgnoreRules`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
         - `isAllowList`: (multiple options) (boolean) If `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. | (string) A string containing one or more references that resolve to if `true`, the functionality of `pathIgnoreRules` will be inverted. A commit will only be built if a file has been changed that matches one or more of the rules in `pathIgnoreRules`. (pattern: .*\${.*}.*)
         - `ciIgnoreFlagsEnabled`: (multiple options) (boolean) If `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. | (string) A string containing one or more references that resolve to if `true`, enables commit ignore flags. If a commit message contains one or more of the flags in `ciIgnoreFlags`, that commit will not be built. (pattern: .*\${.*}.*)
         - `ciIgnoreFlags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
         - `dockerfileTarget`: (multiple options) (string) If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. | (string) A string containing one or more references that resolve to if your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. (pattern: .*\${.*}.*)
         - `dockerCredentials`: [array of] (multiple options) (string) The ID of the docker credentials to use. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of the docker credentials to use. (pattern: .*\${.*}.*)
         - `includeGitFolder`: (boolean) Include .git folder inside the build context
         - `fullGitClone`: (boolean) Include the entire git history as part of the .git folder. Only relevant if "includeGitFolder" is set.
         - `enableGitLfs`: (boolean) Enable Git LFS support for the build
         - `storage`: {object}
           - `ephemeralStorage`: {object}
             - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
       - `buildSettings`: (multiple options) {object}
           - `storage`: {object}
             - `ephemeralStorage`: {object}
               - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
           - `dockerfile`: {object}
             - `useCache`: (boolean) DEPRECATED: This field will be removed in the near future and currently has no effect.
             - `buildEngine`: (multiple options) (string) Build engine to use. Defaults to recommended build engine `buildkit` (enum: buildkit, kaniko) | (string) A string containing one or more references that resolve to build engine to use. Defaults to recommended build engine `buildkit` (pattern: .*\${.*}.*)
             - `dockerFilePath`: (multiple options) (string) The file path of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$) | (string) A string containing one or more references that resolve to the file path of the Dockerfile. (pattern: .*\${.*}.*)
             - `dockerWorkDir`: (multiple options) (string) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory of the Dockerfile. (pattern: .*\${.*}.*)
             - `buildkit`: {object}
               - `useCache`: (multiple options) (boolean) Use persistent storage to cache build layers. | (string) A string containing one or more references that resolve to use persistent storage to cache build layers. (pattern: .*\${.*}.*)
               - `cacheStorageSize`: (multiple options) (integer) The amount of persistent storage available to each build in MB. | (string) A string containing one or more references that resolve to the amount of persistent storage available to each build in MB. (pattern: .*\${.*}.*)
               - `useInternalCache`: (multiple options) (boolean) DEPRECATED: This field will be removed in the near future. | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*)
               - `internalCacheStorage`: (multiple options) (number) DEPRECATED: This field will be removed in the near future. (format: float) | (string) A string containing one or more references that resolve to dEPRECATED: This field will be removed in the near future. (pattern: .*\${.*}.*) | {object}
           - `storage`: {object}
             - `ephemeralStorage`: {object}
               - `storageSize`: (multiple options) (integer) Ephemeral storage per build in MB (enum: 16384, 32768, 65536, 131072, 262144, 524288) | (string) A string containing one or more references that resolve to ephemeral storage per build in MB (pattern: .*\${.*}.*)
           - `buildpack`: {object}
             - `builder`: (multiple options) (string) Buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (enum: HEROKU_24, HEROKU_22, HEROKU_22_CLASSIC, HEROKU_20, HEROKU_18, GOOGLE_22, GOOGLE_V1, CNB_ALPINE, CNB_BIONIC, PAKETO_JAMMY_TINY, PAKETO_JAMMY_BASE, PAKETO_JAMMY_FULL, PAKETO_TINY, PAKETO_BASE, PAKETO_FULL) | (string) A string containing one or more references that resolve to buildpack stack to use. Defaults to recommended stack `HEROKU_24`. (pattern: .*\${.*}.*)
             - `buildpackLocators`: [array of] (multiple options) (string) Url or registry identifier of custom Buildpack. | (string) A string containing one or more references that resolve to url or registry identifier of custom Buildpack. (pattern: .*\${.*}.*)
             - `buildContext`: (multiple options) (string) The working directory to build in. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory to build in. (pattern: .*\${.*}.*)
             - `useCache`: (multiple options) (boolean) Should build dependencies be cached? | (string) A string containing one or more references that resolve to should build dependencies be cached? (pattern: .*\${.*}.*)
       - `runtimeEnvironment`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
       - `runtimeFiles`: {object}
       - `buildArguments`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
       - `buildFiles`: {object}
       - `dockerSecretMounts`: {object}
       - `healthChecks`: [array of] {object}
           - `protocol`: (multiple options) (string) The protocol to access the health check with. (enum: HTTP, CMD, TCP) | (string) A string containing one or more references that resolve to the protocol to access the health check with. (pattern: .*\${.*}.*)
           - `type`: (multiple options) (string) The type of health check. (enum: livenessProbe, readinessProbe, startupProbe) | (string) A string containing one or more references that resolve to the type of health check. (pattern: .*\${.*}.*)
           - `path`: (multiple options) (string) The path of the health check endpoint. Required when protocol is HTTP. (pattern: ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]*((\?([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)(&([a-zA-Z0-9-._]+(=[a-zA-Z0-9-._]+)?)*)*)?$) | (string) (pattern: .*\${.*}.*)
           - `cmd`: (multiple options) (string) The command to run for the health check. Required when protocol is CMD | (string) (pattern: .*\${.*}.*)
           - `port`: (multiple options) (integer) Port number for the health check endpoint. Required when protocol is HTTP. | (string) (pattern: .*\${.*}.*)
           - `initialDelaySeconds`: (multiple options) (integer) Initial delay, in seconds, before the health check is first run. | (string) A string containing one or more references that resolve to initial delay, in seconds, before the health check is first run. (pattern: .*\${.*}.*)
           - `periodSeconds`: (multiple options) (integer) The time between each check, in seconds. | (string) A string containing one or more references that resolve to the time between each check, in seconds. (pattern: .*\${.*}.*)
           - `timeoutSeconds`: (multiple options) (integer) The time to wait for a response before marking the health check as a failure. | (string) A string containing one or more references that resolve to the time to wait for a response before marking the health check as a failure. (pattern: .*\${.*}.*)
           - `failureThreshold`: (multiple options) (integer) The maximum number of allowed failures. | (string) A string containing one or more references that resolve to the maximum number of allowed failures. (pattern: .*\${.*}.*)
           - `successThreshold`: (multiple options) (integer) The number of successes required to mark the health check as a success. | (string) (pattern: .*\${.*}.*)
       - `settings`: {object}
         - `backoffLimit`: (multiple options) (integer) The number of attempts to rerun a job before it is marked as failed. | (string) A string containing one or more references that resolve to the number of attempts to rerun a job before it is marked as failed. (pattern: .*\${.*}.*)
         - `runOnSourceChange`: (multiple options) (string) Configure when the job should be run if the source image changes. (enum: never, cd-promote, always) | (string) A string containing one or more references that resolve to configure when the job should be run if the source image changes. (pattern: .*\${.*}.*)
         - `activeDeadlineSeconds`: (multiple options) (integer) The maximum amount of time, in seconds, for a job to run before it is marked as failed. | (string) A string containing one or more references that resolve to the maximum amount of time, in seconds, for a job to run before it is marked as failed. (pattern: .*\${.*}.*)
         - `cron`: {object}
           - `schedule`: (multiple options) (string) The cron timer scheduling when to run the job. | (string) A string containing one or more references that resolve to the cron timer scheduling when to run the job. (pattern: .*\${.*}.*)
           - `suspended`: (multiple options) (boolean) Whether the cron's automatic scheduling is suspended | (string) A string containing one or more references that resolve to whether the cron's automatic scheduling is suspended (pattern: .*\${.*}.*)
           - `concurrencyPolicy`: (multiple options) (string) Whether this job should run when another instance of the job is already running. `allow` will enable multiple instances of this job to run. `forbid` will keep the current instance of the job running and stop a new instance from being run. `replace` will terminate any currently running instance of the job and start a new one. (enum: allow, forbid, replace) | (string) A string containing one or more references that resolve to whether this job should run when another instance of the job is already running. `allow` will enable multiple instances of this job to run. `forbid` will keep the current instance of the job running and stop a new instance from being run. `replace` will terminate any currently running instance of the job and start a new one. (pattern: .*\${.*}.*)
     - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: Addon)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: (multiple options) {object}
           - `name`: (string) (required) The name of the addon. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
           - `description`: (string) A description of the addon. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
           - `stageId`: (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
           - `tags`: [array of] (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
           - `type`: (string) (required) The identifier for the type of addon. Addon types can be found at the Get Addon Types endpoint.
           - `infrastructure`: {object}
             - `architecture`: (string) (enum: x86, arm)
           - `version`: (string) (required) The version of the addon type to use. If set to `latest`, the addon will be created with the most recent addon version. If set to a major version appended with `-latest`, e.g. `14-latest` or `14.5-latest`, the addon will be created with the most recent minor/patch version belonging to that major version.
           - `billing`: {object}
             - `deploymentPlan`: (string) (required) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
             - `storageClass`: (string) The type of storage. Only configurable if the relevant feature flag is enabled for you account (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
             - `storage`: (integer) (required) The size of the addon storage, in megabytes.
             - `replicas`: (integer) (required) The number of addon replicas to run.
             - `zonalRedundancy`: {object}
               - `type`: (string) Defines scheduling behaviour across different zones within the same region. (enum: required, disabled)
               - `minZones`: (integer) Defines how many zones are required and will prevent containers from additional scheduling into existing zones. (Only relevant if type is set to "required")
             - `diskAutoscaling`: {object}
               - `enabled`: (boolean) (required) Enable automatic disk scaling when usage exceeds the configured threshold.
               - `thresholdPercent`: (number) Disk usage percentage that triggers a resize. Defaults to 90. (format: float) (enum: 75, 90)
               - `maxSizeMib`: (integer) Maximum disk size in mebibytes. When set, autoscaling will not expand storage beyond this value. Must be greater than the current storage size.
           - `source`: (multiple options) {object}
               - `projectId`: (string) ID of the project of the source addon. Only required if not the same as target addon (pattern: ^[A-Za-z0-9-]+$)
               - `addonId`: (string) (required) ID of the addon to fork. (pattern: ^[A-Za-z0-9-]+$)
               - `backupId`: (string) (required) ID of a backup belonging to that addon to use for the fork. (pattern: ^[A-Za-z0-9-]+$) | {object}
               - `backupUid`: (string) (required) Uid of the backup (format: uuid)
           - `tlsEnabled`: (boolean) Enables access to the addon via TLS (if supported by the addon type).
           - `externalAccessEnabled`: (boolean) Enables external access to the addon via TLS (if supported by the addon type).
           - `ipPolicies`: [array of] {object}
               - `addresses`: [array of] (string) An IP address used by this rule
               - `action`: (string) (required) The action for this rule. (enum: ALLOW, DENY)
           - `typeSpecificSettings`: {object}
             - `redisMaxMemoryPolicy`: (string) Redis only: Key eviction policy at memory pressure. (enum: noeviction, allkeys-lru, allkeys-lfu, volatile-lru, volatile-lfu, allkeys-random, volatile-random, volatile-ttl, volatile-lrm, allkeys-lrm)
             - `redisSentinelEnabled`: (boolean) Redis only: Deploy Redis with Sentinel high availability. Default: false
             - `postgresqlWalLevel`: (string) PostgreSQL only: Configure wal_level setting. (enum: replica, logical)
             - `postgresqlSupabaseMode`: (boolean) PostgreSQL only: Enable Supabase mode (additional extensions and event trigger creation support). Cannot be changed after creation.
             - `postgresqlEdbMode`: (boolean) PostgreSQL only: Enable EDB mode (EDB extension set: edb_stat_monitor, query_advisor, edb_pg_tuner, aidb, pgaa and others). Requires PostgreSQL 18 or newer. Cannot be changed after creation.
             - `postgresqlConnectionPoolerEnabled`: (boolean) PostgreSQL only: Run connection pooler in front of postgres instance.
             - `postgresqlConnectionPoolerReplicas`: (integer) PostgreSQL only: Number of connection pooler replicas in case connection pooler is enabled.
             - `postgresqlReadConnectionPoolerEnabled`: (boolean) PostgreSQL only: Run connection pooler in front of read-only postgres instance.
             - `postgresqlReadConnectionPoolerReplicas`: (integer) PostgreSQL only: Number of read-only connection pooler replicas in case read-only connection pooler is enabled.
             - `postgresqlImportMode`: (boolean) PostgreSQL only: Configure PostgreSQL for higher import speed. Not recommended for production workloads.
             - `mysqlHaModeEnabled`: (boolean) MySQL only: Run MySQL in HA configuration with auto-failover and connection poolers.
             - `mysqlHaRouterEnabled`: (boolean) MySQL HA only: Run connection routers in front of MySQL instances.
             - `mysqlRouterReplicas`: (integer) MysqlHA only: Number of connection router replicas in case connection router is enabled.
           - `customCredentials`: {object}
             - `dbName`: (string) Custom database name. Not supported for all addon types.
           - `backupSchedules`: [array of] {object}
               - `scheduling`: {object}
                 - `interval`: (string) (required) The interval between backups. Each addon can only have one backup schedule of each interval for each backup type. (enum: hourly, daily, weekly)
                 - `minute`: [array of] (integer) A minute when the backup should be performed.
                 - `hour`: [array of] (integer) An hour when the backup should be performed, in 24 hour format.
                 - `day`: [array of] (integer) A day of the week when the backup should be performed, where `0` represents Monday and `6` represents Sunday.
               - `backupType`: (string) (required) The type of the backup to be performed. (enum: dump, snapshot)
               - `customDestinationId`: (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
               - `additionalDestinations`: [array of] {object}
                   - `destinationId`: (string) (required) Additional custom back up destination that should be used to store the snapshot. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
                   - `retentionTime`: (integer) Retention time of the additional back up in days.
                   - `type`: (string) (required) The type of backup destination to use (enum: custom)
               - `compressionType`: (string) The compression algorithm of the backup. Only applicable for dump backups. Defaults to `gz`. (enum: gz, zstd)
               - `retentionTime`: (integer) (required) The time the backup is retained for, in days.
           - `metadata`: {object}
             - `labels`: {object}
             - `annotations`: {object}
           - `id`: (string) (required) Identifier for the addon.
           - `appId`: (string) (required) Full identifier used for deployment
           - `status`: (string) (required) The current state of the addon. (enum: preDeployment, triggerAllocation, allocating, postDeployment, running, paused, scaling, upgrading, resetting, backup, restore, failed, error, errorAllocating, deleting, deleted)
           - `cluster`: {object}
             - `id`: (string) (required) The id of the cluster associated with this project.
             - `name`: (string) (required) The name of the cluster associated with this project.
             - `namespace`: (string) Namespace this resource is located within on the cluster.
             - `loadBalancers`: [array of] (string)
           - `createdAt`: (string) time of creation (format: date-time)
           - `updatedAt`: (string) time of update (format: date-time) | {object}
           - `name`: (string) (required) The name of the addon. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
           - `description`: (string) A description of the addon. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
           - `stageId`: (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
           - `tags`: [array of] (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
           - `type`: (string) (required) The identifier for the type of addon. Addon types can be found at the Get Addon Types endpoint.
           - `infrastructure`: {object}
             - `architecture`: (string) (enum: x86, arm)
           - `templateValues`: {object}
           - `id`: (string) (required) Identifier for the addon.
           - `appId`: (string) (required) Full identifier used for deployment
           - `status`: (string) (required) The current state of the addon. (enum: preDeployment, triggerAllocation, allocating, postDeployment, running, paused, scaling, upgrading, resetting, backup, restore, failed, error, errorAllocating, deleting, deleted)
           - `cluster`: {object}
             - `id`: (string) (required) The id of the cluster associated with this project.
             - `name`: (string) (required) The name of the cluster associated with this project.
             - `namespace`: (string) Namespace this resource is located within on the cluster.
             - `loadBalancers`: [array of] (string)
           - `createdAt`: (string) time of creation (format: date-time)
           - `updatedAt`: (string) time of update (format: date-time) | {object}
           - `name`: (string) (required) The name of the addon. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
           - `description`: (string) A description of the addon. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
           - `stageId`: (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
           - `tags`: [array of] (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
           - `type`: (string) (required) The identifier for the type of addon. Addon types can be found at the Get Addon Types endpoint.
           - `infrastructure`: {object}
             - `architecture`: (string) (enum: x86, arm)
           - `region`: (string) The AWS region identifier for the bucket location.
           - `id`: (string) (required) Identifier for the addon.
           - `appId`: (string) (required) Full identifier used for deployment
           - `status`: (string) (required) The current state of the addon. (enum: preDeployment, triggerAllocation, allocating, postDeployment, running, paused, scaling, upgrading, resetting, backup, restore, failed, error, errorAllocating, deleting, deleted)
           - `cluster`: {object}
             - `id`: (string) (required) The id of the cluster associated with this project.
             - `name`: (string) (required) The name of the cluster associated with this project.
             - `namespace`: (string) Namespace this resource is located within on the cluster.
             - `loadBalancers`: [array of] (string)
           - `createdAt`: (string) time of creation (format: date-time)
           - `updatedAt`: (string) time of update (format: date-time)
     - `spec`: (multiple options) {object}
         - `description`: (multiple options) (string) A description of the addon. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the addon. (pattern: .*\${.*}.*)
         - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
         - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
         - `version`: (string) The version of the addon type to use. If set to `latest`, the addon will be created with the most recent addon version. If set to a major version appended with `-latest`, e.g. e.g. `14-latest` or `14.5-latest`, the addon will be created with the most recent minor/patch version belonging to that major version.
         - `billing`: {object}
           - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (pattern: .*\${.*}.*)
           - `storageClass`: (multiple options) (string) The type of storage. Only configurable if the relevant feature flag is enabled for you account (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the type of storage. Only configurable if the relevant feature flag is enabled for you account (pattern: .*\${.*}.*)
           - `storage`: (multiple options) (integer) The size of the addon storage, in megabytes. | (string) A string containing one or more references that resolve to the size of the addon storage, in megabytes. (pattern: .*\${.*}.*)
           - `replicas`: (multiple options) (integer) The number of addon replicas to run. | (string) A string containing one or more references that resolve to the number of addon replicas to run. (pattern: .*\${.*}.*)
           - `diskAutoscaling`: {object}
             - `enabled`: (boolean) (required) Enable automatic disk scaling when usage exceeds the configured threshold.
             - `thresholdPercent`: (number) Disk usage percentage that triggers a resize. Defaults to 90. (format: float) (enum: 75, 90)
             - `maxSizeMib`: (integer) Maximum disk size in mebibytes. When set, autoscaling will not expand storage beyond this value. Must be greater than the current storage size.
         - `tlsEnabled`: (boolean) Enables access to the addon via TLS (if supported by the addon type).
         - `externalAccessEnabled`: (boolean) Enables external access to the addon via TLS (if supported by the addon type).
         - `ipPolicies`: [array of] {object}
             - `addresses`: [array of] (string) An IP address used by this rule
             - `action`: (string) (required) The action for this rule. (enum: ALLOW, DENY)
         - `typeSpecificSettings`: {object}
           - `redisMaxMemoryPolicy`: (string) Redis only: Key eviction policy at memory pressure. (enum: noeviction, allkeys-lru, allkeys-lfu, volatile-lru, volatile-lfu, allkeys-random, volatile-random, volatile-ttl, volatile-lrm, allkeys-lrm)
           - `redisSentinelEnabled`: (boolean) Redis only: Deploy Redis with Sentinel high availability. Default: false
           - `postgresqlWalLevel`: (string) PostgreSQL only: Configure wal_level setting. (enum: replica, logical)
           - `postgresqlSupabaseMode`: (boolean) PostgreSQL only: Enable Supabase mode (additional extensions and event trigger creation support). Cannot be changed after creation.
           - `postgresqlEdbMode`: (boolean) PostgreSQL only: Enable EDB mode (EDB extension set: edb_stat_monitor, query_advisor, edb_pg_tuner, aidb, pgaa and others). Requires PostgreSQL 18 or newer. Cannot be changed after creation.
           - `postgresqlConnectionPoolerEnabled`: (boolean) PostgreSQL only: Run connection pooler in front of postgres instance.
           - `postgresqlConnectionPoolerReplicas`: (integer) PostgreSQL only: Number of connection pooler instances in case connection pooler is enabled.
           - `postgresqlReadConnectionPoolerEnabled`: (boolean) PostgreSQL only: Run connection pooler in front of read-only postgres instance.
           - `postgresqlReadConnectionPoolerReplicas`: (integer) PostgreSQL only: Number of read-only connection pooler replicas in case read-only connection pooler is enabled.
           - `postgresqlImportMode`: (boolean) PostgreSQL only: Configure PostgreSQL for higher import speed. Not recommended for production workloads.
           - `mysqlHaModeEnabled`: (boolean) MySQL only: Run MySQL in HA configuration with auto-failover and connection poolers.
           - `mysqlHaRouterEnabled`: (boolean) MySQL HA only: Run connection routers in front of MySQL instances.
           - `mysqlRouterReplicas`: (multiple options) (integer) MysqlHA only: Number of connection router replicas in case connection router is enabled. | (string) A string containing one or more references that resolve to mysqlHA only: Number of connection router replicas in case connection router is enabled. (pattern: .*\${.*}.*)
         - `backupSchedules`: [array of] {object}
             - `scheduling`: (multiple options) {object}
                 - `interval`: (multiple options) (string) The interval between backups. Each addon can only have one backup schedule of each interval for each backup type. (enum: hourly, daily, weekly) | (string) A string containing one or more references that resolve to the interval between backups. Each addon can only have one backup schedule of each interval for each backup type. (pattern: .*\${.*}.*)
                 - `minute`: (multiple options) [array of] (integer) A minute when the backup should be performed. | (string) A string containing one or more references that resolve to an array of minutes when the backup should be performed. (pattern: .*\${.*}.*)
                 - `hour`: (multiple options) [array of] (integer) An hour when the backup should be performed, in 24 hour format. | (string) A string containing one or more references that resolve to an array of hours in 24 hour format when the backup should be performed. At these hours, a backup will be performed at each of the minutes provided in the `minute` field. Required for `daily` and `weekly` intervals and unavailable for `hourly` intervals. (pattern: .*\${.*}.*)
                 - `day`: (multiple options) [array of] (integer) A day of the week when the backup should be performed, where `0` represents Monday and `6` represents Sunday. | (string) A string containing one or more references that resolve to an array of days of the week when the backup should be performed, where `0` represents Monday and `6` represents Sunday. On these days, a backup will be performed at each of the minutes provided in the `minute` field whenever it is an hour from the `hour` field. Required for `weekly` intervals and unavailable for `hourly` and `daily` intervals. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to schedule for the backup. (pattern: .*\${.*}.*)
             - `backupType`: (multiple options) (string) The type of the backup to be performed. (enum: dump, snapshot) | (string) A string containing one or more references that resolve to the type of the backup to be performed. (pattern: .*\${.*}.*)
             - `customDestinationId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
             - `additionalDestinations`: [array of] {object}
                 - `destinationId`: (multiple options) (string) Additional custom back up destination that should be used to store the snapshot. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to additional custom back up destination that should be used to store the snapshot. (pattern: .*\${.*}.*)
                 - `retentionTime`: (multiple options) (integer) Retention time of the additional back up in days. | (string) A string containing one or more references that resolve to retention time of the additional back up in days. (pattern: .*\${.*}.*)
                 - `type`: (string) (required) The type of backup destination to use (enum: custom)
             - `compressionType`: (multiple options) (string) The compression algorithm of the backup. Only applicable for dump backups. Defaults to `gz`. (enum: gz, zstd) | (string) A string containing one or more references that resolve to the compression algorithm of the backup. Only applicable for dump backups. Defaults to `gz`. (pattern: .*\${.*}.*)
             - `retentionTime`: (multiple options) (integer) The time the backup is retained for, in days. | (string) A string containing one or more references that resolve to the time the backup is retained for, in days. (pattern: .*\${.*}.*)
         - `metadata`: {object}
           - `labels`: {object}
           - `annotations`: {object} | {object}
         - `description`: (multiple options) (string) A description of the addon. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the addon. (pattern: .*\${.*}.*)
         - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
         - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
         - `templateValues`: {object} | {object}
         - `description`: (multiple options) (string) A description of the addon. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the addon. (pattern: .*\${.*}.*)
         - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
         - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: Addon)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: (multiple options) {object}
           - `name`: (string) (required) The name of the addon. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
           - `description`: (string) A description of the addon. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
           - `stageId`: (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
           - `tags`: [array of] (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
           - `type`: (string) (required) The identifier for the type of addon. Addon types can be found at the Get Addon Types endpoint.
           - `infrastructure`: {object}
             - `architecture`: (string) (enum: x86, arm)
           - `version`: (string) (required) The version of the addon type to use. If set to `latest`, the addon will be created with the most recent addon version. If set to a major version appended with `-latest`, e.g. `14-latest` or `14.5-latest`, the addon will be created with the most recent minor/patch version belonging to that major version.
           - `billing`: {object}
             - `deploymentPlan`: (string) (required) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
             - `storageClass`: (string) The type of storage. Only configurable if the relevant feature flag is enabled for you account (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
             - `storage`: (integer) (required) The size of the addon storage, in megabytes.
             - `replicas`: (integer) (required) The number of addon replicas to run.
             - `zonalRedundancy`: {object}
               - `type`: (string) Defines scheduling behaviour across different zones within the same region. (enum: required, disabled)
               - `minZones`: (integer) Defines how many zones are required and will prevent containers from additional scheduling into existing zones. (Only relevant if type is set to "required")
             - `diskAutoscaling`: {object}
               - `enabled`: (boolean) (required) Enable automatic disk scaling when usage exceeds the configured threshold.
               - `thresholdPercent`: (number) Disk usage percentage that triggers a resize. Defaults to 90. (format: float) (enum: 75, 90)
               - `maxSizeMib`: (integer) Maximum disk size in mebibytes. When set, autoscaling will not expand storage beyond this value. Must be greater than the current storage size.
           - `source`: (multiple options) {object}
               - `projectId`: (string) ID of the project of the source addon. Only required if not the same as target addon (pattern: ^[A-Za-z0-9-]+$)
               - `addonId`: (string) (required) ID of the addon to fork. (pattern: ^[A-Za-z0-9-]+$)
               - `backupId`: (string) (required) ID of a backup belonging to that addon to use for the fork. (pattern: ^[A-Za-z0-9-]+$) | {object}
               - `backupUid`: (string) (required) Uid of the backup (format: uuid)
           - `tlsEnabled`: (boolean) Enables access to the addon via TLS (if supported by the addon type).
           - `externalAccessEnabled`: (boolean) Enables external access to the addon via TLS (if supported by the addon type).
           - `ipPolicies`: [array of] {object}
               - `addresses`: [array of] (string) An IP address used by this rule
               - `action`: (string) (required) The action for this rule. (enum: ALLOW, DENY)
           - `typeSpecificSettings`: {object}
             - `redisMaxMemoryPolicy`: (string) Redis only: Key eviction policy at memory pressure. (enum: noeviction, allkeys-lru, allkeys-lfu, volatile-lru, volatile-lfu, allkeys-random, volatile-random, volatile-ttl, volatile-lrm, allkeys-lrm)
             - `redisSentinelEnabled`: (boolean) Redis only: Deploy Redis with Sentinel high availability. Default: false
             - `postgresqlWalLevel`: (string) PostgreSQL only: Configure wal_level setting. (enum: replica, logical)
             - `postgresqlSupabaseMode`: (boolean) PostgreSQL only: Enable Supabase mode (additional extensions and event trigger creation support). Cannot be changed after creation.
             - `postgresqlEdbMode`: (boolean) PostgreSQL only: Enable EDB mode (EDB extension set: edb_stat_monitor, query_advisor, edb_pg_tuner, aidb, pgaa and others). Requires PostgreSQL 18 or newer. Cannot be changed after creation.
             - `postgresqlConnectionPoolerEnabled`: (boolean) PostgreSQL only: Run connection pooler in front of postgres instance.
             - `postgresqlConnectionPoolerReplicas`: (integer) PostgreSQL only: Number of connection pooler replicas in case connection pooler is enabled.
             - `postgresqlReadConnectionPoolerEnabled`: (boolean) PostgreSQL only: Run connection pooler in front of read-only postgres instance.
             - `postgresqlReadConnectionPoolerReplicas`: (integer) PostgreSQL only: Number of read-only connection pooler replicas in case read-only connection pooler is enabled.
             - `postgresqlImportMode`: (boolean) PostgreSQL only: Configure PostgreSQL for higher import speed. Not recommended for production workloads.
             - `mysqlHaModeEnabled`: (boolean) MySQL only: Run MySQL in HA configuration with auto-failover and connection poolers.
             - `mysqlHaRouterEnabled`: (boolean) MySQL HA only: Run connection routers in front of MySQL instances.
             - `mysqlRouterReplicas`: (integer) MysqlHA only: Number of connection router replicas in case connection router is enabled.
           - `customCredentials`: {object}
             - `dbName`: (string) Custom database name. Not supported for all addon types.
           - `backupSchedules`: [array of] {object}
               - `scheduling`: {object}
                 - `interval`: (string) (required) The interval between backups. Each addon can only have one backup schedule of each interval for each backup type. (enum: hourly, daily, weekly)
                 - `minute`: [array of] (integer) A minute when the backup should be performed.
                 - `hour`: [array of] (integer) An hour when the backup should be performed, in 24 hour format.
                 - `day`: [array of] (integer) A day of the week when the backup should be performed, where `0` represents Monday and `6` represents Sunday.
               - `backupType`: (string) (required) The type of the backup to be performed. (enum: dump, snapshot)
               - `customDestinationId`: (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
               - `additionalDestinations`: [array of] {object}
                   - `destinationId`: (string) (required) Additional custom back up destination that should be used to store the snapshot. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
                   - `retentionTime`: (integer) Retention time of the additional back up in days.
                   - `type`: (string) (required) The type of backup destination to use (enum: custom)
               - `compressionType`: (string) The compression algorithm of the backup. Only applicable for dump backups. Defaults to `gz`. (enum: gz, zstd)
               - `retentionTime`: (integer) (required) The time the backup is retained for, in days.
           - `metadata`: {object}
             - `labels`: {object}
             - `annotations`: {object}
           - `id`: (string) (required) Identifier for the addon.
           - `appId`: (string) (required) Full identifier used for deployment
           - `status`: (string) (required) The current state of the addon. (enum: preDeployment, triggerAllocation, allocating, postDeployment, running, paused, scaling, upgrading, resetting, backup, restore, failed, error, errorAllocating, deleting, deleted)
           - `cluster`: {object}
             - `id`: (string) (required) The id of the cluster associated with this project.
             - `name`: (string) (required) The name of the cluster associated with this project.
             - `namespace`: (string) Namespace this resource is located within on the cluster.
             - `loadBalancers`: [array of] (string)
           - `createdAt`: (string) time of creation (format: date-time)
           - `updatedAt`: (string) time of update (format: date-time) | {object}
           - `name`: (string) (required) The name of the addon. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
           - `description`: (string) A description of the addon. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
           - `stageId`: (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
           - `tags`: [array of] (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
           - `type`: (string) (required) The identifier for the type of addon. Addon types can be found at the Get Addon Types endpoint.
           - `infrastructure`: {object}
             - `architecture`: (string) (enum: x86, arm)
           - `templateValues`: {object}
           - `id`: (string) (required) Identifier for the addon.
           - `appId`: (string) (required) Full identifier used for deployment
           - `status`: (string) (required) The current state of the addon. (enum: preDeployment, triggerAllocation, allocating, postDeployment, running, paused, scaling, upgrading, resetting, backup, restore, failed, error, errorAllocating, deleting, deleted)
           - `cluster`: {object}
             - `id`: (string) (required) The id of the cluster associated with this project.
             - `name`: (string) (required) The name of the cluster associated with this project.
             - `namespace`: (string) Namespace this resource is located within on the cluster.
             - `loadBalancers`: [array of] (string)
           - `createdAt`: (string) time of creation (format: date-time)
           - `updatedAt`: (string) time of update (format: date-time) | {object}
           - `name`: (string) (required) The name of the addon. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
           - `description`: (string) A description of the addon. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
           - `stageId`: (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
           - `tags`: [array of] (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
           - `type`: (string) (required) The identifier for the type of addon. Addon types can be found at the Get Addon Types endpoint.
           - `infrastructure`: {object}
             - `architecture`: (string) (enum: x86, arm)
           - `region`: (string) The AWS region identifier for the bucket location.
           - `id`: (string) (required) Identifier for the addon.
           - `appId`: (string) (required) Full identifier used for deployment
           - `status`: (string) (required) The current state of the addon. (enum: preDeployment, triggerAllocation, allocating, postDeployment, running, paused, scaling, upgrading, resetting, backup, restore, failed, error, errorAllocating, deleting, deleted)
           - `cluster`: {object}
             - `id`: (string) (required) The id of the cluster associated with this project.
             - `name`: (string) (required) The name of the cluster associated with this project.
             - `namespace`: (string) Namespace this resource is located within on the cluster.
             - `loadBalancers`: [array of] (string)
           - `createdAt`: (string) time of creation (format: date-time)
           - `updatedAt`: (string) time of update (format: date-time)
     - `spec`: (multiple options) {object}
         - `name`: (multiple options) (string) The name of the addon. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the addon. (pattern: .*\${.*}.*)
         - `description`: (multiple options) (string) A description of the addon. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the addon. (pattern: .*\${.*}.*)
         - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
         - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
         - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
         - `type`: (string) (required) The identifier for the type of addon. Addon types can be found at the Get Addon Types endpoint.
         - `infrastructure`: {object}
           - `architecture`: (string) (enum: x86, arm)
         - `version`: (string) (required) The version of the addon type to use. If set to `latest`, the addon will be created with the most recent addon version. If set to a major version appended with `-latest`, e.g. e.g. `14-latest` or `14.5-latest`, the addon will be created with the most recent minor/patch version belonging to that major version.
         - `billing`: {object}
           - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan to use. (pattern: .*\${.*}.*)
           - `storageClass`: (multiple options) (string) The type of storage. Only configurable if the relevant feature flag is enabled for you account (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the type of storage. Only configurable if the relevant feature flag is enabled for you account (pattern: .*\${.*}.*)
           - `storage`: (multiple options) (integer) The size of the addon storage, in megabytes. | (string) A string containing one or more references that resolve to the size of the addon storage, in megabytes. (pattern: .*\${.*}.*)
           - `replicas`: (multiple options) (integer) The number of addon replicas to run. | (string) A string containing one or more references that resolve to the number of addon replicas to run. (pattern: .*\${.*}.*)
           - `zonalRedundancy`: {object}
             - `type`: (multiple options) (string) Defines scheduling behaviour across different zones within the same region. (enum: required, disabled) | (string) A string containing one or more references that resolve to defines scheduling behaviour across different zones within the same region. (pattern: .*\${.*}.*)
             - `minZones`: (integer) Defines how many zones are required and will prevent containers from additional scheduling into existing zones. (Only relevant if type is set to "required")
           - `diskAutoscaling`: {object}
             - `enabled`: (boolean) (required) Enable automatic disk scaling when usage exceeds the configured threshold.
             - `thresholdPercent`: (number) Disk usage percentage that triggers a resize. Defaults to 90. (format: float) (enum: 75, 90)
             - `maxSizeMib`: (integer) Maximum disk size in mebibytes. When set, autoscaling will not expand storage beyond this value. Must be greater than the current storage size.
         - `source`: (multiple options) {object}
             - `projectId`: (multiple options) (string) ID of the project of the source addon. Only required if not the same as target addon (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of the project of the source addon. Only required if not the same as target addon (pattern: .*\${.*}.*)
             - `addonId`: (multiple options) (string) ID of the addon to fork. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of the addon to fork. (pattern: .*\${.*}.*)
             - `backupId`: (multiple options) (string) ID of a backup belonging to that addon to use for the fork. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of a backup belonging to that addon to use for the fork. (pattern: .*\${.*}.*) | {object}
             - `backupUid`: (multiple options) (string) Uid of the backup (format: uuid) | (string) A string containing one or more references that resolve to uid of the backup (pattern: .*\${.*}.*)
         - `tlsEnabled`: (boolean) Enables access to the addon via TLS (if supported by the addon type).
         - `externalAccessEnabled`: (boolean) Enables external access to the addon via TLS (if supported by the addon type).
         - `ipPolicies`: [array of] {object}
             - `addresses`: [array of] (string) An IP address used by this rule
             - `action`: (string) (required) The action for this rule. (enum: ALLOW, DENY)
         - `typeSpecificSettings`: {object}
           - `redisMaxMemoryPolicy`: (string) Redis only: Key eviction policy at memory pressure. (enum: noeviction, allkeys-lru, allkeys-lfu, volatile-lru, volatile-lfu, allkeys-random, volatile-random, volatile-ttl, volatile-lrm, allkeys-lrm)
           - `redisSentinelEnabled`: (boolean) Redis only: Deploy Redis with Sentinel high availability. Default: false
           - `postgresqlWalLevel`: (string) PostgreSQL only: Configure wal_level setting. (enum: replica, logical)
           - `postgresqlSupabaseMode`: (boolean) PostgreSQL only: Enable Supabase mode (additional extensions and event trigger creation support). Cannot be changed after creation.
           - `postgresqlEdbMode`: (boolean) PostgreSQL only: Enable EDB mode (EDB extension set: edb_stat_monitor, query_advisor, edb_pg_tuner, aidb, pgaa and others). Requires PostgreSQL 18 or newer. Cannot be changed after creation.
           - `postgresqlConnectionPoolerEnabled`: (boolean) PostgreSQL only: Run connection pooler in front of postgres instance.
           - `postgresqlConnectionPoolerReplicas`: (integer) PostgreSQL only: Number of connection pooler instances in case connection pooler is enabled.
           - `postgresqlReadConnectionPoolerEnabled`: (boolean) PostgreSQL only: Run connection pooler in front of read-only postgres instance.
           - `postgresqlReadConnectionPoolerReplicas`: (integer) PostgreSQL only: Number of read-only connection pooler replicas in case read-only connection pooler is enabled.
           - `postgresqlImportMode`: (boolean) PostgreSQL only: Configure PostgreSQL for higher import speed. Not recommended for production workloads.
           - `mysqlHaModeEnabled`: (boolean) MySQL only: Run MySQL in HA configuration with auto-failover and connection poolers.
           - `mysqlHaRouterEnabled`: (boolean) MySQL HA only: Run connection routers in front of MySQL instances.
           - `mysqlRouterReplicas`: (multiple options) (integer) MysqlHA only: Number of connection router replicas in case connection router is enabled. | (string) A string containing one or more references that resolve to mysqlHA only: Number of connection router replicas in case connection router is enabled. (pattern: .*\${.*}.*)
         - `customCredentials`: {object}
           - `dbName`: (multiple options) (string) Custom database name. Not supported for all addon types. | (string) A string containing one or more references that resolve to custom database name. Not supported for all addon types. (pattern: .*\${.*}.*)
         - `backupSchedules`: [array of] {object}
             - `scheduling`: (multiple options) {object}
                 - `interval`: (multiple options) (string) The interval between backups. Each addon can only have one backup schedule of each interval for each backup type. (enum: hourly, daily, weekly) | (string) A string containing one or more references that resolve to the interval between backups. Each addon can only have one backup schedule of each interval for each backup type. (pattern: .*\${.*}.*)
                 - `minute`: (multiple options) [array of] (integer) A minute when the backup should be performed. | (string) A string containing one or more references that resolve to an array of minutes when the backup should be performed. (pattern: .*\${.*}.*)
                 - `hour`: (multiple options) [array of] (integer) An hour when the backup should be performed, in 24 hour format. | (string) A string containing one or more references that resolve to an array of hours in 24 hour format when the backup should be performed. At these hours, a backup will be performed at each of the minutes provided in the `minute` field. Required for `daily` and `weekly` intervals and unavailable for `hourly` intervals. (pattern: .*\${.*}.*)
                 - `day`: (multiple options) [array of] (integer) A day of the week when the backup should be performed, where `0` represents Monday and `6` represents Sunday. | (string) A string containing one or more references that resolve to an array of days of the week when the backup should be performed, where `0` represents Monday and `6` represents Sunday. On these days, a backup will be performed at each of the minutes provided in the `minute` field whenever it is an hour from the `hour` field. Required for `weekly` intervals and unavailable for `hourly` and `daily` intervals. (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to schedule for the backup. (pattern: .*\${.*}.*)
             - `backupType`: (multiple options) (string) The type of the backup to be performed. (enum: dump, snapshot) | (string) A string containing one or more references that resolve to the type of the backup to be performed. (pattern: .*\${.*}.*)
             - `customDestinationId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
             - `additionalDestinations`: [array of] {object}
                 - `destinationId`: (multiple options) (string) Additional custom back up destination that should be used to store the snapshot. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to additional custom back up destination that should be used to store the snapshot. (pattern: .*\${.*}.*)
                 - `retentionTime`: (multiple options) (integer) Retention time of the additional back up in days. | (string) A string containing one or more references that resolve to retention time of the additional back up in days. (pattern: .*\${.*}.*)
                 - `type`: (string) (required) The type of backup destination to use (enum: custom)
             - `compressionType`: (multiple options) (string) The compression algorithm of the backup. Only applicable for dump backups. Defaults to `gz`. (enum: gz, zstd) | (string) A string containing one or more references that resolve to the compression algorithm of the backup. Only applicable for dump backups. Defaults to `gz`. (pattern: .*\${.*}.*)
             - `retentionTime`: (multiple options) (integer) The time the backup is retained for, in days. | (string) A string containing one or more references that resolve to the time the backup is retained for, in days. (pattern: .*\${.*}.*)
         - `metadata`: {object}
           - `labels`: {object}
           - `annotations`: {object} | {object}
         - `name`: (multiple options) (string) The name of the addon. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the addon. (pattern: .*\${.*}.*)
         - `description`: (multiple options) (string) A description of the addon. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the addon. (pattern: .*\${.*}.*)
         - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
         - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
         - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
         - `type`: (string) (required) The identifier for the type of addon. Addon types can be found at the Get Addon Types endpoint.
         - `infrastructure`: {object}
           - `architecture`: (string) (enum: x86, arm)
         - `templateValues`: {object} | {object}
         - `name`: (multiple options) (string) The name of the addon. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the addon. (pattern: .*\${.*}.*)
         - `description`: (multiple options) (string) A description of the addon. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the addon. (pattern: .*\${.*}.*)
         - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
         - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
         - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
         - `type`: (string) (required) The identifier for the type of addon. Addon types can be found at the Get Addon Types endpoint.
         - `infrastructure`: {object}
           - `architecture`: (string) (enum: x86, arm)
         - `region`: (string) The AWS region identifier for the bucket location.
     - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: ExternalAddon)
     - `condition`: (string) (enum: success)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: (undefined) The response data of the ExternalAddon node.
     - `spec`: {object}
       - `description`: (multiple options) (string) (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) (pattern: .*\${.*}.*)
       - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `environmentId`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
       - `spec`: {object}
         - `resourceType`: (string) (required) (enum: s3, rds, cloudSql, memorystore)
         - `provider`: {object}
           - `aws`: {object}
             - `region`: (string) (required)
             - `integrationId`: (string) (required) Integration to use for this job. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)
           - `google`: {object}
             - `project`: (string) (required)
             - `region`: (string)
             - `zone`: (string)
             - `integrationId`: (string) (required) Integration to use for this job. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)
           - `cloudflare`: {object}
             - `integrationId`: (string) (required) Integration to use for this job. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)
           - `aiven`: {object}
             - `integrationId`: (string) (required) Integration to use for this job. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)
           - `backblaze`: {object}
             - `integrationId`: (string) (required) Integration to use for this job. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)
           - `azure`: {object}
             - `integrationId`: (string) (required) Integration to use for this job. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)
           - `akamai`: {object}
             - `integrationId`: (string) (required) Integration to use for this job. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$)
         - `config`: {object}
         - `outputs`: {object}
         - `workloadIdentityId`: (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
       - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `usePlan`: (boolean) Require approval of a plan before applying | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: AddonBackup)
     - `condition`: (string) (enum: success)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `runNodeOnce`: (multiple options) (string) (enum: true, false) | (string) (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: (undefined) The response data of the AddonBackup node.
     - `spec`: {object}
       - `projectId`: (multiple options) (string) The ID of the addon to backup. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of the addon to backup. (pattern: .*\${.*}.*)
       - `addonId`: (multiple options) (string) The ID of the addon to backup. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of the addon to backup. (pattern: .*\${.*}.*)
       - `backupType`: (string) The type of backup to perform. Defaults to `snapshot`. (enum: dump, snapshot)
       - `compressionType`: (multiple options) (string) (enum: zstd, gz, none) | (string) (pattern: .*\${.*}.*)
       - `customDestinationId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `additionalDestinations`: [array of] {object}
           - `destinationId`: (multiple options) (string) Additional custom back up destination that should be used to store the snapshot. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to additional custom back up destination that should be used to store the snapshot. (pattern: .*\${.*}.*)
           - `retentionTime`: (multiple options) (integer) Retention time of the additional back up in days. | (string) A string containing one or more references that resolve to retention time of the additional back up in days. (pattern: .*\${.*}.*)
           - `type`: (string) (required) The type of backup destination to use (enum: custom) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: AddonImport)
     - `condition`: (string) (enum: success)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `runNodeOnce`: (multiple options) (string) (enum: true, false) | (string) (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: (undefined) The response data of the AddonImport node.
     - `spec`: {object}
       - `projectId`: (multiple options) (string) The ID of the project containing the addon. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of the project containing the addon. (pattern: .*\${.*}.*)
       - `addonId`: (multiple options) (string) The ID of the addon to import a backup into. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the ID of the addon to import a backup into. (pattern: .*\${.*}.*)
       - `importUrl`: (multiple options) (string) A URL to import a backup file from. | (string) A string containing one or more references that resolve to a URL to import a backup file from. (pattern: .*\${.*}.*)
       - `connectionString`: (multiple options) (string) A connection string for a live database to dump and import. | (string) A string containing one or more references that resolve to a connection string for a live database to dump and import. (pattern: .*\${.*}.*)
       - `importAllDatabases`: (boolean) When true, all non-system databases will be detected and dumped. Only applicable when using a connection string with PostgreSQL.
       - `compressionType`: (multiple options) (string) (enum: zstd, gz, none) | (string) (pattern: .*\${.*}.*)
       - `customDestinationId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: SecretGroup)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: {object}
         - `name`: (string) (required) The name of the secret. (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `description`: (string) A description of the secret. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
         - `stageId`: (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `tags`: [array of] (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `type`: (string) The hierarchy type of the created secret. (enum: secret, config)
         - `secretType`: (string) (required) The injection scope of the created secret (enum: environment-arguments, environment, arguments)
         - `priority`: (integer) (required) The priority with which different secrets will be merged.
         - `restrictions`: {object}
           - `restricted`: (boolean) Whether the secret is restricted to specific resources, tags, or environments. If this is `true`, resources listed in `nfObjects`, with a tag listed in `tags`, or in an environment listed in `stageIds` will have access to these secrets. Otherwise, all resources in the project will be able to access it.
           - `nfObjects`: [array of] {object}
               - `id`: (string) (required) ID of the entity the secret is restricted to. (pattern: ^[A-Za-z0-9-]+$)
               - `type`: (string) (required) Type of the entity the secret is restricted to. (enum: service, job)
           - `tags`: [array of] (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
           - `tagMatchCondition`: (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or)
           - `stageIds`: [array of] (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `addonDependencies`: [array of] {object}
             - `addonId`: (string) (required) The id of the addon to link. (pattern: ^[A-Za-z0-9-]+$)
             - `keys`: [array of] {object}
                 - `keyName`: (string) (required) The name of the key to link. (pattern: [a-zA-Z]+)
                 - `aliases`: [array of] (string) The name of the alias. Keys may only contain letters, numbers, hyphens, forward slashes and dots. (pattern: ^[a-zA-Z0-9_./-]*$)
         - `externalAddonDependencies`: [array of] {object}
             - `addonId`: (string) (required) The id of the external addon to link. (pattern: ^[A-Za-z0-9-]+$)
             - `keys`: [array of] {object}
                 - `keyName`: (string) (required) The name of the key to link. (pattern: [a-zA-Z]+)
                 - `aliases`: [array of] (string) The name of the alias. Keys may only contain letters, numbers, hyphens, forward slashes and dots. (pattern: ^[a-zA-Z0-9_./-]*$)
         - `secrets`: {object}
           - `variables`: {object}
           - `files`: {object}
           - `dockerSecretMounts`: {object}
         - `id`: (string) (required) Identifier for the secret group (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `createdAt`: (string) time of creation (format: date-time)
         - `updatedAt`: (string) time of update (format: date-time)
     - `spec`: {object}
       - `description`: (multiple options) (string) A description of the secret. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the secret. (pattern: .*\${.*}.*)
       - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `type`: (string) The hierarchy type of the created secret. (enum: secret, config)
       - `secretType`: (string) The injection scope of the created secret (enum: environment-arguments, environment, arguments)
       - `priority`: (multiple options) (integer) The priority with which different secrets will be merged. | (string) A string containing one or more references that resolve to the priority with which different secrets will be merged. (pattern: .*\${.*}.*)
       - `restrictions`: {object}
         - `restricted`: (boolean) Whether the secret is restricted to specific resources, tags, or environments. If this is `true`, resources listed in `nfObjects`, with a tag listed in `tags`, or in an environment listed in `stageIds` will have access to these secrets. Otherwise, all resources in the project will be able to access it.
         - `nfObjects`: [array of] {object}
             - `id`: (multiple options) (string) ID of the entity the secret is restricted to. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of the entity the secret is restricted to. (pattern: .*\${.*}.*)
             - `type`: (string) (required) Type of the entity the secret is restricted to. (enum: service, job)
         - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
         - `tagMatchCondition`: (multiple options) (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or) | (string) A string containing one or more references that resolve to if all or any of the tags must be present on the target for it to match the condition. (pattern: .*\${.*}.*)
         - `stageIds`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `addonDependencies`: [array of] {object}
           - `addonId`: (multiple options) (string) The id of the addon to link. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the addon to link. (pattern: .*\${.*}.*)
           - `keys`: [array of] {object}
               - `keyName`: (string) (required) The name of the key to link. (pattern: [a-zA-Z]+)
               - `aliases`: [array of] (multiple options) (string) The name of the alias. Keys may only contain letters, numbers, hyphens, forward slashes and dots. (pattern: ^[a-zA-Z0-9_./-]*$) | (string) A string containing one or more references that resolve to the name of the alias. Keys may only contain letters, numbers, hyphens, forward slashes and dots. (pattern: .*\${.*}.*)
       - `externalAddonDependencies`: [array of] {object}
           - `addonId`: (multiple options) (string) The id of the external addon to link. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the external addon to link. (pattern: .*\${.*}.*)
           - `keys`: [array of] {object}
               - `keyName`: (string) (required) The name of the key to link. (pattern: [a-zA-Z]+)
               - `aliases`: [array of] (multiple options) (string) The name of the alias. Keys may only contain letters, numbers, hyphens, forward slashes and dots. (pattern: ^[a-zA-Z0-9_./-]*$) | (string) A string containing one or more references that resolve to the name of the alias. Keys may only contain letters, numbers, hyphens, forward slashes and dots. (pattern: .*\${.*}.*)
       - `secrets`: {object}
         - `variables`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
         - `files`: {object}
         - `dockerSecretMounts`: {object}
       - `name`: (multiple options) (string) The name of the secret. (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the name of the secret. (pattern: .*\${.*}.*)
     - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: SecretGroup)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: {object}
         - `name`: (string) (required) The name of the secret. (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `description`: (string) A description of the secret. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
         - `stageId`: (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `tags`: [array of] (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `type`: (string) The hierarchy type of the created secret. (enum: secret, config)
         - `secretType`: (string) (required) The injection scope of the created secret (enum: environment-arguments, environment, arguments)
         - `priority`: (integer) (required) The priority with which different secrets will be merged.
         - `restrictions`: {object}
           - `restricted`: (boolean) Whether the secret is restricted to specific resources, tags, or environments. If this is `true`, resources listed in `nfObjects`, with a tag listed in `tags`, or in an environment listed in `stageIds` will have access to these secrets. Otherwise, all resources in the project will be able to access it.
           - `nfObjects`: [array of] {object}
               - `id`: (string) (required) ID of the entity the secret is restricted to. (pattern: ^[A-Za-z0-9-]+$)
               - `type`: (string) (required) Type of the entity the secret is restricted to. (enum: service, job)
           - `tags`: [array of] (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
           - `tagMatchCondition`: (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or)
           - `stageIds`: [array of] (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `addonDependencies`: [array of] {object}
             - `addonId`: (string) (required) The id of the addon to link. (pattern: ^[A-Za-z0-9-]+$)
             - `keys`: [array of] {object}
                 - `keyName`: (string) (required) The name of the key to link. (pattern: [a-zA-Z]+)
                 - `aliases`: [array of] (string) The name of the alias. Keys may only contain letters, numbers, hyphens, forward slashes and dots. (pattern: ^[a-zA-Z0-9_./-]*$)
         - `externalAddonDependencies`: [array of] {object}
             - `addonId`: (string) (required) The id of the external addon to link. (pattern: ^[A-Za-z0-9-]+$)
             - `keys`: [array of] {object}
                 - `keyName`: (string) (required) The name of the key to link. (pattern: [a-zA-Z]+)
                 - `aliases`: [array of] (string) The name of the alias. Keys may only contain letters, numbers, hyphens, forward slashes and dots. (pattern: ^[a-zA-Z0-9_./-]*$)
         - `secrets`: {object}
           - `variables`: {object}
           - `files`: {object}
           - `dockerSecretMounts`: {object}
         - `id`: (string) (required) Identifier for the secret group (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `createdAt`: (string) time of creation (format: date-time)
         - `updatedAt`: (string) time of update (format: date-time)
     - `spec`: {object}
       - `name`: (multiple options) (string) The name of the secret. (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the name of the secret. (pattern: .*\${.*}.*)
       - `description`: (multiple options) (string) A description of the secret. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the secret. (pattern: .*\${.*}.*)
       - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
       - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `type`: (string) The hierarchy type of the created secret. (enum: secret, config)
       - `secretType`: (string) (required) The injection scope of the created secret (enum: environment-arguments, environment, arguments)
       - `priority`: (multiple options) (integer) The priority with which different secrets will be merged. | (string) A string containing one or more references that resolve to the priority with which different secrets will be merged. (pattern: .*\${.*}.*)
       - `restrictions`: {object}
         - `restricted`: (boolean) Whether the secret is restricted to specific resources, tags, or environments. If this is `true`, resources listed in `nfObjects`, with a tag listed in `tags`, or in an environment listed in `stageIds` will have access to these secrets. Otherwise, all resources in the project will be able to access it.
         - `nfObjects`: [array of] {object}
             - `id`: (multiple options) (string) ID of the entity the secret is restricted to. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of the entity the secret is restricted to. (pattern: .*\${.*}.*)
             - `type`: (string) (required) Type of the entity the secret is restricted to. (enum: service, job)
         - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
         - `tagMatchCondition`: (multiple options) (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or) | (string) A string containing one or more references that resolve to if all or any of the tags must be present on the target for it to match the condition. (pattern: .*\${.*}.*)
         - `stageIds`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `addonDependencies`: [array of] {object}
           - `addonId`: (multiple options) (string) The id of the addon to link. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the addon to link. (pattern: .*\${.*}.*)
           - `keys`: [array of] {object}
               - `keyName`: (string) (required) The name of the key to link. (pattern: [a-zA-Z]+)
               - `aliases`: [array of] (multiple options) (string) The name of the alias. Keys may only contain letters, numbers, hyphens, forward slashes and dots. (pattern: ^[a-zA-Z0-9_./-]*$) | (string) A string containing one or more references that resolve to the name of the alias. Keys may only contain letters, numbers, hyphens, forward slashes and dots. (pattern: .*\${.*}.*)
       - `externalAddonDependencies`: [array of] {object}
           - `addonId`: (multiple options) (string) The id of the external addon to link. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the external addon to link. (pattern: .*\${.*}.*)
           - `keys`: [array of] {object}
               - `keyName`: (string) (required) The name of the key to link. (pattern: [a-zA-Z]+)
               - `aliases`: [array of] (multiple options) (string) The name of the alias. Keys may only contain letters, numbers, hyphens, forward slashes and dots. (pattern: ^[a-zA-Z0-9_./-]*$) | (string) A string containing one or more references that resolve to the name of the alias. Keys may only contain letters, numbers, hyphens, forward slashes and dots. (pattern: .*\${.*}.*)
       - `secrets`: {object}
         - `variables`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
         - `files`: {object}
         - `dockerSecretMounts`: {object}
     - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: SSHIdentity)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: {object}
         - `id`: (string) (required) ID of the ssh identity (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
         - `name`: (string) (required) (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `description`: (string) (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
         - `sshPublicKeys`: [array of] {object}
             - `key`: (string) (required) The SSH public key.
         - `restrictions`: {object}
           - `projects`: {object}
             - `enabled`: (boolean) Whether restriction by project should be enabled.
             - `items`: [array of] (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
           - `tags`: {object}
             - `enabled`: (boolean) Whether restriction by tag should be enabled.
             - `items`: [array of] (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
             - `matchCondition`: (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or)
         - `updatedAt`: (string) time of update (format: date-time)
         - `createdAt`: (string) time of creation (format: date-time)
     - `spec`: {object}
       - `description`: (multiple options) (string) (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) (pattern: .*\${.*}.*)
       - `sshPublicKeys`: [array of] {object}
           - `key`: (multiple options) (string) The SSH public key. | (string) A string containing one or more references that resolve to the SSH public key. (pattern: .*\${.*}.*)
       - `restrictions`: {object}
         - `projects`: {object}
           - `enabled`: (boolean) Whether restriction by project should be enabled.
           - `items`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
         - `tags`: {object}
           - `enabled`: (boolean) Whether restriction by tag should be enabled.
           - `items`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
           - `matchCondition`: (multiple options) (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or) | (string) A string containing one or more references that resolve to if all or any of the tags must be present on the target for it to match the condition. (pattern: .*\${.*}.*)
       - `updatedAt`: (string) time of update (format: date-time)
       - `createdAt`: (string) time of creation (format: date-time)
       - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: SSHIdentity)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: {object}
         - `id`: (string) (required) ID of the ssh identity (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
         - `name`: (string) (required) (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `description`: (string) (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
         - `sshPublicKeys`: [array of] {object}
             - `key`: (string) (required) The SSH public key.
         - `restrictions`: {object}
           - `projects`: {object}
             - `enabled`: (boolean) Whether restriction by project should be enabled.
             - `items`: [array of] (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
           - `tags`: {object}
             - `enabled`: (boolean) Whether restriction by tag should be enabled.
             - `items`: [array of] (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
             - `matchCondition`: (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or)
         - `updatedAt`: (string) time of update (format: date-time)
         - `createdAt`: (string) time of creation (format: date-time)
     - `spec`: {object}
       - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `description`: (multiple options) (string) (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) (pattern: .*\${.*}.*)
       - `sshPublicKeys`: [array of] {object}
           - `key`: (multiple options) (string) The SSH public key. | (string) A string containing one or more references that resolve to the SSH public key. (pattern: .*\${.*}.*)
       - `restrictions`: {object}
         - `projects`: {object}
           - `enabled`: (boolean) Whether restriction by project should be enabled.
           - `items`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
         - `tags`: {object}
           - `enabled`: (boolean) Whether restriction by tag should be enabled.
           - `items`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
           - `matchCondition`: (multiple options) (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or) | (string) A string containing one or more references that resolve to if all or any of the tags must be present on the target for it to match the condition. (pattern: .*\${.*}.*)
       - `updatedAt`: (string) time of update (format: date-time)
       - `createdAt`: (string) time of creation (format: date-time)
     - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: WorkloadIdentity)
     - `condition`: (string) (enum: success)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: {object}
         - `id`: (string) (required) ID of the workload identity (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
         - `name`: (string) (required) (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `description`: (string) (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
         - `spec`: {object}
           - `providerLinkId`: (string) (required) The internal ID of the BYOC provider integration to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
           - `roleMode`: (string) (required) (enum: managed, existing)
           - `providerSetupMode`: (string) (enum: auto, manual)
           - `provider`: (multiple options) {object}
               - `type`: (string) (required) (enum: aws)
               - `policyDocument`: {object}
                 - `Version`: (string) (required) (enum: 2012-10-17, 2008-10-17)
                 - `Statement`: (multiple options) {object}
                     - `Sid`: (string) (pattern: ^[a-zA-Z0-9]*$)
                     - `Effect`: (string) (required) (enum: Allow, Deny)
                     - `Action`: (multiple options) (string) A single IAM action. | [array of] (string)
                     - `Resource`: (multiple options) (string) A single resource ARN. (pattern: ^(\*|arn:[a-zA-Z0-9:*/\-?_+=,.@]+)$) | [array of] (string) (pattern: ^(\*|arn:[a-zA-Z0-9:*/\-?_+=,.@]+)$)
                     - `Condition`: {object} | [array of] {object}
                       - `Sid`: (string) (pattern: ^[a-zA-Z0-9]*$)
                       - `Effect`: (string) (required) (enum: Allow, Deny)
                       - `Action`: (multiple options) (string) A single IAM action. | [array of] (string)
                       - `Resource`: (multiple options) (string) A single resource ARN. (pattern: ^(\*|arn:[a-zA-Z0-9:*/\-?_+=,.@]+)$) | [array of] (string) (pattern: ^(\*|arn:[a-zA-Z0-9:*/\-?_+=,.@]+)$)
                       - `Condition`: {object}
               - `roleName`: (string) The name for the AWS IAM role to create. If not specified, a name is generated automatically. (pattern: ^[\w+=,.@\-]{1,64}$)
               - `rolePath`: (string) The path for the AWS IAM role to create. (pattern: ^\/?[\w+=,.@\-]+(?:\/[\w+=,.@\-]+)*\/?$)
               - `arn`: (string) | {object}
               - `type`: (string) (required) (enum: aws)
               - `existingRoleArn`: (string) (required)
               - `arn`: (string) | {object}
               - `type`: (string) (required) (enum: gcp)
               - `permissions`: [array of] (string) (pattern: ^[a-zA-Z0-9.]+$)
               - `impersonationUrl`: (string)
               - `audience`: (string) | {object}
               - `type`: (string) (required) (enum: gcp)
               - `existingRoleAudience`: (string) (required)
               - `existingRoleImpersonationUrl`: (string) (required)
               - `impersonationUrl`: (string)
               - `audience`: (string)
           - `restrictions`: {object}
             - `projects`: {object}
               - `enabled`: (boolean) Whether restriction by project should be enabled.
               - `items`: [array of] (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
             - `tags`: {object}
               - `enabled`: (boolean) Whether restriction by tag should be enabled.
               - `items`: [array of] (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
               - `matchCondition`: (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or)
         - `state`: {object}
           - `status`: (string) (required) The current install status of the workload identity. (enum: unapplied, outdated, installing, updating, error, applied, deleting)
           - `updatedAt`: (string) time of update (format: date-time)
           - `errors`: [array of] (string)
         - `updatedAt`: (string) time of update (format: date-time)
         - `createdAt`: (string) time of creation (format: date-time)
     - `spec`: {object}
       - `description`: (multiple options) (string) (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) (pattern: .*\${.*}.*)
       - `spec`: {object}
         - `provider`: (multiple options) {object}
             - `type`: (string) (required) (enum: aws)
             - `policyDocument`: (multiple options) {object}
                 - `Version`: (string) (required) (enum: 2012-10-17, 2008-10-17)
                 - `Statement`: (multiple options) {object}
                     - `Sid`: (string) (pattern: ^[a-zA-Z0-9]*$)
                     - `Effect`: (string) (required) (enum: Allow, Deny)
                     - `Action`: (multiple options) (string) A single IAM action. | [array of] (string)
                     - `Resource`: (multiple options) (string) A single resource ARN. (pattern: ^(\*|arn:[a-zA-Z0-9:*/\-?_+=,.@]+)$) | [array of] (string) (pattern: ^(\*|arn:[a-zA-Z0-9:*/\-?_+=,.@]+)$)
                     - `Condition`: {object} | [array of] {object}
                       - `Sid`: (string) (pattern: ^[a-zA-Z0-9]*$)
                       - `Effect`: (string) (required) (enum: Allow, Deny)
                       - `Action`: (multiple options) (string) A single IAM action. | [array of] (string)
                       - `Resource`: (multiple options) (string) A single resource ARN. (pattern: ^(\*|arn:[a-zA-Z0-9:*/\-?_+=,.@]+)$) | [array of] (string) (pattern: ^(\*|arn:[a-zA-Z0-9:*/\-?_+=,.@]+)$)
                       - `Condition`: {object} | (string) A string containing one or more references that resolve to the AWS IAM policy document. (pattern: .*\${.*}.*)
             - `roleName`: (multiple options) (string) The name for the AWS IAM role to create. If not specified, a name is generated automatically. (pattern: ^[\w+=,.@\-]{1,64}$) | (string) A string containing one or more references that resolve to the name for the AWS IAM role to create. If not specified, a name is generated automatically. (pattern: .*\${.*}.*)
             - `rolePath`: (multiple options) (string) The path for the AWS IAM role to create. (pattern: ^\/?[\w+=,.@\-]+(?:\/[\w+=,.@\-]+)*\/?$) | (string) A string containing one or more references that resolve to the path for the AWS IAM role to create. (pattern: .*\${.*}.*)
             - `arn`: (string) | {object}
             - `type`: (string) (required) (enum: aws)
             - `existingRoleArn`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
             - `arn`: (string) | {object}
             - `type`: (string) (required) (enum: gcp)
             - `permissions`: (multiple options) [array of] (string) (pattern: ^[a-zA-Z0-9.]+$) | (string) A string containing one or more references that resolve to a list of GCP permissions to assign to this workload identity. (pattern: .*\${.*}.*)
             - `impersonationUrl`: (string)
             - `audience`: (string) | {object}
             - `type`: (string) (required) (enum: gcp)
             - `existingRoleAudience`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
             - `existingRoleImpersonationUrl`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
             - `impersonationUrl`: (string)
             - `audience`: (string)
         - `restrictions`: {object}
           - `projects`: {object}
             - `enabled`: (boolean) Whether restriction by project should be enabled.
             - `items`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
           - `tags`: {object}
             - `enabled`: (boolean) Whether restriction by tag should be enabled.
             - `items`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
             - `matchCondition`: (multiple options) (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or) | (string) A string containing one or more references that resolve to if all or any of the tags must be present on the target for it to match the condition. (pattern: .*\${.*}.*)
       - `updatedAt`: (string) time of update (format: date-time)
       - `createdAt`: (string) time of creation (format: date-time)
       - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
     - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: WorkloadIdentity)
     - `condition`: (string) (enum: success)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: {object}
         - `id`: (string) (required) ID of the workload identity (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39)
         - `name`: (string) (required) (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
         - `description`: (string) (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
         - `spec`: {object}
           - `providerLinkId`: (string) (required) The internal ID of the BYOC provider integration to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
           - `roleMode`: (string) (required) (enum: managed, existing)
           - `providerSetupMode`: (string) (enum: auto, manual)
           - `provider`: (multiple options) {object}
               - `type`: (string) (required) (enum: aws)
               - `policyDocument`: {object}
                 - `Version`: (string) (required) (enum: 2012-10-17, 2008-10-17)
                 - `Statement`: (multiple options) {object}
                     - `Sid`: (string) (pattern: ^[a-zA-Z0-9]*$)
                     - `Effect`: (string) (required) (enum: Allow, Deny)
                     - `Action`: (multiple options) (string) A single IAM action. | [array of] (string)
                     - `Resource`: (multiple options) (string) A single resource ARN. (pattern: ^(\*|arn:[a-zA-Z0-9:*/\-?_+=,.@]+)$) | [array of] (string) (pattern: ^(\*|arn:[a-zA-Z0-9:*/\-?_+=,.@]+)$)
                     - `Condition`: {object} | [array of] {object}
                       - `Sid`: (string) (pattern: ^[a-zA-Z0-9]*$)
                       - `Effect`: (string) (required) (enum: Allow, Deny)
                       - `Action`: (multiple options) (string) A single IAM action. | [array of] (string)
                       - `Resource`: (multiple options) (string) A single resource ARN. (pattern: ^(\*|arn:[a-zA-Z0-9:*/\-?_+=,.@]+)$) | [array of] (string) (pattern: ^(\*|arn:[a-zA-Z0-9:*/\-?_+=,.@]+)$)
                       - `Condition`: {object}
               - `roleName`: (string) The name for the AWS IAM role to create. If not specified, a name is generated automatically. (pattern: ^[\w+=,.@\-]{1,64}$)
               - `rolePath`: (string) The path for the AWS IAM role to create. (pattern: ^\/?[\w+=,.@\-]+(?:\/[\w+=,.@\-]+)*\/?$)
               - `arn`: (string) | {object}
               - `type`: (string) (required) (enum: aws)
               - `existingRoleArn`: (string) (required)
               - `arn`: (string) | {object}
               - `type`: (string) (required) (enum: gcp)
               - `permissions`: [array of] (string) (pattern: ^[a-zA-Z0-9.]+$)
               - `impersonationUrl`: (string)
               - `audience`: (string) | {object}
               - `type`: (string) (required) (enum: gcp)
               - `existingRoleAudience`: (string) (required)
               - `existingRoleImpersonationUrl`: (string) (required)
               - `impersonationUrl`: (string)
               - `audience`: (string)
           - `restrictions`: {object}
             - `projects`: {object}
               - `enabled`: (boolean) Whether restriction by project should be enabled.
               - `items`: [array of] (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
             - `tags`: {object}
               - `enabled`: (boolean) Whether restriction by tag should be enabled.
               - `items`: [array of] (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
               - `matchCondition`: (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or)
         - `state`: {object}
           - `status`: (string) (required) The current install status of the workload identity. (enum: unapplied, outdated, installing, updating, error, applied, deleting)
           - `updatedAt`: (string) time of update (format: date-time)
           - `errors`: [array of] (string)
         - `updatedAt`: (string) time of update (format: date-time)
         - `createdAt`: (string) time of creation (format: date-time)
     - `spec`: {object}
       - `name`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `description`: (multiple options) (string) (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) (pattern: .*\${.*}.*)
       - `spec`: {object}
         - `providerLinkId`: (multiple options) (string) The internal ID of the BYOC provider integration to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the internal ID of the BYOC provider integration to use. (pattern: .*\${.*}.*)
         - `roleMode`: (string) (required) (enum: managed, existing)
         - `providerSetupMode`: (string) (enum: auto, manual)
         - `provider`: (multiple options) {object}
             - `type`: (string) (required) (enum: aws)
             - `policyDocument`: (multiple options) {object}
                 - `Version`: (string) (required) (enum: 2012-10-17, 2008-10-17)
                 - `Statement`: (multiple options) {object}
                     - `Sid`: (string) (pattern: ^[a-zA-Z0-9]*$)
                     - `Effect`: (string) (required) (enum: Allow, Deny)
                     - `Action`: (multiple options) (string) A single IAM action. | [array of] (string)
                     - `Resource`: (multiple options) (string) A single resource ARN. (pattern: ^(\*|arn:[a-zA-Z0-9:*/\-?_+=,.@]+)$) | [array of] (string) (pattern: ^(\*|arn:[a-zA-Z0-9:*/\-?_+=,.@]+)$)
                     - `Condition`: {object} | [array of] {object}
                       - `Sid`: (string) (pattern: ^[a-zA-Z0-9]*$)
                       - `Effect`: (string) (required) (enum: Allow, Deny)
                       - `Action`: (multiple options) (string) A single IAM action. | [array of] (string)
                       - `Resource`: (multiple options) (string) A single resource ARN. (pattern: ^(\*|arn:[a-zA-Z0-9:*/\-?_+=,.@]+)$) | [array of] (string) (pattern: ^(\*|arn:[a-zA-Z0-9:*/\-?_+=,.@]+)$)
                       - `Condition`: {object} | (string) A string containing one or more references that resolve to the AWS IAM policy document. (pattern: .*\${.*}.*)
             - `roleName`: (multiple options) (string) The name for the AWS IAM role to create. If not specified, a name is generated automatically. (pattern: ^[\w+=,.@\-]{1,64}$) | (string) A string containing one or more references that resolve to the name for the AWS IAM role to create. If not specified, a name is generated automatically. (pattern: .*\${.*}.*)
             - `rolePath`: (multiple options) (string) The path for the AWS IAM role to create. (pattern: ^\/?[\w+=,.@\-]+(?:\/[\w+=,.@\-]+)*\/?$) | (string) A string containing one or more references that resolve to the path for the AWS IAM role to create. (pattern: .*\${.*}.*)
             - `arn`: (string) | {object}
             - `type`: (string) (required) (enum: aws)
             - `existingRoleArn`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
             - `arn`: (string) | {object}
             - `type`: (string) (required) (enum: gcp)
             - `permissions`: (multiple options) [array of] (string) (pattern: ^[a-zA-Z0-9.]+$) | (string) A string containing one or more references that resolve to a list of GCP permissions to assign to this workload identity. (pattern: .*\${.*}.*)
             - `impersonationUrl`: (string)
             - `audience`: (string) | {object}
             - `type`: (string) (required) (enum: gcp)
             - `existingRoleAudience`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
             - `existingRoleImpersonationUrl`: (multiple options) (string) | (string) (pattern: .*\${.*}.*)
             - `impersonationUrl`: (string)
             - `audience`: (string)
         - `restrictions`: {object}
           - `projects`: {object}
             - `enabled`: (boolean) Whether restriction by project should be enabled.
             - `items`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
           - `tags`: {object}
             - `enabled`: (boolean) Whether restriction by tag should be enabled.
             - `items`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
             - `matchCondition`: (multiple options) (string) If all or any of the tags must be present on the target for it to match the condition. (enum: and, or) | (string) A string containing one or more references that resolve to if all or any of the tags must be present on the target for it to match the condition. (pattern: .*\${.*}.*)
       - `updatedAt`: (string) time of update (format: date-time)
       - `createdAt`: (string) time of creation (format: date-time)
     - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: Pipeline)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: (undefined) The response data of the Pipeline node.
     - `spec`: {object}
       - `description`: (multiple options) (string) A description of the pipeline. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the pipeline. (pattern: .*\${.*}.*)
       - `preview`: {object}
         - `kind`: (undefined) (required) (enum: PreviewEnv)
         - `spec`: {object}
           - `apiVersion`: (string) (required) The version of the Northflank API to run the template against. (enum: v1.2)
           - `options`: {object}
             - `concurrencyPolicy`: (string) Defines the concurrency behaviour of the template with respect to parallel runs. (enum: allow, queue, forbid, latest, replace)
             - `nameFormat`: (string) The format of the automatically generated preview name. This is a parsed ref string.
             - `prefixName`: (boolean) If true, the preview name will default to the front of the resource name.
             - `useBranchContents`: (boolean) If true, and gitops is enabled, the preview will run based on the contents of the branch that triggered it, rather than the set branch.
             - `schedule`: {object}
               - `mon`: {object}
                 - `startTime`: (integer)
                 - `endTime`: (integer)
               - `tue`: {object}
                 - `startTime`: (integer)
                 - `endTime`: (integer)
               - `wed`: {object}
                 - `startTime`: (integer)
                 - `endTime`: (integer)
               - `thu`: {object}
                 - `startTime`: (integer)
                 - `endTime`: (integer)
               - `fri`: {object}
                 - `startTime`: (integer)
                 - `endTime`: (integer)
               - `sat`: {object}
                 - `startTime`: (integer)
                 - `endTime`: (integer)
               - `sun`: {object}
                 - `startTime`: (integer)
                 - `endTime`: (integer)
             - `expiry`: {object}
               - `previewLifetime`: (integer) If set, preview environments will be automatically deleted after this many minutes since their last update.
               - `resetOnUpdate`: (boolean) If `true`, the expiry time for an existing preview will be reset when it is ran again.
           - `arguments`: {object}
           - `gitops`: {object}
             - `vcsService`: (string) (required) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure)
             - `selfHostedVcsId`: (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$)
             - `accountLogin`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name.
             - `vcsLinkId`: (string) Legacy key. Please used accountLogin instead.
             - `repoUrl`: (string) (required) URL of the Git repo to sync the file with. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$)
             - `branch`: (string) (required) The name of the branch to use.
             - `filePath`: (string) (required) The file path in the repository. If using an existing file, it should be in JSON format. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$)
           - `$schema`: (string)
           - `spec`: (undefined)
           - `triggers`: [array of] {object}
               - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
               - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
               - `selfHostedVcsId`: (multiple options) (string) If vcsService is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if vcsService is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
               - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
               - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
               - `repoUrl`: (multiple options) (string) URL of the Git repo that will trigger the template. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo that will trigger the template. (pattern: .*\${.*}.*)
               - `branchRestrictions`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
               - `prRestrictions`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
               - `pathIgnoreRules`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
               - `ciIgnoreFlags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
               - `ciIgnoreFlagsEnabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `isAllowList`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `ignoreDrafts`: (multiple options) (boolean) If `true`, draft pull requests from this repo will not trigger the template. | (string) A string containing one or more references that resolve to if `true`, draft pull requests from this repo will not trigger the template. (pattern: .*\${.*}.*)
       - `stages`: [array of] {object}
           - `name`: (string) (required) The stage in the pipeline to include the resource. (enum: Development, Staging, Production)
           - `releaseFlow`: {object}
             - `kind`: (undefined) (required) (enum: ReleaseFlow)
             - `spec`: {object}
               - `apiVersion`: (string) (required) The version of the Northflank API to run the template against. (enum: v1.2)
               - `arguments`: {object}
               - `options`: {object}
                 - `concurrencyPolicy`: (string) Defines the concurrency behaviour of the template with respect to parallel runs. (enum: allow, queue, forbid, latest, replace)
                 - `paused`: (boolean) If `true`, the template will not run when triggered by git.
               - `gitops`: {object}
                 - `vcsService`: (string) (required) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure)
                 - `selfHostedVcsId`: (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$)
                 - `accountLogin`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name.
                 - `vcsLinkId`: (string) Legacy key. Please used accountLogin instead.
                 - `repoUrl`: (string) (required) URL of the Git repo to sync the file with. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$)
                 - `branch`: (string) (required) The name of the branch to use.
                 - `filePath`: (string) (required) The file path in the repository. If using an existing file, it should be in JSON format. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$)
               - `$schema`: (string)
               - `spec`: (undefined)
               - `richInputs`: [array of] (undefined)
               - `triggers`: [array of] {object}
                   - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
                   - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
                   - `selfHostedVcsId`: (multiple options) (string) If vcsService is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if vcsService is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
                   - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
                   - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
                   - `repoUrl`: (multiple options) (string) URL of the Git repo that will trigger the template. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo that will trigger the template. (pattern: .*\${.*}.*)
                   - `branchRestrictions`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
                   - `prRestrictions`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
                   - `pathIgnoreRules`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
                   - `ciIgnoreFlags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
                   - `ciIgnoreFlagsEnabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                   - `isAllowList`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                   - `ignoreDrafts`: (multiple options) (boolean) If `true`, draft pull requests from this repo will not trigger the template. | (string) A string containing one or more references that resolve to if `true`, draft pull requests from this repo will not trigger the template. (pattern: .*\${.*}.*)
           - `nfObjects`: [array of] {object}
               - `id`: (multiple options) (string) The ID of the service, job or addon to include in the pipeline. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the ID of the service, job or addon to include in the pipeline. (pattern: .*\${.*}.*)
               - `type`: (string) (required) The type of the resource to include in the pipeline. (enum: service, job, addon)
       - `name`: (multiple options) (string) The name of the pipeline. (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the name of the pipeline. (pattern: .*\${.*}.*)
     - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: Pipeline)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: (undefined) The response data of the Pipeline node.
     - `spec`: {object}
       - `name`: (multiple options) (string) The name of the pipeline. (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the name of the pipeline. (pattern: .*\${.*}.*)
       - `description`: (multiple options) (string) A description of the pipeline. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the pipeline. (pattern: .*\${.*}.*)
       - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
       - `preview`: {object}
         - `kind`: (undefined) (required) (enum: PreviewEnv)
         - `spec`: {object}
           - `apiVersion`: (string) (required) The version of the Northflank API to run the template against. (enum: v1.2)
           - `options`: {object}
             - `concurrencyPolicy`: (string) Defines the concurrency behaviour of the template with respect to parallel runs. (enum: allow, queue, forbid, latest, replace)
             - `nameFormat`: (string) The format of the automatically generated preview name. This is a parsed ref string.
             - `prefixName`: (boolean) If true, the preview name will default to the front of the resource name.
             - `useBranchContents`: (boolean) If true, and gitops is enabled, the preview will run based on the contents of the branch that triggered it, rather than the set branch.
             - `schedule`: {object}
               - `mon`: {object}
                 - `startTime`: (integer)
                 - `endTime`: (integer)
               - `tue`: {object}
                 - `startTime`: (integer)
                 - `endTime`: (integer)
               - `wed`: {object}
                 - `startTime`: (integer)
                 - `endTime`: (integer)
               - `thu`: {object}
                 - `startTime`: (integer)
                 - `endTime`: (integer)
               - `fri`: {object}
                 - `startTime`: (integer)
                 - `endTime`: (integer)
               - `sat`: {object}
                 - `startTime`: (integer)
                 - `endTime`: (integer)
               - `sun`: {object}
                 - `startTime`: (integer)
                 - `endTime`: (integer)
             - `expiry`: {object}
               - `previewLifetime`: (integer) If set, preview environments will be automatically deleted after this many minutes since their last update.
               - `resetOnUpdate`: (boolean) If `true`, the expiry time for an existing preview will be reset when it is ran again.
           - `arguments`: {object}
           - `gitops`: {object}
             - `vcsService`: (string) (required) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure)
             - `selfHostedVcsId`: (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$)
             - `accountLogin`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name.
             - `vcsLinkId`: (string) Legacy key. Please used accountLogin instead.
             - `repoUrl`: (string) (required) URL of the Git repo to sync the file with. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$)
             - `branch`: (string) (required) The name of the branch to use.
             - `filePath`: (string) (required) The file path in the repository. If using an existing file, it should be in JSON format. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$)
           - `$schema`: (string)
           - `spec`: (undefined)
           - `triggers`: [array of] {object}
               - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
               - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
               - `selfHostedVcsId`: (multiple options) (string) If vcsService is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if vcsService is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
               - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
               - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
               - `repoUrl`: (multiple options) (string) URL of the Git repo that will trigger the template. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo that will trigger the template. (pattern: .*\${.*}.*)
               - `branchRestrictions`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
               - `prRestrictions`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
               - `pathIgnoreRules`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
               - `ciIgnoreFlags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
               - `ciIgnoreFlagsEnabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `isAllowList`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
               - `ignoreDrafts`: (multiple options) (boolean) If `true`, draft pull requests from this repo will not trigger the template. | (string) A string containing one or more references that resolve to if `true`, draft pull requests from this repo will not trigger the template. (pattern: .*\${.*}.*)
       - `stages`: [array of] {object}
           - `name`: (string) (required) The stage in the pipeline to include the resource. (enum: Development, Staging, Production)
           - `releaseFlow`: {object}
             - `kind`: (undefined) (required) (enum: ReleaseFlow)
             - `spec`: {object}
               - `apiVersion`: (string) (required) The version of the Northflank API to run the template against. (enum: v1.2)
               - `arguments`: {object}
               - `options`: {object}
                 - `concurrencyPolicy`: (string) Defines the concurrency behaviour of the template with respect to parallel runs. (enum: allow, queue, forbid, latest, replace)
                 - `paused`: (boolean) If `true`, the template will not run when triggered by git.
               - `gitops`: {object}
                 - `vcsService`: (string) (required) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure)
                 - `selfHostedVcsId`: (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$)
                 - `accountLogin`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name.
                 - `vcsLinkId`: (string) Legacy key. Please used accountLogin instead.
                 - `repoUrl`: (string) (required) URL of the Git repo to sync the file with. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$)
                 - `branch`: (string) (required) The name of the branch to use.
                 - `filePath`: (string) (required) The file path in the repository. If using an existing file, it should be in JSON format. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$)
               - `$schema`: (string)
               - `spec`: (undefined)
               - `richInputs`: [array of] (undefined)
               - `triggers`: [array of] {object}
                   - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
                   - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
                   - `selfHostedVcsId`: (multiple options) (string) If vcsService is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if vcsService is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
                   - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
                   - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
                   - `repoUrl`: (multiple options) (string) URL of the Git repo that will trigger the template. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo that will trigger the template. (pattern: .*\${.*}.*)
                   - `branchRestrictions`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
                   - `prRestrictions`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
                   - `pathIgnoreRules`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
                   - `ciIgnoreFlags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
                   - `ciIgnoreFlagsEnabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                   - `isAllowList`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                   - `ignoreDrafts`: (multiple options) (boolean) If `true`, draft pull requests from this repo will not trigger the template. | (string) A string containing one or more references that resolve to if `true`, draft pull requests from this repo will not trigger the template. (pattern: .*\${.*}.*)
           - `nfObjects`: [array of] {object}
               - `id`: (multiple options) (string) The ID of the service, job or addon to include in the pipeline. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the ID of the service, job or addon to include in the pipeline. (pattern: .*\${.*}.*)
               - `type`: (string) (required) The type of the resource to include in the pipeline. (enum: service, job, addon)
     - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: Volume)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: (undefined) The response data of the Volume node.
     - `spec`: {object}
       - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `mounts`: [array of] {object}
           - `volumeMountPath`: (string) Optionally specify the path inside this volume that should be mounted (pattern: ^((?!\.\.).)*$)
           - `containerMountPath`: (string) (required) Specify the path into which the volume should be mounted (pattern: ^((?!:).)*$)
       - `spec`: {object}
         - `storageSize`: (multiple options) (integer) The size of the storage, in megabytes. Configurable sizes depend on the storage class. | (string) A string containing one or more references that resolve to the size of the storage, in megabytes. Configurable sizes depend on the storage class. (pattern: .*\${.*}.*)
       - `owningObject`: {object}
         - `id`: (multiple options) (string) The id of object to attach this volume to. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of object to attach this volume to. (pattern: .*\${.*}.*)
         - `type`: (string) (required) The type of the object to attach this volume to. (enum: service, job)
       - `attachedObjects`: [array of] {object}
           - `id`: (multiple options) (string) The id of object to attach this volume to. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of object to attach this volume to. (pattern: .*\${.*}.*)
           - `type`: (string) (required) The type of the object to attach this volume to. (enum: service, job)
       - `name`: (multiple options) (string) The name of the volume. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the volume. (pattern: .*\${.*}.*)
     - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: Volume)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: (undefined) The response data of the Volume node.
     - `spec`: {object}
       - `name`: (multiple options) (string) The name of the volume. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the volume. (pattern: .*\${.*}.*)
       - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
       - `stageId`: (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `tags`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
       - `mounts`: [array of] {object}
           - `volumeMountPath`: (string) Optionally specify the path inside this volume that should be mounted (pattern: ^((?!\.\.).)*$)
           - `containerMountPath`: (string) (required) Specify the path into which the volume should be mounted (pattern: ^((?!:).)*$)
       - `spec`: {object}
         - `accessMode`: (string) (required) Access mode of the volume. Only `ReadWriteOnce` is generally available. (enum: ReadWriteOnce, ReadWriteMany)
         - `storageClassName`: (string) The type of the storage.
         - `storageSize`: (integer) (required) The size of the storage, in megabytes. Configurable sizes depend on the storage class.
       - `source`: {object}
         - `type`: (multiple options) (string) (enum: volume, backup) | (string) (pattern: .*\${.*}.*)
         - `sourceId`: (multiple options) (string) Reference to the source object. For a volume source: "<volumeId>". For a backup source: "<volumeId>/<backupId>", or "<projectId>/<volumeId>/<backupId>" to restore from a backup in another project on the same cluster (requires the cross-project clone feature). | (string) A string containing one or more references that resolve to reference to the source object. For a volume source: "<volumeId>". For a backup source: "<volumeId>/<backupId>", or "<projectId>/<volumeId>/<backupId>" to restore from a backup in another project on the same cluster (requires the cross-project clone feature). (pattern: .*\${.*}.*)
       - `owningObject`: {object}
         - `id`: (multiple options) (string) The id of object to attach this volume to. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of object to attach this volume to. (pattern: .*\${.*}.*)
         - `type`: (string) (required) The type of the object to attach this volume to. (enum: service, job)
       - `attachedObjects`: [array of] {object}
           - `id`: (multiple options) (string) The id of object to attach this volume to. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of object to attach this volume to. (pattern: .*\${.*}.*)
           - `type`: (string) (required) The type of the object to attach this volume to. (enum: service, job)
     - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: Build)
     - `condition`: (string) (enum: success)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: (undefined) The response data of the Build node.
     - `spec`: {object}
       - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
       - `buildRules`: {object}
         - `pathIgnoreRules`: [array of] (string) (max length: 260)
         - `isAllowList`: (boolean)
         - `ciIgnoreFlagsEnabled`: (boolean)
         - `ciIgnoreFlags`: [array of] (string) (max length: 72)
       - `buildOverrides`: {object}
         - `buildArguments`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
         - `buildFiles`: {object}
         - `dockerSecretMounts`: {object}
         - `docker`: {object}
           - `dockerFilePath`: (string) The file path of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$)
           - `dockerWorkDir`: (string) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$)
           - `dockerfileTarget`: (string) If your Dockerfile contains multiple build stages, you can specify the target stage by entering its name here. (pattern: ^[a-zA-Z0-9-_]+$)
       - `id`: (multiple options) (string) The id of object to build. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of object to build. (pattern: .*\${.*}.*)
       - `type`: (string) (required) The type of the object to build. (enum: service, job)
       - `sha`: (multiple options) (string) Commit sha to build. If not provided, builds the most recent relevant commit. (min length: 40) (max length: 40) | (string) A string containing one or more references that resolve to commit sha to build. If not provided, builds the most recent relevant commit. (pattern: .*\${.*}.*)
       - `branch`: (multiple options) (string) Branch to build from. If `sha` is not provided, the latest commit of this branch will be built. Only supported by build services. Build services require either `branch` or `pullRequestId` field, but cannot be provided with both. | (string) A string containing one or more references that resolve to branch to build from. If `sha` is not provided, the latest commit of this branch will be built. Only supported by build services. Build services require either `branch` or `pullRequestId` field, but cannot be provided with both. (pattern: .*\${.*}.*)
       - `pullRequestId`: (multiple options) (integer) ID of a pull request to build from. If `sha` is not provided, the latest commit of this pull request will be built. Only supported by build services. Build services require either `branch` or `pullRequestId` field, but cannot be provided with both. | (string) A string containing one or more references that resolve to iD of a pull request to build from. If `sha` is not provided, the latest commit of this pull request will be built. Only supported by build services. Build services require either `branch` or `pullRequestId` field, but cannot be provided with both. (pattern: .*\${.*}.*)
       - `reuseExistingBuilds`: (boolean) If true, the build node will return an existing build if one is available for that commit. Otherwise, a new build will be created with every new preview environment. Defaults to `true`.
       - `buildRuleFallThroughHandling`: (string) Define handling if build rules do not match the specified commit (enum: fail, skip, useLastBuild) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: JobRun)
     - `condition`: (string) (enum: success)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `runNodeOnce`: (multiple options) (string) (enum: true, false) | (string) (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: (undefined) The response data of the JobRun node.
     - `spec`: {object}
       - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
       - `runtimeEnvironment`: (multiple options) {object} | (string) (pattern: .*\${.*}.*)
       - `runtimeFiles`: {object}
       - `dockerSecretMounts`: {object}
       - `billing`: {object}
         - `deploymentPlan`: (multiple options) (string) The ID of the deployment plan override to use. (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the ID of the deployment plan override to use. (pattern: .*\${.*}.*)
       - `deployment`: (multiple options) {object}
           - `docker`: {object}
             - `configType`: (string) (required) Type of entrypoint & command override configuration (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand)
             - `customEntrypoint`: (string) Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand`
             - `customCommand`: (string) Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand`
           - `buildpack`: {object}
             - `configType`: (string) (required) Type of buildpack run configuration (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand)
             - `customProcess`: (string) Custom process which should be run. Required in case where `configType` is `customProcess`
             - `customEntrypoint`: (string) Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand`
             - `customCommand`: (string) Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand`
           - `storage`: {object}
             - `useHdbStorage`: (boolean)
             - `usePdSsdStorage`: (boolean)
             - `ephemeralStorage`: {object}
               - `storageSize`: (multiple options) (integer) Ephemeral storage per container in MB | (string) A string containing one or more references that resolve to ephemeral storage per container in MB (pattern: .*\${.*}.*)
             - `shmSize`: (multiple options) (integer) Configures the amount of available memory-backed disk space available to /dev/shm | (string) A string containing one or more references that resolve to configures the amount of available memory-backed disk space available to /dev/shm (pattern: .*\${.*}.*)
           - `internal`: {object}
             - `id`: (multiple options) (multiple options) (string) The ID of a build service in the same project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) The ID of a build service in another project, in the format `project-id/build-service-id` | (string) A string containing one or more references that resolve to iD of the build service to deploy (pattern: .*\${.*}.*)
             - `branch`: (multiple options) (string) Branch to deploy | (string) A string containing one or more references that resolve to branch to deploy (pattern: .*\${.*}.*)
             - `buildSHA`: (multiple options) (multiple options) (string) A commit sha. (min length: 40) (max length: 40) | (string) Latest commit. (enum: latest) | (string) A string containing one or more references that resolve to commit SHA to deploy, or 'latest' to deploy the most recent commit (pattern: .*\${.*}.*)
             - `buildId`: (multiple options) (string) ID of the build that should be deployed | (string) A string containing one or more references that resolve to iD of the build that should be deployed (pattern: .*\${.*}.*) | {object}
           - `docker`: {object}
             - `configType`: (string) (required) Type of entrypoint & command override configuration (enum: default, customEntrypoint, customCommand, customEntrypointCustomCommand)
             - `customEntrypoint`: (string) Custom entrypoint which should be used. Required in case where `configType` is `customEntrypoint` or `customEntrypointCustomCommand`
             - `customCommand`: (string) Custom command which should be used. Required in case where `configType` is `customCommand` or `customEntrypointCustomCommand`
           - `buildpack`: {object}
             - `configType`: (string) (required) Type of buildpack run configuration (enum: default, customProcess, customCommand, customEntrypointCustomCommand, originalEntrypointCustomCommand)
             - `customProcess`: (string) Custom process which should be run. Required in case where `configType` is `customProcess`
             - `customEntrypoint`: (string) Custom entrypoint which should be run. Required in case where `configType` is `customEntrypointCustomCommand`
             - `customCommand`: (string) Custom command which should be run. Required in case where `configType` is `customCommand`, `customEntrypointCustomCommand` or `originalEntrypointCustomCommand`
           - `storage`: {object}
             - `useHdbStorage`: (boolean)
             - `usePdSsdStorage`: (boolean)
             - `ephemeralStorage`: {object}
               - `storageSize`: (multiple options) (integer) Ephemeral storage per container in MB | (string) A string containing one or more references that resolve to ephemeral storage per container in MB (pattern: .*\${.*}.*)
             - `shmSize`: (multiple options) (integer) Configures the amount of available memory-backed disk space available to /dev/shm | (string) A string containing one or more references that resolve to configures the amount of available memory-backed disk space available to /dev/shm (pattern: .*\${.*}.*)
           - `external`: {object}
             - `imagePath`: (multiple options) (string) Image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: ^(?:(?:https?:\/\/)?([a-zA-Z0-9\-]+\.[a-zA-Z0-9\.\-]+))?(?:\/)?([a-zA-Z/-9\.\-_]+)(?:\:([a-zA-Z/-9\.\-_\:]+)|\@([a-zA-Z/-9\.\-_\:]+))$) | (string) A string containing one or more references that resolve to image to be deployed. When not deploying from Dockerhub the URL must be specified. (pattern: .*\${.*}.*)
             - `credentials`: (multiple options) (string) ID of the saved credentials to use to access this external image. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of the saved credentials to use to access this external image. (pattern: .*\${.*}.*)
       - `jobId`: (multiple options) (string) The ID of the job to run. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 52) | (string) A string containing one or more references that resolve to the ID of the job to run. (pattern: .*\${.*}.*) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: LoopWorkflow)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: (undefined) The response data of the LoopWorkflow node.
     - `spec`: {object}
       - `iterations`: (multiple options) [array of] (multiple options) {object} | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
       - `steps`: [array of] (undefined) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: Action)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `runNodeOnce`: (multiple options) (string) (enum: true, false) | (string) (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: (undefined) The response data of the Action node.
     - `spec`: (multiple options) {object}
         - `kind`: (string) (required) The kind of action. (enum: Addon)
         - `spec`: (multiple options) {object}
             - `type`: (string) (required) The type of action. (enum: restart)
             - `data`: {object}
               - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
               - `addonId`: (multiple options) (string) The id of the addon to restart. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the addon to restart. (pattern: .*\${.*}.*)
               - `timeoutDuration`: (multiple options) (integer) Timeout for the condition in seconds. This will fail the condition after the timeout has elapsed. | (string) A template reference that resolves to a timeout duration in seconds (pattern: .*\${.*}.*)
             - `condition`: (string) (enum: running) | {object}
         - `kind`: (string) (required) The kind of action. (enum: AddonBackup)
         - `spec`: (multiple options) {object}
             - `type`: (string) (required) The type of action. (enum: restore)
             - `data`: {object}
               - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
               - `addonId`: (multiple options) (string) The id of the addon to restore a backup to. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the addon to restore a backup to. (pattern: .*\${.*}.*)
               - `backupId`: (multiple options) (string) The id of the backup to restore. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the backup to restore. (pattern: .*\${.*}.*)
               - `timeoutDuration`: (multiple options) (integer) Timeout for the condition in seconds. This will fail the condition after the timeout has elapsed. | (string) A template reference that resolves to a timeout duration in seconds (pattern: .*\${.*}.*)
             - `condition`: (string) (enum: success) | {object}
         - `kind`: (string) (required) The kind of action. (enum: Job)
         - `spec`: (multiple options) {object}
             - `type`: (string) (required) The type of action. (enum: execute)
             - `data`: {object}
               - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
               - `jobId`: (multiple options) (string) The id of the job to run the command in. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the job to run the command in. (pattern: .*\${.*}.*)
               - `command`: (string) (required)
               - `shell`: (string)
               - `user`: (string)
               - `group`: (string) | {object}
         - `kind`: (string) (required) The kind of action. (enum: Service)
         - `spec`: (multiple options) {object}
             - `type`: (string) (required) The type of action. (enum: restart)
             - `data`: {object}
               - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
               - `serviceId`: (multiple options) (string) The id of the service to restart. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the service to restart. (pattern: .*\${.*}.*)
               - `timeoutDuration`: (multiple options) (integer) Timeout for the condition in seconds. This will fail the condition after the timeout has elapsed. | (string) A template reference that resolves to a timeout duration in seconds (pattern: .*\${.*}.*)
             - `condition`: (string) (enum: running) | {object}
             - `type`: (string) (required) The type of action. (enum: execute)
             - `data`: {object}
               - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
               - `serviceId`: (multiple options) (string) The id of the service to run the command in. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the service to run the command in. (pattern: .*\${.*}.*)
               - `options`: {object}
                 - `dispatchOnly`: (boolean) Specify whether the command output should be awaited the node should succeed after having sent the command.
               - `command`: (string) (required)
               - `shell`: (string)
               - `user`: (string)
               - `group`: (string) | {object}
         - `kind`: (string) (required) The kind of action. (enum: VCS)
         - `spec`: (multiple options) {object}
             - `type`: (string) (required) The type of action. (enum: createRepoFromSource)
             - `data`: {object}
               - `sourceData`: {object}
                 - `publicRepo`: (multiple options) (boolean) Whether the source repository is a public repository. | (string) A string containing one or more references that resolve to whether the source repository is a public repository. (pattern: .*\${.*}.*)
                 - `vcsService`: (multiple options) (string) The VCS provider of the source repository. | (string) A string containing one or more references that resolve to the VCS provider of the source repository. (pattern: .*\${.*}.*)
                 - `oauthProvider`: (multiple options) (string) The OAuth provider used to access the source repository. | (string) A string containing one or more references that resolve to the OAuth provider used to access the source repository. (pattern: .*\${.*}.*)
                 - `repoUrl`: (multiple options) (string) URL of the source Git repo. | (string) A string containing one or more references that resolve to uRL of the source Git repo. (pattern: .*\${.*}.*)
                 - `branch`: (multiple options) (string) The name of the branch to use. | (string) A string containing one or more references that resolve to the name of the branch to use. (pattern: .*\${.*}.*)
                 - `accountLogin`: (multiple options) (string) The login name of the linked VCS account used to access the source repository. | (string) A string containing one or more references that resolve to the login name of the linked VCS account used to access the source repository. (pattern: .*\${.*}.*)
                 - `commitSha`: (multiple options) (string) The SHA of the commit to use. | (string) A string containing one or more references that resolve to the SHA of the commit to use. (pattern: .*\${.*}.*)
                 - `directory`: (multiple options) (string) The working directory of the Dockerfile. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]*$) | (string) A string containing one or more references that resolve to the working directory of the Dockerfile. (pattern: .*\${.*}.*)
                 - `vcsLinkId`: (multiple options) (string) The ID of the linked VCS account to use. (min length: 24) (max length: 24) | (string) A string containing one or more references that resolve to the ID of the linked VCS account to use. (pattern: .*\${.*}.*)
                 - `selfHostedVcsId`: (multiple options) (string) The ID of the self-hosted VCS to use. | (string) A string containing one or more references that resolve to the ID of the self-hosted VCS to use. (pattern: .*\${.*}.*)
               - `targetData`: {object}
                 - `name`: (multiple options) (string) The name of the repository to create. | (string) A string containing one or more references that resolve to the name of the repository to create. (pattern: .*\${.*}.*)
                 - `description`: (multiple options) (string) A description of the repository to create. | (string) A string containing one or more references that resolve to a description of the repository to create. (pattern: .*\${.*}.*)
                 - `privateRepo`: (multiple options) (boolean) Whether the repository should be created as a private repository. | (string) A string containing one or more references that resolve to whether the repository should be created as a private repository. (pattern: .*\${.*}.*)
                 - `branch`: (multiple options) (string) The repository branch. | (string) A string containing one or more references that resolve to the repository branch. (pattern: .*\${.*}.*)
                 - `context`: (multiple options) (string) The owner context (user or organisation) the repository should be created in. | (string) A string containing one or more references that resolve to the owner context (user or organisation) the repository should be created in. (pattern: .*\${.*}.*)
                 - `folder`: (multiple options) (string) The folder or project the repository should be created in, if supported by the VCS provider. | (string) A string containing one or more references that resolve to the folder or project the repository should be created in, if supported by the VCS provider. (pattern: .*\${.*}.*)
                 - `accountLogin`: (multiple options) (string) The login name of the linked VCS account used to create the repository. | (string) A string containing one or more references that resolve to the login name of the linked VCS account used to create the repository. (pattern: .*\${.*}.*)
                 - `vcsLinkId`: (multiple options) (string) The ID of the linked VCS account to use. (min length: 24) (max length: 24) | (string) A string containing one or more references that resolve to the ID of the linked VCS account to use. (pattern: .*\${.*}.*)
                 - `oauthProvider`: (multiple options) (string) The OAuth provider used to create the repository. | (string) A string containing one or more references that resolve to the OAuth provider used to create the repository. (pattern: .*\${.*}.*)
                 - `vcsService`: (multiple options) (string) The VCS provider to create the repository with. | (string) A string containing one or more references that resolve to the VCS provider to create the repository with. (pattern: .*\${.*}.*)
                 - `selfHostedVcsId`: (multiple options) (string) The ID of the self-hosted VCS to use. | (string) A string containing one or more references that resolve to the ID of the self-hosted VCS to use. (pattern: .*\${.*}.*) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: Condition)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: (undefined) The response data of the Condition node.
     - `spec`: (multiple options) {object}
         - `kind`: (string) (required) The kind of condition. (enum: Addon)
         - `spec`: (multiple options) {object}
             - `type`: (string) (required) The type of condition. (enum: running)
             - `data`: {object}
               - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
               - `addonId`: (multiple options) (string) The id of the addon to monitor. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the id of the addon to monitor. (pattern: .*\${.*}.*)
               - `timeoutDuration`: (multiple options) (integer) Timeout for the condition in seconds. This will fail the condition after the timeout has elapsed. | (string) A template reference that resolves to a timeout duration in seconds (pattern: .*\${.*}.*) | {object}
         - `kind`: (string) (required) The kind of condition. (enum: AddonBackup)
         - `spec`: (multiple options) {object}
             - `type`: (string) (required) The type of condition. (enum: success)
             - `data`: {object}
               - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
               - `addonId`: (multiple options) (string) The id of the addon to monitor. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the id of the addon to monitor. (pattern: .*\${.*}.*)
               - `backupId`: (multiple options) (string) The id of the backup to monitor. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the backup to monitor. (pattern: .*\${.*}.*) | {object}
         - `kind`: (string) (required) The kind of condition. (enum: AddonImport)
         - `spec`: (multiple options) {object}
             - `type`: (string) (required) The type of condition. (enum: success)
             - `data`: {object}
               - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
               - `addonId`: (multiple options) (string) The id of the addon to monitor. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the id of the addon to monitor. (pattern: .*\${.*}.*)
               - `importId`: (multiple options) (string) The id of the import to monitor. (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to the id of the import to monitor. (pattern: .*\${.*}.*) | {object}
         - `kind`: (string) (required) The kind of condition. (enum: Build)
         - `spec`: (multiple options) {object}
             - `type`: (string) (required) The type of condition. (enum: success)
             - `data`: {object}
               - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
               - `buildId`: (multiple options) (string) The id of the build to monitor. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the id of the build to monitor. (pattern: .*\${.*}.*) | {object}
         - `kind`: (string) (required) The kind of condition. (enum: BYOCCluster)
         - `spec`: (multiple options) {object}
             - `type`: (string) (required) The type of condition. (enum: running)
             - `data`: {object}
               - `clusterId`: (multiple options) (string) The id of the cluster to monitor. (pattern: ^[a-z]-?[a-z0-9]+(-[a-z0-9]+)*$) (min length: 3) (max length: 20) | (string) A string containing one or more references that resolve to the id of the cluster to monitor. (pattern: .*\${.*}.*)
               - `timeoutDuration`: (multiple options) (integer) Timeout for the condition in seconds. This will fail the condition after the timeout has elapsed. | (string) A template reference that resolves to a timeout duration in seconds (pattern: .*\${.*}.*) | {object}
         - `kind`: (string) (required) The kind of condition. (enum: JobRun)
         - `spec`: (multiple options) {object}
             - `type`: (string) (required) The type of condition. (enum: success)
             - `data`: {object}
               - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
               - `jobId`: (multiple options) (string) The id of the job to monitor. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the id of the job to monitor. (pattern: .*\${.*}.*)
               - `runId`: (multiple options) (string) The id of the job run to monitor. | (string) A string containing one or more references that resolve to the id of the job run to monitor. (pattern: .*\${.*}.*) | {object}
         - `kind`: (string) (required) The kind of condition. (enum: Service)
         - `spec`: (multiple options) {object}
             - `type`: (string) (required) The type of condition. (enum: running)
             - `data`: {object}
               - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
               - `serviceId`: (multiple options) (string) The id of the service to monitor. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 54) | (string) A string containing one or more references that resolve to the id of the service to monitor. (pattern: .*\${.*}.*)
               - `timeoutDuration`: (multiple options) (integer) Timeout for the condition in seconds. This will fail the condition after the timeout has elapsed. | (string) A template reference that resolves to a timeout duration in seconds (pattern: .*\${.*}.*) | {object}
         - `kind`: (string) (required) The kind of condition. (enum: VCS)
         - `spec`: (multiple options) {object}
             - `type`: (string) (required) The type of condition. (enum: createRepoFromSourceSuccess)
             - `data`: {object}
               - `trackerId`: (multiple options) (string) The tracker id outputted from the 'createRepoFromSource' action to monitor. | (string) A string containing one or more references that resolve to the tracker id outputted from the 'createRepoFromSource' action to monitor. (pattern: .*\${.*}.*) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: Template)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: (undefined) The response data of the Template node.
     - `spec`: (multiple options) {object}
         - `kind`: (string) (required) The kind of template. (enum: ResourceTemplate)
         - `spec`: {object} | {object}
         - `kind`: (string) (required) The kind of template. (enum: ReleaseFlow)
         - `spec`: {object} | {object}
         - `kind`: (string) (required) The kind of template. (enum: PreviewEnv)
         - `spec`: {object} | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: Message)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `runNodeOnce`: (multiple options) (string) (enum: true, false) | (string) (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: (undefined) The response data of the Message node.
     - `spec`: (multiple options) {object}
         - `kind`: (string) (required) The kind of message to send. (enum: VCS)
         - `spec`: {object}
           - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
           - `selfHostedVcsId`: (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$)
           - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
           - `repoUrl`: (multiple options) (string) URL of the Git repo to send this message to. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo to send this message to. (pattern: .*\${.*}.*)
           - `pullRequestId`: (multiple options) (string) The ID of the pull request to comment on. | (string) A string containing one or more references that resolve to the ID of the pull request to comment on. (pattern: .*\${.*}.*)
           - `message`: (multiple options) (string) The rich text message to comment. | (string) A string containing one or more references that resolve to the rich text message to comment. (pattern: .*\${.*}.*) | {object}
         - `kind`: (string) (required) The kind of message to send. (enum: SLACK)
         - `spec`: {object}
           - `webhookUrl`: (multiple options) (string) The Slack webhook URL to send messages to. | (string) A string containing one or more references that resolve to the Slack webhook URL to send messages to. (pattern: .*\${.*}.*)
           - `integrationInternalId`: (multiple options) (string) The ID of an existing Slack integration to use. (pattern: ^[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the ID of an existing Slack integration to use. (pattern: .*\${.*}.*)
           - `message`: (multiple options) (string) The message content to send to Slack. Supports markdown formatting. | (string) A string containing one or more references that resolve to the message content to send to Slack. Supports markdown formatting. (pattern: .*\${.*}.*) | {object}
         - `kind`: (string) (required) The kind of message to send. (enum: RAW_WEBHOOK)
         - `spec`: {object}
           - `webhookUrl`: (multiple options) (string) The webhook URL to send messages to. | (string) A string containing one or more references that resolve to the webhook URL to send messages to. (pattern: .*\${.*}.*)
           - `message`: (multiple options) (string) The message content to send to the webhook. | (string) A string containing one or more references that resolve to the message content to send to the webhook. (pattern: .*\${.*}.*) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: LoopData)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: (undefined) The response data of the LoopData node.
     - `spec`: {object} | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: SecretInheritance)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: (undefined) The response data of the SecretInheritance node.
     - `spec`: {object}
       - `configs`: (multiple options) [array of] (multiple options) (string) (pattern: ^[A-Za-z0-9-]+$) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
       - `secrets`: (multiple options) [array of] (multiple options) (string) (pattern: ^[A-Za-z0-9-]+$) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
       - `requiredKeys`: (multiple options) [array of] (multiple options) (string) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*)
       - `requiredFiles`: (multiple options) [array of] (multiple options) (string) | (string) (pattern: .*\${.*}.*) | (string) (pattern: .*\${.*}.*) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: EgressIp)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: (undefined) The response data of the EgressIp node.
     - `spec`: {object}
       - `name`: (multiple options) (string) The name of the egress IP. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the egress IP. (pattern: .*\${.*}.*)
       - `description`: (string) The description of the egress IP. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
       - `spec`: {object}
         - `provisioningMode`: (multiple options) (string) Provisioning mode for the egress IP: shared (uses pre-provisioned infrastructure) or dedicated (enum: shared, dedicated) | (string) A string containing one or more references that resolve to provisioning mode for the egress IP: shared (uses pre-provisioned infrastructure) or dedicated (pattern: .*\${.*}.*)
         - `region`: (multiple options) (string) Target region name (pattern: ^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$) | (string) A string containing one or more references that resolve to target region name (pattern: .*\${.*}.*)
         - `mode`: (multiple options) (string) Mode: 'include' (only these projects/resources use this egress IP), 'exclude' (all except these use it), or 'selector' (network-policy-style selector targeting). The selector/rules distinction is immutable after creation. (enum: include, exclude, selector) | (string) A string containing one or more references that resolve to mode: 'include' (only these projects/resources use this egress IP), 'exclude' (all except these use it), or 'selector' (network-policy-style selector targeting). The selector/rules distinction is immutable after creation. (pattern: .*\${.*}.*)
         - `rules`: (multiple options) [array of] {object}
               - `id`: (multiple options) (string) Project internal ID | (string) A string containing one or more references that resolve to project internal ID (pattern: .*\${.*}.*)
               - `restrictions`: {object}
                 - `enabled`: (boolean) (required) Whether restrictions scoping the rule to specific resources should be applied.
                 - `resources`: [array of] {object}
                     - `type`: (multiple options) (string) Resource type (enum: service, job) | (string) A string containing one or more references that resolve to resource type (pattern: .*\${.*}.*)
                     - `id`: (multiple options) (string) Resource internal ID | (string) A string containing one or more references that resolve to resource internal ID (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to egress IP rules - array of projects the rule applies to (pattern: .*\${.*}.*)
         - `selector`: {object}
           - `projects`: {object}
             - `enabled`: (boolean) (required) Whether to scope the selector to specific projects
             - `items`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
             - `restrictionMode`: (multiple options) (string) (enum: in, notIn) | (string) (pattern: .*\${.*}.*)
           - `tags`: {object}
             - `enabled`: (boolean) (required) Whether to scope to workloads carrying the given tags
             - `items`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
             - `matchCondition`: (multiple options) (string) (enum: or, and) | (string) (pattern: .*\${.*}.*)
     - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: EgressIp)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: (undefined) The response data of the EgressIp node.
     - `spec`: {object}
       - `name`: (multiple options) (string) The name of the egress IP. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the egress IP. (pattern: .*\${.*}.*)
       - `description`: (string) The description of the egress IP. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
       - `spec`: {object}
         - `provisioningMode`: (multiple options) (string) Provisioning mode for the egress IP: shared (uses pre-provisioned infrastructure) or dedicated (enum: shared, dedicated) | (string) A string containing one or more references that resolve to provisioning mode for the egress IP: shared (uses pre-provisioned infrastructure) or dedicated (pattern: .*\${.*}.*)
         - `region`: (multiple options) (string) Target region name (pattern: ^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$) | (string) A string containing one or more references that resolve to target region name (pattern: .*\${.*}.*)
         - `mode`: (multiple options) (string) Mode: 'include' (only these projects/resources use this egress IP), 'exclude' (all except these use it), or 'selector' (network-policy-style selector targeting). The selector/rules distinction is immutable after creation. (enum: include, exclude, selector) | (string) A string containing one or more references that resolve to mode: 'include' (only these projects/resources use this egress IP), 'exclude' (all except these use it), or 'selector' (network-policy-style selector targeting). The selector/rules distinction is immutable after creation. (pattern: .*\${.*}.*)
         - `rules`: (multiple options) [array of] {object}
               - `id`: (multiple options) (string) Project internal ID | (string) A string containing one or more references that resolve to project internal ID (pattern: .*\${.*}.*)
               - `restrictions`: {object}
                 - `enabled`: (boolean) (required) Whether restrictions scoping the rule to specific resources should be applied.
                 - `resources`: [array of] {object}
                     - `type`: (multiple options) (string) Resource type (enum: service, job) | (string) A string containing one or more references that resolve to resource type (pattern: .*\${.*}.*)
                     - `id`: (multiple options) (string) Resource internal ID | (string) A string containing one or more references that resolve to resource internal ID (pattern: .*\${.*}.*) | (string) A string containing one or more references that resolve to egress IP rules - array of projects the rule applies to (pattern: .*\${.*}.*)
         - `selector`: {object}
           - `projects`: {object}
             - `enabled`: (boolean) (required) Whether to scope the selector to specific projects
             - `items`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
             - `restrictionMode`: (multiple options) (string) (enum: in, notIn) | (string) (pattern: .*\${.*}.*)
           - `tags`: {object}
             - `enabled`: (boolean) (required) Whether to scope to workloads carrying the given tags
             - `items`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) (pattern: .*\${.*}.*)
             - `matchCondition`: (multiple options) (string) (enum: or, and) | (string) (pattern: .*\${.*}.*)
     - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: LoadBalancer)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: (undefined) The response data of the LoadBalancer node.
     - `spec`: {object}
       - `name`: (multiple options) (string) The name of the load balancer. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the load balancer. (pattern: .*\${.*}.*)
       - `description`: (string) The description of the load balancer. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
       - `spec`: {object}
         - `type`: (multiple options) (string) Protocol type for the load balancer (enum: tcp, udp) | (string) A string containing one or more references that resolve to protocol type for the load balancer (pattern: .*\${.*}.*)
         - `target`: {object}
           - `type`: (multiple options) (string) Target type for the load balancer (enum: region, cluster) | (string) A string containing one or more references that resolve to target type for the load balancer (pattern: .*\${.*}.*)
           - `targetId`: (multiple options) (multiple options) (string) Target region name (pattern: ^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$) | (string) Target cluster internal ID (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to id of the loadbalancer target (pattern: .*\${.*}.*)
         - `ports`: [array of] {object}
             - `id`: (multiple options) (string) Unique port identifier (pattern: ^port-\d+$) | (string) A string containing one or more references that resolve to unique port identifier (pattern: .*\${.*}.*)
             - `port`: (multiple options) (string) Port number or range (single port, multiple comma-separated, or range with dash) | (string) A string containing one or more references that resolve to port number or range (single port, multiple comma-separated, or range with dash) (pattern: .*\${.*}.*)
             - `customSettings`: {object}
               - `bridgeTlsMode`: (boolean)
               - `subdomainId`: (multiple options) (string) Full name of the load balancer subdomain linked to this port (TLS bridge mode) | (string) A string containing one or more references that resolve to full name of the load balancer subdomain linked to this port (TLS bridge mode) (pattern: .*\${.*}.*)
             - `backends`: [array of] {object}
                 - `id`: (multiple options) (string) Backend reference in format {projectId}/{nfObjectId} (pattern: ^[a-zA-Z0-9-]+\/[a-zA-Z0-9-]+$) | (string) A string containing one or more references that resolve to backend reference in format {projectId}/{nfObjectId} (pattern: .*\${.*}.*)
                 - `type`: (multiple options) (string) Backend type (service or addon) (enum: service, addon) | (string) A string containing one or more references that resolve to backend type (service or addon) (pattern: .*\${.*}.*)
                 - `port`: (multiple options) (integer) Backend port number | (string) A string containing one or more references that resolve to backend port number (pattern: .*\${.*}.*)
                 - `weight`: (multiple options) (integer) Traffic weight for this backend | (string) A string containing one or more references that resolve to traffic weight for this backend (pattern: .*\${.*}.*)
     - `updateMode`: (string) (required) Partially updates only the supplied fields on an existing resource. (enum: patch) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: LoadBalancer)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: (undefined) The response data of the LoadBalancer node.
     - `spec`: {object}
       - `name`: (multiple options) (string) The name of the load balancer. (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 39) | (string) A string containing one or more references that resolve to the name of the load balancer. (pattern: .*\${.*}.*)
       - `description`: (string) The description of the load balancer. (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
       - `spec`: {object}
         - `type`: (multiple options) (string) Protocol type for the load balancer (enum: tcp, udp) | (string) A string containing one or more references that resolve to protocol type for the load balancer (pattern: .*\${.*}.*)
         - `target`: {object}
           - `type`: (multiple options) (string) Target type for the load balancer (enum: region, cluster) | (string) A string containing one or more references that resolve to target type for the load balancer (pattern: .*\${.*}.*)
           - `targetId`: (multiple options) (multiple options) (string) Target region name (pattern: ^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$) | (string) Target cluster internal ID (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to id of the loadbalancer target (pattern: .*\${.*}.*)
         - `ports`: [array of] {object}
             - `id`: (multiple options) (string) Unique port identifier (pattern: ^port-\d+$) | (string) A string containing one or more references that resolve to unique port identifier (pattern: .*\${.*}.*)
             - `port`: (multiple options) (string) Port number or range (single port, multiple comma-separated, or range with dash) | (string) A string containing one or more references that resolve to port number or range (single port, multiple comma-separated, or range with dash) (pattern: .*\${.*}.*)
             - `customSettings`: {object}
               - `bridgeTlsMode`: (boolean)
               - `subdomainId`: (multiple options) (string) Full name of the load balancer subdomain linked to this port (TLS bridge mode) | (string) A string containing one or more references that resolve to full name of the load balancer subdomain linked to this port (TLS bridge mode) (pattern: .*\${.*}.*)
             - `backends`: [array of] {object}
                 - `id`: (multiple options) (string) Backend reference in format {projectId}/{nfObjectId} (pattern: ^[a-zA-Z0-9-]+\/[a-zA-Z0-9-]+$) | (string) A string containing one or more references that resolve to backend reference in format {projectId}/{nfObjectId} (pattern: .*\${.*}.*)
                 - `type`: (multiple options) (string) Backend type (service or addon) (enum: service, addon) | (string) A string containing one or more references that resolve to backend type (service or addon) (pattern: .*\${.*}.*)
                 - `port`: (multiple options) (integer) Backend port number | (string) A string containing one or more references that resolve to backend port number (pattern: .*\${.*}.*)
                 - `weight`: (multiple options) (integer) Traffic weight for this backend | (string) A string containing one or more references that resolve to traffic weight for this backend (pattern: .*\${.*}.*)
     - `updateMode`: (string) Controls how the resource is created or updated on each template run. `put` (default) creates or fully replaces the resource. `create` only creates the resource and skips the node if it already exists. `patch` partially updates only the supplied fields on an existing resource. (enum: put, create) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: OpenTofu)
     - `condition`: (string) (enum: success)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: (undefined) The response data of the OpenTofu node.
     - `spec`: {object}
       - `stateKey`: (string) (required) Key to track state, must not be changed after first run.
       - `isolateResourcesPerEnvironment`: (boolean) Each preview environment will have its own isolated OpenTofu state.
       - `usePlan`: (boolean) Require approval of a plan before applying
       - `spec`: {object}
         - `provider`: {object}
           - `aws`: {object}
             - `region`: (string) (required)
             - `integrationId`: (multiple options) (string) Integration to use for this job. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to integration to use for this job. (pattern: .*\${.*}.*)
           - `google`: {object}
             - `project`: (string) (required)
             - `region`: (string)
             - `zone`: (string)
             - `integrationId`: (multiple options) (string) Integration to use for this job. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to integration to use for this job. (pattern: .*\${.*}.*)
           - `cloudflare`: {object}
             - `integrationId`: (multiple options) (string) Integration to use for this job. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to integration to use for this job. (pattern: .*\${.*}.*)
           - `aiven`: {object}
             - `integrationId`: (multiple options) (string) Integration to use for this job. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to integration to use for this job. (pattern: .*\${.*}.*)
           - `backblaze`: {object}
             - `integrationId`: (multiple options) (string) Integration to use for this job. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to integration to use for this job. (pattern: .*\${.*}.*)
           - `azure`: {object}
             - `integrationId`: (multiple options) (string) Integration to use for this job. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to integration to use for this job. (pattern: .*\${.*}.*)
           - `akamai`: {object}
             - `integrationId`: (multiple options) (string) Integration to use for this job. (pattern: ^((org|team)\/)?[a-zA-Z](-?[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*)?$) | (string) A string containing one or more references that resolve to integration to use for this job. (pattern: .*\${.*}.*)
         - `resource`: {object}
         - `output`: {object} | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: WorkflowTemplate)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: (undefined) The response data of the WorkflowTemplate node.
     - `spec`: {object}
       - `apiVersion`: (string) (required) The version of the Northflank API to run the template against. (enum: v1.2)
       - `arguments`: {object}
       - `gitops`: {object}
         - `vcsService`: (string) (required) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure)
         - `selfHostedVcsId`: (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$)
         - `accountLogin`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name.
         - `vcsLinkId`: (string) Legacy key. Please used accountLogin instead.
         - `repoUrl`: (string) (required) URL of the Git repo to sync the file with. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$)
         - `branch`: (string) (required) The name of the branch to use.
         - `filePath`: (string) (required) The file path in the repository. If using an existing file, it should be in JSON format. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$)
       - `$schema`: (string)
       - `name`: (string) (required) (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100)
       - `description`: (string) (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200)
       - `spec`: (undefined)
       - `richInputs`: [array of] (undefined)
       - `triggers`: [array of] (multiple options) {object}
             - `kind`: (string) (required) (enum: vcs-push)
             - `spec`: {object}
               - `vcs`: {object}
                 - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
                 - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
                 - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
                 - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
                 - `repoUrl`: (multiple options) (string) URL of the Git repo that will trigger the template. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo that will trigger the template. (pattern: .*\${.*}.*)
               - `branchNamePatterns`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
               - `commitMessageFlags`: {object}
                 - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `flags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
               - `filePaths`: {object}
                 - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `allowList`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `paths`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
             - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
             - `id`: (string)
             - `paused`: (boolean) | {object}
             - `kind`: (string) (required) (enum: vcs-pr)
             - `spec`: {object}
               - `vcs`: {object}
                 - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
                 - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
                 - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
                 - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
                 - `repoUrl`: (multiple options) (string) URL of the Git repo that will trigger the template. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo that will trigger the template. (pattern: .*\${.*}.*)
               - `branchNamePatterns`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
               - `commitMessageFlags`: {object}
                 - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `flags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
               - `filePaths`: {object}
                 - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `allowList`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `paths`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
               - `ignoreDrafts`: (multiple options) (boolean) If `true`, draft pull requests from this repo will not trigger the template. | (string) A string containing one or more references that resolve to if `true`, draft pull requests from this repo will not trigger the template. (pattern: .*\${.*}.*)
             - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
             - `id`: (string)
             - `paused`: (boolean) | {object}
             - `kind`: (string) (required) (enum: webhook)
             - `spec`: {object}
               - `token`: (string) (required)
             - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
             - `id`: (string)
             - `paused`: (boolean) | {object}
             - `kind`: (string) (required) (enum: vcs-release)
             - `spec`: {object}
               - `vcs`: {object}
                 - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
                 - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
                 - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
                 - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
                 - `repoUrl`: (multiple options) (string) URL of the Git repo that will trigger the template. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo that will trigger the template. (pattern: .*\${.*}.*)
             - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
             - `id`: (string)
             - `paused`: (boolean) | {object}
             - `kind`: (string) (required) (enum: vcs-pr-label)
             - `spec`: {object}
               - `vcs`: {object}
                 - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
                 - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
                 - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
                 - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
                 - `repoUrl`: (multiple options) (string) URL of the Git repo that will trigger the template. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo that will trigger the template. (pattern: .*\${.*}.*)
               - `labelNamePatterns`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
               - `branchNamePatterns`: {object}
                 - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `names`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
               - `commitMessageFlags`: {object}
                 - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `flags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
               - `filePaths`: {object}
                 - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `allowList`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `paths`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
               - `ignoreDrafts`: (multiple options) (boolean) If `true`, draft pull requests from this repo will not trigger the template. | (string) A string containing one or more references that resolve to if `true`, draft pull requests from this repo will not trigger the template. (pattern: .*\${.*}.*)
             - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
             - `id`: (string)
             - `paused`: (boolean) | {object}
             - `kind`: (string) (required) (enum: vcs-check-suite)
             - `spec`: {object}
               - `vcs`: {object}
                 - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
                 - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
                 - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
                 - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
                 - `repoUrl`: (multiple options) (string) URL of the Git repo that will trigger the template. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo that will trigger the template. (pattern: .*\${.*}.*)
               - `branchNamePatterns`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
               - `commitMessageFlags`: {object}
                 - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `flags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
               - `filePaths`: {object}
                 - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `allowList`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `paths`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
             - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
             - `id`: (string)
             - `paused`: (boolean) | {object}
             - `kind`: (string) (required) (enum: cron)
             - `spec`: {object}
               - `cron`: (string) (required) A cron expression that defines the schedule on which the template will be executed.
             - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
             - `id`: (string)
             - `paused`: (boolean)
       - `options`: {object}
         - `autorun`: (boolean) If true, the template will run automatically whenever a change is made to it.
         - `concurrencyPolicy`: (string) Defines the concurrency behaviour of the template with respect to parallel runs. (enum: allow, queue, forbid, latest, replace)
       - `teardownSpec`: {object}
         - `spec`: (undefined) (required) The root node of the teardown workflow.
         - `failurePolicy`: (string) Controls what happens if the teardown spec fails or times out. `ignore` (default) — proceed with resource deletion regardless. `block` — halt deletion and set the environment to `teardown_failed` (enum: ignore, block)
       - `argumentOverrides`: {object}
       - `crossProjectAccess`: {object}
         - `enabled`: (boolean) (required) Allow this workflow to be run from other projects.
         - `projects`: [array of] (string) (pattern: ^[A-Za-z0-9-]+$)
         - `isAllowList`: (boolean) (required) If true, only the listed projects can run this workflow. If false, all projects except the listed ones can run this workflow.
       - `stageId`: (multiple options) (string) ID of the stage (pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to iD of the stage (pattern: .*\${.*}.*)
       - `projectId`: (multiple options) (string) ID of parent project | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: PreviewBlueprint)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: (undefined) The response data of the PreviewBlueprint node.
     - `spec`: {object}
       - `apiVersion`: (string) (required) The version of the Northflank API to run the template against. (enum: v1.2)
       - `arguments`: {object}
       - `gitops`: {object}
         - `vcsService`: (string) (required) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure)
         - `selfHostedVcsId`: (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$)
         - `accountLogin`: (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name.
         - `vcsLinkId`: (string) Legacy key. Please used accountLogin instead.
         - `repoUrl`: (string) (required) URL of the Git repo to sync the file with. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$)
         - `branch`: (string) (required) The name of the branch to use.
         - `filePath`: (string) (required) The file path in the repository. If using an existing file, it should be in JSON format. (pattern: ^\/((?!\.\.?\/)[a-zA-Z0-9-._]+\/)*(?!\.\.?$)[a-zA-Z0-9-._]+$)
       - `$schema`: (string)
       - `name`: (multiple options) (string) The name of the preview blueprint (pattern: ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$) (min length: 3) (max length: 100) | (string) A string containing one or more references that resolve to the name of the preview blueprint (pattern: .*\${.*}.*)
       - `description`: (multiple options) (string) A description of the preview blueprint (pattern: ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$) (max length: 200) | (string) A string containing one or more references that resolve to a description of the preview blueprint (pattern: .*\${.*}.*)
       - `spec`: (undefined)
       - `triggers`: [array of] (multiple options) {object}
             - `kind`: (string) (required) (enum: vcs-push)
             - `spec`: {object}
               - `vcs`: {object}
                 - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
                 - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
                 - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
                 - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
                 - `repoUrl`: (multiple options) (string) URL of the Git repo that will trigger the template. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo that will trigger the template. (pattern: .*\${.*}.*)
               - `branchNamePatterns`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
               - `commitMessageFlags`: {object}
                 - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `flags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
               - `filePaths`: {object}
                 - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `allowList`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `paths`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
             - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
             - `id`: (string)
             - `paused`: (boolean) | {object}
             - `kind`: (string) (required) (enum: vcs-pr)
             - `spec`: {object}
               - `vcs`: {object}
                 - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
                 - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
                 - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
                 - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
                 - `repoUrl`: (multiple options) (string) URL of the Git repo that will trigger the template. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo that will trigger the template. (pattern: .*\${.*}.*)
               - `branchNamePatterns`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
               - `commitMessageFlags`: {object}
                 - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `flags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
               - `filePaths`: {object}
                 - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `allowList`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `paths`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
               - `ignoreDrafts`: (multiple options) (boolean) If `true`, draft pull requests from this repo will not trigger the template. | (string) A string containing one or more references that resolve to if `true`, draft pull requests from this repo will not trigger the template. (pattern: .*\${.*}.*)
             - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
             - `id`: (string)
             - `paused`: (boolean) | {object}
             - `kind`: (string) (required) (enum: webhook)
             - `spec`: {object}
               - `token`: (string) (required)
             - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
             - `id`: (string)
             - `paused`: (boolean) | {object}
             - `kind`: (string) (required) (enum: vcs-release)
             - `spec`: {object}
               - `vcs`: {object}
                 - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
                 - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
                 - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
                 - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
                 - `repoUrl`: (multiple options) (string) URL of the Git repo that will trigger the template. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo that will trigger the template. (pattern: .*\${.*}.*)
             - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
             - `id`: (string)
             - `paused`: (boolean) | {object}
             - `kind`: (string) (required) (enum: vcs-pr-label)
             - `spec`: {object}
               - `vcs`: {object}
                 - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
                 - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
                 - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
                 - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
                 - `repoUrl`: (multiple options) (string) URL of the Git repo that will trigger the template. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo that will trigger the template. (pattern: .*\${.*}.*)
               - `labelNamePatterns`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
               - `branchNamePatterns`: {object}
                 - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `names`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
               - `commitMessageFlags`: {object}
                 - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `flags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
               - `filePaths`: {object}
                 - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `allowList`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `paths`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
               - `ignoreDrafts`: (multiple options) (boolean) If `true`, draft pull requests from this repo will not trigger the template. | (string) A string containing one or more references that resolve to if `true`, draft pull requests from this repo will not trigger the template. (pattern: .*\${.*}.*)
             - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
             - `id`: (string)
             - `paused`: (boolean) | {object}
             - `kind`: (string) (required) (enum: vcs-check-suite)
             - `spec`: {object}
               - `vcs`: {object}
                 - `vcsService`: (multiple options) (string) The VCS provider to use. (enum: bitbucket, gitlab, github, self-hosted, azure) | (string) A string containing one or more references that resolve to the VCS provider to use. (pattern: .*\${.*}.*)
                 - `selfHostedVcsId`: (multiple options) (string) If projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: ^([A-Za-z0-9-]+)|([0-9a-f]{24})$) | (string) A string containing one or more references that resolve to if projectType is self-hosted, the ID of the self-hosted vcs to use. (pattern: .*\${.*}.*)
                 - `accountLogin`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name. (pattern: .*\${.*}.*)
                 - `vcsLinkId`: (multiple options) (string) By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. | (string) A string containing one or more references that resolve to by default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `vcsLinkId` is provided, Northflank will instead use your linked account with that ID. (pattern: .*\${.*}.*)
                 - `repoUrl`: (multiple options) (string) URL of the Git repo that will trigger the template. (pattern: ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$) | (string) A string containing one or more references that resolve to uRL of the Git repo that will trigger the template. (pattern: .*\${.*}.*)
               - `branchNamePatterns`: [array of] (multiple options) (string) (pattern: ^[a-zA-Z/*0-9%\-.#_!'();,&=+]*$) | (string) (pattern: .*\${.*}.*)
               - `commitMessageFlags`: {object}
                 - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `flags`: [array of] (multiple options) (string) A commit ignore flag. (max length: 72) | (string) A string containing one or more references that resolve to a commit ignore flag. (pattern: .*\${.*}.*)
               - `filePaths`: {object}
                 - `enabled`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `allowList`: (multiple options) (boolean) | (string) (pattern: .*\${.*}.*)
                 - `paths`: [array of] (multiple options) (string) A path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (max length: 260) | (string) A string containing one or more references that resolve to a path ignore rule, following `.gitignore` syntax. For example, `*.md` will ignore all files ending with `.md`. (pattern: .*\${.*}.*)
             - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
             - `id`: (string)
             - `paused`: (boolean) | {object}
             - `kind`: (string) (required) (enum: cron)
             - `spec`: {object}
               - `cron`: (string) (required) A cron expression that defines the schedule on which the template will be executed.
             - `ref`: (string) A reference that can be used to access the output of this trigger in the template.
             - `id`: (string)
             - `paused`: (boolean)
       - `options`: {object}
         - `concurrencyPolicy`: (string) Defines the concurrency behaviour of the template with respect to parallel runs. (enum: allow, queue, forbid, latest, replace)
         - `nameFormat`: (string) The format of the automatically generated preview name. This is a parsed ref string.
         - `prefixName`: (boolean) If true, the preview name will default to the front of the resource name.
         - `useBranchContents`: (boolean) If true, and gitops is enabled, the preview will run based on the contents of the branch that triggered it, rather than the set branch.
         - `schedule`: {object}
           - `mon`: {object}
             - `startTime`: (integer)
             - `endTime`: (integer)
           - `tue`: {object}
             - `startTime`: (integer)
             - `endTime`: (integer)
           - `wed`: {object}
             - `startTime`: (integer)
             - `endTime`: (integer)
           - `thu`: {object}
             - `startTime`: (integer)
             - `endTime`: (integer)
           - `fri`: {object}
             - `startTime`: (integer)
             - `endTime`: (integer)
           - `sat`: {object}
             - `startTime`: (integer)
             - `endTime`: (integer)
           - `sun`: {object}
             - `startTime`: (integer)
             - `endTime`: (integer)
         - `expiry`: {object}
           - `previewLifetime`: (integer) If set, preview environments will be automatically deleted after this many minutes since their last update.
           - `resetOnUpdate`: (boolean) If `true`, the expiry time for an existing preview will be reset when it is ran again.
         - `autorun`: (boolean) If true, the template will run automatically whenever a change is made to it.
       - `argumentOverrides`: {object}
       - `teardownSpec`: {object}
         - `spec`: (undefined) (required) The root node of the teardown workflow.
         - `failurePolicy`: (string) Controls what happens if the teardown spec fails or times out. `ignore` (default) — proceed with resource deletion regardless. `block` — halt deletion and set the environment to `teardown_failed` (enum: ignore, block)
       - `projectId`: (multiple options) (string) ID of parent project | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: Approval)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: (undefined) The response data of the Approval node.
     - `spec`: {object}
       - `amount`: (integer) (required) | {object}
     - `ref`: (string) An identifier that can used to reference the output of this node later in the template.
     - `settings`: {object}
       - `maxAttempts`: (integer) The maximum number of attempts before the node is marked as `failure`.
       - `backoff`: {object}
         - `type`: (string) The type of backoff to use. If set to `fixed`, the node will wait the same amount of time between attempts. (enum: fixed)
         - `delay`: (integer) The time between attempts in seconds.
     - `kind`: (string) (required) The kind of node. (enum: ReleaseStage)
     - `skipNodeExecution`: (multiple options) (string) If set to 'true', the execution of the node will be skipped. (enum: true, false) | (string) A string containing one or more references that resolve to if set to 'true', the execution of the node will be skipped. (pattern: .*\${.*}.*)
     - `response`: {object}
       - `status`: (string) (required) The status of the node. (enum: waiting, invalid, failure, retrying, success, aborted, aborting, skipped, async_wait, approval_wait, unknown)
       - `error`: (multiple options) {object}
           - `code`: (integer) (required)
           - `message`: (string) (required) | (undefined)
       - `retries`: {object}
         - `attempts`: (integer) (required) The current number of attempts that have been made by this node.
         - `maxAttempts`: (integer) (required) The maximum number of attempts before the node is marked as `failure`.
         - `timestamp`: (integer) (required) The timestamp of the most recent attempt.
         - `nextAttempt`: (integer) The timestamp of the next attempt.
         - `initialCheckTime`: (integer) The timestamp of the initial condition check.
       - `startTime`: (integer) The timestamp of the initial attempt.
       - `endTime`: (integer) The timestamp of the final attempt.
       - `data`: (undefined) The response data of the ReleaseStage node.
     - `spec`: {object}
       - `name`: (multiple options) (string) (pattern: ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$) (min length: 3) (max length: 20) | (string) (pattern: .*\${.*}.*)
       - `position`: (integer) (required)
       - `projectId`: (multiple options) (string) ID of parent project (pattern: ^[A-Za-z0-9-]+$) | (string) A string containing one or more references that resolve to iD of parent project (pattern: .*\${.*}.*)
    - `refs`: {object}
    - `id`: (string) (required) Identifier for the template run
    - `templateId`: (string) (required) Identifier for the template
    - `status`: (string) (required) Status of the template run (enum: pending, running, success, failure, aborted, aborting, queued, unknown, skipped, waiting, retrying, async_wait, approval_wait)
    - `concluded`: (boolean) (required) Whether the run has concluded (aborted, success, failed)
    - `createdAt`: (string) (required) Timestamp the run was created at. (format: date-time)
    - `updatedAt`: (string) (required) Timestamp the run was last updated at. (format: date-time)

## API reference

POST /v1/templates/{templateId}

POST /v1/teams/{teamId}/templates/{templateId}

### Example request

Request body

Update template

```curl
curl --header "Content-Type: application/json" \
  --header "Authorization: Bearer NORTHFLANK_API_TOKEN" \
  --request POST \
  --data '{"name":"Example Template","description":"This is a sample template.","apiVersion":"v1.2","options":{"autorun":false,"concurrencyPolicy":"allow"},"gitops":{"vcsService":"github","accountLogin":"github-user","repoUrl":"https://github.com/northflank-examples/remix-postgres-redis-demo","branch":"main","filePath":"/Dockerfile"},"spec":{"kind":"Workflow","spec":{"type":"sequential","steps":[{"kind":"Workflow","spec":{"type":"sequential","context":{"projectId":"example-project"},"steps":[]}}],"context":{"projectId":"example-project"}}},"teardownSpec":{"spec":{"kind":"Workflow","spec":{"type":"sequential","steps":[{"kind":"JobRun","spec":{"projectId":"example-project","runtimeFiles":{"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}},"dockerSecretMounts":{"example-secret-mount_1":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}},"billing":{"deploymentPlan":"nf-compute-20"},"deployment":{"docker":{"configType":"default"},"storage":{"ephemeralStorage":{"storageSize":1024}},"internal":{"id":"example-build-service","branch":"master","buildSHA":"latest","buildId":"premium-guide-6393"}},"jobId":"example-job"}}]}}}}' \
  https://api.northflank.com/v1/templates/{templateId}
```

```javascript
const payload = {
  "name": "Example Template",
  "description": "This is a sample template.",
  "apiVersion": "v1.2",
  "options": {
    "autorun": false,
    "concurrencyPolicy": "allow"
  },
  "gitops": {
    "vcsService": "github",
    "accountLogin": "github-user",
    "repoUrl": "https://github.com/northflank-examples/remix-postgres-redis-demo",
    "branch": "main",
    "filePath": "/Dockerfile"
  },
  "spec": {
    "kind": "Workflow",
    "spec": {
      "type": "sequential",
      "steps": [
        {
          "kind": "Workflow",
          "spec": {
            "type": "sequential",
            "context": {
              "projectId": "example-project"
            },
            "steps": []
          }
        }
      ],
      "context": {
        "projectId": "example-project"
      }
    }
  },
  "teardownSpec": {
    "spec": {
      "kind": "Workflow",
      "spec": {
        "type": "sequential",
        "steps": [
          {
            "kind": "JobRun",
            "spec": {
              "projectId": "example-project",
              "runtimeFiles": {
                "/dir/fileName": {
                  "data": "VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=",
                  "encoding": "utf-8"
                }
              },
              "dockerSecretMounts": {
                "example-secret-mount_1": {
                  "data": "VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=",
                  "encoding": "utf-8"
                }
              },
              "billing": {
                "deploymentPlan": "nf-compute-20"
              },
              "deployment": {
                "docker": {
                  "configType": "default"
                },
                "storage": {
                  "ephemeralStorage": {
                    "storageSize": 1024
                  }
                },
                "internal": {
                  "id": "example-build-service",
                  "branch": "master",
                  "buildSHA": "latest",
                  "buildId": "premium-guide-6393"
                }
              },
              "jobId": "example-job"
            }
          }
        ]
      }
    }
  }
}

const response = await fetch('https://api.northflank.com/v1/templates/{templateId}', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': `Bearer ${NORTHFLANK_API_TOKEN}`
  },
  body: JSON.stringify(payload)
})

const json = await response.json()
console.log(json)
```

```python
import requests

url = "https://api.northflank.com/v1/templates/{templateId}"

payload = {"name":"Example Template","description":"This is a sample template.","apiVersion":"v1.2","options":{"autorun":false,"concurrencyPolicy":"allow"},"gitops":{"vcsService":"github","accountLogin":"github-user","repoUrl":"https://github.com/northflank-examples/remix-postgres-redis-demo","branch":"main","filePath":"/Dockerfile"},"spec":{"kind":"Workflow","spec":{"type":"sequential","steps":[{"kind":"Workflow","spec":{"type":"sequential","context":{"projectId":"example-project"},"steps":[]}}],"context":{"projectId":"example-project"}}},"teardownSpec":{"spec":{"kind":"Workflow","spec":{"type":"sequential","steps":[{"kind":"JobRun","spec":{"projectId":"example-project","runtimeFiles":{"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}},"dockerSecretMounts":{"example-secret-mount_1":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}},"billing":{"deploymentPlan":"nf-compute-20"},"deployment":{"docker":{"configType":"default"},"storage":{"ephemeralStorage":{"storageSize":1024}},"internal":{"id":"example-build-service","branch":"master","buildSHA":"latest","buildId":"premium-guide-6393"}},"jobId":"example-job"}}]}}}}
headers = {"Content-Type": "application/json", "Authorization": "Bearer NORTHFLANK_API_TOKEN"}

response = requests.request("POST", url, headers = headers, json = payload)

print(response.json())
```

```go
package main

import (
  "bytes"
  "fmt"
  "io/ioutil"
  "net/http"
)

func main() {
  url := "https://api.northflank.com/v1/templates/{templateId}"

  var jsonStr = []byte(`{"name":"Example Template","description":"This is a sample template.","apiVersion":"v1.2","options":{"autorun":false,"concurrencyPolicy":"allow"},"gitops":{"vcsService":"github","accountLogin":"github-user","repoUrl":"https://github.com/northflank-examples/remix-postgres-redis-demo","branch":"main","filePath":"/Dockerfile"},"spec":{"kind":"Workflow","spec":{"type":"sequential","steps":[{"kind":"Workflow","spec":{"type":"sequential","context":{"projectId":"example-project"},"steps":[]}}],"context":{"projectId":"example-project"}}},"teardownSpec":{"spec":{"kind":"Workflow","spec":{"type":"sequential","steps":[{"kind":"JobRun","spec":{"projectId":"example-project","runtimeFiles":{"/dir/fileName":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}},"dockerSecretMounts":{"example-secret-mount_1":{"data":"VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=","encoding":"utf-8"}},"billing":{"deploymentPlan":"nf-compute-20"},"deployment":{"docker":{"configType":"default"},"storage":{"ephemeralStorage":{"storageSize":1024}},"internal":{"id":"example-build-service","branch":"master","buildSHA":"latest","buildId":"premium-guide-6393"}},"jobId":"example-job"}}]}}}}`)
  req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonStr))
  req.Header.Set("Content-Type", "application/json")
  req.Header.Set("Authorization", "Bearer NORTHFLANK_API_TOKEN")

  client := &http.Client{}
  resp, err := client.Do(req)
  if err != nil {
    panic(err)
  }
  defer resp.Body.Close()

  fmt.Println("Response status:", resp.Status)
  fmt.Println("Response headers:", resp.Header)
  body, _ := ioutil.ReadAll(resp.Body)
  fmt.Println("Response body:", string(body))
}
```

OR

Update template GitOps settings (replace current template with git template)

```curl
curl --header "Content-Type: application/json" \
  --header "Authorization: Bearer NORTHFLANK_API_TOKEN" \
  --request POST \
  --data '{"name":"Example Template","description":"This is a sample template.","gitops":{"vcsService":"github","accountLogin":"github-user","repoUrl":"https://github.com/northflank-examples/remix-postgres-redis-demo","branch":"main","filePath":"/Dockerfile"}}' \
  https://api.northflank.com/v1/templates/{templateId}
```

```javascript
const payload = {
  "name": "Example Template",
  "description": "This is a sample template.",
  "gitops": {
    "vcsService": "github",
    "accountLogin": "github-user",
    "repoUrl": "https://github.com/northflank-examples/remix-postgres-redis-demo",
    "branch": "main",
    "filePath": "/Dockerfile"
  }
}

const response = await fetch('https://api.northflank.com/v1/templates/{templateId}', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': `Bearer ${NORTHFLANK_API_TOKEN}`
  },
  body: JSON.stringify(payload)
})

const json = await response.json()
console.log(json)
```

```python
import requests

url = "https://api.northflank.com/v1/templates/{templateId}"

payload = {"name":"Example Template","description":"This is a sample template.","gitops":{"vcsService":"github","accountLogin":"github-user","repoUrl":"https://github.com/northflank-examples/remix-postgres-redis-demo","branch":"main","filePath":"/Dockerfile"}}
headers = {"Content-Type": "application/json", "Authorization": "Bearer NORTHFLANK_API_TOKEN"}

response = requests.request("POST", url, headers = headers, json = payload)

print(response.json())
```

```go
package main

import (
  "bytes"
  "fmt"
  "io/ioutil"
  "net/http"
)

func main() {
  url := "https://api.northflank.com/v1/templates/{templateId}"

  var jsonStr = []byte(`{"name":"Example Template","description":"This is a sample template.","gitops":{"vcsService":"github","accountLogin":"github-user","repoUrl":"https://github.com/northflank-examples/remix-postgres-redis-demo","branch":"main","filePath":"/Dockerfile"}}`)
  req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonStr))
  req.Header.Set("Content-Type", "application/json")
  req.Header.Set("Authorization", "Bearer NORTHFLANK_API_TOKEN")

  client := &http.Client{}
  resp, err := client.Do(req)
  if err != nil {
    panic(err)
  }
  defer resp.Body.Close()

  fmt.Println("Response status:", resp.Status)
  fmt.Println("Response headers:", resp.Header)
  body, _ := ioutil.ReadAll(resp.Body)
  fmt.Println("Response body:", string(body))
}
```

### Example Response

200 OK: Details about the newly updated template.

```json
{
  "data": {
    "template": {
      "name": "Example Template",
      "description": "This is a sample template.",
      "apiVersion": "v1.2",
      "spec": {
        "kind": "Workflow",
        "spec": {
          "type": "sequential",
          "context": {
            "projectId": "example-project"
          }
        }
      },
      "id": "example-template",
      "gitops": {
        "vcsService": "github",
        "accountLogin": "github-user",
        "repoUrl": "https://github.com/northflank-examples/remix-postgres-redis-demo",
        "branch": "main",
        "filePath": "/Dockerfile",
        "templateSha": "8c7e040ee3737ddc3a713363ae72bbe960e9fb16"
      },
      "concurrencyPolicy": "allow"
    },
    "templateRun": {
      "name": "Example Template",
      "description": "This is a sample template.",
      "apiVersion": "v1.2",
      "options": {
        "autorun": false,
        "concurrencyPolicy": "allow"
      },
      "gitops": {
        "vcsService": "github",
        "accountLogin": "github-user",
        "repoUrl": "https://github.com/northflank-examples/remix-postgres-redis-demo",
        "branch": "main",
        "filePath": "/Dockerfile"
      },
      "spec": {
        "settings": {
          "maxAttempts": 3,
          "backoff": {
            "type": "fixed",
            "delay": 60
          }
        },
        "kind": "Workflow",
        "response": {
          "status": "success",
          "retries": {
            "attempts": 1,
            "maxAttempts": 3,
            "timestamp": 1657296265
          },
          "startTime": 1657296265,
          "endTime": 1657296265
        }
      },
      "id": "3dd592f6-ce63-45ee-acf8-13dc5ec5235c",
      "templateId": "example-template",
      "status": "success",
      "concluded": true,
      "createdAt": "2021-01-01 12:00:00.000Z",
      "updatedAt": "2021-01-01 12:00:00.000Z"
    }
  }
}
```

## CLI reference

$ northflank update template

Options:

- `--templateId <templateId>`: ID of the template

- `-f --file <file>`: Path to a JSON/YAML resource definition file

- `-i --input <definition>`: JSON/YAML resource definition string (takes precedence over --file)

- `--verbose `: Verbose output

- `--quiet `: No console output

- `-o --output <format>`: Output formatting 

Update template

```json
{
  "name": "Example Template",
  "description": "This is a sample template.",
  "apiVersion": "v1.2",
  "options": {
    "autorun": false,
    "concurrencyPolicy": "allow"
  },
  "gitops": {
    "vcsService": "github",
    "accountLogin": "github-user",
    "repoUrl": "https://github.com/northflank-examples/remix-postgres-redis-demo",
    "branch": "main",
    "filePath": "/Dockerfile"
  },
  "spec": {
    "kind": "Workflow",
    "spec": {
      "type": "sequential",
      "steps": [
        {
          "kind": "Workflow",
          "spec": {
            "type": "sequential",
            "context": {
              "projectId": "example-project"
            },
            "steps": []
          }
        }
      ],
      "context": {
        "projectId": "example-project"
      }
    }
  },
  "teardownSpec": {
    "spec": {
      "kind": "Workflow",
      "spec": {
        "type": "sequential",
        "steps": [
          {
            "kind": "JobRun",
            "spec": {
              "projectId": "example-project",
              "runtimeFiles": {
                "/dir/fileName": {
                  "data": "VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=",
                  "encoding": "utf-8"
                }
              },
              "dockerSecretMounts": {
                "example-secret-mount_1": {
                  "data": "VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=",
                  "encoding": "utf-8"
                }
              },
              "billing": {
                "deploymentPlan": "nf-compute-20"
              },
              "deployment": {
                "docker": {
                  "configType": "default"
                },
                "storage": {
                  "ephemeralStorage": {
                    "storageSize": 1024
                  }
                },
                "internal": {
                  "id": "example-build-service",
                  "branch": "master",
                  "buildSHA": "latest",
                  "buildId": "premium-guide-6393"
                }
              },
              "jobId": "example-job"
            }
          }
        ]
      }
    }
  }
}
```

OR

Update template GitOps settings (replace current template with git template)

```json
{
  "name": "Example Template",
  "description": "This is a sample template.",
  "gitops": {
    "vcsService": "github",
    "accountLogin": "github-user",
    "repoUrl": "https://github.com/northflank-examples/remix-postgres-redis-demo",
    "branch": "main",
    "filePath": "/Dockerfile"
  }
}
```

### Example Response

 Details about the newly updated template.

```json
{
  "template": {
    "name": "Example Template",
    "description": "This is a sample template.",
    "apiVersion": "v1.2",
    "spec": {
      "kind": "Workflow",
      "spec": {
        "type": "sequential",
        "context": {
          "projectId": "example-project"
        }
      }
    },
    "id": "example-template",
    "gitops": {
      "vcsService": "github",
      "accountLogin": "github-user",
      "repoUrl": "https://github.com/northflank-examples/remix-postgres-redis-demo",
      "branch": "main",
      "filePath": "/Dockerfile",
      "templateSha": "8c7e040ee3737ddc3a713363ae72bbe960e9fb16"
    },
    "concurrencyPolicy": "allow"
  },
  "templateRun": {
    "name": "Example Template",
    "description": "This is a sample template.",
    "apiVersion": "v1.2",
    "options": {
      "autorun": false,
      "concurrencyPolicy": "allow"
    },
    "gitops": {
      "vcsService": "github",
      "accountLogin": "github-user",
      "repoUrl": "https://github.com/northflank-examples/remix-postgres-redis-demo",
      "branch": "main",
      "filePath": "/Dockerfile"
    },
    "spec": {
      "settings": {
        "maxAttempts": 3,
        "backoff": {
          "type": "fixed",
          "delay": 60
        }
      },
      "kind": "Workflow",
      "response": {
        "status": "success",
        "retries": {
          "attempts": 1,
          "maxAttempts": 3,
          "timestamp": 1657296265
        },
        "startTime": 1657296265,
        "endTime": 1657296265
      }
    },
    "id": "3dd592f6-ce63-45ee-acf8-13dc5ec5235c",
    "templateId": "example-template",
    "status": "success",
    "concluded": true,
    "createdAt": "2021-01-01 12:00:00.000Z",
    "updatedAt": "2021-01-01 12:00:00.000Z"
  }
}
```

## JavaScript client reference

### Example request

Request body

Update template

```javascript
await apiClient.update.template({
  parameters: {
    "templateId": "example-template"
  },
  data: {
    "name": "Example Template",
    "description": "This is a sample template.",
    "apiVersion": "v1.2",
    "options": {
      "autorun": false,
      "concurrencyPolicy": "allow"
    },
    "gitops": {
      "vcsService": "github",
      "accountLogin": "github-user",
      "repoUrl": "https://github.com/northflank-examples/remix-postgres-redis-demo",
      "branch": "main",
      "filePath": "/Dockerfile"
    },
    "spec": {
      "kind": "Workflow",
      "spec": {
        "type": "sequential",
        "steps": [
          {
            "kind": "Workflow",
            "spec": {
              "type": "sequential",
              "context": {
                "projectId": "example-project"
              },
              "steps": []
            }
          }
        ],
        "context": {
          "projectId": "example-project"
        }
      }
    },
    "teardownSpec": {
      "spec": {
        "kind": "Workflow",
        "spec": {
          "type": "sequential",
          "steps": [
            {
              "kind": "JobRun",
              "spec": {
                "projectId": "example-project",
                "runtimeFiles": {
                  "/dir/fileName": {
                    "data": "VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=",
                    "encoding": "utf-8"
                  }
                },
                "dockerSecretMounts": {
                  "example-secret-mount_1": {
                    "data": "VGhpcyBpcyBhbiBleGFtcGxlIHdpdGggYSB0ZW1wbGF0ZWQgJHtOT0RFX0VOVn0gdmFyaWFibGU=",
                    "encoding": "utf-8"
                  }
                },
                "billing": {
                  "deploymentPlan": "nf-compute-20"
                },
                "deployment": {
                  "docker": {
                    "configType": "default"
                  },
                  "storage": {
                    "ephemeralStorage": {
                      "storageSize": 1024
                    }
                  },
                  "internal": {
                    "id": "example-build-service",
                    "branch": "master",
                    "buildSHA": "latest",
                    "buildId": "premium-guide-6393"
                  }
                },
                "jobId": "example-job"
              }
            }
          ]
        }
      }
    }
  }
});
```

OR

Update template GitOps settings (replace current template with git template)

```javascript
await apiClient.update.template({
  parameters: {
    "templateId": "example-template"
  },
  data: {
    "name": "Example Template",
    "description": "This is a sample template.",
    "gitops": {
      "vcsService": "github",
      "accountLogin": "github-user",
      "repoUrl": "https://github.com/northflank-examples/remix-postgres-redis-demo",
      "branch": "main",
      "filePath": "/Dockerfile"
    }
  }
});
```

### Example Response

 Details about the newly updated template.

```json
{
  "data": {
    "template": {
      "name": "Example Template",
      "description": "This is a sample template.",
      "apiVersion": "v1.2",
      "spec": {
        "kind": "Workflow",
        "spec": {
          "type": "sequential",
          "context": {
            "projectId": "example-project"
          }
        }
      },
      "id": "example-template",
      "gitops": {
        "vcsService": "github",
        "accountLogin": "github-user",
        "repoUrl": "https://github.com/northflank-examples/remix-postgres-redis-demo",
        "branch": "main",
        "filePath": "/Dockerfile",
        "templateSha": "8c7e040ee3737ddc3a713363ae72bbe960e9fb16"
      },
      "concurrencyPolicy": "allow"
    },
    "templateRun": {
      "name": "Example Template",
      "description": "This is a sample template.",
      "apiVersion": "v1.2",
      "options": {
        "autorun": false,
        "concurrencyPolicy": "allow"
      },
      "gitops": {
        "vcsService": "github",
        "accountLogin": "github-user",
        "repoUrl": "https://github.com/northflank-examples/remix-postgres-redis-demo",
        "branch": "main",
        "filePath": "/Dockerfile"
      },
      "spec": {
        "settings": {
          "maxAttempts": 3,
          "backoff": {
            "type": "fixed",
            "delay": 60
          }
        },
        "kind": "Workflow",
        "response": {
          "status": "success",
          "retries": {
            "attempts": 1,
            "maxAttempts": 3,
            "timestamp": 1657296265
          },
          "startTime": 1657296265,
          "endTime": 1657296265
        }
      },
      "id": "3dd592f6-ce63-45ee-acf8-13dc5ec5235c",
      "templateId": "example-template",
      "status": "success",
      "concluded": true,
      "createdAt": "2021-01-01 12:00:00.000Z",
      "updatedAt": "2021-01-01 12:00:00.000Z"
    }
  },
  "rawResponse": "...",
  "request": "...",
  "error": "..."
}
```

Previous: [Get template](/docs/v1/api/team/templates/get-template)

Next: [Delete template](/docs/v1/api/team/templates/delete-template)