From 0af989b541b93445dfdb6188a74cd22cbbf1576b Mon Sep 17 00:00:00 2001 From: Josh Kodroff Date: Wed, 6 Apr 2022 17:25:05 -0400 Subject: [PATCH] Upgrade terraform-provider-digitalocean to v2.19.0 (#304) --- .../pulumi-resource-digitalocean/schema.json | 1397 +- provider/go.mod | 2 +- provider/go.sum | 39 +- provider/resources.go | 5 +- sdk/dotnet/App.cs | 28 + sdk/dotnet/ContainerRegistry.cs | 54 + sdk/dotnet/DnsRecord.cs | 6 +- sdk/dotnet/GetContainerRegistry.cs | 29 +- sdk/dotnet/Inputs/AppSpecAlertArgs.cs | 31 + sdk/dotnet/Inputs/AppSpecAlertGetArgs.cs | 31 + sdk/dotnet/Inputs/AppSpecArgs.cs | 12 + sdk/dotnet/Inputs/AppSpecEnvArgs.cs | 2 +- sdk/dotnet/Inputs/AppSpecEnvGetArgs.cs | 2 +- sdk/dotnet/Inputs/AppSpecGetArgs.cs | 12 + sdk/dotnet/Inputs/AppSpecJobAlertArgs.cs | 49 + sdk/dotnet/Inputs/AppSpecJobAlertGetArgs.cs | 49 + sdk/dotnet/Inputs/AppSpecJobArgs.cs | 24 + sdk/dotnet/Inputs/AppSpecJobEnvArgs.cs | 2 +- sdk/dotnet/Inputs/AppSpecJobEnvGetArgs.cs | 2 +- sdk/dotnet/Inputs/AppSpecJobGetArgs.cs | 24 + .../Inputs/AppSpecJobLogDestinationArgs.cs | 43 + .../AppSpecJobLogDestinationDatadogArgs.cs | 31 + .../AppSpecJobLogDestinationDatadogGetArgs.cs | 31 + .../Inputs/AppSpecJobLogDestinationGetArgs.cs | 43 + .../AppSpecJobLogDestinationLogtailArgs.cs | 25 + .../AppSpecJobLogDestinationLogtailGetArgs.cs | 25 + .../AppSpecJobLogDestinationPapertrailArgs.cs | 25 + ...pSpecJobLogDestinationPapertrailGetArgs.cs | 25 + sdk/dotnet/Inputs/AppSpecServiceAlertArgs.cs | 49 + .../Inputs/AppSpecServiceAlertGetArgs.cs | 49 + sdk/dotnet/Inputs/AppSpecServiceArgs.cs | 24 + sdk/dotnet/Inputs/AppSpecServiceEnvArgs.cs | 2 +- sdk/dotnet/Inputs/AppSpecServiceEnvGetArgs.cs | 2 +- sdk/dotnet/Inputs/AppSpecServiceGetArgs.cs | 24 + .../AppSpecServiceLogDestinationArgs.cs | 43 + ...AppSpecServiceLogDestinationDatadogArgs.cs | 31 + ...SpecServiceLogDestinationDatadogGetArgs.cs | 31 + .../AppSpecServiceLogDestinationGetArgs.cs | 43 + ...AppSpecServiceLogDestinationLogtailArgs.cs | 25 + ...SpecServiceLogDestinationLogtailGetArgs.cs | 25 + ...SpecServiceLogDestinationPapertrailArgs.cs | 25 + ...cServiceLogDestinationPapertrailGetArgs.cs | 25 + sdk/dotnet/Inputs/AppSpecStaticSiteEnvArgs.cs | 2 +- .../Inputs/AppSpecStaticSiteEnvGetArgs.cs | 2 +- sdk/dotnet/Inputs/AppSpecWorkerAlertArgs.cs | 49 + .../Inputs/AppSpecWorkerAlertGetArgs.cs | 49 + sdk/dotnet/Inputs/AppSpecWorkerArgs.cs | 24 + sdk/dotnet/Inputs/AppSpecWorkerEnvArgs.cs | 2 +- sdk/dotnet/Inputs/AppSpecWorkerEnvGetArgs.cs | 2 +- sdk/dotnet/Inputs/AppSpecWorkerGetArgs.cs | 24 + .../Inputs/AppSpecWorkerLogDestinationArgs.cs | 43 + .../AppSpecWorkerLogDestinationDatadogArgs.cs | 31 + ...pSpecWorkerLogDestinationDatadogGetArgs.cs | 31 + .../AppSpecWorkerLogDestinationGetArgs.cs | 43 + .../AppSpecWorkerLogDestinationLogtailArgs.cs | 25 + ...pSpecWorkerLogDestinationLogtailGetArgs.cs | 25 + ...pSpecWorkerLogDestinationPapertrailArgs.cs | 25 + ...ecWorkerLogDestinationPapertrailGetArgs.cs | 25 + sdk/dotnet/Outputs/AppSpec.cs | 7 + sdk/dotnet/Outputs/AppSpecAlert.cs | 35 + sdk/dotnet/Outputs/AppSpecEnv.cs | 2 +- sdk/dotnet/Outputs/AppSpecJob.cs | 14 + sdk/dotnet/Outputs/AppSpecJobAlert.cs | 56 + sdk/dotnet/Outputs/AppSpecJobEnv.cs | 2 +- .../Outputs/AppSpecJobLogDestination.cs | 49 + .../AppSpecJobLogDestinationDatadog.cs | 35 + .../AppSpecJobLogDestinationLogtail.cs | 27 + .../AppSpecJobLogDestinationPapertrail.cs | 27 + sdk/dotnet/Outputs/AppSpecService.cs | 14 + sdk/dotnet/Outputs/AppSpecServiceAlert.cs | 56 + sdk/dotnet/Outputs/AppSpecServiceEnv.cs | 2 +- .../Outputs/AppSpecServiceLogDestination.cs | 49 + .../AppSpecServiceLogDestinationDatadog.cs | 35 + .../AppSpecServiceLogDestinationLogtail.cs | 27 + .../AppSpecServiceLogDestinationPapertrail.cs | 27 + sdk/dotnet/Outputs/AppSpecStaticSiteEnv.cs | 2 +- sdk/dotnet/Outputs/AppSpecWorker.cs | 14 + sdk/dotnet/Outputs/AppSpecWorkerAlert.cs | 56 + sdk/dotnet/Outputs/AppSpecWorkerEnv.cs | 2 +- .../Outputs/AppSpecWorkerLogDestination.cs | 49 + .../AppSpecWorkerLogDestinationDatadog.cs | 35 + .../AppSpecWorkerLogDestinationLogtail.cs | 27 + .../AppSpecWorkerLogDestinationPapertrail.cs | 27 + sdk/dotnet/Outputs/GetAppSpecAlertResult.cs | 29 + .../Outputs/GetAppSpecJobAlertResult.cs | 44 + ...etAppSpecJobLogDestinationDatadogResult.cs | 29 + ...etAppSpecJobLogDestinationLogtailResult.cs | 24 + ...ppSpecJobLogDestinationPapertrailResult.cs | 24 + .../GetAppSpecJobLogDestinationResult.cs | 40 + sdk/dotnet/Outputs/GetAppSpecJobResult.cs | 8 + sdk/dotnet/Outputs/GetAppSpecResult.cs | 4 + .../Outputs/GetAppSpecServiceAlertResult.cs | 44 + ...pSpecServiceLogDestinationDatadogResult.cs | 29 + ...pSpecServiceLogDestinationLogtailResult.cs | 24 + ...ecServiceLogDestinationPapertrailResult.cs | 24 + .../GetAppSpecServiceLogDestinationResult.cs | 40 + sdk/dotnet/Outputs/GetAppSpecServiceResult.cs | 8 + .../Outputs/GetAppSpecWorkerAlertResult.cs | 44 + ...ppSpecWorkerLogDestinationDatadogResult.cs | 29 + ...ppSpecWorkerLogDestinationLogtailResult.cs | 24 + ...pecWorkerLogDestinationPapertrailResult.cs | 24 + .../GetAppSpecWorkerLogDestinationResult.cs | 40 + sdk/dotnet/Outputs/GetAppSpecWorkerResult.cs | 8 + sdk/dotnet/SpacesBucketPolicy.cs | 197 + sdk/go/digitalocean/app.go | 23 +- sdk/go/digitalocean/containerRegistry.go | 34 +- sdk/go/digitalocean/dnsRecord.go | 10 +- sdk/go/digitalocean/getContainerRegistry.go | 31 +- sdk/go/digitalocean/init.go | 7 + sdk/go/digitalocean/pulumiTypes.go | 20846 ++++++++++------ sdk/go/digitalocean/spacesBucketPolicy.go | 310 + sdk/nodejs/app.ts | 15 + sdk/nodejs/containerRegistry.ts | 46 + sdk/nodejs/dnsRecord.ts | 6 +- sdk/nodejs/getContainerRegistry.ts | 20 +- sdk/nodejs/index.ts | 5 + sdk/nodejs/spacesBucketPolicy.ts | 161 + sdk/nodejs/tsconfig.json | 1 + sdk/nodejs/types/input.ts | 419 +- sdk/nodejs/types/output.ts | 365 +- sdk/python/pulumi_digitalocean/__init__.py | 9 + sdk/python/pulumi_digitalocean/_inputs.py | 891 +- sdk/python/pulumi_digitalocean/app.py | 30 + .../pulumi_digitalocean/container_registry.py | 121 +- sdk/python/pulumi_digitalocean/dns_record.py | 14 +- .../get_container_registry.py | 49 +- sdk/python/pulumi_digitalocean/outputs.py | 1251 +- .../spaces_bucket_policy.py | 324 + 128 files changed, 20837 insertions(+), 8412 deletions(-) create mode 100644 sdk/dotnet/Inputs/AppSpecAlertArgs.cs create mode 100644 sdk/dotnet/Inputs/AppSpecAlertGetArgs.cs create mode 100644 sdk/dotnet/Inputs/AppSpecJobAlertArgs.cs create mode 100644 sdk/dotnet/Inputs/AppSpecJobAlertGetArgs.cs create mode 100644 sdk/dotnet/Inputs/AppSpecJobLogDestinationArgs.cs create mode 100644 sdk/dotnet/Inputs/AppSpecJobLogDestinationDatadogArgs.cs create mode 100644 sdk/dotnet/Inputs/AppSpecJobLogDestinationDatadogGetArgs.cs create mode 100644 sdk/dotnet/Inputs/AppSpecJobLogDestinationGetArgs.cs create mode 100644 sdk/dotnet/Inputs/AppSpecJobLogDestinationLogtailArgs.cs create mode 100644 sdk/dotnet/Inputs/AppSpecJobLogDestinationLogtailGetArgs.cs create mode 100644 sdk/dotnet/Inputs/AppSpecJobLogDestinationPapertrailArgs.cs create mode 100644 sdk/dotnet/Inputs/AppSpecJobLogDestinationPapertrailGetArgs.cs create mode 100644 sdk/dotnet/Inputs/AppSpecServiceAlertArgs.cs create mode 100644 sdk/dotnet/Inputs/AppSpecServiceAlertGetArgs.cs create mode 100644 sdk/dotnet/Inputs/AppSpecServiceLogDestinationArgs.cs create mode 100644 sdk/dotnet/Inputs/AppSpecServiceLogDestinationDatadogArgs.cs create mode 100644 sdk/dotnet/Inputs/AppSpecServiceLogDestinationDatadogGetArgs.cs create mode 100644 sdk/dotnet/Inputs/AppSpecServiceLogDestinationGetArgs.cs create mode 100644 sdk/dotnet/Inputs/AppSpecServiceLogDestinationLogtailArgs.cs create mode 100644 sdk/dotnet/Inputs/AppSpecServiceLogDestinationLogtailGetArgs.cs create mode 100644 sdk/dotnet/Inputs/AppSpecServiceLogDestinationPapertrailArgs.cs create mode 100644 sdk/dotnet/Inputs/AppSpecServiceLogDestinationPapertrailGetArgs.cs create mode 100644 sdk/dotnet/Inputs/AppSpecWorkerAlertArgs.cs create mode 100644 sdk/dotnet/Inputs/AppSpecWorkerAlertGetArgs.cs create mode 100644 sdk/dotnet/Inputs/AppSpecWorkerLogDestinationArgs.cs create mode 100644 sdk/dotnet/Inputs/AppSpecWorkerLogDestinationDatadogArgs.cs create mode 100644 sdk/dotnet/Inputs/AppSpecWorkerLogDestinationDatadogGetArgs.cs create mode 100644 sdk/dotnet/Inputs/AppSpecWorkerLogDestinationGetArgs.cs create mode 100644 sdk/dotnet/Inputs/AppSpecWorkerLogDestinationLogtailArgs.cs create mode 100644 sdk/dotnet/Inputs/AppSpecWorkerLogDestinationLogtailGetArgs.cs create mode 100644 sdk/dotnet/Inputs/AppSpecWorkerLogDestinationPapertrailArgs.cs create mode 100644 sdk/dotnet/Inputs/AppSpecWorkerLogDestinationPapertrailGetArgs.cs create mode 100644 sdk/dotnet/Outputs/AppSpecAlert.cs create mode 100644 sdk/dotnet/Outputs/AppSpecJobAlert.cs create mode 100644 sdk/dotnet/Outputs/AppSpecJobLogDestination.cs create mode 100644 sdk/dotnet/Outputs/AppSpecJobLogDestinationDatadog.cs create mode 100644 sdk/dotnet/Outputs/AppSpecJobLogDestinationLogtail.cs create mode 100644 sdk/dotnet/Outputs/AppSpecJobLogDestinationPapertrail.cs create mode 100644 sdk/dotnet/Outputs/AppSpecServiceAlert.cs create mode 100644 sdk/dotnet/Outputs/AppSpecServiceLogDestination.cs create mode 100644 sdk/dotnet/Outputs/AppSpecServiceLogDestinationDatadog.cs create mode 100644 sdk/dotnet/Outputs/AppSpecServiceLogDestinationLogtail.cs create mode 100644 sdk/dotnet/Outputs/AppSpecServiceLogDestinationPapertrail.cs create mode 100644 sdk/dotnet/Outputs/AppSpecWorkerAlert.cs create mode 100644 sdk/dotnet/Outputs/AppSpecWorkerLogDestination.cs create mode 100644 sdk/dotnet/Outputs/AppSpecWorkerLogDestinationDatadog.cs create mode 100644 sdk/dotnet/Outputs/AppSpecWorkerLogDestinationLogtail.cs create mode 100644 sdk/dotnet/Outputs/AppSpecWorkerLogDestinationPapertrail.cs create mode 100644 sdk/dotnet/Outputs/GetAppSpecAlertResult.cs create mode 100644 sdk/dotnet/Outputs/GetAppSpecJobAlertResult.cs create mode 100644 sdk/dotnet/Outputs/GetAppSpecJobLogDestinationDatadogResult.cs create mode 100644 sdk/dotnet/Outputs/GetAppSpecJobLogDestinationLogtailResult.cs create mode 100644 sdk/dotnet/Outputs/GetAppSpecJobLogDestinationPapertrailResult.cs create mode 100644 sdk/dotnet/Outputs/GetAppSpecJobLogDestinationResult.cs create mode 100644 sdk/dotnet/Outputs/GetAppSpecServiceAlertResult.cs create mode 100644 sdk/dotnet/Outputs/GetAppSpecServiceLogDestinationDatadogResult.cs create mode 100644 sdk/dotnet/Outputs/GetAppSpecServiceLogDestinationLogtailResult.cs create mode 100644 sdk/dotnet/Outputs/GetAppSpecServiceLogDestinationPapertrailResult.cs create mode 100644 sdk/dotnet/Outputs/GetAppSpecServiceLogDestinationResult.cs create mode 100644 sdk/dotnet/Outputs/GetAppSpecWorkerAlertResult.cs create mode 100644 sdk/dotnet/Outputs/GetAppSpecWorkerLogDestinationDatadogResult.cs create mode 100644 sdk/dotnet/Outputs/GetAppSpecWorkerLogDestinationLogtailResult.cs create mode 100644 sdk/dotnet/Outputs/GetAppSpecWorkerLogDestinationPapertrailResult.cs create mode 100644 sdk/dotnet/Outputs/GetAppSpecWorkerLogDestinationResult.cs create mode 100644 sdk/dotnet/SpacesBucketPolicy.cs create mode 100644 sdk/go/digitalocean/spacesBucketPolicy.go create mode 100644 sdk/nodejs/spacesBucketPolicy.ts create mode 100644 sdk/python/pulumi_digitalocean/spaces_bucket_policy.py diff --git a/provider/cmd/pulumi-resource-digitalocean/schema.json b/provider/cmd/pulumi-resource-digitalocean/schema.json index 94964916..a4a8333a 100644 --- a/provider/cmd/pulumi-resource-digitalocean/schema.json +++ b/provider/cmd/pulumi-resource-digitalocean/schema.json @@ -53,6 +53,18 @@ "types": { "digitalocean:index/AppSpec:AppSpec": { "properties": { + "alerts": { + "type": "array", + "items": { + "$ref": "#/types/digitalocean:index/AppSpecAlert:AppSpecAlert" + }, + "description": "Describes an alert policy for the component.\n", + "language": { + "python": { + "mapCase": false + } + } + }, "databases": { "type": "array", "items": { @@ -177,6 +189,32 @@ } } }, + "digitalocean:index/AppSpecAlert:AppSpecAlert": { + "properties": { + "disabled": { + "type": "boolean", + "description": "Determines whether or not the alert is disabled (default: `false`).\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "rule": { + "type": "string", + "description": "The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "rule" + ] + }, "digitalocean:index/AppSpecDatabase:AppSpecDatabase": { "properties": { "clusterName": { @@ -329,7 +367,7 @@ }, "value": { "type": "string", - "description": "The value of the environment variable.\n", + "description": "The threshold for the type of the warning.\n", "language": { "python": { "mapCase": false @@ -348,6 +386,18 @@ }, "digitalocean:index/AppSpecJob:AppSpecJob": { "properties": { + "alerts": { + "type": "array", + "items": { + "$ref": "#/types/digitalocean:index/AppSpecJobAlert:AppSpecJobAlert" + }, + "description": "Describes an alert policy for the component.\n", + "language": { + "python": { + "mapCase": false + } + } + }, "buildCommand": { "type": "string", "description": "An optional build command to run while building this component from source.\n", @@ -450,6 +500,18 @@ } } }, + "logDestinations": { + "type": "array", + "items": { + "$ref": "#/types/digitalocean:index/AppSpecJobLogDestination:AppSpecJobLogDestination" + }, + "description": "Describes a log forwarding destination.\n", + "language": { + "python": { + "mapCase": false + } + } + }, "name": { "type": "string", "description": "The name of the component.\n", @@ -483,6 +545,62 @@ "name" ] }, + "digitalocean:index/AppSpecJobAlert:AppSpecJobAlert": { + "properties": { + "disabled": { + "type": "boolean", + "description": "Determines whether or not the alert is disabled (default: `false`).\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "operator": { + "type": "string", + "description": "The operator to use. This is either of `GREATER_THAN` or `LESS_THAN`.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "rule": { + "type": "string", + "description": "The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "number", + "description": "The threshold for the type of the warning.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "window": { + "type": "string", + "description": "The time before alerts should be triggered. This is may be one of: `FIVE_MINUTES`, `TEN_MINUTES`, `THIRTY_MINUTES`, `ONE_HOUR`.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "operator", + "rule", + "value", + "window" + ] + }, "digitalocean:index/AppSpecJobEnv:AppSpecJobEnv": { "properties": { "key": { @@ -514,7 +632,7 @@ }, "value": { "type": "string", - "description": "The value of the environment variable.\n", + "description": "The threshold for the type of the warning.\n", "language": { "python": { "mapCase": false @@ -663,8 +781,124 @@ "repository" ] }, + "digitalocean:index/AppSpecJobLogDestination:AppSpecJobLogDestination": { + "properties": { + "datadog": { + "$ref": "#/types/digitalocean:index/AppSpecJobLogDestinationDatadog:AppSpecJobLogDestinationDatadog", + "description": "Datadog configuration.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "logtail": { + "$ref": "#/types/digitalocean:index/AppSpecJobLogDestinationLogtail:AppSpecJobLogDestinationLogtail", + "description": "Logtail configuration.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "name": { + "type": "string", + "description": "The name of the component.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "papertrail": { + "$ref": "#/types/digitalocean:index/AppSpecJobLogDestinationPapertrail:AppSpecJobLogDestinationPapertrail", + "description": "Papertrail configuration.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "name" + ] + }, + "digitalocean:index/AppSpecJobLogDestinationDatadog:AppSpecJobLogDestinationDatadog": { + "properties": { + "apiKey": { + "type": "string", + "description": "Datadog API key.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "endpoint": { + "type": "string", + "description": "Datadog HTTP log intake endpoint.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "apiKey" + ] + }, + "digitalocean:index/AppSpecJobLogDestinationLogtail:AppSpecJobLogDestinationLogtail": { + "properties": { + "token": { + "type": "string", + "description": "Logtail token.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "token" + ] + }, + "digitalocean:index/AppSpecJobLogDestinationPapertrail:AppSpecJobLogDestinationPapertrail": { + "properties": { + "endpoint": { + "type": "string", + "description": "Datadog HTTP log intake endpoint.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "endpoint" + ] + }, "digitalocean:index/AppSpecService:AppSpecService": { "properties": { + "alerts": { + "type": "array", + "items": { + "$ref": "#/types/digitalocean:index/AppSpecServiceAlert:AppSpecServiceAlert" + }, + "description": "Describes an alert policy for the component.\n", + "language": { + "python": { + "mapCase": false + } + } + }, "buildCommand": { "type": "string", "description": "An optional build command to run while building this component from source.\n", @@ -797,6 +1031,18 @@ } } }, + "logDestinations": { + "type": "array", + "items": { + "$ref": "#/types/digitalocean:index/AppSpecServiceLogDestination:AppSpecServiceLogDestination" + }, + "description": "Describes a log forwarding destination.\n", + "language": { + "python": { + "mapCase": false + } + } + }, "name": { "type": "string", "description": "The name of the component.\n", @@ -851,6 +1097,62 @@ } } }, + "digitalocean:index/AppSpecServiceAlert:AppSpecServiceAlert": { + "properties": { + "disabled": { + "type": "boolean", + "description": "Determines whether or not the alert is disabled (default: `false`).\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "operator": { + "type": "string", + "description": "The operator to use. This is either of `GREATER_THAN` or `LESS_THAN`.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "rule": { + "type": "string", + "description": "The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "number", + "description": "The threshold for the type of the warning.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "window": { + "type": "string", + "description": "The time before alerts should be triggered. This is may be one of: `FIVE_MINUTES`, `TEN_MINUTES`, `THIRTY_MINUTES`, `ONE_HOUR`.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "operator", + "rule", + "value", + "window" + ] + }, "digitalocean:index/AppSpecServiceCors:AppSpecServiceCors": { "properties": { "allowCredentials": { @@ -982,7 +1284,7 @@ }, "value": { "type": "string", - "description": "The value of the environment variable.\n", + "description": "The threshold for the type of the warning.\n", "language": { "python": { "mapCase": false @@ -1190,29 +1492,133 @@ "repository" ] }, - "digitalocean:index/AppSpecServiceRoute:AppSpecServiceRoute": { + "digitalocean:index/AppSpecServiceLogDestination:AppSpecServiceLogDestination": { "properties": { - "path": { - "type": "string", - "description": "Paths must start with `/` and must be unique within the app.\n", + "datadog": { + "$ref": "#/types/digitalocean:index/AppSpecServiceLogDestinationDatadog:AppSpecServiceLogDestinationDatadog", + "description": "Datadog configuration.\n", "language": { "python": { "mapCase": false } } }, - "preservePathPrefix": { - "type": "boolean", - "description": "An optional flag to preserve the path that is forwarded to the backend service.\n", + "logtail": { + "$ref": "#/types/digitalocean:index/AppSpecServiceLogDestinationLogtail:AppSpecServiceLogDestinationLogtail", + "description": "Logtail configuration.\n", "language": { "python": { "mapCase": false } } - } - }, - "type": "object" - }, + }, + "name": { + "type": "string", + "description": "The name of the component.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "papertrail": { + "$ref": "#/types/digitalocean:index/AppSpecServiceLogDestinationPapertrail:AppSpecServiceLogDestinationPapertrail", + "description": "Papertrail configuration.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "name" + ] + }, + "digitalocean:index/AppSpecServiceLogDestinationDatadog:AppSpecServiceLogDestinationDatadog": { + "properties": { + "apiKey": { + "type": "string", + "description": "Datadog API key.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "endpoint": { + "type": "string", + "description": "Datadog HTTP log intake endpoint.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "apiKey" + ] + }, + "digitalocean:index/AppSpecServiceLogDestinationLogtail:AppSpecServiceLogDestinationLogtail": { + "properties": { + "token": { + "type": "string", + "description": "Logtail token.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "token" + ] + }, + "digitalocean:index/AppSpecServiceLogDestinationPapertrail:AppSpecServiceLogDestinationPapertrail": { + "properties": { + "endpoint": { + "type": "string", + "description": "Datadog HTTP log intake endpoint.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "endpoint" + ] + }, + "digitalocean:index/AppSpecServiceRoute:AppSpecServiceRoute": { + "properties": { + "path": { + "type": "string", + "description": "Paths must start with `/` and must be unique within the app.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "preservePathPrefix": { + "type": "boolean", + "description": "An optional flag to preserve the path that is forwarded to the backend service.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object" + }, "digitalocean:index/AppSpecStaticSite:AppSpecStaticSite": { "properties": { "buildCommand": { @@ -1500,7 +1906,7 @@ }, "value": { "type": "string", - "description": "The value of the environment variable.\n", + "description": "The threshold for the type of the warning.\n", "language": { "python": { "mapCase": false @@ -1629,6 +2035,18 @@ }, "digitalocean:index/AppSpecWorker:AppSpecWorker": { "properties": { + "alerts": { + "type": "array", + "items": { + "$ref": "#/types/digitalocean:index/AppSpecWorkerAlert:AppSpecWorkerAlert" + }, + "description": "Describes an alert policy for the component.\n", + "language": { + "python": { + "mapCase": false + } + } + }, "buildCommand": { "type": "string", "description": "An optional build command to run while building this component from source.\n", @@ -1722,6 +2140,18 @@ } } }, + "logDestinations": { + "type": "array", + "items": { + "$ref": "#/types/digitalocean:index/AppSpecWorkerLogDestination:AppSpecWorkerLogDestination" + }, + "description": "Describes a log forwarding destination.\n", + "language": { + "python": { + "mapCase": false + } + } + }, "name": { "type": "string", "description": "The name of the component.\n", @@ -1755,6 +2185,62 @@ "name" ] }, + "digitalocean:index/AppSpecWorkerAlert:AppSpecWorkerAlert": { + "properties": { + "disabled": { + "type": "boolean", + "description": "Determines whether or not the alert is disabled (default: `false`).\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "operator": { + "type": "string", + "description": "The operator to use. This is either of `GREATER_THAN` or `LESS_THAN`.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "rule": { + "type": "string", + "description": "The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "number", + "description": "The threshold for the type of the warning.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "window": { + "type": "string", + "description": "The time before alerts should be triggered. This is may be one of: `FIVE_MINUTES`, `TEN_MINUTES`, `THIRTY_MINUTES`, `ONE_HOUR`.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "operator", + "rule", + "value", + "window" + ] + }, "digitalocean:index/AppSpecWorkerEnv:AppSpecWorkerEnv": { "properties": { "key": { @@ -1786,7 +2272,7 @@ }, "value": { "type": "string", - "description": "The value of the environment variable.\n", + "description": "The threshold for the type of the warning.\n", "language": { "python": { "mapCase": false @@ -1935,6 +2421,110 @@ "repository" ] }, + "digitalocean:index/AppSpecWorkerLogDestination:AppSpecWorkerLogDestination": { + "properties": { + "datadog": { + "$ref": "#/types/digitalocean:index/AppSpecWorkerLogDestinationDatadog:AppSpecWorkerLogDestinationDatadog", + "description": "Datadog configuration.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "logtail": { + "$ref": "#/types/digitalocean:index/AppSpecWorkerLogDestinationLogtail:AppSpecWorkerLogDestinationLogtail", + "description": "Logtail configuration.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "name": { + "type": "string", + "description": "The name of the component.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "papertrail": { + "$ref": "#/types/digitalocean:index/AppSpecWorkerLogDestinationPapertrail:AppSpecWorkerLogDestinationPapertrail", + "description": "Papertrail configuration.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "name" + ] + }, + "digitalocean:index/AppSpecWorkerLogDestinationDatadog:AppSpecWorkerLogDestinationDatadog": { + "properties": { + "apiKey": { + "type": "string", + "description": "Datadog API key.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "endpoint": { + "type": "string", + "description": "Datadog HTTP log intake endpoint.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "apiKey" + ] + }, + "digitalocean:index/AppSpecWorkerLogDestinationLogtail:AppSpecWorkerLogDestinationLogtail": { + "properties": { + "token": { + "type": "string", + "description": "Logtail token.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "token" + ] + }, + "digitalocean:index/AppSpecWorkerLogDestinationPapertrail:AppSpecWorkerLogDestinationPapertrail": { + "properties": { + "endpoint": { + "type": "string", + "description": "Datadog HTTP log intake endpoint.\n", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "endpoint" + ] + }, "digitalocean:index/DatabaseClusterMaintenanceWindow:DatabaseClusterMaintenanceWindow": { "properties": { "day": { @@ -3125,6 +3715,17 @@ }, "digitalocean:index/getAppSpec:getAppSpec": { "properties": { + "alerts": { + "type": "array", + "items": { + "$ref": "#/types/digitalocean:index/getAppSpecAlert:getAppSpecAlert" + }, + "language": { + "python": { + "mapCase": false + } + } + }, "databases": { "type": "array", "items": { @@ -3234,7 +3835,36 @@ } } }, - "digitalocean:index/getAppSpecDatabase:getAppSpecDatabase": { + "digitalocean:index/getAppSpecAlert:getAppSpecAlert": { + "properties": { + "disabled": { + "type": "boolean", + "language": { + "python": { + "mapCase": false + } + } + }, + "rule": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "rule" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "digitalocean:index/getAppSpecDatabase:getAppSpecDatabase": { "properties": { "clusterName": { "type": "string", @@ -3402,6 +4032,17 @@ }, "digitalocean:index/getAppSpecJob:getAppSpecJob": { "properties": { + "alerts": { + "type": "array", + "items": { + "$ref": "#/types/digitalocean:index/getAppSpecJobAlert:getAppSpecJobAlert" + }, + "language": { + "python": { + "mapCase": false + } + } + }, "buildCommand": { "type": "string", "description": "An optional build command to run while building this component from source.\n", @@ -3504,6 +4145,17 @@ } } }, + "logDestinations": { + "type": "array", + "items": { + "$ref": "#/types/digitalocean:index/getAppSpecJobLogDestination:getAppSpecJobLogDestination" + }, + "language": { + "python": { + "mapCase": false + } + } + }, "name": { "type": "string", "description": "The name of the component.\n", @@ -3542,6 +4194,63 @@ } } }, + "digitalocean:index/getAppSpecJobAlert:getAppSpecJobAlert": { + "properties": { + "disabled": { + "type": "boolean", + "language": { + "python": { + "mapCase": false + } + } + }, + "operator": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "rule": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "number", + "description": "The value of the environment variable.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "window": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "operator", + "rule", + "value", + "window" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "digitalocean:index/getAppSpecJobEnv:getAppSpecJobEnv": { "properties": { "key": { @@ -3728,8 +4437,136 @@ } } }, + "digitalocean:index/getAppSpecJobLogDestination:getAppSpecJobLogDestination": { + "properties": { + "datadog": { + "$ref": "#/types/digitalocean:index/getAppSpecJobLogDestinationDatadog:getAppSpecJobLogDestinationDatadog", + "language": { + "python": { + "mapCase": false + } + } + }, + "logtail": { + "$ref": "#/types/digitalocean:index/getAppSpecJobLogDestinationLogtail:getAppSpecJobLogDestinationLogtail", + "language": { + "python": { + "mapCase": false + } + } + }, + "name": { + "type": "string", + "description": "The name of the component.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "papertrail": { + "$ref": "#/types/digitalocean:index/getAppSpecJobLogDestinationPapertrail:getAppSpecJobLogDestinationPapertrail", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "name" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "digitalocean:index/getAppSpecJobLogDestinationDatadog:getAppSpecJobLogDestinationDatadog": { + "properties": { + "apiKey": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "endpoint": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "apiKey" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "digitalocean:index/getAppSpecJobLogDestinationLogtail:getAppSpecJobLogDestinationLogtail": { + "properties": { + "token": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "token" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "digitalocean:index/getAppSpecJobLogDestinationPapertrail:getAppSpecJobLogDestinationPapertrail": { + "properties": { + "endpoint": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "endpoint" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "digitalocean:index/getAppSpecService:getAppSpecService": { "properties": { + "alerts": { + "type": "array", + "items": { + "$ref": "#/types/digitalocean:index/getAppSpecServiceAlert:getAppSpecServiceAlert" + }, + "language": { + "python": { + "mapCase": false + } + } + }, "buildCommand": { "type": "string", "description": "An optional build command to run while building this component from source.\n", @@ -3861,6 +4698,17 @@ } } }, + "logDestinations": { + "type": "array", + "items": { + "$ref": "#/types/digitalocean:index/getAppSpecServiceLogDestination:getAppSpecServiceLogDestination" + }, + "language": { + "python": { + "mapCase": false + } + } + }, "name": { "type": "string", "description": "The name of the component.\n", @@ -3913,6 +4761,63 @@ } } }, + "digitalocean:index/getAppSpecServiceAlert:getAppSpecServiceAlert": { + "properties": { + "disabled": { + "type": "boolean", + "language": { + "python": { + "mapCase": false + } + } + }, + "operator": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "rule": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "number", + "description": "The value of the environment variable.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "window": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "operator", + "rule", + "value", + "window" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "digitalocean:index/getAppSpecServiceCors:getAppSpecServiceCors": { "properties": { "allowCredentials": { @@ -4249,6 +5154,123 @@ } } }, + "digitalocean:index/getAppSpecServiceLogDestination:getAppSpecServiceLogDestination": { + "properties": { + "datadog": { + "$ref": "#/types/digitalocean:index/getAppSpecServiceLogDestinationDatadog:getAppSpecServiceLogDestinationDatadog", + "language": { + "python": { + "mapCase": false + } + } + }, + "logtail": { + "$ref": "#/types/digitalocean:index/getAppSpecServiceLogDestinationLogtail:getAppSpecServiceLogDestinationLogtail", + "language": { + "python": { + "mapCase": false + } + } + }, + "name": { + "type": "string", + "description": "The name of the component.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "papertrail": { + "$ref": "#/types/digitalocean:index/getAppSpecServiceLogDestinationPapertrail:getAppSpecServiceLogDestinationPapertrail", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "name" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "digitalocean:index/getAppSpecServiceLogDestinationDatadog:getAppSpecServiceLogDestinationDatadog": { + "properties": { + "apiKey": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "endpoint": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "apiKey" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "digitalocean:index/getAppSpecServiceLogDestinationLogtail:getAppSpecServiceLogDestinationLogtail": { + "properties": { + "token": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "token" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "digitalocean:index/getAppSpecServiceLogDestinationPapertrail:getAppSpecServiceLogDestinationPapertrail": { + "properties": { + "endpoint": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "endpoint" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "digitalocean:index/getAppSpecServiceRoute:getAppSpecServiceRoute": { "properties": { "path": { @@ -4671,12 +5693,23 @@ "mapCase": false } } - } - }, - "type": "object" - }, - "digitalocean:index/getAppSpecWorker:getAppSpecWorker": { - "properties": { + } + }, + "type": "object" + }, + "digitalocean:index/getAppSpecWorker:getAppSpecWorker": { + "properties": { + "alerts": { + "type": "array", + "items": { + "$ref": "#/types/digitalocean:index/getAppSpecWorkerAlert:getAppSpecWorkerAlert" + }, + "language": { + "python": { + "mapCase": false + } + } + }, "buildCommand": { "type": "string", "description": "An optional build command to run while building this component from source.\n", @@ -4770,6 +5803,17 @@ } } }, + "logDestinations": { + "type": "array", + "items": { + "$ref": "#/types/digitalocean:index/getAppSpecWorkerLogDestination:getAppSpecWorkerLogDestination" + }, + "language": { + "python": { + "mapCase": false + } + } + }, "name": { "type": "string", "description": "The name of the component.\n", @@ -4808,6 +5852,63 @@ } } }, + "digitalocean:index/getAppSpecWorkerAlert:getAppSpecWorkerAlert": { + "properties": { + "disabled": { + "type": "boolean", + "language": { + "python": { + "mapCase": false + } + } + }, + "operator": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "rule": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "value": { + "type": "number", + "description": "The value of the environment variable.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "window": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "operator", + "rule", + "value", + "window" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "digitalocean:index/getAppSpecWorkerEnv:getAppSpecWorkerEnv": { "properties": { "key": { @@ -4994,6 +6095,123 @@ } } }, + "digitalocean:index/getAppSpecWorkerLogDestination:getAppSpecWorkerLogDestination": { + "properties": { + "datadog": { + "$ref": "#/types/digitalocean:index/getAppSpecWorkerLogDestinationDatadog:getAppSpecWorkerLogDestinationDatadog", + "language": { + "python": { + "mapCase": false + } + } + }, + "logtail": { + "$ref": "#/types/digitalocean:index/getAppSpecWorkerLogDestinationLogtail:getAppSpecWorkerLogDestinationLogtail", + "language": { + "python": { + "mapCase": false + } + } + }, + "name": { + "type": "string", + "description": "The name of the component.\n", + "language": { + "python": { + "mapCase": false + } + } + }, + "papertrail": { + "$ref": "#/types/digitalocean:index/getAppSpecWorkerLogDestinationPapertrail:getAppSpecWorkerLogDestinationPapertrail", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "name" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "digitalocean:index/getAppSpecWorkerLogDestinationDatadog:getAppSpecWorkerLogDestinationDatadog": { + "properties": { + "apiKey": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + }, + "endpoint": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "apiKey" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "digitalocean:index/getAppSpecWorkerLogDestinationLogtail:getAppSpecWorkerLogDestinationLogtail": { + "properties": { + "token": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "token" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "digitalocean:index/getAppSpecWorkerLogDestinationPapertrail:getAppSpecWorkerLogDestinationPapertrail": { + "properties": { + "endpoint": { + "type": "string", + "language": { + "python": { + "mapCase": false + } + } + } + }, + "type": "object", + "required": [ + "endpoint" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "digitalocean:index/getDatabaseClusterMaintenanceWindow:getDatabaseClusterMaintenanceWindow": { "properties": { "day": { @@ -8197,7 +9415,7 @@ }, "resources": { "digitalocean:index/app:App": { - "description": "Provides a DigitalOcean App resource.\n\n{{% examples %}}\n## Example Usage\n\nTo create an app, provide a [DigitalOcean app spec](https://www.digitalocean.com/docs/app-platform/references/app-specification-reference/) specifying the app's components.\n{{% example %}}\n### Basic Example\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst golang_sample = new digitalocean.App(\"golang-sample\", {\n spec: {\n name: \"golang-sample\",\n region: \"ams\",\n services: [{\n environmentSlug: \"go\",\n git: {\n branch: \"main\",\n repoCloneUrl: \"https://github.com/digitalocean/sample-golang.git\",\n },\n instanceCount: 1,\n instanceSizeSlug: \"professional-xs\",\n name: \"go-service\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\ngolang_sample = digitalocean.App(\"golang-sample\", spec=digitalocean.AppSpecArgs(\n name=\"golang-sample\",\n region=\"ams\",\n services=[digitalocean.AppSpecServiceArgs(\n environment_slug=\"go\",\n git=digitalocean.AppSpecServiceGitArgs(\n branch=\"main\",\n repo_clone_url=\"https://github.com/digitalocean/sample-golang.git\",\n ),\n instance_count=1,\n instance_size_slug=\"professional-xs\",\n name=\"go-service\",\n )],\n))\n```\n```csharp\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var golang_sample = new DigitalOcean.App(\"golang-sample\", new DigitalOcean.AppArgs\n {\n Spec = new DigitalOcean.Inputs.AppSpecArgs\n {\n Name = \"golang-sample\",\n Region = \"ams\",\n Services = \n {\n new DigitalOcean.Inputs.AppSpecServiceArgs\n {\n EnvironmentSlug = \"go\",\n Git = new DigitalOcean.Inputs.AppSpecServiceGitArgs\n {\n Branch = \"main\",\n RepoCloneUrl = \"https://github.com/digitalocean/sample-golang.git\",\n },\n InstanceCount = 1,\n InstanceSizeSlug = \"professional-xs\",\n Name = \"go-service\",\n },\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := digitalocean.NewApp(ctx, \"golang-sample\", \u0026digitalocean.AppArgs{\n\t\t\tSpec: \u0026AppSpecArgs{\n\t\t\t\tName: pulumi.String(\"golang-sample\"),\n\t\t\t\tRegion: pulumi.String(\"ams\"),\n\t\t\t\tServices: AppSpecServiceArray{\n\t\t\t\t\t\u0026AppSpecServiceArgs{\n\t\t\t\t\t\tEnvironmentSlug: pulumi.String(\"go\"),\n\t\t\t\t\t\tGit: \u0026AppSpecServiceGitArgs{\n\t\t\t\t\t\t\tBranch: pulumi.String(\"main\"),\n\t\t\t\t\t\t\tRepoCloneUrl: pulumi.String(\"https://github.com/digitalocean/sample-golang.git\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tInstanceCount: pulumi.Int(1),\n\t\t\t\t\t\tInstanceSizeSlug: pulumi.String(\"professional-xs\"),\n\t\t\t\t\t\tName: pulumi.String(\"go-service\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% example %}}\n### Static Site Example\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst static_ste_example = new digitalocean.App(\"static-ste-example\", {\n spec: {\n name: \"static-ste-example\",\n region: \"ams\",\n staticSites: [{\n buildCommand: \"bundle exec jekyll build -d ./public\",\n git: {\n branch: \"main\",\n repoCloneUrl: \"https://github.com/digitalocean/sample-jekyll.git\",\n },\n name: \"sample-jekyll\",\n outputDir: \"/public\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nstatic_ste_example = digitalocean.App(\"static-ste-example\", spec=digitalocean.AppSpecArgs(\n name=\"static-ste-example\",\n region=\"ams\",\n static_sites=[digitalocean.AppSpecStaticSiteArgs(\n build_command=\"bundle exec jekyll build -d ./public\",\n git=digitalocean.AppSpecStaticSiteGitArgs(\n branch=\"main\",\n repo_clone_url=\"https://github.com/digitalocean/sample-jekyll.git\",\n ),\n name=\"sample-jekyll\",\n output_dir=\"/public\",\n )],\n))\n```\n```csharp\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var static_ste_example = new DigitalOcean.App(\"static-ste-example\", new DigitalOcean.AppArgs\n {\n Spec = new DigitalOcean.Inputs.AppSpecArgs\n {\n Name = \"static-ste-example\",\n Region = \"ams\",\n StaticSites = \n {\n new DigitalOcean.Inputs.AppSpecStaticSiteArgs\n {\n BuildCommand = \"bundle exec jekyll build -d ./public\",\n Git = new DigitalOcean.Inputs.AppSpecStaticSiteGitArgs\n {\n Branch = \"main\",\n RepoCloneUrl = \"https://github.com/digitalocean/sample-jekyll.git\",\n },\n Name = \"sample-jekyll\",\n OutputDir = \"/public\",\n },\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := digitalocean.NewApp(ctx, \"static-ste-example\", \u0026digitalocean.AppArgs{\n\t\t\tSpec: \u0026AppSpecArgs{\n\t\t\t\tName: pulumi.String(\"static-ste-example\"),\n\t\t\t\tRegion: pulumi.String(\"ams\"),\n\t\t\t\tStaticSites: AppSpecStaticSiteArray{\n\t\t\t\t\t\u0026AppSpecStaticSiteArgs{\n\t\t\t\t\t\tBuildCommand: pulumi.String(\"bundle exec jekyll build -d ./public\"),\n\t\t\t\t\t\tGit: \u0026AppSpecStaticSiteGitArgs{\n\t\t\t\t\t\t\tBranch: pulumi.String(\"main\"),\n\t\t\t\t\t\t\tRepoCloneUrl: pulumi.String(\"https://github.com/digitalocean/sample-jekyll.git\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"sample-jekyll\"),\n\t\t\t\t\t\tOutputDir: pulumi.String(\"/public\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% example %}}\n### Multiple Components Example\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst mono_repo_example = new digitalocean.App(\"mono-repo-example\", {\n spec: {\n databases: [{\n engine: \"PG\",\n name: \"starter-db\",\n production: false,\n }],\n domainNames: [{\n name: \"foo.example.com\",\n }],\n name: \"mono-repo-example\",\n region: \"ams\",\n // Build a Go project in the api/ directory that listens on port 3000\n // and serves it at https://foo.example.com/api\n services: [{\n environmentSlug: \"go\",\n github: {\n branch: \"main\",\n deployOnPush: true,\n repo: \"username/repo\",\n },\n httpPort: 3000,\n instanceCount: 2,\n instanceSizeSlug: \"professional-xs\",\n name: \"api\",\n routes: [{\n path: \"/api\",\n }],\n runCommand: \"bin/api\",\n sourceDir: \"api/\",\n }],\n // Builds a static site in the project's root directory\n // and serves it at https://foo.example.com/\n staticSites: [{\n buildCommand: \"npm run build\",\n github: {\n branch: \"main\",\n deployOnPush: true,\n repo: \"username/repo\",\n },\n name: \"web\",\n routes: [{\n path: \"/\",\n }],\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nmono_repo_example = digitalocean.App(\"mono-repo-example\", spec=digitalocean.AppSpecArgs(\n databases=[digitalocean.AppSpecDatabaseArgs(\n engine=\"PG\",\n name=\"starter-db\",\n production=False,\n )],\n domains=[{\n \"name\": \"foo.example.com\",\n }],\n name=\"mono-repo-example\",\n region=\"ams\",\n services=[digitalocean.AppSpecServiceArgs(\n environment_slug=\"go\",\n github=digitalocean.AppSpecServiceGithubArgs(\n branch=\"main\",\n deploy_on_push=True,\n repo=\"username/repo\",\n ),\n http_port=3000,\n instance_count=2,\n instance_size_slug=\"professional-xs\",\n name=\"api\",\n routes=[digitalocean.AppSpecServiceRouteArgs(\n path=\"/api\",\n )],\n run_command=\"bin/api\",\n source_dir=\"api/\",\n )],\n static_sites=[digitalocean.AppSpecStaticSiteArgs(\n build_command=\"npm run build\",\n github=digitalocean.AppSpecStaticSiteGithubArgs(\n branch=\"main\",\n deploy_on_push=True,\n repo=\"username/repo\",\n ),\n name=\"web\",\n routes=[digitalocean.AppSpecStaticSiteRouteArgs(\n path=\"/\",\n )],\n )],\n))\n```\n```csharp\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var mono_repo_example = new DigitalOcean.App(\"mono-repo-example\", new DigitalOcean.AppArgs\n {\n Spec = new DigitalOcean.Inputs.AppSpecArgs\n {\n Databases = \n {\n new DigitalOcean.Inputs.AppSpecDatabaseArgs\n {\n Engine = \"PG\",\n Name = \"starter-db\",\n Production = false,\n },\n },\n Domains = \n {\n \n {\n { \"name\", \"foo.example.com\" },\n },\n },\n Name = \"mono-repo-example\",\n Region = \"ams\",\n Services = \n {\n new DigitalOcean.Inputs.AppSpecServiceArgs\n {\n EnvironmentSlug = \"go\",\n Github = new DigitalOcean.Inputs.AppSpecServiceGithubArgs\n {\n Branch = \"main\",\n DeployOnPush = true,\n Repo = \"username/repo\",\n },\n HttpPort = 3000,\n InstanceCount = 2,\n InstanceSizeSlug = \"professional-xs\",\n Name = \"api\",\n Routes = \n {\n new DigitalOcean.Inputs.AppSpecServiceRouteArgs\n {\n Path = \"/api\",\n },\n },\n RunCommand = \"bin/api\",\n SourceDir = \"api/\",\n },\n },\n StaticSites = \n {\n new DigitalOcean.Inputs.AppSpecStaticSiteArgs\n {\n BuildCommand = \"npm run build\",\n Github = new DigitalOcean.Inputs.AppSpecStaticSiteGithubArgs\n {\n Branch = \"main\",\n DeployOnPush = true,\n Repo = \"username/repo\",\n },\n Name = \"web\",\n Routes = \n {\n new DigitalOcean.Inputs.AppSpecStaticSiteRouteArgs\n {\n Path = \"/\",\n },\n },\n },\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := digitalocean.NewApp(ctx, \"mono-repo-example\", \u0026digitalocean.AppArgs{\n\t\t\tSpec: \u0026AppSpecArgs{\n\t\t\t\tDatabases: AppSpecDatabaseArray{\n\t\t\t\t\t\u0026AppSpecDatabaseArgs{\n\t\t\t\t\t\tEngine: pulumi.String(\"PG\"),\n\t\t\t\t\t\tName: pulumi.String(\"starter-db\"),\n\t\t\t\t\t\tProduction: pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tDomains: pulumi.StringArray{\n\t\t\t\t\tpulumi.String{\n\t\t\t\t\t\tName: \"foo.example.com\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tName: pulumi.String(\"mono-repo-example\"),\n\t\t\t\tRegion: pulumi.String(\"ams\"),\n\t\t\t\tServices: AppSpecServiceArray{\n\t\t\t\t\t\u0026AppSpecServiceArgs{\n\t\t\t\t\t\tEnvironmentSlug: pulumi.String(\"go\"),\n\t\t\t\t\t\tGithub: \u0026AppSpecServiceGithubArgs{\n\t\t\t\t\t\t\tBranch: pulumi.String(\"main\"),\n\t\t\t\t\t\t\tDeployOnPush: pulumi.Bool(true),\n\t\t\t\t\t\t\tRepo: pulumi.String(\"username/repo\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tHttpPort: pulumi.Int(3000),\n\t\t\t\t\t\tInstanceCount: pulumi.Int(2),\n\t\t\t\t\t\tInstanceSizeSlug: pulumi.String(\"professional-xs\"),\n\t\t\t\t\t\tName: pulumi.String(\"api\"),\n\t\t\t\t\t\tRoutes: AppSpecServiceRouteArray{\n\t\t\t\t\t\t\t\u0026AppSpecServiceRouteArgs{\n\t\t\t\t\t\t\t\tPath: pulumi.String(\"/api\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tRunCommand: pulumi.String(\"bin/api\"),\n\t\t\t\t\t\tSourceDir: pulumi.String(\"api/\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tStaticSites: AppSpecStaticSiteArray{\n\t\t\t\t\t\u0026AppSpecStaticSiteArgs{\n\t\t\t\t\t\tBuildCommand: pulumi.String(\"npm run build\"),\n\t\t\t\t\t\tGithub: \u0026AppSpecStaticSiteGithubArgs{\n\t\t\t\t\t\t\tBranch: pulumi.String(\"main\"),\n\t\t\t\t\t\t\tDeployOnPush: pulumi.Bool(true),\n\t\t\t\t\t\t\tRepo: pulumi.String(\"username/repo\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"web\"),\n\t\t\t\t\t\tRoutes: AppSpecStaticSiteRouteArray{\n\t\t\t\t\t\t\t\u0026AppSpecStaticSiteRouteArgs{\n\t\t\t\t\t\t\t\tPath: pulumi.String(\"/\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn app can be imported using its `id`, e.g.\n\n```sh\n $ pulumi import digitalocean:index/app:App myapp fb06ad00-351f-45c8-b5eb-13523c438661\n```\n\n ", + "description": "Provides a DigitalOcean App resource.\n\n{{% examples %}}\n## Example Usage\n\nTo create an app, provide a [DigitalOcean app spec](https://www.digitalocean.com/docs/app-platform/references/app-specification-reference/) specifying the app's components.\n{{% example %}}\n### Basic Example\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst golang_sample = new digitalocean.App(\"golang-sample\", {\n spec: {\n name: \"golang-sample\",\n region: \"ams\",\n services: [{\n environmentSlug: \"go\",\n git: {\n branch: \"main\",\n repoCloneUrl: \"https://github.com/digitalocean/sample-golang.git\",\n },\n instanceCount: 1,\n instanceSizeSlug: \"professional-xs\",\n name: \"go-service\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\ngolang_sample = digitalocean.App(\"golang-sample\", spec=digitalocean.AppSpecArgs(\n name=\"golang-sample\",\n region=\"ams\",\n services=[digitalocean.AppSpecServiceArgs(\n environment_slug=\"go\",\n git=digitalocean.AppSpecServiceGitArgs(\n branch=\"main\",\n repo_clone_url=\"https://github.com/digitalocean/sample-golang.git\",\n ),\n instance_count=1,\n instance_size_slug=\"professional-xs\",\n name=\"go-service\",\n )],\n))\n```\n```csharp\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var golang_sample = new DigitalOcean.App(\"golang-sample\", new DigitalOcean.AppArgs\n {\n Spec = new DigitalOcean.Inputs.AppSpecArgs\n {\n Name = \"golang-sample\",\n Region = \"ams\",\n Services = \n {\n new DigitalOcean.Inputs.AppSpecServiceArgs\n {\n EnvironmentSlug = \"go\",\n Git = new DigitalOcean.Inputs.AppSpecServiceGitArgs\n {\n Branch = \"main\",\n RepoCloneUrl = \"https://github.com/digitalocean/sample-golang.git\",\n },\n InstanceCount = 1,\n InstanceSizeSlug = \"professional-xs\",\n Name = \"go-service\",\n },\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := digitalocean.NewApp(ctx, \"golang-sample\", \u0026digitalocean.AppArgs{\n\t\t\tSpec: \u0026AppSpecArgs{\n\t\t\t\tName: pulumi.String(\"golang-sample\"),\n\t\t\t\tRegion: pulumi.String(\"ams\"),\n\t\t\t\tServices: AppSpecServiceArray{\n\t\t\t\t\t\u0026AppSpecServiceArgs{\n\t\t\t\t\t\tEnvironmentSlug: pulumi.String(\"go\"),\n\t\t\t\t\t\tGit: \u0026AppSpecServiceGitArgs{\n\t\t\t\t\t\t\tBranch: pulumi.String(\"main\"),\n\t\t\t\t\t\t\tRepoCloneUrl: pulumi.String(\"https://github.com/digitalocean/sample-golang.git\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tInstanceCount: pulumi.Int(1),\n\t\t\t\t\t\tInstanceSizeSlug: pulumi.String(\"professional-xs\"),\n\t\t\t\t\t\tName: pulumi.String(\"go-service\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% example %}}\n### Static Site Example\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst static_ste_example = new digitalocean.App(\"static-ste-example\", {\n spec: {\n name: \"static-ste-example\",\n region: \"ams\",\n staticSites: [{\n buildCommand: \"bundle exec jekyll build -d ./public\",\n git: {\n branch: \"main\",\n repoCloneUrl: \"https://github.com/digitalocean/sample-jekyll.git\",\n },\n name: \"sample-jekyll\",\n outputDir: \"/public\",\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nstatic_ste_example = digitalocean.App(\"static-ste-example\", spec=digitalocean.AppSpecArgs(\n name=\"static-ste-example\",\n region=\"ams\",\n static_sites=[digitalocean.AppSpecStaticSiteArgs(\n build_command=\"bundle exec jekyll build -d ./public\",\n git=digitalocean.AppSpecStaticSiteGitArgs(\n branch=\"main\",\n repo_clone_url=\"https://github.com/digitalocean/sample-jekyll.git\",\n ),\n name=\"sample-jekyll\",\n output_dir=\"/public\",\n )],\n))\n```\n```csharp\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var static_ste_example = new DigitalOcean.App(\"static-ste-example\", new DigitalOcean.AppArgs\n {\n Spec = new DigitalOcean.Inputs.AppSpecArgs\n {\n Name = \"static-ste-example\",\n Region = \"ams\",\n StaticSites = \n {\n new DigitalOcean.Inputs.AppSpecStaticSiteArgs\n {\n BuildCommand = \"bundle exec jekyll build -d ./public\",\n Git = new DigitalOcean.Inputs.AppSpecStaticSiteGitArgs\n {\n Branch = \"main\",\n RepoCloneUrl = \"https://github.com/digitalocean/sample-jekyll.git\",\n },\n Name = \"sample-jekyll\",\n OutputDir = \"/public\",\n },\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := digitalocean.NewApp(ctx, \"static-ste-example\", \u0026digitalocean.AppArgs{\n\t\t\tSpec: \u0026AppSpecArgs{\n\t\t\t\tName: pulumi.String(\"static-ste-example\"),\n\t\t\t\tRegion: pulumi.String(\"ams\"),\n\t\t\t\tStaticSites: AppSpecStaticSiteArray{\n\t\t\t\t\t\u0026AppSpecStaticSiteArgs{\n\t\t\t\t\t\tBuildCommand: pulumi.String(\"bundle exec jekyll build -d ./public\"),\n\t\t\t\t\t\tGit: \u0026AppSpecStaticSiteGitArgs{\n\t\t\t\t\t\t\tBranch: pulumi.String(\"main\"),\n\t\t\t\t\t\t\tRepoCloneUrl: pulumi.String(\"https://github.com/digitalocean/sample-jekyll.git\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"sample-jekyll\"),\n\t\t\t\t\t\tOutputDir: pulumi.String(\"/public\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% example %}}\n### Multiple Components Example\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst mono_repo_example = new digitalocean.App(\"mono-repo-example\", {\n spec: {\n alerts: [{\n rule: \"DEPLOYMENT_FAILED\",\n }],\n databases: [{\n engine: \"PG\",\n name: \"starter-db\",\n production: false,\n }],\n domainNames: [{\n name: \"foo.example.com\",\n }],\n name: \"mono-repo-example\",\n region: \"ams\",\n // Build a Go project in the api/ directory that listens on port 3000\n // and serves it at https://foo.example.com/api\n services: [{\n alerts: [{\n operator: \"GREATER_THAN\",\n rule: \"CPU_UTILIZATION\",\n value: 75,\n window: \"TEN_MINUTES\",\n }],\n environmentSlug: \"go\",\n github: {\n branch: \"main\",\n deployOnPush: true,\n repo: \"username/repo\",\n },\n httpPort: 3000,\n instanceCount: 2,\n instanceSizeSlug: \"professional-xs\",\n logDestinations: [{\n name: \"MyLogs\",\n papertrail: {\n endpoint: \"syslog+tls://example.com:12345\",\n },\n }],\n name: \"api\",\n routes: [{\n path: \"/api\",\n }],\n runCommand: \"bin/api\",\n sourceDir: \"api/\",\n }],\n // Builds a static site in the project's root directory\n // and serves it at https://foo.example.com/\n staticSites: [{\n buildCommand: \"npm run build\",\n github: {\n branch: \"main\",\n deployOnPush: true,\n repo: \"username/repo\",\n },\n name: \"web\",\n routes: [{\n path: \"/\",\n }],\n }],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\nmono_repo_example = digitalocean.App(\"mono-repo-example\", spec=digitalocean.AppSpecArgs(\n alerts=[digitalocean.AppSpecAlertArgs(\n rule=\"DEPLOYMENT_FAILED\",\n )],\n databases=[digitalocean.AppSpecDatabaseArgs(\n engine=\"PG\",\n name=\"starter-db\",\n production=False,\n )],\n domains=[{\n \"name\": \"foo.example.com\",\n }],\n name=\"mono-repo-example\",\n region=\"ams\",\n services=[digitalocean.AppSpecServiceArgs(\n alert=[{\n \"operator\": \"GREATER_THAN\",\n \"rule\": \"CPU_UTILIZATION\",\n \"value\": 75,\n \"window\": \"TEN_MINUTES\",\n }],\n environment_slug=\"go\",\n github=digitalocean.AppSpecServiceGithubArgs(\n branch=\"main\",\n deploy_on_push=True,\n repo=\"username/repo\",\n ),\n http_port=3000,\n instance_count=2,\n instance_size_slug=\"professional-xs\",\n log_destination=[{\n \"name\": \"MyLogs\",\n \"papertrail\": {\n \"endpoint\": \"syslog+tls://example.com:12345\",\n },\n }],\n name=\"api\",\n routes=[digitalocean.AppSpecServiceRouteArgs(\n path=\"/api\",\n )],\n run_command=\"bin/api\",\n source_dir=\"api/\",\n )],\n static_sites=[digitalocean.AppSpecStaticSiteArgs(\n build_command=\"npm run build\",\n github=digitalocean.AppSpecStaticSiteGithubArgs(\n branch=\"main\",\n deploy_on_push=True,\n repo=\"username/repo\",\n ),\n name=\"web\",\n routes=[digitalocean.AppSpecStaticSiteRouteArgs(\n path=\"/\",\n )],\n )],\n))\n```\n```csharp\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var mono_repo_example = new DigitalOcean.App(\"mono-repo-example\", new DigitalOcean.AppArgs\n {\n Spec = new DigitalOcean.Inputs.AppSpecArgs\n {\n Alerts = \n {\n new DigitalOcean.Inputs.AppSpecAlertArgs\n {\n Rule = \"DEPLOYMENT_FAILED\",\n },\n },\n Databases = \n {\n new DigitalOcean.Inputs.AppSpecDatabaseArgs\n {\n Engine = \"PG\",\n Name = \"starter-db\",\n Production = false,\n },\n },\n Domains = \n {\n \n {\n { \"name\", \"foo.example.com\" },\n },\n },\n Name = \"mono-repo-example\",\n Region = \"ams\",\n Services = \n {\n new DigitalOcean.Inputs.AppSpecServiceArgs\n {\n Alert = \n {\n \n {\n { \"operator\", \"GREATER_THAN\" },\n { \"rule\", \"CPU_UTILIZATION\" },\n { \"value\", 75 },\n { \"window\", \"TEN_MINUTES\" },\n },\n },\n EnvironmentSlug = \"go\",\n Github = new DigitalOcean.Inputs.AppSpecServiceGithubArgs\n {\n Branch = \"main\",\n DeployOnPush = true,\n Repo = \"username/repo\",\n },\n HttpPort = 3000,\n InstanceCount = 2,\n InstanceSizeSlug = \"professional-xs\",\n LogDestination = \n {\n \n {\n { \"name\", \"MyLogs\" },\n { \"papertrail\", \n {\n { \"endpoint\", \"syslog+tls://example.com:12345\" },\n } },\n },\n },\n Name = \"api\",\n Routes = \n {\n new DigitalOcean.Inputs.AppSpecServiceRouteArgs\n {\n Path = \"/api\",\n },\n },\n RunCommand = \"bin/api\",\n SourceDir = \"api/\",\n },\n },\n StaticSites = \n {\n new DigitalOcean.Inputs.AppSpecStaticSiteArgs\n {\n BuildCommand = \"npm run build\",\n Github = new DigitalOcean.Inputs.AppSpecStaticSiteGithubArgs\n {\n Branch = \"main\",\n DeployOnPush = true,\n Repo = \"username/repo\",\n },\n Name = \"web\",\n Routes = \n {\n new DigitalOcean.Inputs.AppSpecStaticSiteRouteArgs\n {\n Path = \"/\",\n },\n },\n },\n },\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := digitalocean.NewApp(ctx, \"mono-repo-example\", \u0026digitalocean.AppArgs{\n\t\t\tSpec: \u0026AppSpecArgs{\n\t\t\t\tAlerts: AppSpecAlertArray{\n\t\t\t\t\t\u0026AppSpecAlertArgs{\n\t\t\t\t\t\tRule: pulumi.String(\"DEPLOYMENT_FAILED\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tDatabases: AppSpecDatabaseArray{\n\t\t\t\t\t\u0026AppSpecDatabaseArgs{\n\t\t\t\t\t\tEngine: pulumi.String(\"PG\"),\n\t\t\t\t\t\tName: pulumi.String(\"starter-db\"),\n\t\t\t\t\t\tProduction: pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tDomains: pulumi.StringArray{\n\t\t\t\t\tpulumi.String{\n\t\t\t\t\t\tName: \"foo.example.com\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tName: pulumi.String(\"mono-repo-example\"),\n\t\t\t\tRegion: pulumi.String(\"ams\"),\n\t\t\t\tServices: AppSpecServiceArray{\n\t\t\t\t\t\u0026AppSpecServiceArgs{\n\t\t\t\t\t\tAlert: []map[string]interface{}{\n\t\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\t\"operator\": \"GREATER_THAN\",\n\t\t\t\t\t\t\t\t\"rule\": \"CPU_UTILIZATION\",\n\t\t\t\t\t\t\t\t\"value\": 75,\n\t\t\t\t\t\t\t\t\"window\": \"TEN_MINUTES\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tEnvironmentSlug: pulumi.String(\"go\"),\n\t\t\t\t\t\tGithub: \u0026AppSpecServiceGithubArgs{\n\t\t\t\t\t\t\tBranch: pulumi.String(\"main\"),\n\t\t\t\t\t\t\tDeployOnPush: pulumi.Bool(true),\n\t\t\t\t\t\t\tRepo: pulumi.String(\"username/repo\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tHttpPort: pulumi.Int(3000),\n\t\t\t\t\t\tInstanceCount: pulumi.Int(2),\n\t\t\t\t\t\tInstanceSizeSlug: pulumi.String(\"professional-xs\"),\n\t\t\t\t\t\tLogDestination: []map[string]interface{}{\n\t\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\t\"name\": \"MyLogs\",\n\t\t\t\t\t\t\t\t\"papertrail\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"endpoint\": \"syslog+tls://example.com:12345\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"api\"),\n\t\t\t\t\t\tRoutes: AppSpecServiceRouteArray{\n\t\t\t\t\t\t\t\u0026AppSpecServiceRouteArgs{\n\t\t\t\t\t\t\t\tPath: pulumi.String(\"/api\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tRunCommand: pulumi.String(\"bin/api\"),\n\t\t\t\t\t\tSourceDir: pulumi.String(\"api/\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tStaticSites: AppSpecStaticSiteArray{\n\t\t\t\t\t\u0026AppSpecStaticSiteArgs{\n\t\t\t\t\t\tBuildCommand: pulumi.String(\"npm run build\"),\n\t\t\t\t\t\tGithub: \u0026AppSpecStaticSiteGithubArgs{\n\t\t\t\t\t\t\tBranch: pulumi.String(\"main\"),\n\t\t\t\t\t\t\tDeployOnPush: pulumi.Bool(true),\n\t\t\t\t\t\t\tRepo: pulumi.String(\"username/repo\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"web\"),\n\t\t\t\t\t\tRoutes: AppSpecStaticSiteRouteArray{\n\t\t\t\t\t\t\t\u0026AppSpecStaticSiteRouteArgs{\n\t\t\t\t\t\t\t\tPath: pulumi.String(\"/\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nAn app can be imported using its `id`, e.g.\n\n```sh\n $ pulumi import digitalocean:index/app:App myapp fb06ad00-351f-45c8-b5eb-13523c438661\n```\n\n ", "properties": { "activeDeploymentId": { "type": "string", @@ -8523,15 +9741,29 @@ "digitalocean:index/containerRegistry:ContainerRegistry": { "description": "Provides a DigitalOcean Container Registry resource. A Container Registry is\na secure, private location to store your containers for rapid deployment.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\n// Create a new container registry\nconst foobar = new digitalocean.ContainerRegistry(\"foobar\", {\n subscriptionTierSlug: \"starter\",\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\n# Create a new container registry\nfoobar = digitalocean.ContainerRegistry(\"foobar\", subscription_tier_slug=\"starter\")\n```\n```csharp\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n // Create a new container registry\n var foobar = new DigitalOcean.ContainerRegistry(\"foobar\", new DigitalOcean.ContainerRegistryArgs\n {\n SubscriptionTierSlug = \"starter\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := digitalocean.NewContainerRegistry(ctx, \"foobar\", \u0026digitalocean.ContainerRegistryArgs{\n\t\t\tSubscriptionTierSlug: pulumi.String(\"starter\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nContainer Registries can be imported using the `name`, e.g.\n\n```sh\n $ pulumi import digitalocean:index/containerRegistry:ContainerRegistry myregistry registryname\n```\n\n ", "properties": { + "createdAt": { + "type": "string", + "description": "The date and time when the registry was created\n" + }, "endpoint": { - "type": "string" + "type": "string", + "description": "The URL endpoint of the container registry. Ex: `registry.digitalocean.com/my_registry`\n" }, "name": { "type": "string", "description": "The name of the container_registry\n" }, + "region": { + "type": "string", + "description": "The slug identifier of for region where registry data will be stored. When not provided, a region will be selected automatically.\n" + }, "serverUrl": { - "type": "string" + "type": "string", + "description": "The domain of the container registry. Ex: `registry.digitalocean.com`\n" + }, + "storageUsageBytes": { + "type": "integer", + "description": "The amount of storage used in the registry in bytes.\n" }, "subscriptionTierSlug": { "type": "string", @@ -8539,9 +9771,12 @@ } }, "required": [ + "createdAt", "endpoint", "name", + "region", "serverUrl", + "storageUsageBytes", "subscriptionTierSlug" ], "inputProperties": { @@ -8549,6 +9784,10 @@ "type": "string", "description": "The name of the container_registry\n" }, + "region": { + "type": "string", + "description": "The slug identifier of for region where registry data will be stored. When not provided, a region will be selected automatically.\n" + }, "subscriptionTierSlug": { "type": "string", "description": "The slug identifier for the subscription tier to use (`starter`, `basic`, or `professional`)\n" @@ -8560,15 +9799,29 @@ "stateInputs": { "description": "Input properties used for looking up and filtering ContainerRegistry resources.\n", "properties": { + "createdAt": { + "type": "string", + "description": "The date and time when the registry was created\n" + }, "endpoint": { - "type": "string" + "type": "string", + "description": "The URL endpoint of the container registry. Ex: `registry.digitalocean.com/my_registry`\n" }, "name": { "type": "string", "description": "The name of the container_registry\n" }, + "region": { + "type": "string", + "description": "The slug identifier of for region where registry data will be stored. When not provided, a region will be selected automatically.\n" + }, "serverUrl": { - "type": "string" + "type": "string", + "description": "The domain of the container registry. Ex: `registry.digitalocean.com`\n" + }, + "storageUsageBytes": { + "type": "integer", + "description": "The amount of storage used in the registry in bytes.\n" }, "subscriptionTierSlug": { "type": "string", @@ -9678,7 +10931,7 @@ }, "ttl": { "type": "integer", - "description": "The time to live for the record, in seconds. Must be at least 0.\n" + "description": "The time to live for the record, in seconds. Must be at least 0. Defaults to 1800.\n" }, "type": { "type": "string", @@ -9728,7 +10981,7 @@ }, "ttl": { "type": "integer", - "description": "The time to live for the record, in seconds. Must be at least 0.\n" + "description": "The time to live for the record, in seconds. Must be at least 0. Defaults to 1800.\n" }, "type": { "type": "string", @@ -9790,7 +11043,7 @@ }, "ttl": { "type": "integer", - "description": "The time to live for the record, in seconds. Must be at least 0.\n" + "description": "The time to live for the record, in seconds. Must be at least 0. Defaults to 1800.\n" }, "type": { "type": "string", @@ -12097,6 +13350,65 @@ "type": "object" } }, + "digitalocean:index/spacesBucketPolicy:SpacesBucketPolicy": { + "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n### Limiting access to specific IP addresses\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\n\nconst foobarSpacesBucket = new digitalocean.SpacesBucket(\"foobarSpacesBucket\", {region: \"nyc3\"});\nconst foobarSpacesBucketPolicy = new digitalocean.SpacesBucketPolicy(\"foobarSpacesBucketPolicy\", {\n region: foobarSpacesBucket.region,\n bucket: foobarSpacesBucket.name,\n policy: pulumi.all([foobarSpacesBucket.name, foobarSpacesBucket.name]).apply(([foobarSpacesBucketName, foobarSpacesBucketName1]) =\u003e JSON.stringify({\n Version: \"2012-10-17\",\n Statement: [{\n Sid: \"IPAllow\",\n Effect: \"Deny\",\n Principal: \"*\",\n Action: \"s3:*\",\n Resource: [\n `arn:aws:s3:::${foobarSpacesBucketName}`,\n `arn:aws:s3:::${foobarSpacesBucketName1}/*`,\n ],\n Condition: {\n NotIpAddress: {\n \"aws:SourceIp\": \"54.240.143.0/24\",\n },\n },\n }],\n })),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_digitalocean as digitalocean\n\nfoobar_spaces_bucket = digitalocean.SpacesBucket(\"foobarSpacesBucket\", region=\"nyc3\")\nfoobar_spaces_bucket_policy = digitalocean.SpacesBucketPolicy(\"foobarSpacesBucketPolicy\",\n region=foobar_spaces_bucket.region,\n bucket=foobar_spaces_bucket.name,\n policy=pulumi.Output.all(foobar_spaces_bucket.name, foobar_spaces_bucket.name).apply(lambda foobarSpacesBucketName, foobarSpacesBucketName1: json.dumps({\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Sid\": \"IPAllow\",\n \"Effect\": \"Deny\",\n \"Principal\": \"*\",\n \"Action\": \"s3:*\",\n \"Resource\": [\n f\"arn:aws:s3:::{foobar_spaces_bucket_name}\",\n f\"arn:aws:s3:::{foobar_spaces_bucket_name1}/*\",\n ],\n \"Condition\": {\n \"NotIpAddress\": {\n \"aws:SourceIp\": \"54.240.143.0/24\",\n },\n },\n }],\n })))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Text.Json;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n var foobarSpacesBucket = new DigitalOcean.SpacesBucket(\"foobarSpacesBucket\", new DigitalOcean.SpacesBucketArgs\n {\n Region = \"nyc3\",\n });\n var foobarSpacesBucketPolicy = new DigitalOcean.SpacesBucketPolicy(\"foobarSpacesBucketPolicy\", new DigitalOcean.SpacesBucketPolicyArgs\n {\n Region = foobarSpacesBucket.Region,\n Bucket = foobarSpacesBucket.Name,\n Policy = Output.Tuple(foobarSpacesBucket.Name, foobarSpacesBucket.Name).Apply(values =\u003e\n {\n var foobarSpacesBucketName = values.Item1;\n var foobarSpacesBucketName1 = values.Item2;\n return JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n { \"Version\", \"2012-10-17\" },\n { \"Statement\", new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n { \"Sid\", \"IPAllow\" },\n { \"Effect\", \"Deny\" },\n { \"Principal\", \"*\" },\n { \"Action\", \"s3:*\" },\n { \"Resource\", new[]\n {\n $\"arn:aws:s3:::{foobarSpacesBucketName}\",\n $\"arn:aws:s3:::{foobarSpacesBucketName1}/*\",\n }\n },\n { \"Condition\", new Dictionary\u003cstring, object?\u003e\n {\n { \"NotIpAddress\", new Dictionary\u003cstring, object?\u003e\n {\n { \"aws:SourceIp\", \"54.240.143.0/24\" },\n } },\n } },\n },\n }\n },\n });\n }),\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoobarSpacesBucket, err := digitalocean.NewSpacesBucket(ctx, \"foobarSpacesBucket\", \u0026digitalocean.SpacesBucketArgs{\n\t\t\tRegion: pulumi.String(\"nyc3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewSpacesBucketPolicy(ctx, \"foobarSpacesBucketPolicy\", \u0026digitalocean.SpacesBucketPolicyArgs{\n\t\t\tRegion: foobarSpacesBucket.Region,\n\t\t\tBucket: foobarSpacesBucket.Name,\n\t\t\tPolicy: pulumi.All(foobarSpacesBucket.Name, foobarSpacesBucket.Name).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\tfoobarSpacesBucketName := _args[0].(string)\n\t\t\t\tfoobarSpacesBucketName1 := _args[1].(string)\n\t\t\t\tvar _zero string\n\t\t\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"Sid\": \"IPAllow\",\n\t\t\t\t\t\t\t\"Effect\": \"Deny\",\n\t\t\t\t\t\t\t\"Principal\": \"*\",\n\t\t\t\t\t\t\t\"Action\": \"s3:*\",\n\t\t\t\t\t\t\t\"Resource\": []string{\n\t\t\t\t\t\t\t\tfmt.Sprintf(\"%v%v\", \"arn:aws:s3:::\", foobarSpacesBucketName),\n\t\t\t\t\t\t\t\tfmt.Sprintf(\"%v%v%v\", \"arn:aws:s3:::\", foobarSpacesBucketName1, \"/*\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"Condition\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"NotIpAddress\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"aws:SourceIp\": \"54.240.143.0/24\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn _zero, err\n\t\t\t\t}\n\t\t\t\tjson0 := string(tmpJSON0)\n\t\t\t\treturn json0, nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n\n!\u003e **Warning:** Before using this policy, replace the 54.240.143.0/24 IP address range in this example with an appropriate value for your use case. Otherwise, you will lose the ability to access your bucket.\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nBucket policies can be imported using the `region` and `bucket` attributes (delimited by a comma)\n\n```sh\n $ pulumi import digitalocean:index/spacesBucketPolicy:SpacesBucketPolicy foobar `region`,`bucket`\n```\n\n ", + "properties": { + "bucket": { + "type": "string", + "description": "The name of the bucket to which to apply the policy.\n" + }, + "policy": { + "type": "string", + "description": "The text of the policy.\n" + }, + "region": { + "type": "string", + "description": "The region where the bucket resides.\n" + } + }, + "required": [ + "bucket", + "policy", + "region" + ], + "inputProperties": { + "bucket": { + "type": "string", + "description": "The name of the bucket to which to apply the policy.\n" + }, + "policy": { + "type": "string", + "description": "The text of the policy.\n" + }, + "region": { + "type": "string", + "description": "The region where the bucket resides.\n" + } + }, + "requiredInputs": [ + "bucket", + "policy", + "region" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering SpacesBucketPolicy resources.\n", + "properties": { + "bucket": { + "type": "string", + "description": "The name of the bucket to which to apply the policy.\n" + }, + "policy": { + "type": "string", + "description": "The text of the policy.\n" + }, + "region": { + "type": "string", + "description": "The region where the bucket resides.\n" + } + }, + "type": "object" + } + }, "digitalocean:index/sshKey:SshKey": { "description": "Provides a DigitalOcean SSH key resource to allow you to manage SSH\nkeys for Droplet access. Keys created with this resource\ncan be referenced in your Droplet configuration via their ID or\nfingerprint.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as digitalocean from \"@pulumi/digitalocean\";\nimport * from \"fs\";\n\n// Create a new SSH key\nconst _default = new digitalocean.SshKey(\"default\", {publicKey: fs.readFileSync(\"/Users/myuser/.ssh/id_rsa.pub\")});\n// Create a new Droplet using the SSH key\nconst web = new digitalocean.Droplet(\"web\", {\n image: \"ubuntu-18-04-x64\",\n region: \"nyc3\",\n size: \"s-1vcpu-1gb\",\n sshKeys: [_default.fingerprint],\n});\n```\n```python\nimport pulumi\nimport pulumi_digitalocean as digitalocean\n\n# Create a new SSH key\ndefault = digitalocean.SshKey(\"default\", public_key=(lambda path: open(path).read())(\"/Users/myuser/.ssh/id_rsa.pub\"))\n# Create a new Droplet using the SSH key\nweb = digitalocean.Droplet(\"web\",\n image=\"ubuntu-18-04-x64\",\n region=\"nyc3\",\n size=\"s-1vcpu-1gb\",\n ssh_keys=[default.fingerprint])\n```\n```csharp\nusing System.IO;\nusing Pulumi;\nusing DigitalOcean = Pulumi.DigitalOcean;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n // Create a new SSH key\n var @default = new DigitalOcean.SshKey(\"default\", new DigitalOcean.SshKeyArgs\n {\n PublicKey = File.ReadAllText(\"/Users/myuser/.ssh/id_rsa.pub\"),\n });\n // Create a new Droplet using the SSH key\n var web = new DigitalOcean.Droplet(\"web\", new DigitalOcean.DropletArgs\n {\n Image = \"ubuntu-18-04-x64\",\n Region = \"nyc3\",\n Size = \"s-1vcpu-1gb\",\n SshKeys = \n {\n @default.Fingerprint,\n },\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"io/ioutil\"\n\n\t\"github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := ioutil.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := digitalocean.NewSshKey(ctx, \"default\", \u0026digitalocean.SshKeyArgs{\n\t\t\tPublicKey: readFileOrPanic(\"/Users/myuser/.ssh/id_rsa.pub\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = digitalocean.NewDroplet(ctx, \"web\", \u0026digitalocean.DropletArgs{\n\t\t\tImage: pulumi.String(\"ubuntu-18-04-x64\"),\n\t\t\tRegion: pulumi.String(\"nyc3\"),\n\t\t\tSize: pulumi.String(\"s-1vcpu-1gb\"),\n\t\t\tSshKeys: pulumi.StringArray{\n\t\t\t\t_default.Fingerprint,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nSSH Keys can be imported using the `ssh key id`, e.g.\n\n```sh\n $ pulumi import digitalocean:index/sshKey:SshKey mykey 263654\n```\n\n ", "properties": { @@ -12882,8 +14194,13 @@ "outputs": { "description": "A collection of values returned by getContainerRegistry.\n", "properties": { + "createdAt": { + "type": "string", + "description": "The date and time when the registry was created\n" + }, "endpoint": { - "type": "string" + "type": "string", + "description": "The URL endpoint of the container registry. Ex: `registry.digitalocean.com/my_registry`\n" }, "id": { "type": "string", @@ -12893,19 +14210,31 @@ "type": "string", "description": "The name of the container registry\n" }, + "region": { + "type": "string", + "description": "The slug identifier for the region\n" + }, "serverUrl": { - "type": "string" + "type": "string", + "description": "The domain of the container registry. Ex: `registry.digitalocean.com`\n" + }, + "storageUsageBytes": { + "type": "integer", + "description": "The amount of storage used in the registry in bytes.\n" }, "subscriptionTierSlug": { "type": "string", - "description": "The slug identifier for the subscription tier\n* `endpoint`: The URL endpoint of the container registry. Ex: `registry.digitalocean.com/my_registry`\n* `server_url`: The domain of the container registry. Ex: `registry.digitalocean.com`\n" + "description": "The slug identifier for the subscription tier\n" } }, "type": "object", "required": [ + "createdAt", "endpoint", "name", + "region", "serverUrl", + "storageUsageBytes", "subscriptionTierSlug", "id" ] diff --git a/provider/go.mod b/provider/go.mod index 62a5f779..2434ff7d 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -10,7 +10,7 @@ require ( ) replace ( - github.com/digitalocean/terraform-provider-digitalocean => github.com/pulumi/terraform-provider-digitalocean v1.19.1-0.20220128183141-9e021280b702 + github.com/digitalocean/terraform-provider-digitalocean => github.com/pulumi/terraform-provider-digitalocean v1.19.1-0.20220406174106-35d0a4be61b3 github.com/hashicorp/go-getter v1.5.0 => github.com/hashicorp/go-getter v1.4.0 github.com/hashicorp/terraform-plugin-sdk/v2 => github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20201218231525-9cca98608a5e github.com/hashicorp/vault => github.com/hashicorp/vault v1.2.0 diff --git a/provider/go.sum b/provider/go.sum index 06eb612e..f572ed5f 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -148,11 +148,11 @@ github.com/aws/aws-sdk-go v1.15.78/go.mod h1:E3/ieXAlvM0XWO57iftYVDLLvQ824smPP3A github.com/aws/aws-sdk-go v1.19.39/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.23.20/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.25.3/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go v1.25.4/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.25.37/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.30.27/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= -github.com/aws/aws-sdk-go v1.38.35 h1:7AlAO0FC+8nFjxiGKEmq0QLpiA8/XFr6eIxgRTwkdTg= github.com/aws/aws-sdk-go v1.38.35/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= +github.com/aws/aws-sdk-go v1.42.18 h1:2f/cDNwQ3e+yHxtPn1si0to3GalbNHwkRm461IjwRiM= +github.com/aws/aws-sdk-go v1.42.18/go.mod h1:585smgzpB/KqRA+K3y/NL/oYRqQvpNJYvLm+LY1U59Q= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= @@ -207,8 +207,8 @@ github.com/denisenkom/go-mssqldb v0.9.0/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27N github.com/devigned/tab v0.1.1/go.mod h1:XG9mPq0dFghrYvoBF3xdRrJzSTX1b7IQrvaL9mzjeJY= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= -github.com/digitalocean/godo v1.73.0 h1:VEPb2YIgvbG5WP9+2Yin6ty+1s01mTUrSEW4CO6alVc= -github.com/digitalocean/godo v1.73.0/go.mod h1:GBmu8MkjZmNARE7IXRPmkbbnocNN8+uBm0xbEVw2LCs= +github.com/digitalocean/godo v1.77.0 h1:gSeFHqHTaWfk2mxU+xajexb0hmYixMDmYK0cLeRhx7g= +github.com/digitalocean/godo v1.77.0/go.mod h1:GBmu8MkjZmNARE7IXRPmkbbnocNN8+uBm0xbEVw2LCs= github.com/dimchansky/utfbom v1.1.0/go.mod h1:rO41eb7gLfo8SF1jd9F8HplJm1Fewwi4mQvIirEdv+8= github.com/dimchansky/utfbom v1.1.1 h1:vV6w1AhK4VMnhBno/TPVCoK9U/LP0PkLCS9tbxHdi/U= github.com/dimchansky/utfbom v1.1.1/go.mod h1:SxdoEBH5qIqFocHMyGOXVAybYJdr71b1Q/j0mACtrfE= @@ -388,6 +388,8 @@ github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgf github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 h1:MJG/KsmcqMwFAkh8mTnAwhyKoB+sTAnY4CACC110tbU= github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645/go.mod h1:6iZfnjpejD4L/4DwD7NryNaJyCQdzwWwH2MWhCA90Kw= +github.com/hashicorp/awspolicyequivalence v1.5.0 h1:tGw6h9qN1AWNBaUf4OUcdCyE/kqNBItTiyTPQeV/KUg= +github.com/hashicorp/awspolicyequivalence v1.5.0/go.mod h1:9IOaIHx+a7C0NfUNk1A93M7kHd5rJ19aoUx37LZGC14= github.com/hashicorp/errwrap v0.0.0-20180715044906-d6c0cd880357/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= @@ -608,8 +610,9 @@ github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh github.com/mitchellh/mapstructure v1.3.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.4.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.4.1 h1:CpVNEelQCZBooIPDn+AR3NpivK/TIKU8bDxdASFVQag= github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.4.2 h1:6h7AQ0yhTcIsmFmnAwQls75jp2Gzs4iB8W7pjMO+rqo= +github.com/mitchellh/mapstructure v1.4.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/mitchellh/reflectwalk v1.0.1/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= @@ -700,8 +703,8 @@ github.com/pulumi/terraform-diff-reader v0.0.0-20201211191010-ad4715e9285e h1:Di github.com/pulumi/terraform-diff-reader v0.0.0-20201211191010-ad4715e9285e/go.mod h1:sZ9FUzGO+yM41hsQHs/yIcj/Y993qMdBxBU5mpDmAfQ= github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20201218231525-9cca98608a5e h1:jl43csgF3BSlNRmjo+TGgjW/uXk9h7+NoR3doKQ0BT4= github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20201218231525-9cca98608a5e/go.mod h1:JBItawj+j8Ssla5Ib6BC/W9VQkOucBfnX7VRtyx1vw8= -github.com/pulumi/terraform-provider-digitalocean v1.19.1-0.20220128183141-9e021280b702 h1:oso27XUwRhPVhbJ+eF20woqsubFI9QLpEn7+9UOtQFA= -github.com/pulumi/terraform-provider-digitalocean v1.19.1-0.20220128183141-9e021280b702/go.mod h1:MXM20Ath5PK7a05rgiP6Sr7EGsuWJ0v3emDn/ZzYeZc= +github.com/pulumi/terraform-provider-digitalocean v1.19.1-0.20220406174106-35d0a4be61b3 h1:oRmWtOlAc4m1OQIg47+xoAxHYupCQb5a0PpLsZA3oqo= +github.com/pulumi/terraform-provider-digitalocean v1.19.1-0.20220406174106-35d0a4be61b3/go.mod h1:0KkjtOWRyS+yhH6r12GIt3oQ5kWo9lsQBAGyXClrPg8= github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rjeczalik/notify v0.9.2 h1:MiTWrPj55mNDHEiIX5YUSKefw/+lCQVoAFmD6oQm5w8= @@ -932,8 +935,10 @@ golang.org/x/net v0.0.0-20210420210106-798c2154c571/go.mod h1:72T/g9IO56b78aLF+1 golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210505214959-0714010a04ed/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210520170846-37e1c6afe023/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211216030914-fe4d6282115f h1:hEYJvxw1lSnWIl8X9ofsYMklzaDs90JI2az5YMd4fPM= -golang.org/x/net v0.0.0-20211216030914-fe4d6282115f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220325170049-de3da57026de h1:pZB1TWnKi+o4bENlbzAgLrEbY4RMYmUIRobMcSmfeYc= +golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -947,8 +952,8 @@ golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210413134643-5e61552d6c78/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210427180440-81ed05c6b58c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8 h1:RerP+noqYHUQ8CMRcPlC2nvTa4dcBIjegkuWdcUDuqg= -golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a h1:qfl7ob3DIEs3Ml9oLuPwY2N04gymzAW04WsUQHIClgM= +golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1025,11 +1030,14 @@ golang.org/x/sys v0.0.0-20210420205809-ac73e9fd8988/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210503080704-8803ae5d1324/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210503173754-0981d6026fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210816074244-15123e1e1f71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210817190340-bfb29a6856f2 h1:c8PlLMqBbOHoqtjteWm5/kbe6rNY2pbRfbIMVnepueo= golang.org/x/sys v0.0.0-20210817190340-bfb29a6856f2/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e h1:fLOSk5Q00efkSvAm+4xcoXD+RRmLmmulPn5I3Y9F2EM= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1037,8 +1045,9 @@ golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6 h1:aRYxNxv6iGQlyVaZmk6ZgYEDa+Jg18DxebPSrd6bg1M= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1234,8 +1243,8 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ= -google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.28.0 h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw= +google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/AlecAivazis/survey.v1 v1.8.9-0.20200217094205-6773bdf39b7f h1:AQkMzsSzHWrgZWqGRpuRaRPDmyNibcXlpGcnQJ7HxZw= gopkg.in/AlecAivazis/survey.v1 v1.8.9-0.20200217094205-6773bdf39b7f/go.mod h1:CaHjv79TCgAvXMSFJSVgonHXYWxnhzI3eoHtnX5UgUo= gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U= diff --git a/provider/resources.go b/provider/resources.go index bad971f7..32fe51e1 100644 --- a/provider/resources.go +++ b/provider/resources.go @@ -281,8 +281,9 @@ func Provider() tfbridge.ProviderInfo { }, }, }, - "digitalocean_custom_image": {Tok: makeResource(digitalOceanMod, "CustomImage")}, - "digitalocean_monitor_alert": {Tok: makeResource(digitalOceanMod, "MonitorAlert")}, + "digitalocean_custom_image": {Tok: makeResource(digitalOceanMod, "CustomImage")}, + "digitalocean_monitor_alert": {Tok: makeResource(digitalOceanMod, "MonitorAlert")}, + "digitalocean_spaces_bucket_policy": {Tok: makeResource(digitalOceanMod, "SpacesBucketPolicy")}, }, ExtraTypes: map[string]schema.ComplexTypeSpec{ "digitalocean:index:Region": { diff --git a/sdk/dotnet/App.cs b/sdk/dotnet/App.cs index bf7db5c7..ced2e5b4 100644 --- a/sdk/dotnet/App.cs +++ b/sdk/dotnet/App.cs @@ -102,6 +102,13 @@ namespace Pulumi.DigitalOcean /// { /// Spec = new DigitalOcean.Inputs.AppSpecArgs /// { + /// Alerts = + /// { + /// new DigitalOcean.Inputs.AppSpecAlertArgs + /// { + /// Rule = "DEPLOYMENT_FAILED", + /// }, + /// }, /// Databases = /// { /// new DigitalOcean.Inputs.AppSpecDatabaseArgs @@ -124,6 +131,16 @@ namespace Pulumi.DigitalOcean /// { /// new DigitalOcean.Inputs.AppSpecServiceArgs /// { + /// Alert = + /// { + /// + /// { + /// { "operator", "GREATER_THAN" }, + /// { "rule", "CPU_UTILIZATION" }, + /// { "value", 75 }, + /// { "window", "TEN_MINUTES" }, + /// }, + /// }, /// EnvironmentSlug = "go", /// Github = new DigitalOcean.Inputs.AppSpecServiceGithubArgs /// { @@ -134,6 +151,17 @@ namespace Pulumi.DigitalOcean /// HttpPort = 3000, /// InstanceCount = 2, /// InstanceSizeSlug = "professional-xs", + /// LogDestination = + /// { + /// + /// { + /// { "name", "MyLogs" }, + /// { "papertrail", + /// { + /// { "endpoint", "syslog+tls://example.com:12345" }, + /// } }, + /// }, + /// }, /// Name = "api", /// Routes = /// { diff --git a/sdk/dotnet/ContainerRegistry.cs b/sdk/dotnet/ContainerRegistry.cs index 4268966e..c07d5705 100644 --- a/sdk/dotnet/ContainerRegistry.cs +++ b/sdk/dotnet/ContainerRegistry.cs @@ -44,6 +44,15 @@ namespace Pulumi.DigitalOcean [DigitalOceanResourceType("digitalocean:index/containerRegistry:ContainerRegistry")] public partial class ContainerRegistry : Pulumi.CustomResource { + /// + /// The date and time when the registry was created + /// + [Output("createdAt")] + public Output CreatedAt { get; private set; } = null!; + + /// + /// The URL endpoint of the container registry. Ex: `registry.digitalocean.com/my_registry` + /// [Output("endpoint")] public Output Endpoint { get; private set; } = null!; @@ -53,9 +62,24 @@ public partial class ContainerRegistry : Pulumi.CustomResource [Output("name")] public Output Name { get; private set; } = null!; + /// + /// The slug identifier of for region where registry data will be stored. When not provided, a region will be selected automatically. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + + /// + /// The domain of the container registry. Ex: `registry.digitalocean.com` + /// [Output("serverUrl")] public Output ServerUrl { get; private set; } = null!; + /// + /// The amount of storage used in the registry in bytes. + /// + [Output("storageUsageBytes")] + public Output StorageUsageBytes { get; private set; } = null!; + /// /// The slug identifier for the subscription tier to use (`starter`, `basic`, or `professional`) /// @@ -114,6 +138,12 @@ public sealed class ContainerRegistryArgs : Pulumi.ResourceArgs [Input("name")] public Input? Name { get; set; } + /// + /// The slug identifier of for region where registry data will be stored. When not provided, a region will be selected automatically. + /// + [Input("region")] + public Input? Region { get; set; } + /// /// The slug identifier for the subscription tier to use (`starter`, `basic`, or `professional`) /// @@ -127,6 +157,15 @@ public ContainerRegistryArgs() public sealed class ContainerRegistryState : Pulumi.ResourceArgs { + /// + /// The date and time when the registry was created + /// + [Input("createdAt")] + public Input? CreatedAt { get; set; } + + /// + /// The URL endpoint of the container registry. Ex: `registry.digitalocean.com/my_registry` + /// [Input("endpoint")] public Input? Endpoint { get; set; } @@ -136,9 +175,24 @@ public sealed class ContainerRegistryState : Pulumi.ResourceArgs [Input("name")] public Input? Name { get; set; } + /// + /// The slug identifier of for region where registry data will be stored. When not provided, a region will be selected automatically. + /// + [Input("region")] + public Input? Region { get; set; } + + /// + /// The domain of the container registry. Ex: `registry.digitalocean.com` + /// [Input("serverUrl")] public Input? ServerUrl { get; set; } + /// + /// The amount of storage used in the registry in bytes. + /// + [Input("storageUsageBytes")] + public Input? StorageUsageBytes { get; set; } + /// /// The slug identifier for the subscription tier to use (`starter`, `basic`, or `professional`) /// diff --git a/sdk/dotnet/DnsRecord.cs b/sdk/dotnet/DnsRecord.cs index cecc75b2..544242d2 100644 --- a/sdk/dotnet/DnsRecord.cs +++ b/sdk/dotnet/DnsRecord.cs @@ -106,7 +106,7 @@ public partial class DnsRecord : Pulumi.CustomResource public Output Tag { get; private set; } = null!; /// - /// The time to live for the record, in seconds. Must be at least 0. + /// The time to live for the record, in seconds. Must be at least 0. Defaults to 1800. /// [Output("ttl")] public Output Ttl { get; private set; } = null!; @@ -212,7 +212,7 @@ public sealed class DnsRecordArgs : Pulumi.ResourceArgs public Input? Tag { get; set; } /// - /// The time to live for the record, in seconds. Must be at least 0. + /// The time to live for the record, in seconds. Must be at least 0. Defaults to 1800. /// [Input("ttl")] public Input? Ttl { get; set; } @@ -285,7 +285,7 @@ public sealed class DnsRecordState : Pulumi.ResourceArgs public Input? Tag { get; set; } /// - /// The time to live for the record, in seconds. Must be at least 0. + /// The time to live for the record, in seconds. Must be at least 0. Defaults to 1800. /// [Input("ttl")] public Input? Ttl { get; set; } diff --git a/sdk/dotnet/GetContainerRegistry.cs b/sdk/dotnet/GetContainerRegistry.cs index c0af5b7e..ba270921 100644 --- a/sdk/dotnet/GetContainerRegistry.cs +++ b/sdk/dotnet/GetContainerRegistry.cs @@ -117,6 +117,13 @@ public GetContainerRegistryInvokeArgs() [OutputType] public sealed class GetContainerRegistryResult { + /// + /// The date and time when the registry was created + /// + public readonly string CreatedAt; + /// + /// The URL endpoint of the container registry. Ex: `registry.digitalocean.com/my_registry` + /// public readonly string Endpoint; /// /// The provider-assigned unique ID for this managed resource. @@ -126,30 +133,48 @@ public sealed class GetContainerRegistryResult /// The name of the container registry /// public readonly string Name; + /// + /// The slug identifier for the region + /// + public readonly string Region; + /// + /// The domain of the container registry. Ex: `registry.digitalocean.com` + /// public readonly string ServerUrl; /// + /// The amount of storage used in the registry in bytes. + /// + public readonly int StorageUsageBytes; + /// /// The slug identifier for the subscription tier - /// * `endpoint`: The URL endpoint of the container registry. Ex: `registry.digitalocean.com/my_registry` - /// * `server_url`: The domain of the container registry. Ex: `registry.digitalocean.com` /// public readonly string SubscriptionTierSlug; [OutputConstructor] private GetContainerRegistryResult( + string createdAt, + string endpoint, string id, string name, + string region, + string serverUrl, + int storageUsageBytes, + string subscriptionTierSlug) { + CreatedAt = createdAt; Endpoint = endpoint; Id = id; Name = name; + Region = region; ServerUrl = serverUrl; + StorageUsageBytes = storageUsageBytes; SubscriptionTierSlug = subscriptionTierSlug; } } diff --git a/sdk/dotnet/Inputs/AppSpecAlertArgs.cs b/sdk/dotnet/Inputs/AppSpecAlertArgs.cs new file mode 100644 index 00000000..bc9a4750 --- /dev/null +++ b/sdk/dotnet/Inputs/AppSpecAlertArgs.cs @@ -0,0 +1,31 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Inputs +{ + + public sealed class AppSpecAlertArgs : Pulumi.ResourceArgs + { + /// + /// Determines whether or not the alert is disabled (default: `false`). + /// + [Input("disabled")] + public Input? Disabled { get; set; } + + /// + /// The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. + /// + [Input("rule", required: true)] + public Input Rule { get; set; } = null!; + + public AppSpecAlertArgs() + { + } + } +} diff --git a/sdk/dotnet/Inputs/AppSpecAlertGetArgs.cs b/sdk/dotnet/Inputs/AppSpecAlertGetArgs.cs new file mode 100644 index 00000000..bb2aa56f --- /dev/null +++ b/sdk/dotnet/Inputs/AppSpecAlertGetArgs.cs @@ -0,0 +1,31 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Inputs +{ + + public sealed class AppSpecAlertGetArgs : Pulumi.ResourceArgs + { + /// + /// Determines whether or not the alert is disabled (default: `false`). + /// + [Input("disabled")] + public Input? Disabled { get; set; } + + /// + /// The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. + /// + [Input("rule", required: true)] + public Input Rule { get; set; } = null!; + + public AppSpecAlertGetArgs() + { + } + } +} diff --git a/sdk/dotnet/Inputs/AppSpecArgs.cs b/sdk/dotnet/Inputs/AppSpecArgs.cs index 999c5f8b..aac89cab 100644 --- a/sdk/dotnet/Inputs/AppSpecArgs.cs +++ b/sdk/dotnet/Inputs/AppSpecArgs.cs @@ -12,6 +12,18 @@ namespace Pulumi.DigitalOcean.Inputs public sealed class AppSpecArgs : Pulumi.ResourceArgs { + [Input("alerts")] + private InputList? _alerts; + + /// + /// Describes an alert policy for the component. + /// + public InputList Alerts + { + get => _alerts ?? (_alerts = new InputList()); + set => _alerts = value; + } + [Input("databases")] private InputList? _databases; public InputList Databases diff --git a/sdk/dotnet/Inputs/AppSpecEnvArgs.cs b/sdk/dotnet/Inputs/AppSpecEnvArgs.cs index 0fbd9ae1..08dc5757 100644 --- a/sdk/dotnet/Inputs/AppSpecEnvArgs.cs +++ b/sdk/dotnet/Inputs/AppSpecEnvArgs.cs @@ -31,7 +31,7 @@ public sealed class AppSpecEnvArgs : Pulumi.ResourceArgs public Input? Type { get; set; } /// - /// The value of the environment variable. + /// The threshold for the type of the warning. /// [Input("value")] public Input? Value { get; set; } diff --git a/sdk/dotnet/Inputs/AppSpecEnvGetArgs.cs b/sdk/dotnet/Inputs/AppSpecEnvGetArgs.cs index 35976c31..2c011a89 100644 --- a/sdk/dotnet/Inputs/AppSpecEnvGetArgs.cs +++ b/sdk/dotnet/Inputs/AppSpecEnvGetArgs.cs @@ -31,7 +31,7 @@ public sealed class AppSpecEnvGetArgs : Pulumi.ResourceArgs public Input? Type { get; set; } /// - /// The value of the environment variable. + /// The threshold for the type of the warning. /// [Input("value")] public Input? Value { get; set; } diff --git a/sdk/dotnet/Inputs/AppSpecGetArgs.cs b/sdk/dotnet/Inputs/AppSpecGetArgs.cs index 28d2597e..8776b263 100644 --- a/sdk/dotnet/Inputs/AppSpecGetArgs.cs +++ b/sdk/dotnet/Inputs/AppSpecGetArgs.cs @@ -12,6 +12,18 @@ namespace Pulumi.DigitalOcean.Inputs public sealed class AppSpecGetArgs : Pulumi.ResourceArgs { + [Input("alerts")] + private InputList? _alerts; + + /// + /// Describes an alert policy for the component. + /// + public InputList Alerts + { + get => _alerts ?? (_alerts = new InputList()); + set => _alerts = value; + } + [Input("databases")] private InputList? _databases; public InputList Databases diff --git a/sdk/dotnet/Inputs/AppSpecJobAlertArgs.cs b/sdk/dotnet/Inputs/AppSpecJobAlertArgs.cs new file mode 100644 index 00000000..4b91b5de --- /dev/null +++ b/sdk/dotnet/Inputs/AppSpecJobAlertArgs.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Inputs +{ + + public sealed class AppSpecJobAlertArgs : Pulumi.ResourceArgs + { + /// + /// Determines whether or not the alert is disabled (default: `false`). + /// + [Input("disabled")] + public Input? Disabled { get; set; } + + /// + /// The operator to use. This is either of `GREATER_THAN` or `LESS_THAN`. + /// + [Input("operator", required: true)] + public Input Operator { get; set; } = null!; + + /// + /// The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. + /// + [Input("rule", required: true)] + public Input Rule { get; set; } = null!; + + /// + /// The threshold for the type of the warning. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + /// + /// The time before alerts should be triggered. This is may be one of: `FIVE_MINUTES`, `TEN_MINUTES`, `THIRTY_MINUTES`, `ONE_HOUR`. + /// + [Input("window", required: true)] + public Input Window { get; set; } = null!; + + public AppSpecJobAlertArgs() + { + } + } +} diff --git a/sdk/dotnet/Inputs/AppSpecJobAlertGetArgs.cs b/sdk/dotnet/Inputs/AppSpecJobAlertGetArgs.cs new file mode 100644 index 00000000..0fd90122 --- /dev/null +++ b/sdk/dotnet/Inputs/AppSpecJobAlertGetArgs.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Inputs +{ + + public sealed class AppSpecJobAlertGetArgs : Pulumi.ResourceArgs + { + /// + /// Determines whether or not the alert is disabled (default: `false`). + /// + [Input("disabled")] + public Input? Disabled { get; set; } + + /// + /// The operator to use. This is either of `GREATER_THAN` or `LESS_THAN`. + /// + [Input("operator", required: true)] + public Input Operator { get; set; } = null!; + + /// + /// The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. + /// + [Input("rule", required: true)] + public Input Rule { get; set; } = null!; + + /// + /// The threshold for the type of the warning. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + /// + /// The time before alerts should be triggered. This is may be one of: `FIVE_MINUTES`, `TEN_MINUTES`, `THIRTY_MINUTES`, `ONE_HOUR`. + /// + [Input("window", required: true)] + public Input Window { get; set; } = null!; + + public AppSpecJobAlertGetArgs() + { + } + } +} diff --git a/sdk/dotnet/Inputs/AppSpecJobArgs.cs b/sdk/dotnet/Inputs/AppSpecJobArgs.cs index c8e8a468..49310dcb 100644 --- a/sdk/dotnet/Inputs/AppSpecJobArgs.cs +++ b/sdk/dotnet/Inputs/AppSpecJobArgs.cs @@ -12,6 +12,18 @@ namespace Pulumi.DigitalOcean.Inputs public sealed class AppSpecJobArgs : Pulumi.ResourceArgs { + [Input("alerts")] + private InputList? _alerts; + + /// + /// Describes an alert policy for the component. + /// + public InputList Alerts + { + get => _alerts ?? (_alerts = new InputList()); + set => _alerts = value; + } + /// /// An optional build command to run while building this component from source. /// @@ -88,6 +100,18 @@ public InputList Envs [Input("kind")] public Input? Kind { get; set; } + [Input("logDestinations")] + private InputList? _logDestinations; + + /// + /// Describes a log forwarding destination. + /// + public InputList LogDestinations + { + get => _logDestinations ?? (_logDestinations = new InputList()); + set => _logDestinations = value; + } + /// /// The name of the component. /// diff --git a/sdk/dotnet/Inputs/AppSpecJobEnvArgs.cs b/sdk/dotnet/Inputs/AppSpecJobEnvArgs.cs index eeedfd0b..0c8d5061 100644 --- a/sdk/dotnet/Inputs/AppSpecJobEnvArgs.cs +++ b/sdk/dotnet/Inputs/AppSpecJobEnvArgs.cs @@ -31,7 +31,7 @@ public sealed class AppSpecJobEnvArgs : Pulumi.ResourceArgs public Input? Type { get; set; } /// - /// The value of the environment variable. + /// The threshold for the type of the warning. /// [Input("value")] public Input? Value { get; set; } diff --git a/sdk/dotnet/Inputs/AppSpecJobEnvGetArgs.cs b/sdk/dotnet/Inputs/AppSpecJobEnvGetArgs.cs index 1f2902f1..be3aaa3b 100644 --- a/sdk/dotnet/Inputs/AppSpecJobEnvGetArgs.cs +++ b/sdk/dotnet/Inputs/AppSpecJobEnvGetArgs.cs @@ -31,7 +31,7 @@ public sealed class AppSpecJobEnvGetArgs : Pulumi.ResourceArgs public Input? Type { get; set; } /// - /// The value of the environment variable. + /// The threshold for the type of the warning. /// [Input("value")] public Input? Value { get; set; } diff --git a/sdk/dotnet/Inputs/AppSpecJobGetArgs.cs b/sdk/dotnet/Inputs/AppSpecJobGetArgs.cs index ae42add5..82d1c0a4 100644 --- a/sdk/dotnet/Inputs/AppSpecJobGetArgs.cs +++ b/sdk/dotnet/Inputs/AppSpecJobGetArgs.cs @@ -12,6 +12,18 @@ namespace Pulumi.DigitalOcean.Inputs public sealed class AppSpecJobGetArgs : Pulumi.ResourceArgs { + [Input("alerts")] + private InputList? _alerts; + + /// + /// Describes an alert policy for the component. + /// + public InputList Alerts + { + get => _alerts ?? (_alerts = new InputList()); + set => _alerts = value; + } + /// /// An optional build command to run while building this component from source. /// @@ -88,6 +100,18 @@ public InputList Envs [Input("kind")] public Input? Kind { get; set; } + [Input("logDestinations")] + private InputList? _logDestinations; + + /// + /// Describes a log forwarding destination. + /// + public InputList LogDestinations + { + get => _logDestinations ?? (_logDestinations = new InputList()); + set => _logDestinations = value; + } + /// /// The name of the component. /// diff --git a/sdk/dotnet/Inputs/AppSpecJobLogDestinationArgs.cs b/sdk/dotnet/Inputs/AppSpecJobLogDestinationArgs.cs new file mode 100644 index 00000000..1ae368a4 --- /dev/null +++ b/sdk/dotnet/Inputs/AppSpecJobLogDestinationArgs.cs @@ -0,0 +1,43 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Inputs +{ + + public sealed class AppSpecJobLogDestinationArgs : Pulumi.ResourceArgs + { + /// + /// Datadog configuration. + /// + [Input("datadog")] + public Input? Datadog { get; set; } + + /// + /// Logtail configuration. + /// + [Input("logtail")] + public Input? Logtail { get; set; } + + /// + /// The name of the component. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// Papertrail configuration. + /// + [Input("papertrail")] + public Input? Papertrail { get; set; } + + public AppSpecJobLogDestinationArgs() + { + } + } +} diff --git a/sdk/dotnet/Inputs/AppSpecJobLogDestinationDatadogArgs.cs b/sdk/dotnet/Inputs/AppSpecJobLogDestinationDatadogArgs.cs new file mode 100644 index 00000000..6c832ae1 --- /dev/null +++ b/sdk/dotnet/Inputs/AppSpecJobLogDestinationDatadogArgs.cs @@ -0,0 +1,31 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Inputs +{ + + public sealed class AppSpecJobLogDestinationDatadogArgs : Pulumi.ResourceArgs + { + /// + /// Datadog API key. + /// + [Input("apiKey", required: true)] + public Input ApiKey { get; set; } = null!; + + /// + /// Datadog HTTP log intake endpoint. + /// + [Input("endpoint")] + public Input? Endpoint { get; set; } + + public AppSpecJobLogDestinationDatadogArgs() + { + } + } +} diff --git a/sdk/dotnet/Inputs/AppSpecJobLogDestinationDatadogGetArgs.cs b/sdk/dotnet/Inputs/AppSpecJobLogDestinationDatadogGetArgs.cs new file mode 100644 index 00000000..51ebe602 --- /dev/null +++ b/sdk/dotnet/Inputs/AppSpecJobLogDestinationDatadogGetArgs.cs @@ -0,0 +1,31 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Inputs +{ + + public sealed class AppSpecJobLogDestinationDatadogGetArgs : Pulumi.ResourceArgs + { + /// + /// Datadog API key. + /// + [Input("apiKey", required: true)] + public Input ApiKey { get; set; } = null!; + + /// + /// Datadog HTTP log intake endpoint. + /// + [Input("endpoint")] + public Input? Endpoint { get; set; } + + public AppSpecJobLogDestinationDatadogGetArgs() + { + } + } +} diff --git a/sdk/dotnet/Inputs/AppSpecJobLogDestinationGetArgs.cs b/sdk/dotnet/Inputs/AppSpecJobLogDestinationGetArgs.cs new file mode 100644 index 00000000..5873d9c6 --- /dev/null +++ b/sdk/dotnet/Inputs/AppSpecJobLogDestinationGetArgs.cs @@ -0,0 +1,43 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Inputs +{ + + public sealed class AppSpecJobLogDestinationGetArgs : Pulumi.ResourceArgs + { + /// + /// Datadog configuration. + /// + [Input("datadog")] + public Input? Datadog { get; set; } + + /// + /// Logtail configuration. + /// + [Input("logtail")] + public Input? Logtail { get; set; } + + /// + /// The name of the component. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// Papertrail configuration. + /// + [Input("papertrail")] + public Input? Papertrail { get; set; } + + public AppSpecJobLogDestinationGetArgs() + { + } + } +} diff --git a/sdk/dotnet/Inputs/AppSpecJobLogDestinationLogtailArgs.cs b/sdk/dotnet/Inputs/AppSpecJobLogDestinationLogtailArgs.cs new file mode 100644 index 00000000..5bb5d3ba --- /dev/null +++ b/sdk/dotnet/Inputs/AppSpecJobLogDestinationLogtailArgs.cs @@ -0,0 +1,25 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Inputs +{ + + public sealed class AppSpecJobLogDestinationLogtailArgs : Pulumi.ResourceArgs + { + /// + /// Logtail token. + /// + [Input("token", required: true)] + public Input Token { get; set; } = null!; + + public AppSpecJobLogDestinationLogtailArgs() + { + } + } +} diff --git a/sdk/dotnet/Inputs/AppSpecJobLogDestinationLogtailGetArgs.cs b/sdk/dotnet/Inputs/AppSpecJobLogDestinationLogtailGetArgs.cs new file mode 100644 index 00000000..02ccb864 --- /dev/null +++ b/sdk/dotnet/Inputs/AppSpecJobLogDestinationLogtailGetArgs.cs @@ -0,0 +1,25 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Inputs +{ + + public sealed class AppSpecJobLogDestinationLogtailGetArgs : Pulumi.ResourceArgs + { + /// + /// Logtail token. + /// + [Input("token", required: true)] + public Input Token { get; set; } = null!; + + public AppSpecJobLogDestinationLogtailGetArgs() + { + } + } +} diff --git a/sdk/dotnet/Inputs/AppSpecJobLogDestinationPapertrailArgs.cs b/sdk/dotnet/Inputs/AppSpecJobLogDestinationPapertrailArgs.cs new file mode 100644 index 00000000..d1e102c6 --- /dev/null +++ b/sdk/dotnet/Inputs/AppSpecJobLogDestinationPapertrailArgs.cs @@ -0,0 +1,25 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Inputs +{ + + public sealed class AppSpecJobLogDestinationPapertrailArgs : Pulumi.ResourceArgs + { + /// + /// Datadog HTTP log intake endpoint. + /// + [Input("endpoint", required: true)] + public Input Endpoint { get; set; } = null!; + + public AppSpecJobLogDestinationPapertrailArgs() + { + } + } +} diff --git a/sdk/dotnet/Inputs/AppSpecJobLogDestinationPapertrailGetArgs.cs b/sdk/dotnet/Inputs/AppSpecJobLogDestinationPapertrailGetArgs.cs new file mode 100644 index 00000000..82aaa344 --- /dev/null +++ b/sdk/dotnet/Inputs/AppSpecJobLogDestinationPapertrailGetArgs.cs @@ -0,0 +1,25 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Inputs +{ + + public sealed class AppSpecJobLogDestinationPapertrailGetArgs : Pulumi.ResourceArgs + { + /// + /// Datadog HTTP log intake endpoint. + /// + [Input("endpoint", required: true)] + public Input Endpoint { get; set; } = null!; + + public AppSpecJobLogDestinationPapertrailGetArgs() + { + } + } +} diff --git a/sdk/dotnet/Inputs/AppSpecServiceAlertArgs.cs b/sdk/dotnet/Inputs/AppSpecServiceAlertArgs.cs new file mode 100644 index 00000000..57981b8a --- /dev/null +++ b/sdk/dotnet/Inputs/AppSpecServiceAlertArgs.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Inputs +{ + + public sealed class AppSpecServiceAlertArgs : Pulumi.ResourceArgs + { + /// + /// Determines whether or not the alert is disabled (default: `false`). + /// + [Input("disabled")] + public Input? Disabled { get; set; } + + /// + /// The operator to use. This is either of `GREATER_THAN` or `LESS_THAN`. + /// + [Input("operator", required: true)] + public Input Operator { get; set; } = null!; + + /// + /// The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. + /// + [Input("rule", required: true)] + public Input Rule { get; set; } = null!; + + /// + /// The threshold for the type of the warning. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + /// + /// The time before alerts should be triggered. This is may be one of: `FIVE_MINUTES`, `TEN_MINUTES`, `THIRTY_MINUTES`, `ONE_HOUR`. + /// + [Input("window", required: true)] + public Input Window { get; set; } = null!; + + public AppSpecServiceAlertArgs() + { + } + } +} diff --git a/sdk/dotnet/Inputs/AppSpecServiceAlertGetArgs.cs b/sdk/dotnet/Inputs/AppSpecServiceAlertGetArgs.cs new file mode 100644 index 00000000..d0227dc0 --- /dev/null +++ b/sdk/dotnet/Inputs/AppSpecServiceAlertGetArgs.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Inputs +{ + + public sealed class AppSpecServiceAlertGetArgs : Pulumi.ResourceArgs + { + /// + /// Determines whether or not the alert is disabled (default: `false`). + /// + [Input("disabled")] + public Input? Disabled { get; set; } + + /// + /// The operator to use. This is either of `GREATER_THAN` or `LESS_THAN`. + /// + [Input("operator", required: true)] + public Input Operator { get; set; } = null!; + + /// + /// The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. + /// + [Input("rule", required: true)] + public Input Rule { get; set; } = null!; + + /// + /// The threshold for the type of the warning. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + /// + /// The time before alerts should be triggered. This is may be one of: `FIVE_MINUTES`, `TEN_MINUTES`, `THIRTY_MINUTES`, `ONE_HOUR`. + /// + [Input("window", required: true)] + public Input Window { get; set; } = null!; + + public AppSpecServiceAlertGetArgs() + { + } + } +} diff --git a/sdk/dotnet/Inputs/AppSpecServiceArgs.cs b/sdk/dotnet/Inputs/AppSpecServiceArgs.cs index 32e4f21f..91d6fcc1 100644 --- a/sdk/dotnet/Inputs/AppSpecServiceArgs.cs +++ b/sdk/dotnet/Inputs/AppSpecServiceArgs.cs @@ -12,6 +12,18 @@ namespace Pulumi.DigitalOcean.Inputs public sealed class AppSpecServiceArgs : Pulumi.ResourceArgs { + [Input("alerts")] + private InputList? _alerts; + + /// + /// Describes an alert policy for the component. + /// + public InputList Alerts + { + get => _alerts ?? (_alerts = new InputList()); + set => _alerts = value; + } + /// /// An optional build command to run while building this component from source. /// @@ -108,6 +120,18 @@ public InputList InternalPorts set => _internalPorts = value; } + [Input("logDestinations")] + private InputList? _logDestinations; + + /// + /// Describes a log forwarding destination. + /// + public InputList LogDestinations + { + get => _logDestinations ?? (_logDestinations = new InputList()); + set => _logDestinations = value; + } + /// /// The name of the component. /// diff --git a/sdk/dotnet/Inputs/AppSpecServiceEnvArgs.cs b/sdk/dotnet/Inputs/AppSpecServiceEnvArgs.cs index 3d05ff97..3ab74b36 100644 --- a/sdk/dotnet/Inputs/AppSpecServiceEnvArgs.cs +++ b/sdk/dotnet/Inputs/AppSpecServiceEnvArgs.cs @@ -31,7 +31,7 @@ public sealed class AppSpecServiceEnvArgs : Pulumi.ResourceArgs public Input? Type { get; set; } /// - /// The value of the environment variable. + /// The threshold for the type of the warning. /// [Input("value")] public Input? Value { get; set; } diff --git a/sdk/dotnet/Inputs/AppSpecServiceEnvGetArgs.cs b/sdk/dotnet/Inputs/AppSpecServiceEnvGetArgs.cs index ff6e5187..de37d200 100644 --- a/sdk/dotnet/Inputs/AppSpecServiceEnvGetArgs.cs +++ b/sdk/dotnet/Inputs/AppSpecServiceEnvGetArgs.cs @@ -31,7 +31,7 @@ public sealed class AppSpecServiceEnvGetArgs : Pulumi.ResourceArgs public Input? Type { get; set; } /// - /// The value of the environment variable. + /// The threshold for the type of the warning. /// [Input("value")] public Input? Value { get; set; } diff --git a/sdk/dotnet/Inputs/AppSpecServiceGetArgs.cs b/sdk/dotnet/Inputs/AppSpecServiceGetArgs.cs index 37884d32..98248ca0 100644 --- a/sdk/dotnet/Inputs/AppSpecServiceGetArgs.cs +++ b/sdk/dotnet/Inputs/AppSpecServiceGetArgs.cs @@ -12,6 +12,18 @@ namespace Pulumi.DigitalOcean.Inputs public sealed class AppSpecServiceGetArgs : Pulumi.ResourceArgs { + [Input("alerts")] + private InputList? _alerts; + + /// + /// Describes an alert policy for the component. + /// + public InputList Alerts + { + get => _alerts ?? (_alerts = new InputList()); + set => _alerts = value; + } + /// /// An optional build command to run while building this component from source. /// @@ -108,6 +120,18 @@ public InputList InternalPorts set => _internalPorts = value; } + [Input("logDestinations")] + private InputList? _logDestinations; + + /// + /// Describes a log forwarding destination. + /// + public InputList LogDestinations + { + get => _logDestinations ?? (_logDestinations = new InputList()); + set => _logDestinations = value; + } + /// /// The name of the component. /// diff --git a/sdk/dotnet/Inputs/AppSpecServiceLogDestinationArgs.cs b/sdk/dotnet/Inputs/AppSpecServiceLogDestinationArgs.cs new file mode 100644 index 00000000..351c3234 --- /dev/null +++ b/sdk/dotnet/Inputs/AppSpecServiceLogDestinationArgs.cs @@ -0,0 +1,43 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Inputs +{ + + public sealed class AppSpecServiceLogDestinationArgs : Pulumi.ResourceArgs + { + /// + /// Datadog configuration. + /// + [Input("datadog")] + public Input? Datadog { get; set; } + + /// + /// Logtail configuration. + /// + [Input("logtail")] + public Input? Logtail { get; set; } + + /// + /// The name of the component. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// Papertrail configuration. + /// + [Input("papertrail")] + public Input? Papertrail { get; set; } + + public AppSpecServiceLogDestinationArgs() + { + } + } +} diff --git a/sdk/dotnet/Inputs/AppSpecServiceLogDestinationDatadogArgs.cs b/sdk/dotnet/Inputs/AppSpecServiceLogDestinationDatadogArgs.cs new file mode 100644 index 00000000..6743676d --- /dev/null +++ b/sdk/dotnet/Inputs/AppSpecServiceLogDestinationDatadogArgs.cs @@ -0,0 +1,31 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Inputs +{ + + public sealed class AppSpecServiceLogDestinationDatadogArgs : Pulumi.ResourceArgs + { + /// + /// Datadog API key. + /// + [Input("apiKey", required: true)] + public Input ApiKey { get; set; } = null!; + + /// + /// Datadog HTTP log intake endpoint. + /// + [Input("endpoint")] + public Input? Endpoint { get; set; } + + public AppSpecServiceLogDestinationDatadogArgs() + { + } + } +} diff --git a/sdk/dotnet/Inputs/AppSpecServiceLogDestinationDatadogGetArgs.cs b/sdk/dotnet/Inputs/AppSpecServiceLogDestinationDatadogGetArgs.cs new file mode 100644 index 00000000..8cd3c720 --- /dev/null +++ b/sdk/dotnet/Inputs/AppSpecServiceLogDestinationDatadogGetArgs.cs @@ -0,0 +1,31 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Inputs +{ + + public sealed class AppSpecServiceLogDestinationDatadogGetArgs : Pulumi.ResourceArgs + { + /// + /// Datadog API key. + /// + [Input("apiKey", required: true)] + public Input ApiKey { get; set; } = null!; + + /// + /// Datadog HTTP log intake endpoint. + /// + [Input("endpoint")] + public Input? Endpoint { get; set; } + + public AppSpecServiceLogDestinationDatadogGetArgs() + { + } + } +} diff --git a/sdk/dotnet/Inputs/AppSpecServiceLogDestinationGetArgs.cs b/sdk/dotnet/Inputs/AppSpecServiceLogDestinationGetArgs.cs new file mode 100644 index 00000000..d4f02a38 --- /dev/null +++ b/sdk/dotnet/Inputs/AppSpecServiceLogDestinationGetArgs.cs @@ -0,0 +1,43 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Inputs +{ + + public sealed class AppSpecServiceLogDestinationGetArgs : Pulumi.ResourceArgs + { + /// + /// Datadog configuration. + /// + [Input("datadog")] + public Input? Datadog { get; set; } + + /// + /// Logtail configuration. + /// + [Input("logtail")] + public Input? Logtail { get; set; } + + /// + /// The name of the component. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// Papertrail configuration. + /// + [Input("papertrail")] + public Input? Papertrail { get; set; } + + public AppSpecServiceLogDestinationGetArgs() + { + } + } +} diff --git a/sdk/dotnet/Inputs/AppSpecServiceLogDestinationLogtailArgs.cs b/sdk/dotnet/Inputs/AppSpecServiceLogDestinationLogtailArgs.cs new file mode 100644 index 00000000..8988be2c --- /dev/null +++ b/sdk/dotnet/Inputs/AppSpecServiceLogDestinationLogtailArgs.cs @@ -0,0 +1,25 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Inputs +{ + + public sealed class AppSpecServiceLogDestinationLogtailArgs : Pulumi.ResourceArgs + { + /// + /// Logtail token. + /// + [Input("token", required: true)] + public Input Token { get; set; } = null!; + + public AppSpecServiceLogDestinationLogtailArgs() + { + } + } +} diff --git a/sdk/dotnet/Inputs/AppSpecServiceLogDestinationLogtailGetArgs.cs b/sdk/dotnet/Inputs/AppSpecServiceLogDestinationLogtailGetArgs.cs new file mode 100644 index 00000000..fdfc91fe --- /dev/null +++ b/sdk/dotnet/Inputs/AppSpecServiceLogDestinationLogtailGetArgs.cs @@ -0,0 +1,25 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Inputs +{ + + public sealed class AppSpecServiceLogDestinationLogtailGetArgs : Pulumi.ResourceArgs + { + /// + /// Logtail token. + /// + [Input("token", required: true)] + public Input Token { get; set; } = null!; + + public AppSpecServiceLogDestinationLogtailGetArgs() + { + } + } +} diff --git a/sdk/dotnet/Inputs/AppSpecServiceLogDestinationPapertrailArgs.cs b/sdk/dotnet/Inputs/AppSpecServiceLogDestinationPapertrailArgs.cs new file mode 100644 index 00000000..2a696d28 --- /dev/null +++ b/sdk/dotnet/Inputs/AppSpecServiceLogDestinationPapertrailArgs.cs @@ -0,0 +1,25 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Inputs +{ + + public sealed class AppSpecServiceLogDestinationPapertrailArgs : Pulumi.ResourceArgs + { + /// + /// Datadog HTTP log intake endpoint. + /// + [Input("endpoint", required: true)] + public Input Endpoint { get; set; } = null!; + + public AppSpecServiceLogDestinationPapertrailArgs() + { + } + } +} diff --git a/sdk/dotnet/Inputs/AppSpecServiceLogDestinationPapertrailGetArgs.cs b/sdk/dotnet/Inputs/AppSpecServiceLogDestinationPapertrailGetArgs.cs new file mode 100644 index 00000000..ea14624c --- /dev/null +++ b/sdk/dotnet/Inputs/AppSpecServiceLogDestinationPapertrailGetArgs.cs @@ -0,0 +1,25 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Inputs +{ + + public sealed class AppSpecServiceLogDestinationPapertrailGetArgs : Pulumi.ResourceArgs + { + /// + /// Datadog HTTP log intake endpoint. + /// + [Input("endpoint", required: true)] + public Input Endpoint { get; set; } = null!; + + public AppSpecServiceLogDestinationPapertrailGetArgs() + { + } + } +} diff --git a/sdk/dotnet/Inputs/AppSpecStaticSiteEnvArgs.cs b/sdk/dotnet/Inputs/AppSpecStaticSiteEnvArgs.cs index 6aedeed6..9e3a6f17 100644 --- a/sdk/dotnet/Inputs/AppSpecStaticSiteEnvArgs.cs +++ b/sdk/dotnet/Inputs/AppSpecStaticSiteEnvArgs.cs @@ -31,7 +31,7 @@ public sealed class AppSpecStaticSiteEnvArgs : Pulumi.ResourceArgs public Input? Type { get; set; } /// - /// The value of the environment variable. + /// The threshold for the type of the warning. /// [Input("value")] public Input? Value { get; set; } diff --git a/sdk/dotnet/Inputs/AppSpecStaticSiteEnvGetArgs.cs b/sdk/dotnet/Inputs/AppSpecStaticSiteEnvGetArgs.cs index 65549e4e..8185a184 100644 --- a/sdk/dotnet/Inputs/AppSpecStaticSiteEnvGetArgs.cs +++ b/sdk/dotnet/Inputs/AppSpecStaticSiteEnvGetArgs.cs @@ -31,7 +31,7 @@ public sealed class AppSpecStaticSiteEnvGetArgs : Pulumi.ResourceArgs public Input? Type { get; set; } /// - /// The value of the environment variable. + /// The threshold for the type of the warning. /// [Input("value")] public Input? Value { get; set; } diff --git a/sdk/dotnet/Inputs/AppSpecWorkerAlertArgs.cs b/sdk/dotnet/Inputs/AppSpecWorkerAlertArgs.cs new file mode 100644 index 00000000..0d37aaa3 --- /dev/null +++ b/sdk/dotnet/Inputs/AppSpecWorkerAlertArgs.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Inputs +{ + + public sealed class AppSpecWorkerAlertArgs : Pulumi.ResourceArgs + { + /// + /// Determines whether or not the alert is disabled (default: `false`). + /// + [Input("disabled")] + public Input? Disabled { get; set; } + + /// + /// The operator to use. This is either of `GREATER_THAN` or `LESS_THAN`. + /// + [Input("operator", required: true)] + public Input Operator { get; set; } = null!; + + /// + /// The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. + /// + [Input("rule", required: true)] + public Input Rule { get; set; } = null!; + + /// + /// The threshold for the type of the warning. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + /// + /// The time before alerts should be triggered. This is may be one of: `FIVE_MINUTES`, `TEN_MINUTES`, `THIRTY_MINUTES`, `ONE_HOUR`. + /// + [Input("window", required: true)] + public Input Window { get; set; } = null!; + + public AppSpecWorkerAlertArgs() + { + } + } +} diff --git a/sdk/dotnet/Inputs/AppSpecWorkerAlertGetArgs.cs b/sdk/dotnet/Inputs/AppSpecWorkerAlertGetArgs.cs new file mode 100644 index 00000000..dc3a9152 --- /dev/null +++ b/sdk/dotnet/Inputs/AppSpecWorkerAlertGetArgs.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Inputs +{ + + public sealed class AppSpecWorkerAlertGetArgs : Pulumi.ResourceArgs + { + /// + /// Determines whether or not the alert is disabled (default: `false`). + /// + [Input("disabled")] + public Input? Disabled { get; set; } + + /// + /// The operator to use. This is either of `GREATER_THAN` or `LESS_THAN`. + /// + [Input("operator", required: true)] + public Input Operator { get; set; } = null!; + + /// + /// The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. + /// + [Input("rule", required: true)] + public Input Rule { get; set; } = null!; + + /// + /// The threshold for the type of the warning. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + /// + /// The time before alerts should be triggered. This is may be one of: `FIVE_MINUTES`, `TEN_MINUTES`, `THIRTY_MINUTES`, `ONE_HOUR`. + /// + [Input("window", required: true)] + public Input Window { get; set; } = null!; + + public AppSpecWorkerAlertGetArgs() + { + } + } +} diff --git a/sdk/dotnet/Inputs/AppSpecWorkerArgs.cs b/sdk/dotnet/Inputs/AppSpecWorkerArgs.cs index edf7e7d3..2413fbdf 100644 --- a/sdk/dotnet/Inputs/AppSpecWorkerArgs.cs +++ b/sdk/dotnet/Inputs/AppSpecWorkerArgs.cs @@ -12,6 +12,18 @@ namespace Pulumi.DigitalOcean.Inputs public sealed class AppSpecWorkerArgs : Pulumi.ResourceArgs { + [Input("alerts")] + private InputList? _alerts; + + /// + /// Describes an alert policy for the component. + /// + public InputList Alerts + { + get => _alerts ?? (_alerts = new InputList()); + set => _alerts = value; + } + /// /// An optional build command to run while building this component from source. /// @@ -78,6 +90,18 @@ public InputList Envs [Input("instanceSizeSlug")] public Input? InstanceSizeSlug { get; set; } + [Input("logDestinations")] + private InputList? _logDestinations; + + /// + /// Describes a log forwarding destination. + /// + public InputList LogDestinations + { + get => _logDestinations ?? (_logDestinations = new InputList()); + set => _logDestinations = value; + } + /// /// The name of the component. /// diff --git a/sdk/dotnet/Inputs/AppSpecWorkerEnvArgs.cs b/sdk/dotnet/Inputs/AppSpecWorkerEnvArgs.cs index a37d0ec5..ba63dd6f 100644 --- a/sdk/dotnet/Inputs/AppSpecWorkerEnvArgs.cs +++ b/sdk/dotnet/Inputs/AppSpecWorkerEnvArgs.cs @@ -31,7 +31,7 @@ public sealed class AppSpecWorkerEnvArgs : Pulumi.ResourceArgs public Input? Type { get; set; } /// - /// The value of the environment variable. + /// The threshold for the type of the warning. /// [Input("value")] public Input? Value { get; set; } diff --git a/sdk/dotnet/Inputs/AppSpecWorkerEnvGetArgs.cs b/sdk/dotnet/Inputs/AppSpecWorkerEnvGetArgs.cs index d614fd94..cf3a4e04 100644 --- a/sdk/dotnet/Inputs/AppSpecWorkerEnvGetArgs.cs +++ b/sdk/dotnet/Inputs/AppSpecWorkerEnvGetArgs.cs @@ -31,7 +31,7 @@ public sealed class AppSpecWorkerEnvGetArgs : Pulumi.ResourceArgs public Input? Type { get; set; } /// - /// The value of the environment variable. + /// The threshold for the type of the warning. /// [Input("value")] public Input? Value { get; set; } diff --git a/sdk/dotnet/Inputs/AppSpecWorkerGetArgs.cs b/sdk/dotnet/Inputs/AppSpecWorkerGetArgs.cs index afa74c84..7123ca85 100644 --- a/sdk/dotnet/Inputs/AppSpecWorkerGetArgs.cs +++ b/sdk/dotnet/Inputs/AppSpecWorkerGetArgs.cs @@ -12,6 +12,18 @@ namespace Pulumi.DigitalOcean.Inputs public sealed class AppSpecWorkerGetArgs : Pulumi.ResourceArgs { + [Input("alerts")] + private InputList? _alerts; + + /// + /// Describes an alert policy for the component. + /// + public InputList Alerts + { + get => _alerts ?? (_alerts = new InputList()); + set => _alerts = value; + } + /// /// An optional build command to run while building this component from source. /// @@ -78,6 +90,18 @@ public InputList Envs [Input("instanceSizeSlug")] public Input? InstanceSizeSlug { get; set; } + [Input("logDestinations")] + private InputList? _logDestinations; + + /// + /// Describes a log forwarding destination. + /// + public InputList LogDestinations + { + get => _logDestinations ?? (_logDestinations = new InputList()); + set => _logDestinations = value; + } + /// /// The name of the component. /// diff --git a/sdk/dotnet/Inputs/AppSpecWorkerLogDestinationArgs.cs b/sdk/dotnet/Inputs/AppSpecWorkerLogDestinationArgs.cs new file mode 100644 index 00000000..5d5def7b --- /dev/null +++ b/sdk/dotnet/Inputs/AppSpecWorkerLogDestinationArgs.cs @@ -0,0 +1,43 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Inputs +{ + + public sealed class AppSpecWorkerLogDestinationArgs : Pulumi.ResourceArgs + { + /// + /// Datadog configuration. + /// + [Input("datadog")] + public Input? Datadog { get; set; } + + /// + /// Logtail configuration. + /// + [Input("logtail")] + public Input? Logtail { get; set; } + + /// + /// The name of the component. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// Papertrail configuration. + /// + [Input("papertrail")] + public Input? Papertrail { get; set; } + + public AppSpecWorkerLogDestinationArgs() + { + } + } +} diff --git a/sdk/dotnet/Inputs/AppSpecWorkerLogDestinationDatadogArgs.cs b/sdk/dotnet/Inputs/AppSpecWorkerLogDestinationDatadogArgs.cs new file mode 100644 index 00000000..f1126424 --- /dev/null +++ b/sdk/dotnet/Inputs/AppSpecWorkerLogDestinationDatadogArgs.cs @@ -0,0 +1,31 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Inputs +{ + + public sealed class AppSpecWorkerLogDestinationDatadogArgs : Pulumi.ResourceArgs + { + /// + /// Datadog API key. + /// + [Input("apiKey", required: true)] + public Input ApiKey { get; set; } = null!; + + /// + /// Datadog HTTP log intake endpoint. + /// + [Input("endpoint")] + public Input? Endpoint { get; set; } + + public AppSpecWorkerLogDestinationDatadogArgs() + { + } + } +} diff --git a/sdk/dotnet/Inputs/AppSpecWorkerLogDestinationDatadogGetArgs.cs b/sdk/dotnet/Inputs/AppSpecWorkerLogDestinationDatadogGetArgs.cs new file mode 100644 index 00000000..647e35dd --- /dev/null +++ b/sdk/dotnet/Inputs/AppSpecWorkerLogDestinationDatadogGetArgs.cs @@ -0,0 +1,31 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Inputs +{ + + public sealed class AppSpecWorkerLogDestinationDatadogGetArgs : Pulumi.ResourceArgs + { + /// + /// Datadog API key. + /// + [Input("apiKey", required: true)] + public Input ApiKey { get; set; } = null!; + + /// + /// Datadog HTTP log intake endpoint. + /// + [Input("endpoint")] + public Input? Endpoint { get; set; } + + public AppSpecWorkerLogDestinationDatadogGetArgs() + { + } + } +} diff --git a/sdk/dotnet/Inputs/AppSpecWorkerLogDestinationGetArgs.cs b/sdk/dotnet/Inputs/AppSpecWorkerLogDestinationGetArgs.cs new file mode 100644 index 00000000..a89f6971 --- /dev/null +++ b/sdk/dotnet/Inputs/AppSpecWorkerLogDestinationGetArgs.cs @@ -0,0 +1,43 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Inputs +{ + + public sealed class AppSpecWorkerLogDestinationGetArgs : Pulumi.ResourceArgs + { + /// + /// Datadog configuration. + /// + [Input("datadog")] + public Input? Datadog { get; set; } + + /// + /// Logtail configuration. + /// + [Input("logtail")] + public Input? Logtail { get; set; } + + /// + /// The name of the component. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// Papertrail configuration. + /// + [Input("papertrail")] + public Input? Papertrail { get; set; } + + public AppSpecWorkerLogDestinationGetArgs() + { + } + } +} diff --git a/sdk/dotnet/Inputs/AppSpecWorkerLogDestinationLogtailArgs.cs b/sdk/dotnet/Inputs/AppSpecWorkerLogDestinationLogtailArgs.cs new file mode 100644 index 00000000..96effe70 --- /dev/null +++ b/sdk/dotnet/Inputs/AppSpecWorkerLogDestinationLogtailArgs.cs @@ -0,0 +1,25 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Inputs +{ + + public sealed class AppSpecWorkerLogDestinationLogtailArgs : Pulumi.ResourceArgs + { + /// + /// Logtail token. + /// + [Input("token", required: true)] + public Input Token { get; set; } = null!; + + public AppSpecWorkerLogDestinationLogtailArgs() + { + } + } +} diff --git a/sdk/dotnet/Inputs/AppSpecWorkerLogDestinationLogtailGetArgs.cs b/sdk/dotnet/Inputs/AppSpecWorkerLogDestinationLogtailGetArgs.cs new file mode 100644 index 00000000..25361aeb --- /dev/null +++ b/sdk/dotnet/Inputs/AppSpecWorkerLogDestinationLogtailGetArgs.cs @@ -0,0 +1,25 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Inputs +{ + + public sealed class AppSpecWorkerLogDestinationLogtailGetArgs : Pulumi.ResourceArgs + { + /// + /// Logtail token. + /// + [Input("token", required: true)] + public Input Token { get; set; } = null!; + + public AppSpecWorkerLogDestinationLogtailGetArgs() + { + } + } +} diff --git a/sdk/dotnet/Inputs/AppSpecWorkerLogDestinationPapertrailArgs.cs b/sdk/dotnet/Inputs/AppSpecWorkerLogDestinationPapertrailArgs.cs new file mode 100644 index 00000000..41e6a22f --- /dev/null +++ b/sdk/dotnet/Inputs/AppSpecWorkerLogDestinationPapertrailArgs.cs @@ -0,0 +1,25 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Inputs +{ + + public sealed class AppSpecWorkerLogDestinationPapertrailArgs : Pulumi.ResourceArgs + { + /// + /// Datadog HTTP log intake endpoint. + /// + [Input("endpoint", required: true)] + public Input Endpoint { get; set; } = null!; + + public AppSpecWorkerLogDestinationPapertrailArgs() + { + } + } +} diff --git a/sdk/dotnet/Inputs/AppSpecWorkerLogDestinationPapertrailGetArgs.cs b/sdk/dotnet/Inputs/AppSpecWorkerLogDestinationPapertrailGetArgs.cs new file mode 100644 index 00000000..cc1a098a --- /dev/null +++ b/sdk/dotnet/Inputs/AppSpecWorkerLogDestinationPapertrailGetArgs.cs @@ -0,0 +1,25 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Inputs +{ + + public sealed class AppSpecWorkerLogDestinationPapertrailGetArgs : Pulumi.ResourceArgs + { + /// + /// Datadog HTTP log intake endpoint. + /// + [Input("endpoint", required: true)] + public Input Endpoint { get; set; } = null!; + + public AppSpecWorkerLogDestinationPapertrailGetArgs() + { + } + } +} diff --git a/sdk/dotnet/Outputs/AppSpec.cs b/sdk/dotnet/Outputs/AppSpec.cs index 7bdab893..2f6f4506 100644 --- a/sdk/dotnet/Outputs/AppSpec.cs +++ b/sdk/dotnet/Outputs/AppSpec.cs @@ -13,6 +13,10 @@ namespace Pulumi.DigitalOcean.Outputs [OutputType] public sealed class AppSpec { + /// + /// Describes an alert policy for the component. + /// + public readonly ImmutableArray Alerts; public readonly ImmutableArray Databases; /// /// Describes a domain where the application will be made available. @@ -38,6 +42,8 @@ public sealed class AppSpec [OutputConstructor] private AppSpec( + ImmutableArray alerts, + ImmutableArray databases, ImmutableArray domainNames, @@ -58,6 +64,7 @@ public sealed class AppSpec ImmutableArray workers) { + Alerts = alerts; Databases = databases; DomainNames = domainNames; Domains = domains; diff --git a/sdk/dotnet/Outputs/AppSpecAlert.cs b/sdk/dotnet/Outputs/AppSpecAlert.cs new file mode 100644 index 00000000..98dfd895 --- /dev/null +++ b/sdk/dotnet/Outputs/AppSpecAlert.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Outputs +{ + + [OutputType] + public sealed class AppSpecAlert + { + /// + /// Determines whether or not the alert is disabled (default: `false`). + /// + public readonly bool? Disabled; + /// + /// The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. + /// + public readonly string Rule; + + [OutputConstructor] + private AppSpecAlert( + bool? disabled, + + string rule) + { + Disabled = disabled; + Rule = rule; + } + } +} diff --git a/sdk/dotnet/Outputs/AppSpecEnv.cs b/sdk/dotnet/Outputs/AppSpecEnv.cs index 14def5c9..ce1f6cce 100644 --- a/sdk/dotnet/Outputs/AppSpecEnv.cs +++ b/sdk/dotnet/Outputs/AppSpecEnv.cs @@ -26,7 +26,7 @@ public sealed class AppSpecEnv /// public readonly string? Type; /// - /// The value of the environment variable. + /// The threshold for the type of the warning. /// public readonly string? Value; diff --git a/sdk/dotnet/Outputs/AppSpecJob.cs b/sdk/dotnet/Outputs/AppSpecJob.cs index 6a4692a4..0dbfea6f 100644 --- a/sdk/dotnet/Outputs/AppSpecJob.cs +++ b/sdk/dotnet/Outputs/AppSpecJob.cs @@ -13,6 +13,10 @@ namespace Pulumi.DigitalOcean.Outputs [OutputType] public sealed class AppSpecJob { + /// + /// Describes an alert policy for the component. + /// + public readonly ImmutableArray Alerts; /// /// An optional build command to run while building this component from source. /// @@ -62,6 +66,10 @@ public sealed class AppSpecJob /// public readonly string? Kind; /// + /// Describes a log forwarding destination. + /// + public readonly ImmutableArray LogDestinations; + /// /// The name of the component. /// public readonly string Name; @@ -76,6 +84,8 @@ public sealed class AppSpecJob [OutputConstructor] private AppSpecJob( + ImmutableArray alerts, + string? buildCommand, string? dockerfilePath, @@ -98,12 +108,15 @@ public sealed class AppSpecJob string? kind, + ImmutableArray logDestinations, + string name, string? runCommand, string? sourceDir) { + Alerts = alerts; BuildCommand = buildCommand; DockerfilePath = dockerfilePath; EnvironmentSlug = environmentSlug; @@ -115,6 +128,7 @@ public sealed class AppSpecJob InstanceCount = instanceCount; InstanceSizeSlug = instanceSizeSlug; Kind = kind; + LogDestinations = logDestinations; Name = name; RunCommand = runCommand; SourceDir = sourceDir; diff --git a/sdk/dotnet/Outputs/AppSpecJobAlert.cs b/sdk/dotnet/Outputs/AppSpecJobAlert.cs new file mode 100644 index 00000000..a37a7241 --- /dev/null +++ b/sdk/dotnet/Outputs/AppSpecJobAlert.cs @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Outputs +{ + + [OutputType] + public sealed class AppSpecJobAlert + { + /// + /// Determines whether or not the alert is disabled (default: `false`). + /// + public readonly bool? Disabled; + /// + /// The operator to use. This is either of `GREATER_THAN` or `LESS_THAN`. + /// + public readonly string Operator; + /// + /// The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. + /// + public readonly string Rule; + /// + /// The threshold for the type of the warning. + /// + public readonly double Value; + /// + /// The time before alerts should be triggered. This is may be one of: `FIVE_MINUTES`, `TEN_MINUTES`, `THIRTY_MINUTES`, `ONE_HOUR`. + /// + public readonly string Window; + + [OutputConstructor] + private AppSpecJobAlert( + bool? disabled, + + string @operator, + + string rule, + + double value, + + string window) + { + Disabled = disabled; + Operator = @operator; + Rule = rule; + Value = value; + Window = window; + } + } +} diff --git a/sdk/dotnet/Outputs/AppSpecJobEnv.cs b/sdk/dotnet/Outputs/AppSpecJobEnv.cs index 148938de..3adca8f5 100644 --- a/sdk/dotnet/Outputs/AppSpecJobEnv.cs +++ b/sdk/dotnet/Outputs/AppSpecJobEnv.cs @@ -26,7 +26,7 @@ public sealed class AppSpecJobEnv /// public readonly string? Type; /// - /// The value of the environment variable. + /// The threshold for the type of the warning. /// public readonly string? Value; diff --git a/sdk/dotnet/Outputs/AppSpecJobLogDestination.cs b/sdk/dotnet/Outputs/AppSpecJobLogDestination.cs new file mode 100644 index 00000000..2f624f61 --- /dev/null +++ b/sdk/dotnet/Outputs/AppSpecJobLogDestination.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Outputs +{ + + [OutputType] + public sealed class AppSpecJobLogDestination + { + /// + /// Datadog configuration. + /// + public readonly Outputs.AppSpecJobLogDestinationDatadog? Datadog; + /// + /// Logtail configuration. + /// + public readonly Outputs.AppSpecJobLogDestinationLogtail? Logtail; + /// + /// The name of the component. + /// + public readonly string Name; + /// + /// Papertrail configuration. + /// + public readonly Outputs.AppSpecJobLogDestinationPapertrail? Papertrail; + + [OutputConstructor] + private AppSpecJobLogDestination( + Outputs.AppSpecJobLogDestinationDatadog? datadog, + + Outputs.AppSpecJobLogDestinationLogtail? logtail, + + string name, + + Outputs.AppSpecJobLogDestinationPapertrail? papertrail) + { + Datadog = datadog; + Logtail = logtail; + Name = name; + Papertrail = papertrail; + } + } +} diff --git a/sdk/dotnet/Outputs/AppSpecJobLogDestinationDatadog.cs b/sdk/dotnet/Outputs/AppSpecJobLogDestinationDatadog.cs new file mode 100644 index 00000000..fb3ef266 --- /dev/null +++ b/sdk/dotnet/Outputs/AppSpecJobLogDestinationDatadog.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Outputs +{ + + [OutputType] + public sealed class AppSpecJobLogDestinationDatadog + { + /// + /// Datadog API key. + /// + public readonly string ApiKey; + /// + /// Datadog HTTP log intake endpoint. + /// + public readonly string? Endpoint; + + [OutputConstructor] + private AppSpecJobLogDestinationDatadog( + string apiKey, + + string? endpoint) + { + ApiKey = apiKey; + Endpoint = endpoint; + } + } +} diff --git a/sdk/dotnet/Outputs/AppSpecJobLogDestinationLogtail.cs b/sdk/dotnet/Outputs/AppSpecJobLogDestinationLogtail.cs new file mode 100644 index 00000000..125ff004 --- /dev/null +++ b/sdk/dotnet/Outputs/AppSpecJobLogDestinationLogtail.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Outputs +{ + + [OutputType] + public sealed class AppSpecJobLogDestinationLogtail + { + /// + /// Logtail token. + /// + public readonly string Token; + + [OutputConstructor] + private AppSpecJobLogDestinationLogtail(string token) + { + Token = token; + } + } +} diff --git a/sdk/dotnet/Outputs/AppSpecJobLogDestinationPapertrail.cs b/sdk/dotnet/Outputs/AppSpecJobLogDestinationPapertrail.cs new file mode 100644 index 00000000..f99b1879 --- /dev/null +++ b/sdk/dotnet/Outputs/AppSpecJobLogDestinationPapertrail.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Outputs +{ + + [OutputType] + public sealed class AppSpecJobLogDestinationPapertrail + { + /// + /// Datadog HTTP log intake endpoint. + /// + public readonly string Endpoint; + + [OutputConstructor] + private AppSpecJobLogDestinationPapertrail(string endpoint) + { + Endpoint = endpoint; + } + } +} diff --git a/sdk/dotnet/Outputs/AppSpecService.cs b/sdk/dotnet/Outputs/AppSpecService.cs index 5ec4319e..beba56a9 100644 --- a/sdk/dotnet/Outputs/AppSpecService.cs +++ b/sdk/dotnet/Outputs/AppSpecService.cs @@ -13,6 +13,10 @@ namespace Pulumi.DigitalOcean.Outputs [OutputType] public sealed class AppSpecService { + /// + /// Describes an alert policy for the component. + /// + public readonly ImmutableArray Alerts; /// /// An optional build command to run while building this component from source. /// @@ -70,6 +74,10 @@ public sealed class AppSpecService /// public readonly ImmutableArray InternalPorts; /// + /// Describes a log forwarding destination. + /// + public readonly ImmutableArray LogDestinations; + /// /// The name of the component. /// public readonly string Name; @@ -85,6 +93,8 @@ public sealed class AppSpecService [OutputConstructor] private AppSpecService( + ImmutableArray alerts, + string? buildCommand, Outputs.AppSpecServiceCors? cors, @@ -113,6 +123,8 @@ public sealed class AppSpecService ImmutableArray internalPorts, + ImmutableArray logDestinations, + string name, ImmutableArray routes, @@ -121,6 +133,7 @@ public sealed class AppSpecService string? sourceDir) { + Alerts = alerts; BuildCommand = buildCommand; Cors = cors; DockerfilePath = dockerfilePath; @@ -135,6 +148,7 @@ public sealed class AppSpecService InstanceCount = instanceCount; InstanceSizeSlug = instanceSizeSlug; InternalPorts = internalPorts; + LogDestinations = logDestinations; Name = name; Routes = routes; RunCommand = runCommand; diff --git a/sdk/dotnet/Outputs/AppSpecServiceAlert.cs b/sdk/dotnet/Outputs/AppSpecServiceAlert.cs new file mode 100644 index 00000000..2b9b0b34 --- /dev/null +++ b/sdk/dotnet/Outputs/AppSpecServiceAlert.cs @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Outputs +{ + + [OutputType] + public sealed class AppSpecServiceAlert + { + /// + /// Determines whether or not the alert is disabled (default: `false`). + /// + public readonly bool? Disabled; + /// + /// The operator to use. This is either of `GREATER_THAN` or `LESS_THAN`. + /// + public readonly string Operator; + /// + /// The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. + /// + public readonly string Rule; + /// + /// The threshold for the type of the warning. + /// + public readonly double Value; + /// + /// The time before alerts should be triggered. This is may be one of: `FIVE_MINUTES`, `TEN_MINUTES`, `THIRTY_MINUTES`, `ONE_HOUR`. + /// + public readonly string Window; + + [OutputConstructor] + private AppSpecServiceAlert( + bool? disabled, + + string @operator, + + string rule, + + double value, + + string window) + { + Disabled = disabled; + Operator = @operator; + Rule = rule; + Value = value; + Window = window; + } + } +} diff --git a/sdk/dotnet/Outputs/AppSpecServiceEnv.cs b/sdk/dotnet/Outputs/AppSpecServiceEnv.cs index 839ff4a0..8de33d35 100644 --- a/sdk/dotnet/Outputs/AppSpecServiceEnv.cs +++ b/sdk/dotnet/Outputs/AppSpecServiceEnv.cs @@ -26,7 +26,7 @@ public sealed class AppSpecServiceEnv /// public readonly string? Type; /// - /// The value of the environment variable. + /// The threshold for the type of the warning. /// public readonly string? Value; diff --git a/sdk/dotnet/Outputs/AppSpecServiceLogDestination.cs b/sdk/dotnet/Outputs/AppSpecServiceLogDestination.cs new file mode 100644 index 00000000..0e9e89f0 --- /dev/null +++ b/sdk/dotnet/Outputs/AppSpecServiceLogDestination.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Outputs +{ + + [OutputType] + public sealed class AppSpecServiceLogDestination + { + /// + /// Datadog configuration. + /// + public readonly Outputs.AppSpecServiceLogDestinationDatadog? Datadog; + /// + /// Logtail configuration. + /// + public readonly Outputs.AppSpecServiceLogDestinationLogtail? Logtail; + /// + /// The name of the component. + /// + public readonly string Name; + /// + /// Papertrail configuration. + /// + public readonly Outputs.AppSpecServiceLogDestinationPapertrail? Papertrail; + + [OutputConstructor] + private AppSpecServiceLogDestination( + Outputs.AppSpecServiceLogDestinationDatadog? datadog, + + Outputs.AppSpecServiceLogDestinationLogtail? logtail, + + string name, + + Outputs.AppSpecServiceLogDestinationPapertrail? papertrail) + { + Datadog = datadog; + Logtail = logtail; + Name = name; + Papertrail = papertrail; + } + } +} diff --git a/sdk/dotnet/Outputs/AppSpecServiceLogDestinationDatadog.cs b/sdk/dotnet/Outputs/AppSpecServiceLogDestinationDatadog.cs new file mode 100644 index 00000000..7c203d3a --- /dev/null +++ b/sdk/dotnet/Outputs/AppSpecServiceLogDestinationDatadog.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Outputs +{ + + [OutputType] + public sealed class AppSpecServiceLogDestinationDatadog + { + /// + /// Datadog API key. + /// + public readonly string ApiKey; + /// + /// Datadog HTTP log intake endpoint. + /// + public readonly string? Endpoint; + + [OutputConstructor] + private AppSpecServiceLogDestinationDatadog( + string apiKey, + + string? endpoint) + { + ApiKey = apiKey; + Endpoint = endpoint; + } + } +} diff --git a/sdk/dotnet/Outputs/AppSpecServiceLogDestinationLogtail.cs b/sdk/dotnet/Outputs/AppSpecServiceLogDestinationLogtail.cs new file mode 100644 index 00000000..8a1c23ab --- /dev/null +++ b/sdk/dotnet/Outputs/AppSpecServiceLogDestinationLogtail.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Outputs +{ + + [OutputType] + public sealed class AppSpecServiceLogDestinationLogtail + { + /// + /// Logtail token. + /// + public readonly string Token; + + [OutputConstructor] + private AppSpecServiceLogDestinationLogtail(string token) + { + Token = token; + } + } +} diff --git a/sdk/dotnet/Outputs/AppSpecServiceLogDestinationPapertrail.cs b/sdk/dotnet/Outputs/AppSpecServiceLogDestinationPapertrail.cs new file mode 100644 index 00000000..bdb57b05 --- /dev/null +++ b/sdk/dotnet/Outputs/AppSpecServiceLogDestinationPapertrail.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Outputs +{ + + [OutputType] + public sealed class AppSpecServiceLogDestinationPapertrail + { + /// + /// Datadog HTTP log intake endpoint. + /// + public readonly string Endpoint; + + [OutputConstructor] + private AppSpecServiceLogDestinationPapertrail(string endpoint) + { + Endpoint = endpoint; + } + } +} diff --git a/sdk/dotnet/Outputs/AppSpecStaticSiteEnv.cs b/sdk/dotnet/Outputs/AppSpecStaticSiteEnv.cs index 0847ab4c..9c480c95 100644 --- a/sdk/dotnet/Outputs/AppSpecStaticSiteEnv.cs +++ b/sdk/dotnet/Outputs/AppSpecStaticSiteEnv.cs @@ -26,7 +26,7 @@ public sealed class AppSpecStaticSiteEnv /// public readonly string? Type; /// - /// The value of the environment variable. + /// The threshold for the type of the warning. /// public readonly string? Value; diff --git a/sdk/dotnet/Outputs/AppSpecWorker.cs b/sdk/dotnet/Outputs/AppSpecWorker.cs index 7dc365c7..6229ae4b 100644 --- a/sdk/dotnet/Outputs/AppSpecWorker.cs +++ b/sdk/dotnet/Outputs/AppSpecWorker.cs @@ -13,6 +13,10 @@ namespace Pulumi.DigitalOcean.Outputs [OutputType] public sealed class AppSpecWorker { + /// + /// Describes an alert policy for the component. + /// + public readonly ImmutableArray Alerts; /// /// An optional build command to run while building this component from source. /// @@ -54,6 +58,10 @@ public sealed class AppSpecWorker /// public readonly string? InstanceSizeSlug; /// + /// Describes a log forwarding destination. + /// + public readonly ImmutableArray LogDestinations; + /// /// The name of the component. /// public readonly string Name; @@ -68,6 +76,8 @@ public sealed class AppSpecWorker [OutputConstructor] private AppSpecWorker( + ImmutableArray alerts, + string? buildCommand, string? dockerfilePath, @@ -88,12 +98,15 @@ public sealed class AppSpecWorker string? instanceSizeSlug, + ImmutableArray logDestinations, + string name, string? runCommand, string? sourceDir) { + Alerts = alerts; BuildCommand = buildCommand; DockerfilePath = dockerfilePath; EnvironmentSlug = environmentSlug; @@ -104,6 +117,7 @@ public sealed class AppSpecWorker Image = image; InstanceCount = instanceCount; InstanceSizeSlug = instanceSizeSlug; + LogDestinations = logDestinations; Name = name; RunCommand = runCommand; SourceDir = sourceDir; diff --git a/sdk/dotnet/Outputs/AppSpecWorkerAlert.cs b/sdk/dotnet/Outputs/AppSpecWorkerAlert.cs new file mode 100644 index 00000000..23560515 --- /dev/null +++ b/sdk/dotnet/Outputs/AppSpecWorkerAlert.cs @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Outputs +{ + + [OutputType] + public sealed class AppSpecWorkerAlert + { + /// + /// Determines whether or not the alert is disabled (default: `false`). + /// + public readonly bool? Disabled; + /// + /// The operator to use. This is either of `GREATER_THAN` or `LESS_THAN`. + /// + public readonly string Operator; + /// + /// The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. + /// + public readonly string Rule; + /// + /// The threshold for the type of the warning. + /// + public readonly double Value; + /// + /// The time before alerts should be triggered. This is may be one of: `FIVE_MINUTES`, `TEN_MINUTES`, `THIRTY_MINUTES`, `ONE_HOUR`. + /// + public readonly string Window; + + [OutputConstructor] + private AppSpecWorkerAlert( + bool? disabled, + + string @operator, + + string rule, + + double value, + + string window) + { + Disabled = disabled; + Operator = @operator; + Rule = rule; + Value = value; + Window = window; + } + } +} diff --git a/sdk/dotnet/Outputs/AppSpecWorkerEnv.cs b/sdk/dotnet/Outputs/AppSpecWorkerEnv.cs index 2c44f3d7..b193cdc9 100644 --- a/sdk/dotnet/Outputs/AppSpecWorkerEnv.cs +++ b/sdk/dotnet/Outputs/AppSpecWorkerEnv.cs @@ -26,7 +26,7 @@ public sealed class AppSpecWorkerEnv /// public readonly string? Type; /// - /// The value of the environment variable. + /// The threshold for the type of the warning. /// public readonly string? Value; diff --git a/sdk/dotnet/Outputs/AppSpecWorkerLogDestination.cs b/sdk/dotnet/Outputs/AppSpecWorkerLogDestination.cs new file mode 100644 index 00000000..ab37c64e --- /dev/null +++ b/sdk/dotnet/Outputs/AppSpecWorkerLogDestination.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Outputs +{ + + [OutputType] + public sealed class AppSpecWorkerLogDestination + { + /// + /// Datadog configuration. + /// + public readonly Outputs.AppSpecWorkerLogDestinationDatadog? Datadog; + /// + /// Logtail configuration. + /// + public readonly Outputs.AppSpecWorkerLogDestinationLogtail? Logtail; + /// + /// The name of the component. + /// + public readonly string Name; + /// + /// Papertrail configuration. + /// + public readonly Outputs.AppSpecWorkerLogDestinationPapertrail? Papertrail; + + [OutputConstructor] + private AppSpecWorkerLogDestination( + Outputs.AppSpecWorkerLogDestinationDatadog? datadog, + + Outputs.AppSpecWorkerLogDestinationLogtail? logtail, + + string name, + + Outputs.AppSpecWorkerLogDestinationPapertrail? papertrail) + { + Datadog = datadog; + Logtail = logtail; + Name = name; + Papertrail = papertrail; + } + } +} diff --git a/sdk/dotnet/Outputs/AppSpecWorkerLogDestinationDatadog.cs b/sdk/dotnet/Outputs/AppSpecWorkerLogDestinationDatadog.cs new file mode 100644 index 00000000..e598368c --- /dev/null +++ b/sdk/dotnet/Outputs/AppSpecWorkerLogDestinationDatadog.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Outputs +{ + + [OutputType] + public sealed class AppSpecWorkerLogDestinationDatadog + { + /// + /// Datadog API key. + /// + public readonly string ApiKey; + /// + /// Datadog HTTP log intake endpoint. + /// + public readonly string? Endpoint; + + [OutputConstructor] + private AppSpecWorkerLogDestinationDatadog( + string apiKey, + + string? endpoint) + { + ApiKey = apiKey; + Endpoint = endpoint; + } + } +} diff --git a/sdk/dotnet/Outputs/AppSpecWorkerLogDestinationLogtail.cs b/sdk/dotnet/Outputs/AppSpecWorkerLogDestinationLogtail.cs new file mode 100644 index 00000000..bd24539d --- /dev/null +++ b/sdk/dotnet/Outputs/AppSpecWorkerLogDestinationLogtail.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Outputs +{ + + [OutputType] + public sealed class AppSpecWorkerLogDestinationLogtail + { + /// + /// Logtail token. + /// + public readonly string Token; + + [OutputConstructor] + private AppSpecWorkerLogDestinationLogtail(string token) + { + Token = token; + } + } +} diff --git a/sdk/dotnet/Outputs/AppSpecWorkerLogDestinationPapertrail.cs b/sdk/dotnet/Outputs/AppSpecWorkerLogDestinationPapertrail.cs new file mode 100644 index 00000000..37b2a796 --- /dev/null +++ b/sdk/dotnet/Outputs/AppSpecWorkerLogDestinationPapertrail.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Outputs +{ + + [OutputType] + public sealed class AppSpecWorkerLogDestinationPapertrail + { + /// + /// Datadog HTTP log intake endpoint. + /// + public readonly string Endpoint; + + [OutputConstructor] + private AppSpecWorkerLogDestinationPapertrail(string endpoint) + { + Endpoint = endpoint; + } + } +} diff --git a/sdk/dotnet/Outputs/GetAppSpecAlertResult.cs b/sdk/dotnet/Outputs/GetAppSpecAlertResult.cs new file mode 100644 index 00000000..1957f872 --- /dev/null +++ b/sdk/dotnet/Outputs/GetAppSpecAlertResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Outputs +{ + + [OutputType] + public sealed class GetAppSpecAlertResult + { + public readonly bool? Disabled; + public readonly string Rule; + + [OutputConstructor] + private GetAppSpecAlertResult( + bool? disabled, + + string rule) + { + Disabled = disabled; + Rule = rule; + } + } +} diff --git a/sdk/dotnet/Outputs/GetAppSpecJobAlertResult.cs b/sdk/dotnet/Outputs/GetAppSpecJobAlertResult.cs new file mode 100644 index 00000000..23a48e93 --- /dev/null +++ b/sdk/dotnet/Outputs/GetAppSpecJobAlertResult.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Outputs +{ + + [OutputType] + public sealed class GetAppSpecJobAlertResult + { + public readonly bool? Disabled; + public readonly string Operator; + public readonly string Rule; + /// + /// The value of the environment variable. + /// + public readonly double Value; + public readonly string Window; + + [OutputConstructor] + private GetAppSpecJobAlertResult( + bool? disabled, + + string @operator, + + string rule, + + double value, + + string window) + { + Disabled = disabled; + Operator = @operator; + Rule = rule; + Value = value; + Window = window; + } + } +} diff --git a/sdk/dotnet/Outputs/GetAppSpecJobLogDestinationDatadogResult.cs b/sdk/dotnet/Outputs/GetAppSpecJobLogDestinationDatadogResult.cs new file mode 100644 index 00000000..8d348428 --- /dev/null +++ b/sdk/dotnet/Outputs/GetAppSpecJobLogDestinationDatadogResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Outputs +{ + + [OutputType] + public sealed class GetAppSpecJobLogDestinationDatadogResult + { + public readonly string ApiKey; + public readonly string? Endpoint; + + [OutputConstructor] + private GetAppSpecJobLogDestinationDatadogResult( + string apiKey, + + string? endpoint) + { + ApiKey = apiKey; + Endpoint = endpoint; + } + } +} diff --git a/sdk/dotnet/Outputs/GetAppSpecJobLogDestinationLogtailResult.cs b/sdk/dotnet/Outputs/GetAppSpecJobLogDestinationLogtailResult.cs new file mode 100644 index 00000000..10a72ee0 --- /dev/null +++ b/sdk/dotnet/Outputs/GetAppSpecJobLogDestinationLogtailResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Outputs +{ + + [OutputType] + public sealed class GetAppSpecJobLogDestinationLogtailResult + { + public readonly string Token; + + [OutputConstructor] + private GetAppSpecJobLogDestinationLogtailResult(string token) + { + Token = token; + } + } +} diff --git a/sdk/dotnet/Outputs/GetAppSpecJobLogDestinationPapertrailResult.cs b/sdk/dotnet/Outputs/GetAppSpecJobLogDestinationPapertrailResult.cs new file mode 100644 index 00000000..b78a02db --- /dev/null +++ b/sdk/dotnet/Outputs/GetAppSpecJobLogDestinationPapertrailResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Outputs +{ + + [OutputType] + public sealed class GetAppSpecJobLogDestinationPapertrailResult + { + public readonly string Endpoint; + + [OutputConstructor] + private GetAppSpecJobLogDestinationPapertrailResult(string endpoint) + { + Endpoint = endpoint; + } + } +} diff --git a/sdk/dotnet/Outputs/GetAppSpecJobLogDestinationResult.cs b/sdk/dotnet/Outputs/GetAppSpecJobLogDestinationResult.cs new file mode 100644 index 00000000..6fdbd196 --- /dev/null +++ b/sdk/dotnet/Outputs/GetAppSpecJobLogDestinationResult.cs @@ -0,0 +1,40 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Outputs +{ + + [OutputType] + public sealed class GetAppSpecJobLogDestinationResult + { + public readonly Outputs.GetAppSpecJobLogDestinationDatadogResult? Datadog; + public readonly Outputs.GetAppSpecJobLogDestinationLogtailResult? Logtail; + /// + /// The name of the component. + /// + public readonly string Name; + public readonly Outputs.GetAppSpecJobLogDestinationPapertrailResult? Papertrail; + + [OutputConstructor] + private GetAppSpecJobLogDestinationResult( + Outputs.GetAppSpecJobLogDestinationDatadogResult? datadog, + + Outputs.GetAppSpecJobLogDestinationLogtailResult? logtail, + + string name, + + Outputs.GetAppSpecJobLogDestinationPapertrailResult? papertrail) + { + Datadog = datadog; + Logtail = logtail; + Name = name; + Papertrail = papertrail; + } + } +} diff --git a/sdk/dotnet/Outputs/GetAppSpecJobResult.cs b/sdk/dotnet/Outputs/GetAppSpecJobResult.cs index 352e3438..5ea7b3ff 100644 --- a/sdk/dotnet/Outputs/GetAppSpecJobResult.cs +++ b/sdk/dotnet/Outputs/GetAppSpecJobResult.cs @@ -13,6 +13,7 @@ namespace Pulumi.DigitalOcean.Outputs [OutputType] public sealed class GetAppSpecJobResult { + public readonly ImmutableArray Alerts; /// /// An optional build command to run while building this component from source. /// @@ -61,6 +62,7 @@ public sealed class GetAppSpecJobResult /// - `FAILED_DEPLOY`: Indicates a job that runs after a component fails to deploy. /// public readonly string? Kind; + public readonly ImmutableArray LogDestinations; /// /// The name of the component. /// @@ -76,6 +78,8 @@ public sealed class GetAppSpecJobResult [OutputConstructor] private GetAppSpecJobResult( + ImmutableArray alerts, + string? buildCommand, string? dockerfilePath, @@ -98,12 +102,15 @@ public sealed class GetAppSpecJobResult string? kind, + ImmutableArray logDestinations, + string name, string? runCommand, string? sourceDir) { + Alerts = alerts; BuildCommand = buildCommand; DockerfilePath = dockerfilePath; EnvironmentSlug = environmentSlug; @@ -115,6 +122,7 @@ public sealed class GetAppSpecJobResult InstanceCount = instanceCount; InstanceSizeSlug = instanceSizeSlug; Kind = kind; + LogDestinations = logDestinations; Name = name; RunCommand = runCommand; SourceDir = sourceDir; diff --git a/sdk/dotnet/Outputs/GetAppSpecResult.cs b/sdk/dotnet/Outputs/GetAppSpecResult.cs index 42b3e0bc..50638349 100644 --- a/sdk/dotnet/Outputs/GetAppSpecResult.cs +++ b/sdk/dotnet/Outputs/GetAppSpecResult.cs @@ -13,6 +13,7 @@ namespace Pulumi.DigitalOcean.Outputs [OutputType] public sealed class GetAppSpecResult { + public readonly ImmutableArray Alerts; public readonly ImmutableArray Databases; public readonly ImmutableArray Domains; /// @@ -31,6 +32,8 @@ public sealed class GetAppSpecResult [OutputConstructor] private GetAppSpecResult( + ImmutableArray alerts, + ImmutableArray databases, ImmutableArray domains, @@ -49,6 +52,7 @@ public sealed class GetAppSpecResult ImmutableArray workers) { + Alerts = alerts; Databases = databases; Domains = domains; Envs = envs; diff --git a/sdk/dotnet/Outputs/GetAppSpecServiceAlertResult.cs b/sdk/dotnet/Outputs/GetAppSpecServiceAlertResult.cs new file mode 100644 index 00000000..85032f82 --- /dev/null +++ b/sdk/dotnet/Outputs/GetAppSpecServiceAlertResult.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Outputs +{ + + [OutputType] + public sealed class GetAppSpecServiceAlertResult + { + public readonly bool? Disabled; + public readonly string Operator; + public readonly string Rule; + /// + /// The value of the environment variable. + /// + public readonly double Value; + public readonly string Window; + + [OutputConstructor] + private GetAppSpecServiceAlertResult( + bool? disabled, + + string @operator, + + string rule, + + double value, + + string window) + { + Disabled = disabled; + Operator = @operator; + Rule = rule; + Value = value; + Window = window; + } + } +} diff --git a/sdk/dotnet/Outputs/GetAppSpecServiceLogDestinationDatadogResult.cs b/sdk/dotnet/Outputs/GetAppSpecServiceLogDestinationDatadogResult.cs new file mode 100644 index 00000000..6d6d2ad4 --- /dev/null +++ b/sdk/dotnet/Outputs/GetAppSpecServiceLogDestinationDatadogResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Outputs +{ + + [OutputType] + public sealed class GetAppSpecServiceLogDestinationDatadogResult + { + public readonly string ApiKey; + public readonly string? Endpoint; + + [OutputConstructor] + private GetAppSpecServiceLogDestinationDatadogResult( + string apiKey, + + string? endpoint) + { + ApiKey = apiKey; + Endpoint = endpoint; + } + } +} diff --git a/sdk/dotnet/Outputs/GetAppSpecServiceLogDestinationLogtailResult.cs b/sdk/dotnet/Outputs/GetAppSpecServiceLogDestinationLogtailResult.cs new file mode 100644 index 00000000..682c458f --- /dev/null +++ b/sdk/dotnet/Outputs/GetAppSpecServiceLogDestinationLogtailResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Outputs +{ + + [OutputType] + public sealed class GetAppSpecServiceLogDestinationLogtailResult + { + public readonly string Token; + + [OutputConstructor] + private GetAppSpecServiceLogDestinationLogtailResult(string token) + { + Token = token; + } + } +} diff --git a/sdk/dotnet/Outputs/GetAppSpecServiceLogDestinationPapertrailResult.cs b/sdk/dotnet/Outputs/GetAppSpecServiceLogDestinationPapertrailResult.cs new file mode 100644 index 00000000..4f8f555c --- /dev/null +++ b/sdk/dotnet/Outputs/GetAppSpecServiceLogDestinationPapertrailResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Outputs +{ + + [OutputType] + public sealed class GetAppSpecServiceLogDestinationPapertrailResult + { + public readonly string Endpoint; + + [OutputConstructor] + private GetAppSpecServiceLogDestinationPapertrailResult(string endpoint) + { + Endpoint = endpoint; + } + } +} diff --git a/sdk/dotnet/Outputs/GetAppSpecServiceLogDestinationResult.cs b/sdk/dotnet/Outputs/GetAppSpecServiceLogDestinationResult.cs new file mode 100644 index 00000000..1d96bf93 --- /dev/null +++ b/sdk/dotnet/Outputs/GetAppSpecServiceLogDestinationResult.cs @@ -0,0 +1,40 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Outputs +{ + + [OutputType] + public sealed class GetAppSpecServiceLogDestinationResult + { + public readonly Outputs.GetAppSpecServiceLogDestinationDatadogResult? Datadog; + public readonly Outputs.GetAppSpecServiceLogDestinationLogtailResult? Logtail; + /// + /// The name of the component. + /// + public readonly string Name; + public readonly Outputs.GetAppSpecServiceLogDestinationPapertrailResult? Papertrail; + + [OutputConstructor] + private GetAppSpecServiceLogDestinationResult( + Outputs.GetAppSpecServiceLogDestinationDatadogResult? datadog, + + Outputs.GetAppSpecServiceLogDestinationLogtailResult? logtail, + + string name, + + Outputs.GetAppSpecServiceLogDestinationPapertrailResult? papertrail) + { + Datadog = datadog; + Logtail = logtail; + Name = name; + Papertrail = papertrail; + } + } +} diff --git a/sdk/dotnet/Outputs/GetAppSpecServiceResult.cs b/sdk/dotnet/Outputs/GetAppSpecServiceResult.cs index 688aa94c..00e827cf 100644 --- a/sdk/dotnet/Outputs/GetAppSpecServiceResult.cs +++ b/sdk/dotnet/Outputs/GetAppSpecServiceResult.cs @@ -13,6 +13,7 @@ namespace Pulumi.DigitalOcean.Outputs [OutputType] public sealed class GetAppSpecServiceResult { + public readonly ImmutableArray Alerts; /// /// An optional build command to run while building this component from source. /// @@ -66,6 +67,7 @@ public sealed class GetAppSpecServiceResult /// A list of ports on which this service will listen for internal traffic. /// public readonly ImmutableArray InternalPorts; + public readonly ImmutableArray LogDestinations; /// /// The name of the component. /// @@ -82,6 +84,8 @@ public sealed class GetAppSpecServiceResult [OutputConstructor] private GetAppSpecServiceResult( + ImmutableArray alerts, + string? buildCommand, Outputs.GetAppSpecServiceCorsResult? cors, @@ -110,6 +114,8 @@ public sealed class GetAppSpecServiceResult ImmutableArray internalPorts, + ImmutableArray logDestinations, + string name, ImmutableArray routes, @@ -118,6 +124,7 @@ public sealed class GetAppSpecServiceResult string? sourceDir) { + Alerts = alerts; BuildCommand = buildCommand; Cors = cors; DockerfilePath = dockerfilePath; @@ -132,6 +139,7 @@ public sealed class GetAppSpecServiceResult InstanceCount = instanceCount; InstanceSizeSlug = instanceSizeSlug; InternalPorts = internalPorts; + LogDestinations = logDestinations; Name = name; Routes = routes; RunCommand = runCommand; diff --git a/sdk/dotnet/Outputs/GetAppSpecWorkerAlertResult.cs b/sdk/dotnet/Outputs/GetAppSpecWorkerAlertResult.cs new file mode 100644 index 00000000..e203a8f9 --- /dev/null +++ b/sdk/dotnet/Outputs/GetAppSpecWorkerAlertResult.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Outputs +{ + + [OutputType] + public sealed class GetAppSpecWorkerAlertResult + { + public readonly bool? Disabled; + public readonly string Operator; + public readonly string Rule; + /// + /// The value of the environment variable. + /// + public readonly double Value; + public readonly string Window; + + [OutputConstructor] + private GetAppSpecWorkerAlertResult( + bool? disabled, + + string @operator, + + string rule, + + double value, + + string window) + { + Disabled = disabled; + Operator = @operator; + Rule = rule; + Value = value; + Window = window; + } + } +} diff --git a/sdk/dotnet/Outputs/GetAppSpecWorkerLogDestinationDatadogResult.cs b/sdk/dotnet/Outputs/GetAppSpecWorkerLogDestinationDatadogResult.cs new file mode 100644 index 00000000..5ae1eac3 --- /dev/null +++ b/sdk/dotnet/Outputs/GetAppSpecWorkerLogDestinationDatadogResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Outputs +{ + + [OutputType] + public sealed class GetAppSpecWorkerLogDestinationDatadogResult + { + public readonly string ApiKey; + public readonly string? Endpoint; + + [OutputConstructor] + private GetAppSpecWorkerLogDestinationDatadogResult( + string apiKey, + + string? endpoint) + { + ApiKey = apiKey; + Endpoint = endpoint; + } + } +} diff --git a/sdk/dotnet/Outputs/GetAppSpecWorkerLogDestinationLogtailResult.cs b/sdk/dotnet/Outputs/GetAppSpecWorkerLogDestinationLogtailResult.cs new file mode 100644 index 00000000..e088119a --- /dev/null +++ b/sdk/dotnet/Outputs/GetAppSpecWorkerLogDestinationLogtailResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Outputs +{ + + [OutputType] + public sealed class GetAppSpecWorkerLogDestinationLogtailResult + { + public readonly string Token; + + [OutputConstructor] + private GetAppSpecWorkerLogDestinationLogtailResult(string token) + { + Token = token; + } + } +} diff --git a/sdk/dotnet/Outputs/GetAppSpecWorkerLogDestinationPapertrailResult.cs b/sdk/dotnet/Outputs/GetAppSpecWorkerLogDestinationPapertrailResult.cs new file mode 100644 index 00000000..b69947d6 --- /dev/null +++ b/sdk/dotnet/Outputs/GetAppSpecWorkerLogDestinationPapertrailResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Outputs +{ + + [OutputType] + public sealed class GetAppSpecWorkerLogDestinationPapertrailResult + { + public readonly string Endpoint; + + [OutputConstructor] + private GetAppSpecWorkerLogDestinationPapertrailResult(string endpoint) + { + Endpoint = endpoint; + } + } +} diff --git a/sdk/dotnet/Outputs/GetAppSpecWorkerLogDestinationResult.cs b/sdk/dotnet/Outputs/GetAppSpecWorkerLogDestinationResult.cs new file mode 100644 index 00000000..ea0eaf3b --- /dev/null +++ b/sdk/dotnet/Outputs/GetAppSpecWorkerLogDestinationResult.cs @@ -0,0 +1,40 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean.Outputs +{ + + [OutputType] + public sealed class GetAppSpecWorkerLogDestinationResult + { + public readonly Outputs.GetAppSpecWorkerLogDestinationDatadogResult? Datadog; + public readonly Outputs.GetAppSpecWorkerLogDestinationLogtailResult? Logtail; + /// + /// The name of the component. + /// + public readonly string Name; + public readonly Outputs.GetAppSpecWorkerLogDestinationPapertrailResult? Papertrail; + + [OutputConstructor] + private GetAppSpecWorkerLogDestinationResult( + Outputs.GetAppSpecWorkerLogDestinationDatadogResult? datadog, + + Outputs.GetAppSpecWorkerLogDestinationLogtailResult? logtail, + + string name, + + Outputs.GetAppSpecWorkerLogDestinationPapertrailResult? papertrail) + { + Datadog = datadog; + Logtail = logtail; + Name = name; + Papertrail = papertrail; + } + } +} diff --git a/sdk/dotnet/Outputs/GetAppSpecWorkerResult.cs b/sdk/dotnet/Outputs/GetAppSpecWorkerResult.cs index 5bfc853d..f5729a7f 100644 --- a/sdk/dotnet/Outputs/GetAppSpecWorkerResult.cs +++ b/sdk/dotnet/Outputs/GetAppSpecWorkerResult.cs @@ -13,6 +13,7 @@ namespace Pulumi.DigitalOcean.Outputs [OutputType] public sealed class GetAppSpecWorkerResult { + public readonly ImmutableArray Alerts; /// /// An optional build command to run while building this component from source. /// @@ -53,6 +54,7 @@ public sealed class GetAppSpecWorkerResult /// The instance size to use for this component. /// public readonly string? InstanceSizeSlug; + public readonly ImmutableArray LogDestinations; /// /// The name of the component. /// @@ -68,6 +70,8 @@ public sealed class GetAppSpecWorkerResult [OutputConstructor] private GetAppSpecWorkerResult( + ImmutableArray alerts, + string? buildCommand, string? dockerfilePath, @@ -88,12 +92,15 @@ public sealed class GetAppSpecWorkerResult string? instanceSizeSlug, + ImmutableArray logDestinations, + string name, string? runCommand, string? sourceDir) { + Alerts = alerts; BuildCommand = buildCommand; DockerfilePath = dockerfilePath; EnvironmentSlug = environmentSlug; @@ -104,6 +111,7 @@ public sealed class GetAppSpecWorkerResult Image = image; InstanceCount = instanceCount; InstanceSizeSlug = instanceSizeSlug; + LogDestinations = logDestinations; Name = name; RunCommand = runCommand; SourceDir = sourceDir; diff --git a/sdk/dotnet/SpacesBucketPolicy.cs b/sdk/dotnet/SpacesBucketPolicy.cs new file mode 100644 index 00000000..8ccee4c3 --- /dev/null +++ b/sdk/dotnet/SpacesBucketPolicy.cs @@ -0,0 +1,197 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.DigitalOcean +{ + /// + /// ## Example Usage + /// ### Limiting access to specific IP addresses + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Text.Json; + /// using Pulumi; + /// using DigitalOcean = Pulumi.DigitalOcean; + /// + /// class MyStack : Stack + /// { + /// public MyStack() + /// { + /// var foobarSpacesBucket = new DigitalOcean.SpacesBucket("foobarSpacesBucket", new DigitalOcean.SpacesBucketArgs + /// { + /// Region = "nyc3", + /// }); + /// var foobarSpacesBucketPolicy = new DigitalOcean.SpacesBucketPolicy("foobarSpacesBucketPolicy", new DigitalOcean.SpacesBucketPolicyArgs + /// { + /// Region = foobarSpacesBucket.Region, + /// Bucket = foobarSpacesBucket.Name, + /// Policy = Output.Tuple(foobarSpacesBucket.Name, foobarSpacesBucket.Name).Apply(values => + /// { + /// var foobarSpacesBucketName = values.Item1; + /// var foobarSpacesBucketName1 = values.Item2; + /// return JsonSerializer.Serialize(new Dictionary<string, object?> + /// { + /// { "Version", "2012-10-17" }, + /// { "Statement", new[] + /// { + /// new Dictionary<string, object?> + /// { + /// { "Sid", "IPAllow" }, + /// { "Effect", "Deny" }, + /// { "Principal", "*" }, + /// { "Action", "s3:*" }, + /// { "Resource", new[] + /// { + /// $"arn:aws:s3:::{foobarSpacesBucketName}", + /// $"arn:aws:s3:::{foobarSpacesBucketName1}/*", + /// } + /// }, + /// { "Condition", new Dictionary<string, object?> + /// { + /// { "NotIpAddress", new Dictionary<string, object?> + /// { + /// { "aws:SourceIp", "54.240.143.0/24" }, + /// } }, + /// } }, + /// }, + /// } + /// }, + /// }); + /// }), + /// }); + /// } + /// + /// } + /// ``` + /// + /// !> **Warning:** Before using this policy, replace the 54.240.143.0/24 IP address range in this example with an appropriate value for your use case. Otherwise, you will lose the ability to access your bucket. + /// + /// ## Import + /// + /// Bucket policies can be imported using the `region` and `bucket` attributes (delimited by a comma) + /// + /// ```sh + /// $ pulumi import digitalocean:index/spacesBucketPolicy:SpacesBucketPolicy foobar `region`,`bucket` + /// ``` + /// + [DigitalOceanResourceType("digitalocean:index/spacesBucketPolicy:SpacesBucketPolicy")] + public partial class SpacesBucketPolicy : Pulumi.CustomResource + { + /// + /// The name of the bucket to which to apply the policy. + /// + [Output("bucket")] + public Output Bucket { get; private set; } = null!; + + /// + /// The text of the policy. + /// + [Output("policy")] + public Output Policy { get; private set; } = null!; + + /// + /// The region where the bucket resides. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + + + /// + /// Create a SpacesBucketPolicy resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public SpacesBucketPolicy(string name, SpacesBucketPolicyArgs args, CustomResourceOptions? options = null) + : base("digitalocean:index/spacesBucketPolicy:SpacesBucketPolicy", name, args ?? new SpacesBucketPolicyArgs(), MakeResourceOptions(options, "")) + { + } + + private SpacesBucketPolicy(string name, Input id, SpacesBucketPolicyState? state = null, CustomResourceOptions? options = null) + : base("digitalocean:index/spacesBucketPolicy:SpacesBucketPolicy", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing SpacesBucketPolicy resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static SpacesBucketPolicy Get(string name, Input id, SpacesBucketPolicyState? state = null, CustomResourceOptions? options = null) + { + return new SpacesBucketPolicy(name, id, state, options); + } + } + + public sealed class SpacesBucketPolicyArgs : Pulumi.ResourceArgs + { + /// + /// The name of the bucket to which to apply the policy. + /// + [Input("bucket", required: true)] + public Input Bucket { get; set; } = null!; + + /// + /// The text of the policy. + /// + [Input("policy", required: true)] + public Input Policy { get; set; } = null!; + + /// + /// The region where the bucket resides. + /// + [Input("region", required: true)] + public Input Region { get; set; } = null!; + + public SpacesBucketPolicyArgs() + { + } + } + + public sealed class SpacesBucketPolicyState : Pulumi.ResourceArgs + { + /// + /// The name of the bucket to which to apply the policy. + /// + [Input("bucket")] + public Input? Bucket { get; set; } + + /// + /// The text of the policy. + /// + [Input("policy")] + public Input? Policy { get; set; } + + /// + /// The region where the bucket resides. + /// + [Input("region")] + public Input? Region { get; set; } + + public SpacesBucketPolicyState() + { + } + } +} diff --git a/sdk/go/digitalocean/app.go b/sdk/go/digitalocean/app.go index 7d0bd02a..c2eecaf3 100644 --- a/sdk/go/digitalocean/app.go +++ b/sdk/go/digitalocean/app.go @@ -102,6 +102,11 @@ import ( // pulumi.Run(func(ctx *pulumi.Context) error { // _, err := digitalocean.NewApp(ctx, "mono-repo-example", &digitalocean.AppArgs{ // Spec: &AppSpecArgs{ +// Alerts: AppSpecAlertArray{ +// &AppSpecAlertArgs{ +// Rule: pulumi.String("DEPLOYMENT_FAILED"), +// }, +// }, // Databases: AppSpecDatabaseArray{ // &AppSpecDatabaseArgs{ // Engine: pulumi.String("PG"), @@ -118,6 +123,14 @@ import ( // Region: pulumi.String("ams"), // Services: AppSpecServiceArray{ // &AppSpecServiceArgs{ +// Alert: []map[string]interface{}{ +// map[string]interface{}{ +// "operator": "GREATER_THAN", +// "rule": "CPU_UTILIZATION", +// "value": 75, +// "window": "TEN_MINUTES", +// }, +// }, // EnvironmentSlug: pulumi.String("go"), // Github: &AppSpecServiceGithubArgs{ // Branch: pulumi.String("main"), @@ -127,7 +140,15 @@ import ( // HttpPort: pulumi.Int(3000), // InstanceCount: pulumi.Int(2), // InstanceSizeSlug: pulumi.String("professional-xs"), -// Name: pulumi.String("api"), +// LogDestination: []map[string]interface{}{ +// map[string]interface{}{ +// "name": "MyLogs", +// "papertrail": map[string]interface{}{ +// "endpoint": "syslog+tls://example.com:12345", +// }, +// }, +// }, +// Name: pulumi.String("api"), // Routes: AppSpecServiceRouteArray{ // &AppSpecServiceRouteArgs{ // Path: pulumi.String("/api"), diff --git a/sdk/go/digitalocean/containerRegistry.go b/sdk/go/digitalocean/containerRegistry.go index 27ac74e2..0f7937aa 100644 --- a/sdk/go/digitalocean/containerRegistry.go +++ b/sdk/go/digitalocean/containerRegistry.go @@ -47,10 +47,18 @@ import ( type ContainerRegistry struct { pulumi.CustomResourceState + // The date and time when the registry was created + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The URL endpoint of the container registry. Ex: `registry.digitalocean.com/my_registry` Endpoint pulumi.StringOutput `pulumi:"endpoint"` // The name of the container_registry - Name pulumi.StringOutput `pulumi:"name"` + Name pulumi.StringOutput `pulumi:"name"` + // The slug identifier of for region where registry data will be stored. When not provided, a region will be selected automatically. + Region pulumi.StringOutput `pulumi:"region"` + // The domain of the container registry. Ex: `registry.digitalocean.com` ServerUrl pulumi.StringOutput `pulumi:"serverUrl"` + // The amount of storage used in the registry in bytes. + StorageUsageBytes pulumi.IntOutput `pulumi:"storageUsageBytes"` // The slug identifier for the subscription tier to use (`starter`, `basic`, or `professional`) SubscriptionTierSlug pulumi.StringOutput `pulumi:"subscriptionTierSlug"` } @@ -87,19 +95,35 @@ func GetContainerRegistry(ctx *pulumi.Context, // Input properties used for looking up and filtering ContainerRegistry resources. type containerRegistryState struct { + // The date and time when the registry was created + CreatedAt *string `pulumi:"createdAt"` + // The URL endpoint of the container registry. Ex: `registry.digitalocean.com/my_registry` Endpoint *string `pulumi:"endpoint"` // The name of the container_registry - Name *string `pulumi:"name"` + Name *string `pulumi:"name"` + // The slug identifier of for region where registry data will be stored. When not provided, a region will be selected automatically. + Region *string `pulumi:"region"` + // The domain of the container registry. Ex: `registry.digitalocean.com` ServerUrl *string `pulumi:"serverUrl"` + // The amount of storage used in the registry in bytes. + StorageUsageBytes *int `pulumi:"storageUsageBytes"` // The slug identifier for the subscription tier to use (`starter`, `basic`, or `professional`) SubscriptionTierSlug *string `pulumi:"subscriptionTierSlug"` } type ContainerRegistryState struct { + // The date and time when the registry was created + CreatedAt pulumi.StringPtrInput + // The URL endpoint of the container registry. Ex: `registry.digitalocean.com/my_registry` Endpoint pulumi.StringPtrInput // The name of the container_registry - Name pulumi.StringPtrInput + Name pulumi.StringPtrInput + // The slug identifier of for region where registry data will be stored. When not provided, a region will be selected automatically. + Region pulumi.StringPtrInput + // The domain of the container registry. Ex: `registry.digitalocean.com` ServerUrl pulumi.StringPtrInput + // The amount of storage used in the registry in bytes. + StorageUsageBytes pulumi.IntPtrInput // The slug identifier for the subscription tier to use (`starter`, `basic`, or `professional`) SubscriptionTierSlug pulumi.StringPtrInput } @@ -111,6 +135,8 @@ func (ContainerRegistryState) ElementType() reflect.Type { type containerRegistryArgs struct { // The name of the container_registry Name *string `pulumi:"name"` + // The slug identifier of for region where registry data will be stored. When not provided, a region will be selected automatically. + Region *string `pulumi:"region"` // The slug identifier for the subscription tier to use (`starter`, `basic`, or `professional`) SubscriptionTierSlug string `pulumi:"subscriptionTierSlug"` } @@ -119,6 +145,8 @@ type containerRegistryArgs struct { type ContainerRegistryArgs struct { // The name of the container_registry Name pulumi.StringPtrInput + // The slug identifier of for region where registry data will be stored. When not provided, a region will be selected automatically. + Region pulumi.StringPtrInput // The slug identifier for the subscription tier to use (`starter`, `basic`, or `professional`) SubscriptionTierSlug pulumi.StringInput } diff --git a/sdk/go/digitalocean/dnsRecord.go b/sdk/go/digitalocean/dnsRecord.go index fbf918e8..26fdb0fa 100644 --- a/sdk/go/digitalocean/dnsRecord.go +++ b/sdk/go/digitalocean/dnsRecord.go @@ -79,7 +79,7 @@ type DnsRecord struct { Priority pulumi.IntPtrOutput `pulumi:"priority"` // The tag of the record. Only valid when type is `CAA`. Must be one of `issue`, `issuewild`, or `iodef`. Tag pulumi.StringPtrOutput `pulumi:"tag"` - // The time to live for the record, in seconds. Must be at least 0. + // The time to live for the record, in seconds. Must be at least 0. Defaults to 1800. Ttl pulumi.IntOutput `pulumi:"ttl"` // The type of record. Must be one of `A`, `AAAA`, `CAA`, `CNAME`, `MX`, `NS`, `TXT`, or `SRV`. Type pulumi.StringOutput `pulumi:"type"` @@ -141,7 +141,7 @@ type dnsRecordState struct { Priority *int `pulumi:"priority"` // The tag of the record. Only valid when type is `CAA`. Must be one of `issue`, `issuewild`, or `iodef`. Tag *string `pulumi:"tag"` - // The time to live for the record, in seconds. Must be at least 0. + // The time to live for the record, in seconds. Must be at least 0. Defaults to 1800. Ttl *int `pulumi:"ttl"` // The type of record. Must be one of `A`, `AAAA`, `CAA`, `CNAME`, `MX`, `NS`, `TXT`, or `SRV`. Type *string `pulumi:"type"` @@ -166,7 +166,7 @@ type DnsRecordState struct { Priority pulumi.IntPtrInput // The tag of the record. Only valid when type is `CAA`. Must be one of `issue`, `issuewild`, or `iodef`. Tag pulumi.StringPtrInput - // The time to live for the record, in seconds. Must be at least 0. + // The time to live for the record, in seconds. Must be at least 0. Defaults to 1800. Ttl pulumi.IntPtrInput // The type of record. Must be one of `A`, `AAAA`, `CAA`, `CNAME`, `MX`, `NS`, `TXT`, or `SRV`. Type pulumi.StringPtrInput @@ -193,7 +193,7 @@ type dnsRecordArgs struct { Priority *int `pulumi:"priority"` // The tag of the record. Only valid when type is `CAA`. Must be one of `issue`, `issuewild`, or `iodef`. Tag *string `pulumi:"tag"` - // The time to live for the record, in seconds. Must be at least 0. + // The time to live for the record, in seconds. Must be at least 0. Defaults to 1800. Ttl *int `pulumi:"ttl"` // The type of record. Must be one of `A`, `AAAA`, `CAA`, `CNAME`, `MX`, `NS`, `TXT`, or `SRV`. Type string `pulumi:"type"` @@ -217,7 +217,7 @@ type DnsRecordArgs struct { Priority pulumi.IntPtrInput // The tag of the record. Only valid when type is `CAA`. Must be one of `issue`, `issuewild`, or `iodef`. Tag pulumi.StringPtrInput - // The time to live for the record, in seconds. Must be at least 0. + // The time to live for the record, in seconds. Must be at least 0. Defaults to 1800. Ttl pulumi.IntPtrInput // The type of record. Must be one of `A`, `AAAA`, `CAA`, `CNAME`, `MX`, `NS`, `TXT`, or `SRV`. Type pulumi.StringInput diff --git a/sdk/go/digitalocean/getContainerRegistry.go b/sdk/go/digitalocean/getContainerRegistry.go index d9c9a290..808c3118 100644 --- a/sdk/go/digitalocean/getContainerRegistry.go +++ b/sdk/go/digitalocean/getContainerRegistry.go @@ -59,15 +59,21 @@ type LookupContainerRegistryArgs struct { // A collection of values returned by getContainerRegistry. type LookupContainerRegistryResult struct { + // The date and time when the registry was created + CreatedAt string `pulumi:"createdAt"` + // The URL endpoint of the container registry. Ex: `registry.digitalocean.com/my_registry` Endpoint string `pulumi:"endpoint"` // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` // The name of the container registry - Name string `pulumi:"name"` + Name string `pulumi:"name"` + // The slug identifier for the region + Region string `pulumi:"region"` + // The domain of the container registry. Ex: `registry.digitalocean.com` ServerUrl string `pulumi:"serverUrl"` + // The amount of storage used in the registry in bytes. + StorageUsageBytes int `pulumi:"storageUsageBytes"` // The slug identifier for the subscription tier - // * `endpoint`: The URL endpoint of the container registry. Ex: `registry.digitalocean.com/my_registry` - // * `serverUrl`: The domain of the container registry. Ex: `registry.digitalocean.com` SubscriptionTierSlug string `pulumi:"subscriptionTierSlug"` } @@ -105,6 +111,12 @@ func (o LookupContainerRegistryResultOutput) ToLookupContainerRegistryResultOutp return o } +// The date and time when the registry was created +func (o LookupContainerRegistryResultOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupContainerRegistryResult) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The URL endpoint of the container registry. Ex: `registry.digitalocean.com/my_registry` func (o LookupContainerRegistryResultOutput) Endpoint() pulumi.StringOutput { return o.ApplyT(func(v LookupContainerRegistryResult) string { return v.Endpoint }).(pulumi.StringOutput) } @@ -119,13 +131,22 @@ func (o LookupContainerRegistryResultOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v LookupContainerRegistryResult) string { return v.Name }).(pulumi.StringOutput) } +// The slug identifier for the region +func (o LookupContainerRegistryResultOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v LookupContainerRegistryResult) string { return v.Region }).(pulumi.StringOutput) +} + +// The domain of the container registry. Ex: `registry.digitalocean.com` func (o LookupContainerRegistryResultOutput) ServerUrl() pulumi.StringOutput { return o.ApplyT(func(v LookupContainerRegistryResult) string { return v.ServerUrl }).(pulumi.StringOutput) } +// The amount of storage used in the registry in bytes. +func (o LookupContainerRegistryResultOutput) StorageUsageBytes() pulumi.IntOutput { + return o.ApplyT(func(v LookupContainerRegistryResult) int { return v.StorageUsageBytes }).(pulumi.IntOutput) +} + // The slug identifier for the subscription tier -// * `endpoint`: The URL endpoint of the container registry. Ex: `registry.digitalocean.com/my_registry` -// * `serverUrl`: The domain of the container registry. Ex: `registry.digitalocean.com` func (o LookupContainerRegistryResultOutput) SubscriptionTierSlug() pulumi.StringOutput { return o.ApplyT(func(v LookupContainerRegistryResult) string { return v.SubscriptionTierSlug }).(pulumi.StringOutput) } diff --git a/sdk/go/digitalocean/init.go b/sdk/go/digitalocean/init.go index 9246bfed..6e28a364 100644 --- a/sdk/go/digitalocean/init.go +++ b/sdk/go/digitalocean/init.go @@ -74,6 +74,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &SpacesBucket{} case "digitalocean:index/spacesBucketObject:SpacesBucketObject": r = &SpacesBucketObject{} + case "digitalocean:index/spacesBucketPolicy:SpacesBucketPolicy": + r = &SpacesBucketPolicy{} case "digitalocean:index/sshKey:SshKey": r = &SshKey{} case "digitalocean:index/tag:Tag": @@ -252,6 +254,11 @@ func init() { "index/spacesBucketObject", &module{version}, ) + pulumi.RegisterResourceModule( + "digitalocean", + "index/spacesBucketPolicy", + &module{version}, + ) pulumi.RegisterResourceModule( "digitalocean", "index/sshKey", diff --git a/sdk/go/digitalocean/pulumiTypes.go b/sdk/go/digitalocean/pulumiTypes.go index 97d82998..0cd65858 100644 --- a/sdk/go/digitalocean/pulumiTypes.go +++ b/sdk/go/digitalocean/pulumiTypes.go @@ -11,6 +11,8 @@ import ( ) type AppSpec struct { + // Describes an alert policy for the component. + Alerts []AppSpecAlert `pulumi:"alerts"` Databases []AppSpecDatabase `pulumi:"databases"` // Describes a domain where the application will be made available. DomainNames []AppSpecDomainName `pulumi:"domainNames"` @@ -40,6 +42,8 @@ type AppSpecInput interface { } type AppSpecArgs struct { + // Describes an alert policy for the component. + Alerts AppSpecAlertArrayInput `pulumi:"alerts"` Databases AppSpecDatabaseArrayInput `pulumi:"databases"` // Describes a domain where the application will be made available. DomainNames AppSpecDomainNameArrayInput `pulumi:"domainNames"` @@ -134,6 +138,11 @@ func (o AppSpecOutput) ToAppSpecPtrOutputWithContext(ctx context.Context) AppSpe }).(AppSpecPtrOutput) } +// Describes an alert policy for the component. +func (o AppSpecOutput) Alerts() AppSpecAlertArrayOutput { + return o.ApplyT(func(v AppSpec) []AppSpecAlert { return v.Alerts }).(AppSpecAlertArrayOutput) +} + func (o AppSpecOutput) Databases() AppSpecDatabaseArrayOutput { return o.ApplyT(func(v AppSpec) []AppSpecDatabase { return v.Databases }).(AppSpecDatabaseArrayOutput) } @@ -203,6 +212,16 @@ func (o AppSpecPtrOutput) Elem() AppSpecOutput { }).(AppSpecOutput) } +// Describes an alert policy for the component. +func (o AppSpecPtrOutput) Alerts() AppSpecAlertArrayOutput { + return o.ApplyT(func(v *AppSpec) []AppSpecAlert { + if v == nil { + return nil + } + return v.Alerts + }).(AppSpecAlertArrayOutput) +} + func (o AppSpecPtrOutput) Databases() AppSpecDatabaseArrayOutput { return o.ApplyT(func(v *AppSpec) []AppSpecDatabase { if v == nil { @@ -298,6 +317,112 @@ func (o AppSpecPtrOutput) Workers() AppSpecWorkerArrayOutput { }).(AppSpecWorkerArrayOutput) } +type AppSpecAlert struct { + // Determines whether or not the alert is disabled (default: `false`). + Disabled *bool `pulumi:"disabled"` + // The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. + Rule string `pulumi:"rule"` +} + +// AppSpecAlertInput is an input type that accepts AppSpecAlertArgs and AppSpecAlertOutput values. +// You can construct a concrete instance of `AppSpecAlertInput` via: +// +// AppSpecAlertArgs{...} +type AppSpecAlertInput interface { + pulumi.Input + + ToAppSpecAlertOutput() AppSpecAlertOutput + ToAppSpecAlertOutputWithContext(context.Context) AppSpecAlertOutput +} + +type AppSpecAlertArgs struct { + // Determines whether or not the alert is disabled (default: `false`). + Disabled pulumi.BoolPtrInput `pulumi:"disabled"` + // The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. + Rule pulumi.StringInput `pulumi:"rule"` +} + +func (AppSpecAlertArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecAlert)(nil)).Elem() +} + +func (i AppSpecAlertArgs) ToAppSpecAlertOutput() AppSpecAlertOutput { + return i.ToAppSpecAlertOutputWithContext(context.Background()) +} + +func (i AppSpecAlertArgs) ToAppSpecAlertOutputWithContext(ctx context.Context) AppSpecAlertOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecAlertOutput) +} + +// AppSpecAlertArrayInput is an input type that accepts AppSpecAlertArray and AppSpecAlertArrayOutput values. +// You can construct a concrete instance of `AppSpecAlertArrayInput` via: +// +// AppSpecAlertArray{ AppSpecAlertArgs{...} } +type AppSpecAlertArrayInput interface { + pulumi.Input + + ToAppSpecAlertArrayOutput() AppSpecAlertArrayOutput + ToAppSpecAlertArrayOutputWithContext(context.Context) AppSpecAlertArrayOutput +} + +type AppSpecAlertArray []AppSpecAlertInput + +func (AppSpecAlertArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]AppSpecAlert)(nil)).Elem() +} + +func (i AppSpecAlertArray) ToAppSpecAlertArrayOutput() AppSpecAlertArrayOutput { + return i.ToAppSpecAlertArrayOutputWithContext(context.Background()) +} + +func (i AppSpecAlertArray) ToAppSpecAlertArrayOutputWithContext(ctx context.Context) AppSpecAlertArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecAlertArrayOutput) +} + +type AppSpecAlertOutput struct{ *pulumi.OutputState } + +func (AppSpecAlertOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecAlert)(nil)).Elem() +} + +func (o AppSpecAlertOutput) ToAppSpecAlertOutput() AppSpecAlertOutput { + return o +} + +func (o AppSpecAlertOutput) ToAppSpecAlertOutputWithContext(ctx context.Context) AppSpecAlertOutput { + return o +} + +// Determines whether or not the alert is disabled (default: `false`). +func (o AppSpecAlertOutput) Disabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v AppSpecAlert) *bool { return v.Disabled }).(pulumi.BoolPtrOutput) +} + +// The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. +func (o AppSpecAlertOutput) Rule() pulumi.StringOutput { + return o.ApplyT(func(v AppSpecAlert) string { return v.Rule }).(pulumi.StringOutput) +} + +type AppSpecAlertArrayOutput struct{ *pulumi.OutputState } + +func (AppSpecAlertArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]AppSpecAlert)(nil)).Elem() +} + +func (o AppSpecAlertArrayOutput) ToAppSpecAlertArrayOutput() AppSpecAlertArrayOutput { + return o +} + +func (o AppSpecAlertArrayOutput) ToAppSpecAlertArrayOutputWithContext(ctx context.Context) AppSpecAlertArrayOutput { + return o +} + +func (o AppSpecAlertArrayOutput) Index(i pulumi.IntInput) AppSpecAlertOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) AppSpecAlert { + return vs[0].([]AppSpecAlert)[vs[1].(int)] + }).(AppSpecAlertOutput) +} + type AppSpecDatabase struct { // The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if `clusterName` is not set, a new cluster will be provisioned. ClusterName *string `pulumi:"clusterName"` @@ -580,7 +705,7 @@ type AppSpecEnv struct { Scope *string `pulumi:"scope"` // The type of the environment variable, `GENERAL` or `SECRET`. Type *string `pulumi:"type"` - // The value of the environment variable. + // The threshold for the type of the warning. Value *string `pulumi:"value"` } @@ -602,7 +727,7 @@ type AppSpecEnvArgs struct { Scope pulumi.StringPtrInput `pulumi:"scope"` // The type of the environment variable, `GENERAL` or `SECRET`. Type pulumi.StringPtrInput `pulumi:"type"` - // The value of the environment variable. + // The threshold for the type of the warning. Value pulumi.StringPtrInput `pulumi:"value"` } @@ -672,7 +797,7 @@ func (o AppSpecEnvOutput) Type() pulumi.StringPtrOutput { return o.ApplyT(func(v AppSpecEnv) *string { return v.Type }).(pulumi.StringPtrOutput) } -// The value of the environment variable. +// The threshold for the type of the warning. func (o AppSpecEnvOutput) Value() pulumi.StringPtrOutput { return o.ApplyT(func(v AppSpecEnv) *string { return v.Value }).(pulumi.StringPtrOutput) } @@ -698,6 +823,8 @@ func (o AppSpecEnvArrayOutput) Index(i pulumi.IntInput) AppSpecEnvOutput { } type AppSpecJob struct { + // Describes an alert policy for the component. + Alerts []AppSpecJobAlert `pulumi:"alerts"` // An optional build command to run while building this component from source. BuildCommand *string `pulumi:"buildCommand"` // The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. @@ -724,6 +851,8 @@ type AppSpecJob struct { // - `POST_DEPLOY`: Indicates a job that runs after an app deployment. // - `FAILED_DEPLOY`: Indicates a job that runs after a component fails to deploy. Kind *string `pulumi:"kind"` + // Describes a log forwarding destination. + LogDestinations []AppSpecJobLogDestination `pulumi:"logDestinations"` // The name of the component. Name string `pulumi:"name"` // An optional run command to override the component's default. @@ -744,6 +873,8 @@ type AppSpecJobInput interface { } type AppSpecJobArgs struct { + // Describes an alert policy for the component. + Alerts AppSpecJobAlertArrayInput `pulumi:"alerts"` // An optional build command to run while building this component from source. BuildCommand pulumi.StringPtrInput `pulumi:"buildCommand"` // The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. @@ -770,6 +901,8 @@ type AppSpecJobArgs struct { // - `POST_DEPLOY`: Indicates a job that runs after an app deployment. // - `FAILED_DEPLOY`: Indicates a job that runs after a component fails to deploy. Kind pulumi.StringPtrInput `pulumi:"kind"` + // Describes a log forwarding destination. + LogDestinations AppSpecJobLogDestinationArrayInput `pulumi:"logDestinations"` // The name of the component. Name pulumi.StringInput `pulumi:"name"` // An optional run command to override the component's default. @@ -829,6 +962,11 @@ func (o AppSpecJobOutput) ToAppSpecJobOutputWithContext(ctx context.Context) App return o } +// Describes an alert policy for the component. +func (o AppSpecJobOutput) Alerts() AppSpecJobAlertArrayOutput { + return o.ApplyT(func(v AppSpecJob) []AppSpecJobAlert { return v.Alerts }).(AppSpecJobAlertArrayOutput) +} + // An optional build command to run while building this component from source. func (o AppSpecJobOutput) BuildCommand() pulumi.StringPtrOutput { return o.ApplyT(func(v AppSpecJob) *string { return v.BuildCommand }).(pulumi.StringPtrOutput) @@ -888,6 +1026,11 @@ func (o AppSpecJobOutput) Kind() pulumi.StringPtrOutput { return o.ApplyT(func(v AppSpecJob) *string { return v.Kind }).(pulumi.StringPtrOutput) } +// Describes a log forwarding destination. +func (o AppSpecJobOutput) LogDestinations() AppSpecJobLogDestinationArrayOutput { + return o.ApplyT(func(v AppSpecJob) []AppSpecJobLogDestination { return v.LogDestinations }).(AppSpecJobLogDestinationArrayOutput) +} + // The name of the component. func (o AppSpecJobOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v AppSpecJob) string { return v.Name }).(pulumi.StringOutput) @@ -923,6 +1066,139 @@ func (o AppSpecJobArrayOutput) Index(i pulumi.IntInput) AppSpecJobOutput { }).(AppSpecJobOutput) } +type AppSpecJobAlert struct { + // Determines whether or not the alert is disabled (default: `false`). + Disabled *bool `pulumi:"disabled"` + // The operator to use. This is either of `GREATER_THAN` or `LESS_THAN`. + Operator string `pulumi:"operator"` + // The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. + Rule string `pulumi:"rule"` + // The threshold for the type of the warning. + Value float64 `pulumi:"value"` + // The time before alerts should be triggered. This is may be one of: `FIVE_MINUTES`, `TEN_MINUTES`, `THIRTY_MINUTES`, `ONE_HOUR`. + Window string `pulumi:"window"` +} + +// AppSpecJobAlertInput is an input type that accepts AppSpecJobAlertArgs and AppSpecJobAlertOutput values. +// You can construct a concrete instance of `AppSpecJobAlertInput` via: +// +// AppSpecJobAlertArgs{...} +type AppSpecJobAlertInput interface { + pulumi.Input + + ToAppSpecJobAlertOutput() AppSpecJobAlertOutput + ToAppSpecJobAlertOutputWithContext(context.Context) AppSpecJobAlertOutput +} + +type AppSpecJobAlertArgs struct { + // Determines whether or not the alert is disabled (default: `false`). + Disabled pulumi.BoolPtrInput `pulumi:"disabled"` + // The operator to use. This is either of `GREATER_THAN` or `LESS_THAN`. + Operator pulumi.StringInput `pulumi:"operator"` + // The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. + Rule pulumi.StringInput `pulumi:"rule"` + // The threshold for the type of the warning. + Value pulumi.Float64Input `pulumi:"value"` + // The time before alerts should be triggered. This is may be one of: `FIVE_MINUTES`, `TEN_MINUTES`, `THIRTY_MINUTES`, `ONE_HOUR`. + Window pulumi.StringInput `pulumi:"window"` +} + +func (AppSpecJobAlertArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecJobAlert)(nil)).Elem() +} + +func (i AppSpecJobAlertArgs) ToAppSpecJobAlertOutput() AppSpecJobAlertOutput { + return i.ToAppSpecJobAlertOutputWithContext(context.Background()) +} + +func (i AppSpecJobAlertArgs) ToAppSpecJobAlertOutputWithContext(ctx context.Context) AppSpecJobAlertOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecJobAlertOutput) +} + +// AppSpecJobAlertArrayInput is an input type that accepts AppSpecJobAlertArray and AppSpecJobAlertArrayOutput values. +// You can construct a concrete instance of `AppSpecJobAlertArrayInput` via: +// +// AppSpecJobAlertArray{ AppSpecJobAlertArgs{...} } +type AppSpecJobAlertArrayInput interface { + pulumi.Input + + ToAppSpecJobAlertArrayOutput() AppSpecJobAlertArrayOutput + ToAppSpecJobAlertArrayOutputWithContext(context.Context) AppSpecJobAlertArrayOutput +} + +type AppSpecJobAlertArray []AppSpecJobAlertInput + +func (AppSpecJobAlertArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]AppSpecJobAlert)(nil)).Elem() +} + +func (i AppSpecJobAlertArray) ToAppSpecJobAlertArrayOutput() AppSpecJobAlertArrayOutput { + return i.ToAppSpecJobAlertArrayOutputWithContext(context.Background()) +} + +func (i AppSpecJobAlertArray) ToAppSpecJobAlertArrayOutputWithContext(ctx context.Context) AppSpecJobAlertArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecJobAlertArrayOutput) +} + +type AppSpecJobAlertOutput struct{ *pulumi.OutputState } + +func (AppSpecJobAlertOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecJobAlert)(nil)).Elem() +} + +func (o AppSpecJobAlertOutput) ToAppSpecJobAlertOutput() AppSpecJobAlertOutput { + return o +} + +func (o AppSpecJobAlertOutput) ToAppSpecJobAlertOutputWithContext(ctx context.Context) AppSpecJobAlertOutput { + return o +} + +// Determines whether or not the alert is disabled (default: `false`). +func (o AppSpecJobAlertOutput) Disabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v AppSpecJobAlert) *bool { return v.Disabled }).(pulumi.BoolPtrOutput) +} + +// The operator to use. This is either of `GREATER_THAN` or `LESS_THAN`. +func (o AppSpecJobAlertOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v AppSpecJobAlert) string { return v.Operator }).(pulumi.StringOutput) +} + +// The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. +func (o AppSpecJobAlertOutput) Rule() pulumi.StringOutput { + return o.ApplyT(func(v AppSpecJobAlert) string { return v.Rule }).(pulumi.StringOutput) +} + +// The threshold for the type of the warning. +func (o AppSpecJobAlertOutput) Value() pulumi.Float64Output { + return o.ApplyT(func(v AppSpecJobAlert) float64 { return v.Value }).(pulumi.Float64Output) +} + +// The time before alerts should be triggered. This is may be one of: `FIVE_MINUTES`, `TEN_MINUTES`, `THIRTY_MINUTES`, `ONE_HOUR`. +func (o AppSpecJobAlertOutput) Window() pulumi.StringOutput { + return o.ApplyT(func(v AppSpecJobAlert) string { return v.Window }).(pulumi.StringOutput) +} + +type AppSpecJobAlertArrayOutput struct{ *pulumi.OutputState } + +func (AppSpecJobAlertArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]AppSpecJobAlert)(nil)).Elem() +} + +func (o AppSpecJobAlertArrayOutput) ToAppSpecJobAlertArrayOutput() AppSpecJobAlertArrayOutput { + return o +} + +func (o AppSpecJobAlertArrayOutput) ToAppSpecJobAlertArrayOutputWithContext(ctx context.Context) AppSpecJobAlertArrayOutput { + return o +} + +func (o AppSpecJobAlertArrayOutput) Index(i pulumi.IntInput) AppSpecJobAlertOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) AppSpecJobAlert { + return vs[0].([]AppSpecJobAlert)[vs[1].(int)] + }).(AppSpecJobAlertOutput) +} + type AppSpecJobEnv struct { // The name of the environment variable. Key *string `pulumi:"key"` @@ -930,7 +1206,7 @@ type AppSpecJobEnv struct { Scope *string `pulumi:"scope"` // The type of the environment variable, `GENERAL` or `SECRET`. Type *string `pulumi:"type"` - // The value of the environment variable. + // The threshold for the type of the warning. Value *string `pulumi:"value"` } @@ -952,7 +1228,7 @@ type AppSpecJobEnvArgs struct { Scope pulumi.StringPtrInput `pulumi:"scope"` // The type of the environment variable, `GENERAL` or `SECRET`. Type pulumi.StringPtrInput `pulumi:"type"` - // The value of the environment variable. + // The threshold for the type of the warning. Value pulumi.StringPtrInput `pulumi:"value"` } @@ -1022,7 +1298,7 @@ func (o AppSpecJobEnvOutput) Type() pulumi.StringPtrOutput { return o.ApplyT(func(v AppSpecJobEnv) *string { return v.Type }).(pulumi.StringPtrOutput) } -// The value of the environment variable. +// The threshold for the type of the warning. func (o AppSpecJobEnvOutput) Value() pulumi.StringPtrOutput { return o.ApplyT(func(v AppSpecJobEnv) *string { return v.Value }).(pulumi.StringPtrOutput) } @@ -1747,3993 +2023,3971 @@ func (o AppSpecJobImagePtrOutput) Tag() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } -type AppSpecService struct { - // An optional build command to run while building this component from source. - BuildCommand *string `pulumi:"buildCommand"` - // The [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) policies of the app. - Cors *AppSpecServiceCors `pulumi:"cors"` - // The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. - DockerfilePath *string `pulumi:"dockerfilePath"` - // An environment slug describing the type of this app. - EnvironmentSlug *string `pulumi:"environmentSlug"` - // Describes an environment variable made available to an app competent. - Envs []AppSpecServiceEnv `pulumi:"envs"` - // A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set - Git *AppSpecServiceGit `pulumi:"git"` - // A GitHub repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/github/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. - Github *AppSpecServiceGithub `pulumi:"github"` - // A Gitlab repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/gitlab/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. - Gitlab *AppSpecServiceGitlab `pulumi:"gitlab"` - // A health check to determine the availability of this component. - HealthCheck *AppSpecServiceHealthCheck `pulumi:"healthCheck"` - // The internal port on which this service's run command will listen. - HttpPort *int `pulumi:"httpPort"` - // An image to use as the component's source. Only one of `git`, `github`, `gitlab`, or `image` may be set. - Image *AppSpecServiceImage `pulumi:"image"` - // The amount of instances that this component should be scaled to. - InstanceCount *int `pulumi:"instanceCount"` - // The instance size to use for this component. This determines the plan (basic or professional) and the available CPU and memory. The list of available instance sizes can be [found with the API](https://docs.digitalocean.com/reference/api/api-reference/#operation/list_instance_sizes) or using the [doctl CLI](https://docs.digitalocean.com/reference/doctl/) (`doctl apps tier instance-size list`). Default: `basic-xxs` - InstanceSizeSlug *string `pulumi:"instanceSizeSlug"` - // A list of ports on which this service will listen for internal traffic. - InternalPorts []int `pulumi:"internalPorts"` +type AppSpecJobLogDestination struct { + // Datadog configuration. + Datadog *AppSpecJobLogDestinationDatadog `pulumi:"datadog"` + // Logtail configuration. + Logtail *AppSpecJobLogDestinationLogtail `pulumi:"logtail"` // The name of the component. - Name string `pulumi:"name"` - Routes []AppSpecServiceRoute `pulumi:"routes"` - // An optional run command to override the component's default. - RunCommand *string `pulumi:"runCommand"` - // An optional path to the working directory to use for the build. - SourceDir *string `pulumi:"sourceDir"` + Name string `pulumi:"name"` + // Papertrail configuration. + Papertrail *AppSpecJobLogDestinationPapertrail `pulumi:"papertrail"` } -// AppSpecServiceInput is an input type that accepts AppSpecServiceArgs and AppSpecServiceOutput values. -// You can construct a concrete instance of `AppSpecServiceInput` via: +// AppSpecJobLogDestinationInput is an input type that accepts AppSpecJobLogDestinationArgs and AppSpecJobLogDestinationOutput values. +// You can construct a concrete instance of `AppSpecJobLogDestinationInput` via: // -// AppSpecServiceArgs{...} -type AppSpecServiceInput interface { +// AppSpecJobLogDestinationArgs{...} +type AppSpecJobLogDestinationInput interface { pulumi.Input - ToAppSpecServiceOutput() AppSpecServiceOutput - ToAppSpecServiceOutputWithContext(context.Context) AppSpecServiceOutput + ToAppSpecJobLogDestinationOutput() AppSpecJobLogDestinationOutput + ToAppSpecJobLogDestinationOutputWithContext(context.Context) AppSpecJobLogDestinationOutput } -type AppSpecServiceArgs struct { - // An optional build command to run while building this component from source. - BuildCommand pulumi.StringPtrInput `pulumi:"buildCommand"` - // The [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) policies of the app. - Cors AppSpecServiceCorsPtrInput `pulumi:"cors"` - // The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. - DockerfilePath pulumi.StringPtrInput `pulumi:"dockerfilePath"` - // An environment slug describing the type of this app. - EnvironmentSlug pulumi.StringPtrInput `pulumi:"environmentSlug"` - // Describes an environment variable made available to an app competent. - Envs AppSpecServiceEnvArrayInput `pulumi:"envs"` - // A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set - Git AppSpecServiceGitPtrInput `pulumi:"git"` - // A GitHub repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/github/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. - Github AppSpecServiceGithubPtrInput `pulumi:"github"` - // A Gitlab repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/gitlab/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. - Gitlab AppSpecServiceGitlabPtrInput `pulumi:"gitlab"` - // A health check to determine the availability of this component. - HealthCheck AppSpecServiceHealthCheckPtrInput `pulumi:"healthCheck"` - // The internal port on which this service's run command will listen. - HttpPort pulumi.IntPtrInput `pulumi:"httpPort"` - // An image to use as the component's source. Only one of `git`, `github`, `gitlab`, or `image` may be set. - Image AppSpecServiceImagePtrInput `pulumi:"image"` - // The amount of instances that this component should be scaled to. - InstanceCount pulumi.IntPtrInput `pulumi:"instanceCount"` - // The instance size to use for this component. This determines the plan (basic or professional) and the available CPU and memory. The list of available instance sizes can be [found with the API](https://docs.digitalocean.com/reference/api/api-reference/#operation/list_instance_sizes) or using the [doctl CLI](https://docs.digitalocean.com/reference/doctl/) (`doctl apps tier instance-size list`). Default: `basic-xxs` - InstanceSizeSlug pulumi.StringPtrInput `pulumi:"instanceSizeSlug"` - // A list of ports on which this service will listen for internal traffic. - InternalPorts pulumi.IntArrayInput `pulumi:"internalPorts"` +type AppSpecJobLogDestinationArgs struct { + // Datadog configuration. + Datadog AppSpecJobLogDestinationDatadogPtrInput `pulumi:"datadog"` + // Logtail configuration. + Logtail AppSpecJobLogDestinationLogtailPtrInput `pulumi:"logtail"` // The name of the component. - Name pulumi.StringInput `pulumi:"name"` - Routes AppSpecServiceRouteArrayInput `pulumi:"routes"` - // An optional run command to override the component's default. - RunCommand pulumi.StringPtrInput `pulumi:"runCommand"` - // An optional path to the working directory to use for the build. - SourceDir pulumi.StringPtrInput `pulumi:"sourceDir"` + Name pulumi.StringInput `pulumi:"name"` + // Papertrail configuration. + Papertrail AppSpecJobLogDestinationPapertrailPtrInput `pulumi:"papertrail"` } -func (AppSpecServiceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecService)(nil)).Elem() +func (AppSpecJobLogDestinationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecJobLogDestination)(nil)).Elem() } -func (i AppSpecServiceArgs) ToAppSpecServiceOutput() AppSpecServiceOutput { - return i.ToAppSpecServiceOutputWithContext(context.Background()) +func (i AppSpecJobLogDestinationArgs) ToAppSpecJobLogDestinationOutput() AppSpecJobLogDestinationOutput { + return i.ToAppSpecJobLogDestinationOutputWithContext(context.Background()) } -func (i AppSpecServiceArgs) ToAppSpecServiceOutputWithContext(ctx context.Context) AppSpecServiceOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceOutput) +func (i AppSpecJobLogDestinationArgs) ToAppSpecJobLogDestinationOutputWithContext(ctx context.Context) AppSpecJobLogDestinationOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecJobLogDestinationOutput) } -// AppSpecServiceArrayInput is an input type that accepts AppSpecServiceArray and AppSpecServiceArrayOutput values. -// You can construct a concrete instance of `AppSpecServiceArrayInput` via: +// AppSpecJobLogDestinationArrayInput is an input type that accepts AppSpecJobLogDestinationArray and AppSpecJobLogDestinationArrayOutput values. +// You can construct a concrete instance of `AppSpecJobLogDestinationArrayInput` via: // -// AppSpecServiceArray{ AppSpecServiceArgs{...} } -type AppSpecServiceArrayInput interface { +// AppSpecJobLogDestinationArray{ AppSpecJobLogDestinationArgs{...} } +type AppSpecJobLogDestinationArrayInput interface { pulumi.Input - ToAppSpecServiceArrayOutput() AppSpecServiceArrayOutput - ToAppSpecServiceArrayOutputWithContext(context.Context) AppSpecServiceArrayOutput + ToAppSpecJobLogDestinationArrayOutput() AppSpecJobLogDestinationArrayOutput + ToAppSpecJobLogDestinationArrayOutputWithContext(context.Context) AppSpecJobLogDestinationArrayOutput } -type AppSpecServiceArray []AppSpecServiceInput +type AppSpecJobLogDestinationArray []AppSpecJobLogDestinationInput -func (AppSpecServiceArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]AppSpecService)(nil)).Elem() +func (AppSpecJobLogDestinationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]AppSpecJobLogDestination)(nil)).Elem() } -func (i AppSpecServiceArray) ToAppSpecServiceArrayOutput() AppSpecServiceArrayOutput { - return i.ToAppSpecServiceArrayOutputWithContext(context.Background()) +func (i AppSpecJobLogDestinationArray) ToAppSpecJobLogDestinationArrayOutput() AppSpecJobLogDestinationArrayOutput { + return i.ToAppSpecJobLogDestinationArrayOutputWithContext(context.Background()) } -func (i AppSpecServiceArray) ToAppSpecServiceArrayOutputWithContext(ctx context.Context) AppSpecServiceArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceArrayOutput) +func (i AppSpecJobLogDestinationArray) ToAppSpecJobLogDestinationArrayOutputWithContext(ctx context.Context) AppSpecJobLogDestinationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecJobLogDestinationArrayOutput) } -type AppSpecServiceOutput struct{ *pulumi.OutputState } +type AppSpecJobLogDestinationOutput struct{ *pulumi.OutputState } -func (AppSpecServiceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecService)(nil)).Elem() +func (AppSpecJobLogDestinationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecJobLogDestination)(nil)).Elem() } -func (o AppSpecServiceOutput) ToAppSpecServiceOutput() AppSpecServiceOutput { +func (o AppSpecJobLogDestinationOutput) ToAppSpecJobLogDestinationOutput() AppSpecJobLogDestinationOutput { return o } -func (o AppSpecServiceOutput) ToAppSpecServiceOutputWithContext(ctx context.Context) AppSpecServiceOutput { +func (o AppSpecJobLogDestinationOutput) ToAppSpecJobLogDestinationOutputWithContext(ctx context.Context) AppSpecJobLogDestinationOutput { return o } -// An optional build command to run while building this component from source. -func (o AppSpecServiceOutput) BuildCommand() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecService) *string { return v.BuildCommand }).(pulumi.StringPtrOutput) +// Datadog configuration. +func (o AppSpecJobLogDestinationOutput) Datadog() AppSpecJobLogDestinationDatadogPtrOutput { + return o.ApplyT(func(v AppSpecJobLogDestination) *AppSpecJobLogDestinationDatadog { return v.Datadog }).(AppSpecJobLogDestinationDatadogPtrOutput) } -// The [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) policies of the app. -func (o AppSpecServiceOutput) Cors() AppSpecServiceCorsPtrOutput { - return o.ApplyT(func(v AppSpecService) *AppSpecServiceCors { return v.Cors }).(AppSpecServiceCorsPtrOutput) +// Logtail configuration. +func (o AppSpecJobLogDestinationOutput) Logtail() AppSpecJobLogDestinationLogtailPtrOutput { + return o.ApplyT(func(v AppSpecJobLogDestination) *AppSpecJobLogDestinationLogtail { return v.Logtail }).(AppSpecJobLogDestinationLogtailPtrOutput) } -// The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. -func (o AppSpecServiceOutput) DockerfilePath() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecService) *string { return v.DockerfilePath }).(pulumi.StringPtrOutput) +// The name of the component. +func (o AppSpecJobLogDestinationOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v AppSpecJobLogDestination) string { return v.Name }).(pulumi.StringOutput) } -// An environment slug describing the type of this app. -func (o AppSpecServiceOutput) EnvironmentSlug() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecService) *string { return v.EnvironmentSlug }).(pulumi.StringPtrOutput) +// Papertrail configuration. +func (o AppSpecJobLogDestinationOutput) Papertrail() AppSpecJobLogDestinationPapertrailPtrOutput { + return o.ApplyT(func(v AppSpecJobLogDestination) *AppSpecJobLogDestinationPapertrail { return v.Papertrail }).(AppSpecJobLogDestinationPapertrailPtrOutput) } -// Describes an environment variable made available to an app competent. -func (o AppSpecServiceOutput) Envs() AppSpecServiceEnvArrayOutput { - return o.ApplyT(func(v AppSpecService) []AppSpecServiceEnv { return v.Envs }).(AppSpecServiceEnvArrayOutput) +type AppSpecJobLogDestinationArrayOutput struct{ *pulumi.OutputState } + +func (AppSpecJobLogDestinationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]AppSpecJobLogDestination)(nil)).Elem() } -// A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set -func (o AppSpecServiceOutput) Git() AppSpecServiceGitPtrOutput { - return o.ApplyT(func(v AppSpecService) *AppSpecServiceGit { return v.Git }).(AppSpecServiceGitPtrOutput) +func (o AppSpecJobLogDestinationArrayOutput) ToAppSpecJobLogDestinationArrayOutput() AppSpecJobLogDestinationArrayOutput { + return o } -// A GitHub repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/github/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. -func (o AppSpecServiceOutput) Github() AppSpecServiceGithubPtrOutput { - return o.ApplyT(func(v AppSpecService) *AppSpecServiceGithub { return v.Github }).(AppSpecServiceGithubPtrOutput) +func (o AppSpecJobLogDestinationArrayOutput) ToAppSpecJobLogDestinationArrayOutputWithContext(ctx context.Context) AppSpecJobLogDestinationArrayOutput { + return o } -// A Gitlab repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/gitlab/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. -func (o AppSpecServiceOutput) Gitlab() AppSpecServiceGitlabPtrOutput { - return o.ApplyT(func(v AppSpecService) *AppSpecServiceGitlab { return v.Gitlab }).(AppSpecServiceGitlabPtrOutput) +func (o AppSpecJobLogDestinationArrayOutput) Index(i pulumi.IntInput) AppSpecJobLogDestinationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) AppSpecJobLogDestination { + return vs[0].([]AppSpecJobLogDestination)[vs[1].(int)] + }).(AppSpecJobLogDestinationOutput) } -// A health check to determine the availability of this component. -func (o AppSpecServiceOutput) HealthCheck() AppSpecServiceHealthCheckPtrOutput { - return o.ApplyT(func(v AppSpecService) *AppSpecServiceHealthCheck { return v.HealthCheck }).(AppSpecServiceHealthCheckPtrOutput) +type AppSpecJobLogDestinationDatadog struct { + // Datadog API key. + ApiKey string `pulumi:"apiKey"` + // Datadog HTTP log intake endpoint. + Endpoint *string `pulumi:"endpoint"` } -// The internal port on which this service's run command will listen. -func (o AppSpecServiceOutput) HttpPort() pulumi.IntPtrOutput { - return o.ApplyT(func(v AppSpecService) *int { return v.HttpPort }).(pulumi.IntPtrOutput) +// AppSpecJobLogDestinationDatadogInput is an input type that accepts AppSpecJobLogDestinationDatadogArgs and AppSpecJobLogDestinationDatadogOutput values. +// You can construct a concrete instance of `AppSpecJobLogDestinationDatadogInput` via: +// +// AppSpecJobLogDestinationDatadogArgs{...} +type AppSpecJobLogDestinationDatadogInput interface { + pulumi.Input + + ToAppSpecJobLogDestinationDatadogOutput() AppSpecJobLogDestinationDatadogOutput + ToAppSpecJobLogDestinationDatadogOutputWithContext(context.Context) AppSpecJobLogDestinationDatadogOutput } -// An image to use as the component's source. Only one of `git`, `github`, `gitlab`, or `image` may be set. -func (o AppSpecServiceOutput) Image() AppSpecServiceImagePtrOutput { - return o.ApplyT(func(v AppSpecService) *AppSpecServiceImage { return v.Image }).(AppSpecServiceImagePtrOutput) +type AppSpecJobLogDestinationDatadogArgs struct { + // Datadog API key. + ApiKey pulumi.StringInput `pulumi:"apiKey"` + // Datadog HTTP log intake endpoint. + Endpoint pulumi.StringPtrInput `pulumi:"endpoint"` } -// The amount of instances that this component should be scaled to. -func (o AppSpecServiceOutput) InstanceCount() pulumi.IntPtrOutput { - return o.ApplyT(func(v AppSpecService) *int { return v.InstanceCount }).(pulumi.IntPtrOutput) +func (AppSpecJobLogDestinationDatadogArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecJobLogDestinationDatadog)(nil)).Elem() } -// The instance size to use for this component. This determines the plan (basic or professional) and the available CPU and memory. The list of available instance sizes can be [found with the API](https://docs.digitalocean.com/reference/api/api-reference/#operation/list_instance_sizes) or using the [doctl CLI](https://docs.digitalocean.com/reference/doctl/) (`doctl apps tier instance-size list`). Default: `basic-xxs` -func (o AppSpecServiceOutput) InstanceSizeSlug() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecService) *string { return v.InstanceSizeSlug }).(pulumi.StringPtrOutput) +func (i AppSpecJobLogDestinationDatadogArgs) ToAppSpecJobLogDestinationDatadogOutput() AppSpecJobLogDestinationDatadogOutput { + return i.ToAppSpecJobLogDestinationDatadogOutputWithContext(context.Background()) } -// A list of ports on which this service will listen for internal traffic. -func (o AppSpecServiceOutput) InternalPorts() pulumi.IntArrayOutput { - return o.ApplyT(func(v AppSpecService) []int { return v.InternalPorts }).(pulumi.IntArrayOutput) +func (i AppSpecJobLogDestinationDatadogArgs) ToAppSpecJobLogDestinationDatadogOutputWithContext(ctx context.Context) AppSpecJobLogDestinationDatadogOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecJobLogDestinationDatadogOutput) } -// The name of the component. -func (o AppSpecServiceOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v AppSpecService) string { return v.Name }).(pulumi.StringOutput) +func (i AppSpecJobLogDestinationDatadogArgs) ToAppSpecJobLogDestinationDatadogPtrOutput() AppSpecJobLogDestinationDatadogPtrOutput { + return i.ToAppSpecJobLogDestinationDatadogPtrOutputWithContext(context.Background()) } -func (o AppSpecServiceOutput) Routes() AppSpecServiceRouteArrayOutput { - return o.ApplyT(func(v AppSpecService) []AppSpecServiceRoute { return v.Routes }).(AppSpecServiceRouteArrayOutput) +func (i AppSpecJobLogDestinationDatadogArgs) ToAppSpecJobLogDestinationDatadogPtrOutputWithContext(ctx context.Context) AppSpecJobLogDestinationDatadogPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecJobLogDestinationDatadogOutput).ToAppSpecJobLogDestinationDatadogPtrOutputWithContext(ctx) } -// An optional run command to override the component's default. -func (o AppSpecServiceOutput) RunCommand() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecService) *string { return v.RunCommand }).(pulumi.StringPtrOutput) +// AppSpecJobLogDestinationDatadogPtrInput is an input type that accepts AppSpecJobLogDestinationDatadogArgs, AppSpecJobLogDestinationDatadogPtr and AppSpecJobLogDestinationDatadogPtrOutput values. +// You can construct a concrete instance of `AppSpecJobLogDestinationDatadogPtrInput` via: +// +// AppSpecJobLogDestinationDatadogArgs{...} +// +// or: +// +// nil +type AppSpecJobLogDestinationDatadogPtrInput interface { + pulumi.Input + + ToAppSpecJobLogDestinationDatadogPtrOutput() AppSpecJobLogDestinationDatadogPtrOutput + ToAppSpecJobLogDestinationDatadogPtrOutputWithContext(context.Context) AppSpecJobLogDestinationDatadogPtrOutput } -// An optional path to the working directory to use for the build. -func (o AppSpecServiceOutput) SourceDir() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecService) *string { return v.SourceDir }).(pulumi.StringPtrOutput) +type appSpecJobLogDestinationDatadogPtrType AppSpecJobLogDestinationDatadogArgs + +func AppSpecJobLogDestinationDatadogPtr(v *AppSpecJobLogDestinationDatadogArgs) AppSpecJobLogDestinationDatadogPtrInput { + return (*appSpecJobLogDestinationDatadogPtrType)(v) } -type AppSpecServiceArrayOutput struct{ *pulumi.OutputState } +func (*appSpecJobLogDestinationDatadogPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecJobLogDestinationDatadog)(nil)).Elem() +} -func (AppSpecServiceArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]AppSpecService)(nil)).Elem() +func (i *appSpecJobLogDestinationDatadogPtrType) ToAppSpecJobLogDestinationDatadogPtrOutput() AppSpecJobLogDestinationDatadogPtrOutput { + return i.ToAppSpecJobLogDestinationDatadogPtrOutputWithContext(context.Background()) } -func (o AppSpecServiceArrayOutput) ToAppSpecServiceArrayOutput() AppSpecServiceArrayOutput { +func (i *appSpecJobLogDestinationDatadogPtrType) ToAppSpecJobLogDestinationDatadogPtrOutputWithContext(ctx context.Context) AppSpecJobLogDestinationDatadogPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecJobLogDestinationDatadogPtrOutput) +} + +type AppSpecJobLogDestinationDatadogOutput struct{ *pulumi.OutputState } + +func (AppSpecJobLogDestinationDatadogOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecJobLogDestinationDatadog)(nil)).Elem() +} + +func (o AppSpecJobLogDestinationDatadogOutput) ToAppSpecJobLogDestinationDatadogOutput() AppSpecJobLogDestinationDatadogOutput { return o } -func (o AppSpecServiceArrayOutput) ToAppSpecServiceArrayOutputWithContext(ctx context.Context) AppSpecServiceArrayOutput { +func (o AppSpecJobLogDestinationDatadogOutput) ToAppSpecJobLogDestinationDatadogOutputWithContext(ctx context.Context) AppSpecJobLogDestinationDatadogOutput { return o } -func (o AppSpecServiceArrayOutput) Index(i pulumi.IntInput) AppSpecServiceOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) AppSpecService { - return vs[0].([]AppSpecService)[vs[1].(int)] - }).(AppSpecServiceOutput) +func (o AppSpecJobLogDestinationDatadogOutput) ToAppSpecJobLogDestinationDatadogPtrOutput() AppSpecJobLogDestinationDatadogPtrOutput { + return o.ToAppSpecJobLogDestinationDatadogPtrOutputWithContext(context.Background()) } -type AppSpecServiceCors struct { - // Whether browsers should expose the response to the client-side JavaScript code when the request's credentials mode is `include`. This configures the `Access-Control-Allow-Credentials` header. - AllowCredentials *bool `pulumi:"allowCredentials"` - // The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. - AllowHeaders []string `pulumi:"allowHeaders"` - // The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. - AllowMethods []string `pulumi:"allowMethods"` - // The `Access-Control-Allow-Origin` can be - AllowOrigins *AppSpecServiceCorsAllowOrigins `pulumi:"allowOrigins"` - // The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. - ExposeHeaders []string `pulumi:"exposeHeaders"` - // An optional duration specifying how long browsers can cache the results of a preflight request. This configures the Access-Control-Max-Age header. Example: `5h30m`. - MaxAge *string `pulumi:"maxAge"` +func (o AppSpecJobLogDestinationDatadogOutput) ToAppSpecJobLogDestinationDatadogPtrOutputWithContext(ctx context.Context) AppSpecJobLogDestinationDatadogPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AppSpecJobLogDestinationDatadog) *AppSpecJobLogDestinationDatadog { + return &v + }).(AppSpecJobLogDestinationDatadogPtrOutput) } -// AppSpecServiceCorsInput is an input type that accepts AppSpecServiceCorsArgs and AppSpecServiceCorsOutput values. -// You can construct a concrete instance of `AppSpecServiceCorsInput` via: -// -// AppSpecServiceCorsArgs{...} -type AppSpecServiceCorsInput interface { - pulumi.Input +// Datadog API key. +func (o AppSpecJobLogDestinationDatadogOutput) ApiKey() pulumi.StringOutput { + return o.ApplyT(func(v AppSpecJobLogDestinationDatadog) string { return v.ApiKey }).(pulumi.StringOutput) +} - ToAppSpecServiceCorsOutput() AppSpecServiceCorsOutput - ToAppSpecServiceCorsOutputWithContext(context.Context) AppSpecServiceCorsOutput +// Datadog HTTP log intake endpoint. +func (o AppSpecJobLogDestinationDatadogOutput) Endpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecJobLogDestinationDatadog) *string { return v.Endpoint }).(pulumi.StringPtrOutput) } -type AppSpecServiceCorsArgs struct { - // Whether browsers should expose the response to the client-side JavaScript code when the request's credentials mode is `include`. This configures the `Access-Control-Allow-Credentials` header. - AllowCredentials pulumi.BoolPtrInput `pulumi:"allowCredentials"` - // The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. - AllowHeaders pulumi.StringArrayInput `pulumi:"allowHeaders"` - // The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. - AllowMethods pulumi.StringArrayInput `pulumi:"allowMethods"` - // The `Access-Control-Allow-Origin` can be - AllowOrigins AppSpecServiceCorsAllowOriginsPtrInput `pulumi:"allowOrigins"` - // The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. - ExposeHeaders pulumi.StringArrayInput `pulumi:"exposeHeaders"` - // An optional duration specifying how long browsers can cache the results of a preflight request. This configures the Access-Control-Max-Age header. Example: `5h30m`. - MaxAge pulumi.StringPtrInput `pulumi:"maxAge"` +type AppSpecJobLogDestinationDatadogPtrOutput struct{ *pulumi.OutputState } + +func (AppSpecJobLogDestinationDatadogPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecJobLogDestinationDatadog)(nil)).Elem() } -func (AppSpecServiceCorsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecServiceCors)(nil)).Elem() +func (o AppSpecJobLogDestinationDatadogPtrOutput) ToAppSpecJobLogDestinationDatadogPtrOutput() AppSpecJobLogDestinationDatadogPtrOutput { + return o } -func (i AppSpecServiceCorsArgs) ToAppSpecServiceCorsOutput() AppSpecServiceCorsOutput { - return i.ToAppSpecServiceCorsOutputWithContext(context.Background()) +func (o AppSpecJobLogDestinationDatadogPtrOutput) ToAppSpecJobLogDestinationDatadogPtrOutputWithContext(ctx context.Context) AppSpecJobLogDestinationDatadogPtrOutput { + return o } -func (i AppSpecServiceCorsArgs) ToAppSpecServiceCorsOutputWithContext(ctx context.Context) AppSpecServiceCorsOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceCorsOutput) +func (o AppSpecJobLogDestinationDatadogPtrOutput) Elem() AppSpecJobLogDestinationDatadogOutput { + return o.ApplyT(func(v *AppSpecJobLogDestinationDatadog) AppSpecJobLogDestinationDatadog { + if v != nil { + return *v + } + var ret AppSpecJobLogDestinationDatadog + return ret + }).(AppSpecJobLogDestinationDatadogOutput) } -func (i AppSpecServiceCorsArgs) ToAppSpecServiceCorsPtrOutput() AppSpecServiceCorsPtrOutput { - return i.ToAppSpecServiceCorsPtrOutputWithContext(context.Background()) +// Datadog API key. +func (o AppSpecJobLogDestinationDatadogPtrOutput) ApiKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecJobLogDestinationDatadog) *string { + if v == nil { + return nil + } + return &v.ApiKey + }).(pulumi.StringPtrOutput) } -func (i AppSpecServiceCorsArgs) ToAppSpecServiceCorsPtrOutputWithContext(ctx context.Context) AppSpecServiceCorsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceCorsOutput).ToAppSpecServiceCorsPtrOutputWithContext(ctx) +// Datadog HTTP log intake endpoint. +func (o AppSpecJobLogDestinationDatadogPtrOutput) Endpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecJobLogDestinationDatadog) *string { + if v == nil { + return nil + } + return v.Endpoint + }).(pulumi.StringPtrOutput) } -// AppSpecServiceCorsPtrInput is an input type that accepts AppSpecServiceCorsArgs, AppSpecServiceCorsPtr and AppSpecServiceCorsPtrOutput values. -// You can construct a concrete instance of `AppSpecServiceCorsPtrInput` via: -// -// AppSpecServiceCorsArgs{...} -// -// or: +type AppSpecJobLogDestinationLogtail struct { + // Logtail token. + Token string `pulumi:"token"` +} + +// AppSpecJobLogDestinationLogtailInput is an input type that accepts AppSpecJobLogDestinationLogtailArgs and AppSpecJobLogDestinationLogtailOutput values. +// You can construct a concrete instance of `AppSpecJobLogDestinationLogtailInput` via: // -// nil -type AppSpecServiceCorsPtrInput interface { +// AppSpecJobLogDestinationLogtailArgs{...} +type AppSpecJobLogDestinationLogtailInput interface { pulumi.Input - ToAppSpecServiceCorsPtrOutput() AppSpecServiceCorsPtrOutput - ToAppSpecServiceCorsPtrOutputWithContext(context.Context) AppSpecServiceCorsPtrOutput + ToAppSpecJobLogDestinationLogtailOutput() AppSpecJobLogDestinationLogtailOutput + ToAppSpecJobLogDestinationLogtailOutputWithContext(context.Context) AppSpecJobLogDestinationLogtailOutput } -type appSpecServiceCorsPtrType AppSpecServiceCorsArgs +type AppSpecJobLogDestinationLogtailArgs struct { + // Logtail token. + Token pulumi.StringInput `pulumi:"token"` +} -func AppSpecServiceCorsPtr(v *AppSpecServiceCorsArgs) AppSpecServiceCorsPtrInput { - return (*appSpecServiceCorsPtrType)(v) +func (AppSpecJobLogDestinationLogtailArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecJobLogDestinationLogtail)(nil)).Elem() } -func (*appSpecServiceCorsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**AppSpecServiceCors)(nil)).Elem() +func (i AppSpecJobLogDestinationLogtailArgs) ToAppSpecJobLogDestinationLogtailOutput() AppSpecJobLogDestinationLogtailOutput { + return i.ToAppSpecJobLogDestinationLogtailOutputWithContext(context.Background()) } -func (i *appSpecServiceCorsPtrType) ToAppSpecServiceCorsPtrOutput() AppSpecServiceCorsPtrOutput { - return i.ToAppSpecServiceCorsPtrOutputWithContext(context.Background()) +func (i AppSpecJobLogDestinationLogtailArgs) ToAppSpecJobLogDestinationLogtailOutputWithContext(ctx context.Context) AppSpecJobLogDestinationLogtailOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecJobLogDestinationLogtailOutput) } -func (i *appSpecServiceCorsPtrType) ToAppSpecServiceCorsPtrOutputWithContext(ctx context.Context) AppSpecServiceCorsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceCorsPtrOutput) +func (i AppSpecJobLogDestinationLogtailArgs) ToAppSpecJobLogDestinationLogtailPtrOutput() AppSpecJobLogDestinationLogtailPtrOutput { + return i.ToAppSpecJobLogDestinationLogtailPtrOutputWithContext(context.Background()) } -type AppSpecServiceCorsOutput struct{ *pulumi.OutputState } +func (i AppSpecJobLogDestinationLogtailArgs) ToAppSpecJobLogDestinationLogtailPtrOutputWithContext(ctx context.Context) AppSpecJobLogDestinationLogtailPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecJobLogDestinationLogtailOutput).ToAppSpecJobLogDestinationLogtailPtrOutputWithContext(ctx) +} -func (AppSpecServiceCorsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecServiceCors)(nil)).Elem() +// AppSpecJobLogDestinationLogtailPtrInput is an input type that accepts AppSpecJobLogDestinationLogtailArgs, AppSpecJobLogDestinationLogtailPtr and AppSpecJobLogDestinationLogtailPtrOutput values. +// You can construct a concrete instance of `AppSpecJobLogDestinationLogtailPtrInput` via: +// +// AppSpecJobLogDestinationLogtailArgs{...} +// +// or: +// +// nil +type AppSpecJobLogDestinationLogtailPtrInput interface { + pulumi.Input + + ToAppSpecJobLogDestinationLogtailPtrOutput() AppSpecJobLogDestinationLogtailPtrOutput + ToAppSpecJobLogDestinationLogtailPtrOutputWithContext(context.Context) AppSpecJobLogDestinationLogtailPtrOutput } -func (o AppSpecServiceCorsOutput) ToAppSpecServiceCorsOutput() AppSpecServiceCorsOutput { - return o +type appSpecJobLogDestinationLogtailPtrType AppSpecJobLogDestinationLogtailArgs + +func AppSpecJobLogDestinationLogtailPtr(v *AppSpecJobLogDestinationLogtailArgs) AppSpecJobLogDestinationLogtailPtrInput { + return (*appSpecJobLogDestinationLogtailPtrType)(v) } -func (o AppSpecServiceCorsOutput) ToAppSpecServiceCorsOutputWithContext(ctx context.Context) AppSpecServiceCorsOutput { - return o +func (*appSpecJobLogDestinationLogtailPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecJobLogDestinationLogtail)(nil)).Elem() } -func (o AppSpecServiceCorsOutput) ToAppSpecServiceCorsPtrOutput() AppSpecServiceCorsPtrOutput { - return o.ToAppSpecServiceCorsPtrOutputWithContext(context.Background()) +func (i *appSpecJobLogDestinationLogtailPtrType) ToAppSpecJobLogDestinationLogtailPtrOutput() AppSpecJobLogDestinationLogtailPtrOutput { + return i.ToAppSpecJobLogDestinationLogtailPtrOutputWithContext(context.Background()) } -func (o AppSpecServiceCorsOutput) ToAppSpecServiceCorsPtrOutputWithContext(ctx context.Context) AppSpecServiceCorsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v AppSpecServiceCors) *AppSpecServiceCors { - return &v - }).(AppSpecServiceCorsPtrOutput) +func (i *appSpecJobLogDestinationLogtailPtrType) ToAppSpecJobLogDestinationLogtailPtrOutputWithContext(ctx context.Context) AppSpecJobLogDestinationLogtailPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecJobLogDestinationLogtailPtrOutput) } -// Whether browsers should expose the response to the client-side JavaScript code when the request's credentials mode is `include`. This configures the `Access-Control-Allow-Credentials` header. -func (o AppSpecServiceCorsOutput) AllowCredentials() pulumi.BoolPtrOutput { - return o.ApplyT(func(v AppSpecServiceCors) *bool { return v.AllowCredentials }).(pulumi.BoolPtrOutput) +type AppSpecJobLogDestinationLogtailOutput struct{ *pulumi.OutputState } + +func (AppSpecJobLogDestinationLogtailOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecJobLogDestinationLogtail)(nil)).Elem() } -// The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. -func (o AppSpecServiceCorsOutput) AllowHeaders() pulumi.StringArrayOutput { - return o.ApplyT(func(v AppSpecServiceCors) []string { return v.AllowHeaders }).(pulumi.StringArrayOutput) +func (o AppSpecJobLogDestinationLogtailOutput) ToAppSpecJobLogDestinationLogtailOutput() AppSpecJobLogDestinationLogtailOutput { + return o } -// The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. -func (o AppSpecServiceCorsOutput) AllowMethods() pulumi.StringArrayOutput { - return o.ApplyT(func(v AppSpecServiceCors) []string { return v.AllowMethods }).(pulumi.StringArrayOutput) +func (o AppSpecJobLogDestinationLogtailOutput) ToAppSpecJobLogDestinationLogtailOutputWithContext(ctx context.Context) AppSpecJobLogDestinationLogtailOutput { + return o } -// The `Access-Control-Allow-Origin` can be -func (o AppSpecServiceCorsOutput) AllowOrigins() AppSpecServiceCorsAllowOriginsPtrOutput { - return o.ApplyT(func(v AppSpecServiceCors) *AppSpecServiceCorsAllowOrigins { return v.AllowOrigins }).(AppSpecServiceCorsAllowOriginsPtrOutput) +func (o AppSpecJobLogDestinationLogtailOutput) ToAppSpecJobLogDestinationLogtailPtrOutput() AppSpecJobLogDestinationLogtailPtrOutput { + return o.ToAppSpecJobLogDestinationLogtailPtrOutputWithContext(context.Background()) } -// The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. -func (o AppSpecServiceCorsOutput) ExposeHeaders() pulumi.StringArrayOutput { - return o.ApplyT(func(v AppSpecServiceCors) []string { return v.ExposeHeaders }).(pulumi.StringArrayOutput) +func (o AppSpecJobLogDestinationLogtailOutput) ToAppSpecJobLogDestinationLogtailPtrOutputWithContext(ctx context.Context) AppSpecJobLogDestinationLogtailPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AppSpecJobLogDestinationLogtail) *AppSpecJobLogDestinationLogtail { + return &v + }).(AppSpecJobLogDestinationLogtailPtrOutput) } -// An optional duration specifying how long browsers can cache the results of a preflight request. This configures the Access-Control-Max-Age header. Example: `5h30m`. -func (o AppSpecServiceCorsOutput) MaxAge() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecServiceCors) *string { return v.MaxAge }).(pulumi.StringPtrOutput) +// Logtail token. +func (o AppSpecJobLogDestinationLogtailOutput) Token() pulumi.StringOutput { + return o.ApplyT(func(v AppSpecJobLogDestinationLogtail) string { return v.Token }).(pulumi.StringOutput) } -type AppSpecServiceCorsPtrOutput struct{ *pulumi.OutputState } +type AppSpecJobLogDestinationLogtailPtrOutput struct{ *pulumi.OutputState } -func (AppSpecServiceCorsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**AppSpecServiceCors)(nil)).Elem() +func (AppSpecJobLogDestinationLogtailPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecJobLogDestinationLogtail)(nil)).Elem() } -func (o AppSpecServiceCorsPtrOutput) ToAppSpecServiceCorsPtrOutput() AppSpecServiceCorsPtrOutput { +func (o AppSpecJobLogDestinationLogtailPtrOutput) ToAppSpecJobLogDestinationLogtailPtrOutput() AppSpecJobLogDestinationLogtailPtrOutput { return o } -func (o AppSpecServiceCorsPtrOutput) ToAppSpecServiceCorsPtrOutputWithContext(ctx context.Context) AppSpecServiceCorsPtrOutput { +func (o AppSpecJobLogDestinationLogtailPtrOutput) ToAppSpecJobLogDestinationLogtailPtrOutputWithContext(ctx context.Context) AppSpecJobLogDestinationLogtailPtrOutput { return o } -func (o AppSpecServiceCorsPtrOutput) Elem() AppSpecServiceCorsOutput { - return o.ApplyT(func(v *AppSpecServiceCors) AppSpecServiceCors { +func (o AppSpecJobLogDestinationLogtailPtrOutput) Elem() AppSpecJobLogDestinationLogtailOutput { + return o.ApplyT(func(v *AppSpecJobLogDestinationLogtail) AppSpecJobLogDestinationLogtail { if v != nil { return *v } - var ret AppSpecServiceCors + var ret AppSpecJobLogDestinationLogtail return ret - }).(AppSpecServiceCorsOutput) + }).(AppSpecJobLogDestinationLogtailOutput) } -// Whether browsers should expose the response to the client-side JavaScript code when the request's credentials mode is `include`. This configures the `Access-Control-Allow-Credentials` header. -func (o AppSpecServiceCorsPtrOutput) AllowCredentials() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *AppSpecServiceCors) *bool { +// Logtail token. +func (o AppSpecJobLogDestinationLogtailPtrOutput) Token() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecJobLogDestinationLogtail) *string { if v == nil { return nil } - return v.AllowCredentials - }).(pulumi.BoolPtrOutput) + return &v.Token + }).(pulumi.StringPtrOutput) } -// The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. -func (o AppSpecServiceCorsPtrOutput) AllowHeaders() pulumi.StringArrayOutput { - return o.ApplyT(func(v *AppSpecServiceCors) []string { - if v == nil { - return nil - } - return v.AllowHeaders - }).(pulumi.StringArrayOutput) +type AppSpecJobLogDestinationPapertrail struct { + // Datadog HTTP log intake endpoint. + Endpoint string `pulumi:"endpoint"` } -// The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. -func (o AppSpecServiceCorsPtrOutput) AllowMethods() pulumi.StringArrayOutput { - return o.ApplyT(func(v *AppSpecServiceCors) []string { - if v == nil { - return nil - } - return v.AllowMethods - }).(pulumi.StringArrayOutput) +// AppSpecJobLogDestinationPapertrailInput is an input type that accepts AppSpecJobLogDestinationPapertrailArgs and AppSpecJobLogDestinationPapertrailOutput values. +// You can construct a concrete instance of `AppSpecJobLogDestinationPapertrailInput` via: +// +// AppSpecJobLogDestinationPapertrailArgs{...} +type AppSpecJobLogDestinationPapertrailInput interface { + pulumi.Input + + ToAppSpecJobLogDestinationPapertrailOutput() AppSpecJobLogDestinationPapertrailOutput + ToAppSpecJobLogDestinationPapertrailOutputWithContext(context.Context) AppSpecJobLogDestinationPapertrailOutput } -// The `Access-Control-Allow-Origin` can be -func (o AppSpecServiceCorsPtrOutput) AllowOrigins() AppSpecServiceCorsAllowOriginsPtrOutput { - return o.ApplyT(func(v *AppSpecServiceCors) *AppSpecServiceCorsAllowOrigins { - if v == nil { - return nil - } - return v.AllowOrigins - }).(AppSpecServiceCorsAllowOriginsPtrOutput) +type AppSpecJobLogDestinationPapertrailArgs struct { + // Datadog HTTP log intake endpoint. + Endpoint pulumi.StringInput `pulumi:"endpoint"` } -// The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. -func (o AppSpecServiceCorsPtrOutput) ExposeHeaders() pulumi.StringArrayOutput { - return o.ApplyT(func(v *AppSpecServiceCors) []string { - if v == nil { - return nil - } - return v.ExposeHeaders - }).(pulumi.StringArrayOutput) +func (AppSpecJobLogDestinationPapertrailArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecJobLogDestinationPapertrail)(nil)).Elem() } -// An optional duration specifying how long browsers can cache the results of a preflight request. This configures the Access-Control-Max-Age header. Example: `5h30m`. -func (o AppSpecServiceCorsPtrOutput) MaxAge() pulumi.StringPtrOutput { - return o.ApplyT(func(v *AppSpecServiceCors) *string { - if v == nil { - return nil - } - return v.MaxAge - }).(pulumi.StringPtrOutput) +func (i AppSpecJobLogDestinationPapertrailArgs) ToAppSpecJobLogDestinationPapertrailOutput() AppSpecJobLogDestinationPapertrailOutput { + return i.ToAppSpecJobLogDestinationPapertrailOutputWithContext(context.Background()) } -type AppSpecServiceCorsAllowOrigins struct { - // The `Access-Control-Allow-Origin` header will be set to the client's origin only if the client's origin exactly matches the value you provide. - Exact *string `pulumi:"exact"` - // The `Access-Control-Allow-Origin` header will be set to the client's origin if the beginning of the client's origin matches the value you provide. - Prefix *string `pulumi:"prefix"` - // The `Access-Control-Allow-Origin` header will be set to the client's origin if the client’s origin matches the regex you provide, in [RE2 style syntax](https://github.com/google/re2/wiki/Syntax). - Regex *string `pulumi:"regex"` +func (i AppSpecJobLogDestinationPapertrailArgs) ToAppSpecJobLogDestinationPapertrailOutputWithContext(ctx context.Context) AppSpecJobLogDestinationPapertrailOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecJobLogDestinationPapertrailOutput) } -// AppSpecServiceCorsAllowOriginsInput is an input type that accepts AppSpecServiceCorsAllowOriginsArgs and AppSpecServiceCorsAllowOriginsOutput values. -// You can construct a concrete instance of `AppSpecServiceCorsAllowOriginsInput` via: -// -// AppSpecServiceCorsAllowOriginsArgs{...} -type AppSpecServiceCorsAllowOriginsInput interface { - pulumi.Input +func (i AppSpecJobLogDestinationPapertrailArgs) ToAppSpecJobLogDestinationPapertrailPtrOutput() AppSpecJobLogDestinationPapertrailPtrOutput { + return i.ToAppSpecJobLogDestinationPapertrailPtrOutputWithContext(context.Background()) +} - ToAppSpecServiceCorsAllowOriginsOutput() AppSpecServiceCorsAllowOriginsOutput - ToAppSpecServiceCorsAllowOriginsOutputWithContext(context.Context) AppSpecServiceCorsAllowOriginsOutput -} - -type AppSpecServiceCorsAllowOriginsArgs struct { - // The `Access-Control-Allow-Origin` header will be set to the client's origin only if the client's origin exactly matches the value you provide. - Exact pulumi.StringPtrInput `pulumi:"exact"` - // The `Access-Control-Allow-Origin` header will be set to the client's origin if the beginning of the client's origin matches the value you provide. - Prefix pulumi.StringPtrInput `pulumi:"prefix"` - // The `Access-Control-Allow-Origin` header will be set to the client's origin if the client’s origin matches the regex you provide, in [RE2 style syntax](https://github.com/google/re2/wiki/Syntax). - Regex pulumi.StringPtrInput `pulumi:"regex"` -} - -func (AppSpecServiceCorsAllowOriginsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecServiceCorsAllowOrigins)(nil)).Elem() -} - -func (i AppSpecServiceCorsAllowOriginsArgs) ToAppSpecServiceCorsAllowOriginsOutput() AppSpecServiceCorsAllowOriginsOutput { - return i.ToAppSpecServiceCorsAllowOriginsOutputWithContext(context.Background()) -} - -func (i AppSpecServiceCorsAllowOriginsArgs) ToAppSpecServiceCorsAllowOriginsOutputWithContext(ctx context.Context) AppSpecServiceCorsAllowOriginsOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceCorsAllowOriginsOutput) -} - -func (i AppSpecServiceCorsAllowOriginsArgs) ToAppSpecServiceCorsAllowOriginsPtrOutput() AppSpecServiceCorsAllowOriginsPtrOutput { - return i.ToAppSpecServiceCorsAllowOriginsPtrOutputWithContext(context.Background()) -} - -func (i AppSpecServiceCorsAllowOriginsArgs) ToAppSpecServiceCorsAllowOriginsPtrOutputWithContext(ctx context.Context) AppSpecServiceCorsAllowOriginsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceCorsAllowOriginsOutput).ToAppSpecServiceCorsAllowOriginsPtrOutputWithContext(ctx) +func (i AppSpecJobLogDestinationPapertrailArgs) ToAppSpecJobLogDestinationPapertrailPtrOutputWithContext(ctx context.Context) AppSpecJobLogDestinationPapertrailPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecJobLogDestinationPapertrailOutput).ToAppSpecJobLogDestinationPapertrailPtrOutputWithContext(ctx) } -// AppSpecServiceCorsAllowOriginsPtrInput is an input type that accepts AppSpecServiceCorsAllowOriginsArgs, AppSpecServiceCorsAllowOriginsPtr and AppSpecServiceCorsAllowOriginsPtrOutput values. -// You can construct a concrete instance of `AppSpecServiceCorsAllowOriginsPtrInput` via: +// AppSpecJobLogDestinationPapertrailPtrInput is an input type that accepts AppSpecJobLogDestinationPapertrailArgs, AppSpecJobLogDestinationPapertrailPtr and AppSpecJobLogDestinationPapertrailPtrOutput values. +// You can construct a concrete instance of `AppSpecJobLogDestinationPapertrailPtrInput` via: // -// AppSpecServiceCorsAllowOriginsArgs{...} +// AppSpecJobLogDestinationPapertrailArgs{...} // // or: // // nil -type AppSpecServiceCorsAllowOriginsPtrInput interface { +type AppSpecJobLogDestinationPapertrailPtrInput interface { pulumi.Input - ToAppSpecServiceCorsAllowOriginsPtrOutput() AppSpecServiceCorsAllowOriginsPtrOutput - ToAppSpecServiceCorsAllowOriginsPtrOutputWithContext(context.Context) AppSpecServiceCorsAllowOriginsPtrOutput + ToAppSpecJobLogDestinationPapertrailPtrOutput() AppSpecJobLogDestinationPapertrailPtrOutput + ToAppSpecJobLogDestinationPapertrailPtrOutputWithContext(context.Context) AppSpecJobLogDestinationPapertrailPtrOutput } -type appSpecServiceCorsAllowOriginsPtrType AppSpecServiceCorsAllowOriginsArgs +type appSpecJobLogDestinationPapertrailPtrType AppSpecJobLogDestinationPapertrailArgs -func AppSpecServiceCorsAllowOriginsPtr(v *AppSpecServiceCorsAllowOriginsArgs) AppSpecServiceCorsAllowOriginsPtrInput { - return (*appSpecServiceCorsAllowOriginsPtrType)(v) +func AppSpecJobLogDestinationPapertrailPtr(v *AppSpecJobLogDestinationPapertrailArgs) AppSpecJobLogDestinationPapertrailPtrInput { + return (*appSpecJobLogDestinationPapertrailPtrType)(v) } -func (*appSpecServiceCorsAllowOriginsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**AppSpecServiceCorsAllowOrigins)(nil)).Elem() +func (*appSpecJobLogDestinationPapertrailPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecJobLogDestinationPapertrail)(nil)).Elem() } -func (i *appSpecServiceCorsAllowOriginsPtrType) ToAppSpecServiceCorsAllowOriginsPtrOutput() AppSpecServiceCorsAllowOriginsPtrOutput { - return i.ToAppSpecServiceCorsAllowOriginsPtrOutputWithContext(context.Background()) +func (i *appSpecJobLogDestinationPapertrailPtrType) ToAppSpecJobLogDestinationPapertrailPtrOutput() AppSpecJobLogDestinationPapertrailPtrOutput { + return i.ToAppSpecJobLogDestinationPapertrailPtrOutputWithContext(context.Background()) } -func (i *appSpecServiceCorsAllowOriginsPtrType) ToAppSpecServiceCorsAllowOriginsPtrOutputWithContext(ctx context.Context) AppSpecServiceCorsAllowOriginsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceCorsAllowOriginsPtrOutput) +func (i *appSpecJobLogDestinationPapertrailPtrType) ToAppSpecJobLogDestinationPapertrailPtrOutputWithContext(ctx context.Context) AppSpecJobLogDestinationPapertrailPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecJobLogDestinationPapertrailPtrOutput) } -type AppSpecServiceCorsAllowOriginsOutput struct{ *pulumi.OutputState } +type AppSpecJobLogDestinationPapertrailOutput struct{ *pulumi.OutputState } -func (AppSpecServiceCorsAllowOriginsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecServiceCorsAllowOrigins)(nil)).Elem() +func (AppSpecJobLogDestinationPapertrailOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecJobLogDestinationPapertrail)(nil)).Elem() } -func (o AppSpecServiceCorsAllowOriginsOutput) ToAppSpecServiceCorsAllowOriginsOutput() AppSpecServiceCorsAllowOriginsOutput { +func (o AppSpecJobLogDestinationPapertrailOutput) ToAppSpecJobLogDestinationPapertrailOutput() AppSpecJobLogDestinationPapertrailOutput { return o } -func (o AppSpecServiceCorsAllowOriginsOutput) ToAppSpecServiceCorsAllowOriginsOutputWithContext(ctx context.Context) AppSpecServiceCorsAllowOriginsOutput { +func (o AppSpecJobLogDestinationPapertrailOutput) ToAppSpecJobLogDestinationPapertrailOutputWithContext(ctx context.Context) AppSpecJobLogDestinationPapertrailOutput { return o } -func (o AppSpecServiceCorsAllowOriginsOutput) ToAppSpecServiceCorsAllowOriginsPtrOutput() AppSpecServiceCorsAllowOriginsPtrOutput { - return o.ToAppSpecServiceCorsAllowOriginsPtrOutputWithContext(context.Background()) +func (o AppSpecJobLogDestinationPapertrailOutput) ToAppSpecJobLogDestinationPapertrailPtrOutput() AppSpecJobLogDestinationPapertrailPtrOutput { + return o.ToAppSpecJobLogDestinationPapertrailPtrOutputWithContext(context.Background()) } -func (o AppSpecServiceCorsAllowOriginsOutput) ToAppSpecServiceCorsAllowOriginsPtrOutputWithContext(ctx context.Context) AppSpecServiceCorsAllowOriginsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v AppSpecServiceCorsAllowOrigins) *AppSpecServiceCorsAllowOrigins { +func (o AppSpecJobLogDestinationPapertrailOutput) ToAppSpecJobLogDestinationPapertrailPtrOutputWithContext(ctx context.Context) AppSpecJobLogDestinationPapertrailPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AppSpecJobLogDestinationPapertrail) *AppSpecJobLogDestinationPapertrail { return &v - }).(AppSpecServiceCorsAllowOriginsPtrOutput) -} - -// The `Access-Control-Allow-Origin` header will be set to the client's origin only if the client's origin exactly matches the value you provide. -func (o AppSpecServiceCorsAllowOriginsOutput) Exact() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecServiceCorsAllowOrigins) *string { return v.Exact }).(pulumi.StringPtrOutput) -} - -// The `Access-Control-Allow-Origin` header will be set to the client's origin if the beginning of the client's origin matches the value you provide. -func (o AppSpecServiceCorsAllowOriginsOutput) Prefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecServiceCorsAllowOrigins) *string { return v.Prefix }).(pulumi.StringPtrOutput) + }).(AppSpecJobLogDestinationPapertrailPtrOutput) } -// The `Access-Control-Allow-Origin` header will be set to the client's origin if the client’s origin matches the regex you provide, in [RE2 style syntax](https://github.com/google/re2/wiki/Syntax). -func (o AppSpecServiceCorsAllowOriginsOutput) Regex() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecServiceCorsAllowOrigins) *string { return v.Regex }).(pulumi.StringPtrOutput) +// Datadog HTTP log intake endpoint. +func (o AppSpecJobLogDestinationPapertrailOutput) Endpoint() pulumi.StringOutput { + return o.ApplyT(func(v AppSpecJobLogDestinationPapertrail) string { return v.Endpoint }).(pulumi.StringOutput) } -type AppSpecServiceCorsAllowOriginsPtrOutput struct{ *pulumi.OutputState } +type AppSpecJobLogDestinationPapertrailPtrOutput struct{ *pulumi.OutputState } -func (AppSpecServiceCorsAllowOriginsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**AppSpecServiceCorsAllowOrigins)(nil)).Elem() +func (AppSpecJobLogDestinationPapertrailPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecJobLogDestinationPapertrail)(nil)).Elem() } -func (o AppSpecServiceCorsAllowOriginsPtrOutput) ToAppSpecServiceCorsAllowOriginsPtrOutput() AppSpecServiceCorsAllowOriginsPtrOutput { +func (o AppSpecJobLogDestinationPapertrailPtrOutput) ToAppSpecJobLogDestinationPapertrailPtrOutput() AppSpecJobLogDestinationPapertrailPtrOutput { return o } -func (o AppSpecServiceCorsAllowOriginsPtrOutput) ToAppSpecServiceCorsAllowOriginsPtrOutputWithContext(ctx context.Context) AppSpecServiceCorsAllowOriginsPtrOutput { +func (o AppSpecJobLogDestinationPapertrailPtrOutput) ToAppSpecJobLogDestinationPapertrailPtrOutputWithContext(ctx context.Context) AppSpecJobLogDestinationPapertrailPtrOutput { return o } -func (o AppSpecServiceCorsAllowOriginsPtrOutput) Elem() AppSpecServiceCorsAllowOriginsOutput { - return o.ApplyT(func(v *AppSpecServiceCorsAllowOrigins) AppSpecServiceCorsAllowOrigins { +func (o AppSpecJobLogDestinationPapertrailPtrOutput) Elem() AppSpecJobLogDestinationPapertrailOutput { + return o.ApplyT(func(v *AppSpecJobLogDestinationPapertrail) AppSpecJobLogDestinationPapertrail { if v != nil { return *v } - var ret AppSpecServiceCorsAllowOrigins + var ret AppSpecJobLogDestinationPapertrail return ret - }).(AppSpecServiceCorsAllowOriginsOutput) -} - -// The `Access-Control-Allow-Origin` header will be set to the client's origin only if the client's origin exactly matches the value you provide. -func (o AppSpecServiceCorsAllowOriginsPtrOutput) Exact() pulumi.StringPtrOutput { - return o.ApplyT(func(v *AppSpecServiceCorsAllowOrigins) *string { - if v == nil { - return nil - } - return v.Exact - }).(pulumi.StringPtrOutput) -} - -// The `Access-Control-Allow-Origin` header will be set to the client's origin if the beginning of the client's origin matches the value you provide. -func (o AppSpecServiceCorsAllowOriginsPtrOutput) Prefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *AppSpecServiceCorsAllowOrigins) *string { - if v == nil { - return nil - } - return v.Prefix - }).(pulumi.StringPtrOutput) + }).(AppSpecJobLogDestinationPapertrailOutput) } -// The `Access-Control-Allow-Origin` header will be set to the client's origin if the client’s origin matches the regex you provide, in [RE2 style syntax](https://github.com/google/re2/wiki/Syntax). -func (o AppSpecServiceCorsAllowOriginsPtrOutput) Regex() pulumi.StringPtrOutput { - return o.ApplyT(func(v *AppSpecServiceCorsAllowOrigins) *string { +// Datadog HTTP log intake endpoint. +func (o AppSpecJobLogDestinationPapertrailPtrOutput) Endpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecJobLogDestinationPapertrail) *string { if v == nil { return nil } - return v.Regex + return &v.Endpoint }).(pulumi.StringPtrOutput) } -type AppSpecServiceEnv struct { - // The name of the environment variable. - Key *string `pulumi:"key"` - // The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). - Scope *string `pulumi:"scope"` - // The type of the environment variable, `GENERAL` or `SECRET`. - Type *string `pulumi:"type"` - // The value of the environment variable. - Value *string `pulumi:"value"` +type AppSpecService struct { + // Describes an alert policy for the component. + Alerts []AppSpecServiceAlert `pulumi:"alerts"` + // An optional build command to run while building this component from source. + BuildCommand *string `pulumi:"buildCommand"` + // The [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) policies of the app. + Cors *AppSpecServiceCors `pulumi:"cors"` + // The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. + DockerfilePath *string `pulumi:"dockerfilePath"` + // An environment slug describing the type of this app. + EnvironmentSlug *string `pulumi:"environmentSlug"` + // Describes an environment variable made available to an app competent. + Envs []AppSpecServiceEnv `pulumi:"envs"` + // A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set + Git *AppSpecServiceGit `pulumi:"git"` + // A GitHub repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/github/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. + Github *AppSpecServiceGithub `pulumi:"github"` + // A Gitlab repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/gitlab/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. + Gitlab *AppSpecServiceGitlab `pulumi:"gitlab"` + // A health check to determine the availability of this component. + HealthCheck *AppSpecServiceHealthCheck `pulumi:"healthCheck"` + // The internal port on which this service's run command will listen. + HttpPort *int `pulumi:"httpPort"` + // An image to use as the component's source. Only one of `git`, `github`, `gitlab`, or `image` may be set. + Image *AppSpecServiceImage `pulumi:"image"` + // The amount of instances that this component should be scaled to. + InstanceCount *int `pulumi:"instanceCount"` + // The instance size to use for this component. This determines the plan (basic or professional) and the available CPU and memory. The list of available instance sizes can be [found with the API](https://docs.digitalocean.com/reference/api/api-reference/#operation/list_instance_sizes) or using the [doctl CLI](https://docs.digitalocean.com/reference/doctl/) (`doctl apps tier instance-size list`). Default: `basic-xxs` + InstanceSizeSlug *string `pulumi:"instanceSizeSlug"` + // A list of ports on which this service will listen for internal traffic. + InternalPorts []int `pulumi:"internalPorts"` + // Describes a log forwarding destination. + LogDestinations []AppSpecServiceLogDestination `pulumi:"logDestinations"` + // The name of the component. + Name string `pulumi:"name"` + Routes []AppSpecServiceRoute `pulumi:"routes"` + // An optional run command to override the component's default. + RunCommand *string `pulumi:"runCommand"` + // An optional path to the working directory to use for the build. + SourceDir *string `pulumi:"sourceDir"` } -// AppSpecServiceEnvInput is an input type that accepts AppSpecServiceEnvArgs and AppSpecServiceEnvOutput values. -// You can construct a concrete instance of `AppSpecServiceEnvInput` via: +// AppSpecServiceInput is an input type that accepts AppSpecServiceArgs and AppSpecServiceOutput values. +// You can construct a concrete instance of `AppSpecServiceInput` via: // -// AppSpecServiceEnvArgs{...} -type AppSpecServiceEnvInput interface { +// AppSpecServiceArgs{...} +type AppSpecServiceInput interface { pulumi.Input - ToAppSpecServiceEnvOutput() AppSpecServiceEnvOutput - ToAppSpecServiceEnvOutputWithContext(context.Context) AppSpecServiceEnvOutput + ToAppSpecServiceOutput() AppSpecServiceOutput + ToAppSpecServiceOutputWithContext(context.Context) AppSpecServiceOutput } -type AppSpecServiceEnvArgs struct { - // The name of the environment variable. - Key pulumi.StringPtrInput `pulumi:"key"` - // The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). - Scope pulumi.StringPtrInput `pulumi:"scope"` - // The type of the environment variable, `GENERAL` or `SECRET`. - Type pulumi.StringPtrInput `pulumi:"type"` - // The value of the environment variable. - Value pulumi.StringPtrInput `pulumi:"value"` +type AppSpecServiceArgs struct { + // Describes an alert policy for the component. + Alerts AppSpecServiceAlertArrayInput `pulumi:"alerts"` + // An optional build command to run while building this component from source. + BuildCommand pulumi.StringPtrInput `pulumi:"buildCommand"` + // The [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) policies of the app. + Cors AppSpecServiceCorsPtrInput `pulumi:"cors"` + // The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. + DockerfilePath pulumi.StringPtrInput `pulumi:"dockerfilePath"` + // An environment slug describing the type of this app. + EnvironmentSlug pulumi.StringPtrInput `pulumi:"environmentSlug"` + // Describes an environment variable made available to an app competent. + Envs AppSpecServiceEnvArrayInput `pulumi:"envs"` + // A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set + Git AppSpecServiceGitPtrInput `pulumi:"git"` + // A GitHub repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/github/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. + Github AppSpecServiceGithubPtrInput `pulumi:"github"` + // A Gitlab repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/gitlab/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. + Gitlab AppSpecServiceGitlabPtrInput `pulumi:"gitlab"` + // A health check to determine the availability of this component. + HealthCheck AppSpecServiceHealthCheckPtrInput `pulumi:"healthCheck"` + // The internal port on which this service's run command will listen. + HttpPort pulumi.IntPtrInput `pulumi:"httpPort"` + // An image to use as the component's source. Only one of `git`, `github`, `gitlab`, or `image` may be set. + Image AppSpecServiceImagePtrInput `pulumi:"image"` + // The amount of instances that this component should be scaled to. + InstanceCount pulumi.IntPtrInput `pulumi:"instanceCount"` + // The instance size to use for this component. This determines the plan (basic or professional) and the available CPU and memory. The list of available instance sizes can be [found with the API](https://docs.digitalocean.com/reference/api/api-reference/#operation/list_instance_sizes) or using the [doctl CLI](https://docs.digitalocean.com/reference/doctl/) (`doctl apps tier instance-size list`). Default: `basic-xxs` + InstanceSizeSlug pulumi.StringPtrInput `pulumi:"instanceSizeSlug"` + // A list of ports on which this service will listen for internal traffic. + InternalPorts pulumi.IntArrayInput `pulumi:"internalPorts"` + // Describes a log forwarding destination. + LogDestinations AppSpecServiceLogDestinationArrayInput `pulumi:"logDestinations"` + // The name of the component. + Name pulumi.StringInput `pulumi:"name"` + Routes AppSpecServiceRouteArrayInput `pulumi:"routes"` + // An optional run command to override the component's default. + RunCommand pulumi.StringPtrInput `pulumi:"runCommand"` + // An optional path to the working directory to use for the build. + SourceDir pulumi.StringPtrInput `pulumi:"sourceDir"` } -func (AppSpecServiceEnvArgs) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecServiceEnv)(nil)).Elem() +func (AppSpecServiceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecService)(nil)).Elem() } -func (i AppSpecServiceEnvArgs) ToAppSpecServiceEnvOutput() AppSpecServiceEnvOutput { - return i.ToAppSpecServiceEnvOutputWithContext(context.Background()) +func (i AppSpecServiceArgs) ToAppSpecServiceOutput() AppSpecServiceOutput { + return i.ToAppSpecServiceOutputWithContext(context.Background()) } -func (i AppSpecServiceEnvArgs) ToAppSpecServiceEnvOutputWithContext(ctx context.Context) AppSpecServiceEnvOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceEnvOutput) +func (i AppSpecServiceArgs) ToAppSpecServiceOutputWithContext(ctx context.Context) AppSpecServiceOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceOutput) } -// AppSpecServiceEnvArrayInput is an input type that accepts AppSpecServiceEnvArray and AppSpecServiceEnvArrayOutput values. -// You can construct a concrete instance of `AppSpecServiceEnvArrayInput` via: +// AppSpecServiceArrayInput is an input type that accepts AppSpecServiceArray and AppSpecServiceArrayOutput values. +// You can construct a concrete instance of `AppSpecServiceArrayInput` via: // -// AppSpecServiceEnvArray{ AppSpecServiceEnvArgs{...} } -type AppSpecServiceEnvArrayInput interface { +// AppSpecServiceArray{ AppSpecServiceArgs{...} } +type AppSpecServiceArrayInput interface { pulumi.Input - ToAppSpecServiceEnvArrayOutput() AppSpecServiceEnvArrayOutput - ToAppSpecServiceEnvArrayOutputWithContext(context.Context) AppSpecServiceEnvArrayOutput + ToAppSpecServiceArrayOutput() AppSpecServiceArrayOutput + ToAppSpecServiceArrayOutputWithContext(context.Context) AppSpecServiceArrayOutput } -type AppSpecServiceEnvArray []AppSpecServiceEnvInput +type AppSpecServiceArray []AppSpecServiceInput -func (AppSpecServiceEnvArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]AppSpecServiceEnv)(nil)).Elem() +func (AppSpecServiceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]AppSpecService)(nil)).Elem() } -func (i AppSpecServiceEnvArray) ToAppSpecServiceEnvArrayOutput() AppSpecServiceEnvArrayOutput { - return i.ToAppSpecServiceEnvArrayOutputWithContext(context.Background()) +func (i AppSpecServiceArray) ToAppSpecServiceArrayOutput() AppSpecServiceArrayOutput { + return i.ToAppSpecServiceArrayOutputWithContext(context.Background()) } -func (i AppSpecServiceEnvArray) ToAppSpecServiceEnvArrayOutputWithContext(ctx context.Context) AppSpecServiceEnvArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceEnvArrayOutput) +func (i AppSpecServiceArray) ToAppSpecServiceArrayOutputWithContext(ctx context.Context) AppSpecServiceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceArrayOutput) } -type AppSpecServiceEnvOutput struct{ *pulumi.OutputState } +type AppSpecServiceOutput struct{ *pulumi.OutputState } -func (AppSpecServiceEnvOutput) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecServiceEnv)(nil)).Elem() +func (AppSpecServiceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecService)(nil)).Elem() } -func (o AppSpecServiceEnvOutput) ToAppSpecServiceEnvOutput() AppSpecServiceEnvOutput { +func (o AppSpecServiceOutput) ToAppSpecServiceOutput() AppSpecServiceOutput { return o } -func (o AppSpecServiceEnvOutput) ToAppSpecServiceEnvOutputWithContext(ctx context.Context) AppSpecServiceEnvOutput { +func (o AppSpecServiceOutput) ToAppSpecServiceOutputWithContext(ctx context.Context) AppSpecServiceOutput { return o } -// The name of the environment variable. -func (o AppSpecServiceEnvOutput) Key() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecServiceEnv) *string { return v.Key }).(pulumi.StringPtrOutput) +// Describes an alert policy for the component. +func (o AppSpecServiceOutput) Alerts() AppSpecServiceAlertArrayOutput { + return o.ApplyT(func(v AppSpecService) []AppSpecServiceAlert { return v.Alerts }).(AppSpecServiceAlertArrayOutput) } -// The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). -func (o AppSpecServiceEnvOutput) Scope() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecServiceEnv) *string { return v.Scope }).(pulumi.StringPtrOutput) -} - -// The type of the environment variable, `GENERAL` or `SECRET`. -func (o AppSpecServiceEnvOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecServiceEnv) *string { return v.Type }).(pulumi.StringPtrOutput) +// An optional build command to run while building this component from source. +func (o AppSpecServiceOutput) BuildCommand() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecService) *string { return v.BuildCommand }).(pulumi.StringPtrOutput) } -// The value of the environment variable. -func (o AppSpecServiceEnvOutput) Value() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecServiceEnv) *string { return v.Value }).(pulumi.StringPtrOutput) +// The [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) policies of the app. +func (o AppSpecServiceOutput) Cors() AppSpecServiceCorsPtrOutput { + return o.ApplyT(func(v AppSpecService) *AppSpecServiceCors { return v.Cors }).(AppSpecServiceCorsPtrOutput) } -type AppSpecServiceEnvArrayOutput struct{ *pulumi.OutputState } - -func (AppSpecServiceEnvArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]AppSpecServiceEnv)(nil)).Elem() +// The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. +func (o AppSpecServiceOutput) DockerfilePath() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecService) *string { return v.DockerfilePath }).(pulumi.StringPtrOutput) } -func (o AppSpecServiceEnvArrayOutput) ToAppSpecServiceEnvArrayOutput() AppSpecServiceEnvArrayOutput { - return o +// An environment slug describing the type of this app. +func (o AppSpecServiceOutput) EnvironmentSlug() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecService) *string { return v.EnvironmentSlug }).(pulumi.StringPtrOutput) } -func (o AppSpecServiceEnvArrayOutput) ToAppSpecServiceEnvArrayOutputWithContext(ctx context.Context) AppSpecServiceEnvArrayOutput { - return o +// Describes an environment variable made available to an app competent. +func (o AppSpecServiceOutput) Envs() AppSpecServiceEnvArrayOutput { + return o.ApplyT(func(v AppSpecService) []AppSpecServiceEnv { return v.Envs }).(AppSpecServiceEnvArrayOutput) } -func (o AppSpecServiceEnvArrayOutput) Index(i pulumi.IntInput) AppSpecServiceEnvOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) AppSpecServiceEnv { - return vs[0].([]AppSpecServiceEnv)[vs[1].(int)] - }).(AppSpecServiceEnvOutput) +// A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set +func (o AppSpecServiceOutput) Git() AppSpecServiceGitPtrOutput { + return o.ApplyT(func(v AppSpecService) *AppSpecServiceGit { return v.Git }).(AppSpecServiceGitPtrOutput) } -type AppSpecServiceGit struct { - // The name of the branch to use. - Branch *string `pulumi:"branch"` - // The clone URL of the repo. - RepoCloneUrl *string `pulumi:"repoCloneUrl"` +// A GitHub repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/github/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. +func (o AppSpecServiceOutput) Github() AppSpecServiceGithubPtrOutput { + return o.ApplyT(func(v AppSpecService) *AppSpecServiceGithub { return v.Github }).(AppSpecServiceGithubPtrOutput) } -// AppSpecServiceGitInput is an input type that accepts AppSpecServiceGitArgs and AppSpecServiceGitOutput values. -// You can construct a concrete instance of `AppSpecServiceGitInput` via: -// -// AppSpecServiceGitArgs{...} -type AppSpecServiceGitInput interface { - pulumi.Input - - ToAppSpecServiceGitOutput() AppSpecServiceGitOutput - ToAppSpecServiceGitOutputWithContext(context.Context) AppSpecServiceGitOutput +// A Gitlab repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/gitlab/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. +func (o AppSpecServiceOutput) Gitlab() AppSpecServiceGitlabPtrOutput { + return o.ApplyT(func(v AppSpecService) *AppSpecServiceGitlab { return v.Gitlab }).(AppSpecServiceGitlabPtrOutput) } -type AppSpecServiceGitArgs struct { - // The name of the branch to use. - Branch pulumi.StringPtrInput `pulumi:"branch"` - // The clone URL of the repo. - RepoCloneUrl pulumi.StringPtrInput `pulumi:"repoCloneUrl"` +// A health check to determine the availability of this component. +func (o AppSpecServiceOutput) HealthCheck() AppSpecServiceHealthCheckPtrOutput { + return o.ApplyT(func(v AppSpecService) *AppSpecServiceHealthCheck { return v.HealthCheck }).(AppSpecServiceHealthCheckPtrOutput) } -func (AppSpecServiceGitArgs) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecServiceGit)(nil)).Elem() +// The internal port on which this service's run command will listen. +func (o AppSpecServiceOutput) HttpPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v AppSpecService) *int { return v.HttpPort }).(pulumi.IntPtrOutput) } -func (i AppSpecServiceGitArgs) ToAppSpecServiceGitOutput() AppSpecServiceGitOutput { - return i.ToAppSpecServiceGitOutputWithContext(context.Background()) +// An image to use as the component's source. Only one of `git`, `github`, `gitlab`, or `image` may be set. +func (o AppSpecServiceOutput) Image() AppSpecServiceImagePtrOutput { + return o.ApplyT(func(v AppSpecService) *AppSpecServiceImage { return v.Image }).(AppSpecServiceImagePtrOutput) } -func (i AppSpecServiceGitArgs) ToAppSpecServiceGitOutputWithContext(ctx context.Context) AppSpecServiceGitOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceGitOutput) +// The amount of instances that this component should be scaled to. +func (o AppSpecServiceOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v AppSpecService) *int { return v.InstanceCount }).(pulumi.IntPtrOutput) } -func (i AppSpecServiceGitArgs) ToAppSpecServiceGitPtrOutput() AppSpecServiceGitPtrOutput { - return i.ToAppSpecServiceGitPtrOutputWithContext(context.Background()) +// The instance size to use for this component. This determines the plan (basic or professional) and the available CPU and memory. The list of available instance sizes can be [found with the API](https://docs.digitalocean.com/reference/api/api-reference/#operation/list_instance_sizes) or using the [doctl CLI](https://docs.digitalocean.com/reference/doctl/) (`doctl apps tier instance-size list`). Default: `basic-xxs` +func (o AppSpecServiceOutput) InstanceSizeSlug() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecService) *string { return v.InstanceSizeSlug }).(pulumi.StringPtrOutput) } -func (i AppSpecServiceGitArgs) ToAppSpecServiceGitPtrOutputWithContext(ctx context.Context) AppSpecServiceGitPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceGitOutput).ToAppSpecServiceGitPtrOutputWithContext(ctx) +// A list of ports on which this service will listen for internal traffic. +func (o AppSpecServiceOutput) InternalPorts() pulumi.IntArrayOutput { + return o.ApplyT(func(v AppSpecService) []int { return v.InternalPorts }).(pulumi.IntArrayOutput) } -// AppSpecServiceGitPtrInput is an input type that accepts AppSpecServiceGitArgs, AppSpecServiceGitPtr and AppSpecServiceGitPtrOutput values. -// You can construct a concrete instance of `AppSpecServiceGitPtrInput` via: -// -// AppSpecServiceGitArgs{...} -// -// or: -// -// nil -type AppSpecServiceGitPtrInput interface { - pulumi.Input - - ToAppSpecServiceGitPtrOutput() AppSpecServiceGitPtrOutput - ToAppSpecServiceGitPtrOutputWithContext(context.Context) AppSpecServiceGitPtrOutput +// Describes a log forwarding destination. +func (o AppSpecServiceOutput) LogDestinations() AppSpecServiceLogDestinationArrayOutput { + return o.ApplyT(func(v AppSpecService) []AppSpecServiceLogDestination { return v.LogDestinations }).(AppSpecServiceLogDestinationArrayOutput) } -type appSpecServiceGitPtrType AppSpecServiceGitArgs - -func AppSpecServiceGitPtr(v *AppSpecServiceGitArgs) AppSpecServiceGitPtrInput { - return (*appSpecServiceGitPtrType)(v) +// The name of the component. +func (o AppSpecServiceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v AppSpecService) string { return v.Name }).(pulumi.StringOutput) } -func (*appSpecServiceGitPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**AppSpecServiceGit)(nil)).Elem() +func (o AppSpecServiceOutput) Routes() AppSpecServiceRouteArrayOutput { + return o.ApplyT(func(v AppSpecService) []AppSpecServiceRoute { return v.Routes }).(AppSpecServiceRouteArrayOutput) } -func (i *appSpecServiceGitPtrType) ToAppSpecServiceGitPtrOutput() AppSpecServiceGitPtrOutput { - return i.ToAppSpecServiceGitPtrOutputWithContext(context.Background()) +// An optional run command to override the component's default. +func (o AppSpecServiceOutput) RunCommand() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecService) *string { return v.RunCommand }).(pulumi.StringPtrOutput) } -func (i *appSpecServiceGitPtrType) ToAppSpecServiceGitPtrOutputWithContext(ctx context.Context) AppSpecServiceGitPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceGitPtrOutput) +// An optional path to the working directory to use for the build. +func (o AppSpecServiceOutput) SourceDir() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecService) *string { return v.SourceDir }).(pulumi.StringPtrOutput) } -type AppSpecServiceGitOutput struct{ *pulumi.OutputState } +type AppSpecServiceArrayOutput struct{ *pulumi.OutputState } -func (AppSpecServiceGitOutput) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecServiceGit)(nil)).Elem() +func (AppSpecServiceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]AppSpecService)(nil)).Elem() } -func (o AppSpecServiceGitOutput) ToAppSpecServiceGitOutput() AppSpecServiceGitOutput { +func (o AppSpecServiceArrayOutput) ToAppSpecServiceArrayOutput() AppSpecServiceArrayOutput { return o } -func (o AppSpecServiceGitOutput) ToAppSpecServiceGitOutputWithContext(ctx context.Context) AppSpecServiceGitOutput { +func (o AppSpecServiceArrayOutput) ToAppSpecServiceArrayOutputWithContext(ctx context.Context) AppSpecServiceArrayOutput { return o } -func (o AppSpecServiceGitOutput) ToAppSpecServiceGitPtrOutput() AppSpecServiceGitPtrOutput { - return o.ToAppSpecServiceGitPtrOutputWithContext(context.Background()) -} - -func (o AppSpecServiceGitOutput) ToAppSpecServiceGitPtrOutputWithContext(ctx context.Context) AppSpecServiceGitPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v AppSpecServiceGit) *AppSpecServiceGit { - return &v - }).(AppSpecServiceGitPtrOutput) -} - -// The name of the branch to use. -func (o AppSpecServiceGitOutput) Branch() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecServiceGit) *string { return v.Branch }).(pulumi.StringPtrOutput) -} - -// The clone URL of the repo. -func (o AppSpecServiceGitOutput) RepoCloneUrl() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecServiceGit) *string { return v.RepoCloneUrl }).(pulumi.StringPtrOutput) +func (o AppSpecServiceArrayOutput) Index(i pulumi.IntInput) AppSpecServiceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) AppSpecService { + return vs[0].([]AppSpecService)[vs[1].(int)] + }).(AppSpecServiceOutput) } -type AppSpecServiceGitPtrOutput struct{ *pulumi.OutputState } - -func (AppSpecServiceGitPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**AppSpecServiceGit)(nil)).Elem() +type AppSpecServiceAlert struct { + // Determines whether or not the alert is disabled (default: `false`). + Disabled *bool `pulumi:"disabled"` + // The operator to use. This is either of `GREATER_THAN` or `LESS_THAN`. + Operator string `pulumi:"operator"` + // The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. + Rule string `pulumi:"rule"` + // The threshold for the type of the warning. + Value float64 `pulumi:"value"` + // The time before alerts should be triggered. This is may be one of: `FIVE_MINUTES`, `TEN_MINUTES`, `THIRTY_MINUTES`, `ONE_HOUR`. + Window string `pulumi:"window"` } -func (o AppSpecServiceGitPtrOutput) ToAppSpecServiceGitPtrOutput() AppSpecServiceGitPtrOutput { - return o -} +// AppSpecServiceAlertInput is an input type that accepts AppSpecServiceAlertArgs and AppSpecServiceAlertOutput values. +// You can construct a concrete instance of `AppSpecServiceAlertInput` via: +// +// AppSpecServiceAlertArgs{...} +type AppSpecServiceAlertInput interface { + pulumi.Input -func (o AppSpecServiceGitPtrOutput) ToAppSpecServiceGitPtrOutputWithContext(ctx context.Context) AppSpecServiceGitPtrOutput { - return o + ToAppSpecServiceAlertOutput() AppSpecServiceAlertOutput + ToAppSpecServiceAlertOutputWithContext(context.Context) AppSpecServiceAlertOutput } -func (o AppSpecServiceGitPtrOutput) Elem() AppSpecServiceGitOutput { - return o.ApplyT(func(v *AppSpecServiceGit) AppSpecServiceGit { - if v != nil { - return *v - } - var ret AppSpecServiceGit - return ret - }).(AppSpecServiceGitOutput) +type AppSpecServiceAlertArgs struct { + // Determines whether or not the alert is disabled (default: `false`). + Disabled pulumi.BoolPtrInput `pulumi:"disabled"` + // The operator to use. This is either of `GREATER_THAN` or `LESS_THAN`. + Operator pulumi.StringInput `pulumi:"operator"` + // The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. + Rule pulumi.StringInput `pulumi:"rule"` + // The threshold for the type of the warning. + Value pulumi.Float64Input `pulumi:"value"` + // The time before alerts should be triggered. This is may be one of: `FIVE_MINUTES`, `TEN_MINUTES`, `THIRTY_MINUTES`, `ONE_HOUR`. + Window pulumi.StringInput `pulumi:"window"` } -// The name of the branch to use. -func (o AppSpecServiceGitPtrOutput) Branch() pulumi.StringPtrOutput { - return o.ApplyT(func(v *AppSpecServiceGit) *string { - if v == nil { - return nil - } - return v.Branch - }).(pulumi.StringPtrOutput) +func (AppSpecServiceAlertArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecServiceAlert)(nil)).Elem() } -// The clone URL of the repo. -func (o AppSpecServiceGitPtrOutput) RepoCloneUrl() pulumi.StringPtrOutput { - return o.ApplyT(func(v *AppSpecServiceGit) *string { - if v == nil { - return nil - } - return v.RepoCloneUrl - }).(pulumi.StringPtrOutput) +func (i AppSpecServiceAlertArgs) ToAppSpecServiceAlertOutput() AppSpecServiceAlertOutput { + return i.ToAppSpecServiceAlertOutputWithContext(context.Background()) } -type AppSpecServiceGithub struct { - // The name of the branch to use. - Branch *string `pulumi:"branch"` - // Whether to automatically deploy new commits made to the repo. - DeployOnPush *bool `pulumi:"deployOnPush"` - // The name of the repo in the format `owner/repo`. - Repo *string `pulumi:"repo"` +func (i AppSpecServiceAlertArgs) ToAppSpecServiceAlertOutputWithContext(ctx context.Context) AppSpecServiceAlertOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceAlertOutput) } -// AppSpecServiceGithubInput is an input type that accepts AppSpecServiceGithubArgs and AppSpecServiceGithubOutput values. -// You can construct a concrete instance of `AppSpecServiceGithubInput` via: +// AppSpecServiceAlertArrayInput is an input type that accepts AppSpecServiceAlertArray and AppSpecServiceAlertArrayOutput values. +// You can construct a concrete instance of `AppSpecServiceAlertArrayInput` via: // -// AppSpecServiceGithubArgs{...} -type AppSpecServiceGithubInput interface { +// AppSpecServiceAlertArray{ AppSpecServiceAlertArgs{...} } +type AppSpecServiceAlertArrayInput interface { pulumi.Input - ToAppSpecServiceGithubOutput() AppSpecServiceGithubOutput - ToAppSpecServiceGithubOutputWithContext(context.Context) AppSpecServiceGithubOutput + ToAppSpecServiceAlertArrayOutput() AppSpecServiceAlertArrayOutput + ToAppSpecServiceAlertArrayOutputWithContext(context.Context) AppSpecServiceAlertArrayOutput } -type AppSpecServiceGithubArgs struct { - // The name of the branch to use. - Branch pulumi.StringPtrInput `pulumi:"branch"` - // Whether to automatically deploy new commits made to the repo. - DeployOnPush pulumi.BoolPtrInput `pulumi:"deployOnPush"` - // The name of the repo in the format `owner/repo`. - Repo pulumi.StringPtrInput `pulumi:"repo"` -} +type AppSpecServiceAlertArray []AppSpecServiceAlertInput -func (AppSpecServiceGithubArgs) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecServiceGithub)(nil)).Elem() +func (AppSpecServiceAlertArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]AppSpecServiceAlert)(nil)).Elem() } -func (i AppSpecServiceGithubArgs) ToAppSpecServiceGithubOutput() AppSpecServiceGithubOutput { - return i.ToAppSpecServiceGithubOutputWithContext(context.Background()) +func (i AppSpecServiceAlertArray) ToAppSpecServiceAlertArrayOutput() AppSpecServiceAlertArrayOutput { + return i.ToAppSpecServiceAlertArrayOutputWithContext(context.Background()) } -func (i AppSpecServiceGithubArgs) ToAppSpecServiceGithubOutputWithContext(ctx context.Context) AppSpecServiceGithubOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceGithubOutput) +func (i AppSpecServiceAlertArray) ToAppSpecServiceAlertArrayOutputWithContext(ctx context.Context) AppSpecServiceAlertArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceAlertArrayOutput) } -func (i AppSpecServiceGithubArgs) ToAppSpecServiceGithubPtrOutput() AppSpecServiceGithubPtrOutput { - return i.ToAppSpecServiceGithubPtrOutputWithContext(context.Background()) -} +type AppSpecServiceAlertOutput struct{ *pulumi.OutputState } -func (i AppSpecServiceGithubArgs) ToAppSpecServiceGithubPtrOutputWithContext(ctx context.Context) AppSpecServiceGithubPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceGithubOutput).ToAppSpecServiceGithubPtrOutputWithContext(ctx) +func (AppSpecServiceAlertOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecServiceAlert)(nil)).Elem() } -// AppSpecServiceGithubPtrInput is an input type that accepts AppSpecServiceGithubArgs, AppSpecServiceGithubPtr and AppSpecServiceGithubPtrOutput values. -// You can construct a concrete instance of `AppSpecServiceGithubPtrInput` via: -// -// AppSpecServiceGithubArgs{...} -// -// or: -// -// nil -type AppSpecServiceGithubPtrInput interface { - pulumi.Input +func (o AppSpecServiceAlertOutput) ToAppSpecServiceAlertOutput() AppSpecServiceAlertOutput { + return o +} - ToAppSpecServiceGithubPtrOutput() AppSpecServiceGithubPtrOutput - ToAppSpecServiceGithubPtrOutputWithContext(context.Context) AppSpecServiceGithubPtrOutput +func (o AppSpecServiceAlertOutput) ToAppSpecServiceAlertOutputWithContext(ctx context.Context) AppSpecServiceAlertOutput { + return o } -type appSpecServiceGithubPtrType AppSpecServiceGithubArgs +// Determines whether or not the alert is disabled (default: `false`). +func (o AppSpecServiceAlertOutput) Disabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v AppSpecServiceAlert) *bool { return v.Disabled }).(pulumi.BoolPtrOutput) +} -func AppSpecServiceGithubPtr(v *AppSpecServiceGithubArgs) AppSpecServiceGithubPtrInput { - return (*appSpecServiceGithubPtrType)(v) +// The operator to use. This is either of `GREATER_THAN` or `LESS_THAN`. +func (o AppSpecServiceAlertOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v AppSpecServiceAlert) string { return v.Operator }).(pulumi.StringOutput) } -func (*appSpecServiceGithubPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**AppSpecServiceGithub)(nil)).Elem() +// The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. +func (o AppSpecServiceAlertOutput) Rule() pulumi.StringOutput { + return o.ApplyT(func(v AppSpecServiceAlert) string { return v.Rule }).(pulumi.StringOutput) } -func (i *appSpecServiceGithubPtrType) ToAppSpecServiceGithubPtrOutput() AppSpecServiceGithubPtrOutput { - return i.ToAppSpecServiceGithubPtrOutputWithContext(context.Background()) +// The threshold for the type of the warning. +func (o AppSpecServiceAlertOutput) Value() pulumi.Float64Output { + return o.ApplyT(func(v AppSpecServiceAlert) float64 { return v.Value }).(pulumi.Float64Output) } -func (i *appSpecServiceGithubPtrType) ToAppSpecServiceGithubPtrOutputWithContext(ctx context.Context) AppSpecServiceGithubPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceGithubPtrOutput) +// The time before alerts should be triggered. This is may be one of: `FIVE_MINUTES`, `TEN_MINUTES`, `THIRTY_MINUTES`, `ONE_HOUR`. +func (o AppSpecServiceAlertOutput) Window() pulumi.StringOutput { + return o.ApplyT(func(v AppSpecServiceAlert) string { return v.Window }).(pulumi.StringOutput) } -type AppSpecServiceGithubOutput struct{ *pulumi.OutputState } +type AppSpecServiceAlertArrayOutput struct{ *pulumi.OutputState } -func (AppSpecServiceGithubOutput) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecServiceGithub)(nil)).Elem() +func (AppSpecServiceAlertArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]AppSpecServiceAlert)(nil)).Elem() } -func (o AppSpecServiceGithubOutput) ToAppSpecServiceGithubOutput() AppSpecServiceGithubOutput { +func (o AppSpecServiceAlertArrayOutput) ToAppSpecServiceAlertArrayOutput() AppSpecServiceAlertArrayOutput { return o } -func (o AppSpecServiceGithubOutput) ToAppSpecServiceGithubOutputWithContext(ctx context.Context) AppSpecServiceGithubOutput { +func (o AppSpecServiceAlertArrayOutput) ToAppSpecServiceAlertArrayOutputWithContext(ctx context.Context) AppSpecServiceAlertArrayOutput { return o } -func (o AppSpecServiceGithubOutput) ToAppSpecServiceGithubPtrOutput() AppSpecServiceGithubPtrOutput { - return o.ToAppSpecServiceGithubPtrOutputWithContext(context.Background()) -} - -func (o AppSpecServiceGithubOutput) ToAppSpecServiceGithubPtrOutputWithContext(ctx context.Context) AppSpecServiceGithubPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v AppSpecServiceGithub) *AppSpecServiceGithub { - return &v - }).(AppSpecServiceGithubPtrOutput) -} - -// The name of the branch to use. -func (o AppSpecServiceGithubOutput) Branch() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecServiceGithub) *string { return v.Branch }).(pulumi.StringPtrOutput) -} - -// Whether to automatically deploy new commits made to the repo. -func (o AppSpecServiceGithubOutput) DeployOnPush() pulumi.BoolPtrOutput { - return o.ApplyT(func(v AppSpecServiceGithub) *bool { return v.DeployOnPush }).(pulumi.BoolPtrOutput) -} - -// The name of the repo in the format `owner/repo`. -func (o AppSpecServiceGithubOutput) Repo() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecServiceGithub) *string { return v.Repo }).(pulumi.StringPtrOutput) -} - -type AppSpecServiceGithubPtrOutput struct{ *pulumi.OutputState } - -func (AppSpecServiceGithubPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**AppSpecServiceGithub)(nil)).Elem() -} - -func (o AppSpecServiceGithubPtrOutput) ToAppSpecServiceGithubPtrOutput() AppSpecServiceGithubPtrOutput { - return o -} - -func (o AppSpecServiceGithubPtrOutput) ToAppSpecServiceGithubPtrOutputWithContext(ctx context.Context) AppSpecServiceGithubPtrOutput { - return o -} - -func (o AppSpecServiceGithubPtrOutput) Elem() AppSpecServiceGithubOutput { - return o.ApplyT(func(v *AppSpecServiceGithub) AppSpecServiceGithub { - if v != nil { - return *v - } - var ret AppSpecServiceGithub - return ret - }).(AppSpecServiceGithubOutput) -} - -// The name of the branch to use. -func (o AppSpecServiceGithubPtrOutput) Branch() pulumi.StringPtrOutput { - return o.ApplyT(func(v *AppSpecServiceGithub) *string { - if v == nil { - return nil - } - return v.Branch - }).(pulumi.StringPtrOutput) -} - -// Whether to automatically deploy new commits made to the repo. -func (o AppSpecServiceGithubPtrOutput) DeployOnPush() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *AppSpecServiceGithub) *bool { - if v == nil { - return nil - } - return v.DeployOnPush - }).(pulumi.BoolPtrOutput) -} - -// The name of the repo in the format `owner/repo`. -func (o AppSpecServiceGithubPtrOutput) Repo() pulumi.StringPtrOutput { - return o.ApplyT(func(v *AppSpecServiceGithub) *string { - if v == nil { - return nil - } - return v.Repo - }).(pulumi.StringPtrOutput) +func (o AppSpecServiceAlertArrayOutput) Index(i pulumi.IntInput) AppSpecServiceAlertOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) AppSpecServiceAlert { + return vs[0].([]AppSpecServiceAlert)[vs[1].(int)] + }).(AppSpecServiceAlertOutput) } -type AppSpecServiceGitlab struct { - // The name of the branch to use. - Branch *string `pulumi:"branch"` - // Whether to automatically deploy new commits made to the repo. - DeployOnPush *bool `pulumi:"deployOnPush"` - // The name of the repo in the format `owner/repo`. - Repo *string `pulumi:"repo"` +type AppSpecServiceCors struct { + // Whether browsers should expose the response to the client-side JavaScript code when the request's credentials mode is `include`. This configures the `Access-Control-Allow-Credentials` header. + AllowCredentials *bool `pulumi:"allowCredentials"` + // The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + AllowHeaders []string `pulumi:"allowHeaders"` + // The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + AllowMethods []string `pulumi:"allowMethods"` + // The `Access-Control-Allow-Origin` can be + AllowOrigins *AppSpecServiceCorsAllowOrigins `pulumi:"allowOrigins"` + // The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + ExposeHeaders []string `pulumi:"exposeHeaders"` + // An optional duration specifying how long browsers can cache the results of a preflight request. This configures the Access-Control-Max-Age header. Example: `5h30m`. + MaxAge *string `pulumi:"maxAge"` } -// AppSpecServiceGitlabInput is an input type that accepts AppSpecServiceGitlabArgs and AppSpecServiceGitlabOutput values. -// You can construct a concrete instance of `AppSpecServiceGitlabInput` via: +// AppSpecServiceCorsInput is an input type that accepts AppSpecServiceCorsArgs and AppSpecServiceCorsOutput values. +// You can construct a concrete instance of `AppSpecServiceCorsInput` via: // -// AppSpecServiceGitlabArgs{...} -type AppSpecServiceGitlabInput interface { +// AppSpecServiceCorsArgs{...} +type AppSpecServiceCorsInput interface { pulumi.Input - ToAppSpecServiceGitlabOutput() AppSpecServiceGitlabOutput - ToAppSpecServiceGitlabOutputWithContext(context.Context) AppSpecServiceGitlabOutput + ToAppSpecServiceCorsOutput() AppSpecServiceCorsOutput + ToAppSpecServiceCorsOutputWithContext(context.Context) AppSpecServiceCorsOutput } -type AppSpecServiceGitlabArgs struct { - // The name of the branch to use. - Branch pulumi.StringPtrInput `pulumi:"branch"` - // Whether to automatically deploy new commits made to the repo. - DeployOnPush pulumi.BoolPtrInput `pulumi:"deployOnPush"` - // The name of the repo in the format `owner/repo`. - Repo pulumi.StringPtrInput `pulumi:"repo"` +type AppSpecServiceCorsArgs struct { + // Whether browsers should expose the response to the client-side JavaScript code when the request's credentials mode is `include`. This configures the `Access-Control-Allow-Credentials` header. + AllowCredentials pulumi.BoolPtrInput `pulumi:"allowCredentials"` + // The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + AllowHeaders pulumi.StringArrayInput `pulumi:"allowHeaders"` + // The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + AllowMethods pulumi.StringArrayInput `pulumi:"allowMethods"` + // The `Access-Control-Allow-Origin` can be + AllowOrigins AppSpecServiceCorsAllowOriginsPtrInput `pulumi:"allowOrigins"` + // The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + ExposeHeaders pulumi.StringArrayInput `pulumi:"exposeHeaders"` + // An optional duration specifying how long browsers can cache the results of a preflight request. This configures the Access-Control-Max-Age header. Example: `5h30m`. + MaxAge pulumi.StringPtrInput `pulumi:"maxAge"` } -func (AppSpecServiceGitlabArgs) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecServiceGitlab)(nil)).Elem() +func (AppSpecServiceCorsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecServiceCors)(nil)).Elem() } -func (i AppSpecServiceGitlabArgs) ToAppSpecServiceGitlabOutput() AppSpecServiceGitlabOutput { - return i.ToAppSpecServiceGitlabOutputWithContext(context.Background()) +func (i AppSpecServiceCorsArgs) ToAppSpecServiceCorsOutput() AppSpecServiceCorsOutput { + return i.ToAppSpecServiceCorsOutputWithContext(context.Background()) } -func (i AppSpecServiceGitlabArgs) ToAppSpecServiceGitlabOutputWithContext(ctx context.Context) AppSpecServiceGitlabOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceGitlabOutput) +func (i AppSpecServiceCorsArgs) ToAppSpecServiceCorsOutputWithContext(ctx context.Context) AppSpecServiceCorsOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceCorsOutput) } -func (i AppSpecServiceGitlabArgs) ToAppSpecServiceGitlabPtrOutput() AppSpecServiceGitlabPtrOutput { - return i.ToAppSpecServiceGitlabPtrOutputWithContext(context.Background()) +func (i AppSpecServiceCorsArgs) ToAppSpecServiceCorsPtrOutput() AppSpecServiceCorsPtrOutput { + return i.ToAppSpecServiceCorsPtrOutputWithContext(context.Background()) } -func (i AppSpecServiceGitlabArgs) ToAppSpecServiceGitlabPtrOutputWithContext(ctx context.Context) AppSpecServiceGitlabPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceGitlabOutput).ToAppSpecServiceGitlabPtrOutputWithContext(ctx) +func (i AppSpecServiceCorsArgs) ToAppSpecServiceCorsPtrOutputWithContext(ctx context.Context) AppSpecServiceCorsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceCorsOutput).ToAppSpecServiceCorsPtrOutputWithContext(ctx) } -// AppSpecServiceGitlabPtrInput is an input type that accepts AppSpecServiceGitlabArgs, AppSpecServiceGitlabPtr and AppSpecServiceGitlabPtrOutput values. -// You can construct a concrete instance of `AppSpecServiceGitlabPtrInput` via: +// AppSpecServiceCorsPtrInput is an input type that accepts AppSpecServiceCorsArgs, AppSpecServiceCorsPtr and AppSpecServiceCorsPtrOutput values. +// You can construct a concrete instance of `AppSpecServiceCorsPtrInput` via: // -// AppSpecServiceGitlabArgs{...} +// AppSpecServiceCorsArgs{...} // // or: // // nil -type AppSpecServiceGitlabPtrInput interface { +type AppSpecServiceCorsPtrInput interface { pulumi.Input - ToAppSpecServiceGitlabPtrOutput() AppSpecServiceGitlabPtrOutput - ToAppSpecServiceGitlabPtrOutputWithContext(context.Context) AppSpecServiceGitlabPtrOutput + ToAppSpecServiceCorsPtrOutput() AppSpecServiceCorsPtrOutput + ToAppSpecServiceCorsPtrOutputWithContext(context.Context) AppSpecServiceCorsPtrOutput } -type appSpecServiceGitlabPtrType AppSpecServiceGitlabArgs +type appSpecServiceCorsPtrType AppSpecServiceCorsArgs -func AppSpecServiceGitlabPtr(v *AppSpecServiceGitlabArgs) AppSpecServiceGitlabPtrInput { - return (*appSpecServiceGitlabPtrType)(v) +func AppSpecServiceCorsPtr(v *AppSpecServiceCorsArgs) AppSpecServiceCorsPtrInput { + return (*appSpecServiceCorsPtrType)(v) } -func (*appSpecServiceGitlabPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**AppSpecServiceGitlab)(nil)).Elem() +func (*appSpecServiceCorsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecServiceCors)(nil)).Elem() } -func (i *appSpecServiceGitlabPtrType) ToAppSpecServiceGitlabPtrOutput() AppSpecServiceGitlabPtrOutput { - return i.ToAppSpecServiceGitlabPtrOutputWithContext(context.Background()) +func (i *appSpecServiceCorsPtrType) ToAppSpecServiceCorsPtrOutput() AppSpecServiceCorsPtrOutput { + return i.ToAppSpecServiceCorsPtrOutputWithContext(context.Background()) } -func (i *appSpecServiceGitlabPtrType) ToAppSpecServiceGitlabPtrOutputWithContext(ctx context.Context) AppSpecServiceGitlabPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceGitlabPtrOutput) +func (i *appSpecServiceCorsPtrType) ToAppSpecServiceCorsPtrOutputWithContext(ctx context.Context) AppSpecServiceCorsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceCorsPtrOutput) } -type AppSpecServiceGitlabOutput struct{ *pulumi.OutputState } +type AppSpecServiceCorsOutput struct{ *pulumi.OutputState } -func (AppSpecServiceGitlabOutput) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecServiceGitlab)(nil)).Elem() +func (AppSpecServiceCorsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecServiceCors)(nil)).Elem() } -func (o AppSpecServiceGitlabOutput) ToAppSpecServiceGitlabOutput() AppSpecServiceGitlabOutput { +func (o AppSpecServiceCorsOutput) ToAppSpecServiceCorsOutput() AppSpecServiceCorsOutput { return o } -func (o AppSpecServiceGitlabOutput) ToAppSpecServiceGitlabOutputWithContext(ctx context.Context) AppSpecServiceGitlabOutput { +func (o AppSpecServiceCorsOutput) ToAppSpecServiceCorsOutputWithContext(ctx context.Context) AppSpecServiceCorsOutput { return o } -func (o AppSpecServiceGitlabOutput) ToAppSpecServiceGitlabPtrOutput() AppSpecServiceGitlabPtrOutput { - return o.ToAppSpecServiceGitlabPtrOutputWithContext(context.Background()) +func (o AppSpecServiceCorsOutput) ToAppSpecServiceCorsPtrOutput() AppSpecServiceCorsPtrOutput { + return o.ToAppSpecServiceCorsPtrOutputWithContext(context.Background()) } -func (o AppSpecServiceGitlabOutput) ToAppSpecServiceGitlabPtrOutputWithContext(ctx context.Context) AppSpecServiceGitlabPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v AppSpecServiceGitlab) *AppSpecServiceGitlab { +func (o AppSpecServiceCorsOutput) ToAppSpecServiceCorsPtrOutputWithContext(ctx context.Context) AppSpecServiceCorsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AppSpecServiceCors) *AppSpecServiceCors { return &v - }).(AppSpecServiceGitlabPtrOutput) + }).(AppSpecServiceCorsPtrOutput) } -// The name of the branch to use. -func (o AppSpecServiceGitlabOutput) Branch() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecServiceGitlab) *string { return v.Branch }).(pulumi.StringPtrOutput) +// Whether browsers should expose the response to the client-side JavaScript code when the request's credentials mode is `include`. This configures the `Access-Control-Allow-Credentials` header. +func (o AppSpecServiceCorsOutput) AllowCredentials() pulumi.BoolPtrOutput { + return o.ApplyT(func(v AppSpecServiceCors) *bool { return v.AllowCredentials }).(pulumi.BoolPtrOutput) } -// Whether to automatically deploy new commits made to the repo. -func (o AppSpecServiceGitlabOutput) DeployOnPush() pulumi.BoolPtrOutput { - return o.ApplyT(func(v AppSpecServiceGitlab) *bool { return v.DeployOnPush }).(pulumi.BoolPtrOutput) +// The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. +func (o AppSpecServiceCorsOutput) AllowHeaders() pulumi.StringArrayOutput { + return o.ApplyT(func(v AppSpecServiceCors) []string { return v.AllowHeaders }).(pulumi.StringArrayOutput) } -// The name of the repo in the format `owner/repo`. -func (o AppSpecServiceGitlabOutput) Repo() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecServiceGitlab) *string { return v.Repo }).(pulumi.StringPtrOutput) +// The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. +func (o AppSpecServiceCorsOutput) AllowMethods() pulumi.StringArrayOutput { + return o.ApplyT(func(v AppSpecServiceCors) []string { return v.AllowMethods }).(pulumi.StringArrayOutput) } -type AppSpecServiceGitlabPtrOutput struct{ *pulumi.OutputState } +// The `Access-Control-Allow-Origin` can be +func (o AppSpecServiceCorsOutput) AllowOrigins() AppSpecServiceCorsAllowOriginsPtrOutput { + return o.ApplyT(func(v AppSpecServiceCors) *AppSpecServiceCorsAllowOrigins { return v.AllowOrigins }).(AppSpecServiceCorsAllowOriginsPtrOutput) +} -func (AppSpecServiceGitlabPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**AppSpecServiceGitlab)(nil)).Elem() +// The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. +func (o AppSpecServiceCorsOutput) ExposeHeaders() pulumi.StringArrayOutput { + return o.ApplyT(func(v AppSpecServiceCors) []string { return v.ExposeHeaders }).(pulumi.StringArrayOutput) } -func (o AppSpecServiceGitlabPtrOutput) ToAppSpecServiceGitlabPtrOutput() AppSpecServiceGitlabPtrOutput { +// An optional duration specifying how long browsers can cache the results of a preflight request. This configures the Access-Control-Max-Age header. Example: `5h30m`. +func (o AppSpecServiceCorsOutput) MaxAge() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecServiceCors) *string { return v.MaxAge }).(pulumi.StringPtrOutput) +} + +type AppSpecServiceCorsPtrOutput struct{ *pulumi.OutputState } + +func (AppSpecServiceCorsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecServiceCors)(nil)).Elem() +} + +func (o AppSpecServiceCorsPtrOutput) ToAppSpecServiceCorsPtrOutput() AppSpecServiceCorsPtrOutput { return o } -func (o AppSpecServiceGitlabPtrOutput) ToAppSpecServiceGitlabPtrOutputWithContext(ctx context.Context) AppSpecServiceGitlabPtrOutput { +func (o AppSpecServiceCorsPtrOutput) ToAppSpecServiceCorsPtrOutputWithContext(ctx context.Context) AppSpecServiceCorsPtrOutput { return o } -func (o AppSpecServiceGitlabPtrOutput) Elem() AppSpecServiceGitlabOutput { - return o.ApplyT(func(v *AppSpecServiceGitlab) AppSpecServiceGitlab { +func (o AppSpecServiceCorsPtrOutput) Elem() AppSpecServiceCorsOutput { + return o.ApplyT(func(v *AppSpecServiceCors) AppSpecServiceCors { if v != nil { return *v } - var ret AppSpecServiceGitlab + var ret AppSpecServiceCors return ret - }).(AppSpecServiceGitlabOutput) + }).(AppSpecServiceCorsOutput) } -// The name of the branch to use. -func (o AppSpecServiceGitlabPtrOutput) Branch() pulumi.StringPtrOutput { - return o.ApplyT(func(v *AppSpecServiceGitlab) *string { +// Whether browsers should expose the response to the client-side JavaScript code when the request's credentials mode is `include`. This configures the `Access-Control-Allow-Credentials` header. +func (o AppSpecServiceCorsPtrOutput) AllowCredentials() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *AppSpecServiceCors) *bool { if v == nil { return nil } - return v.Branch - }).(pulumi.StringPtrOutput) + return v.AllowCredentials + }).(pulumi.BoolPtrOutput) } -// Whether to automatically deploy new commits made to the repo. -func (o AppSpecServiceGitlabPtrOutput) DeployOnPush() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *AppSpecServiceGitlab) *bool { +// The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. +func (o AppSpecServiceCorsPtrOutput) AllowHeaders() pulumi.StringArrayOutput { + return o.ApplyT(func(v *AppSpecServiceCors) []string { if v == nil { return nil } - return v.DeployOnPush - }).(pulumi.BoolPtrOutput) + return v.AllowHeaders + }).(pulumi.StringArrayOutput) } -// The name of the repo in the format `owner/repo`. -func (o AppSpecServiceGitlabPtrOutput) Repo() pulumi.StringPtrOutput { - return o.ApplyT(func(v *AppSpecServiceGitlab) *string { +// The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. +func (o AppSpecServiceCorsPtrOutput) AllowMethods() pulumi.StringArrayOutput { + return o.ApplyT(func(v *AppSpecServiceCors) []string { if v == nil { return nil } - return v.Repo + return v.AllowMethods + }).(pulumi.StringArrayOutput) +} + +// The `Access-Control-Allow-Origin` can be +func (o AppSpecServiceCorsPtrOutput) AllowOrigins() AppSpecServiceCorsAllowOriginsPtrOutput { + return o.ApplyT(func(v *AppSpecServiceCors) *AppSpecServiceCorsAllowOrigins { + if v == nil { + return nil + } + return v.AllowOrigins + }).(AppSpecServiceCorsAllowOriginsPtrOutput) +} + +// The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. +func (o AppSpecServiceCorsPtrOutput) ExposeHeaders() pulumi.StringArrayOutput { + return o.ApplyT(func(v *AppSpecServiceCors) []string { + if v == nil { + return nil + } + return v.ExposeHeaders + }).(pulumi.StringArrayOutput) +} + +// An optional duration specifying how long browsers can cache the results of a preflight request. This configures the Access-Control-Max-Age header. Example: `5h30m`. +func (o AppSpecServiceCorsPtrOutput) MaxAge() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecServiceCors) *string { + if v == nil { + return nil + } + return v.MaxAge }).(pulumi.StringPtrOutput) } -type AppSpecServiceHealthCheck struct { - // The number of failed health checks before considered unhealthy. - FailureThreshold *int `pulumi:"failureThreshold"` - // The route path used for the HTTP health check ping. - HttpPath *string `pulumi:"httpPath"` - // The number of seconds to wait before beginning health checks. - InitialDelaySeconds *int `pulumi:"initialDelaySeconds"` - // The number of seconds to wait between health checks. - PeriodSeconds *int `pulumi:"periodSeconds"` - // The number of successful health checks before considered healthy. - SuccessThreshold *int `pulumi:"successThreshold"` - // The number of seconds after which the check times out. - TimeoutSeconds *int `pulumi:"timeoutSeconds"` +type AppSpecServiceCorsAllowOrigins struct { + // The `Access-Control-Allow-Origin` header will be set to the client's origin only if the client's origin exactly matches the value you provide. + Exact *string `pulumi:"exact"` + // The `Access-Control-Allow-Origin` header will be set to the client's origin if the beginning of the client's origin matches the value you provide. + Prefix *string `pulumi:"prefix"` + // The `Access-Control-Allow-Origin` header will be set to the client's origin if the client’s origin matches the regex you provide, in [RE2 style syntax](https://github.com/google/re2/wiki/Syntax). + Regex *string `pulumi:"regex"` } -// AppSpecServiceHealthCheckInput is an input type that accepts AppSpecServiceHealthCheckArgs and AppSpecServiceHealthCheckOutput values. -// You can construct a concrete instance of `AppSpecServiceHealthCheckInput` via: +// AppSpecServiceCorsAllowOriginsInput is an input type that accepts AppSpecServiceCorsAllowOriginsArgs and AppSpecServiceCorsAllowOriginsOutput values. +// You can construct a concrete instance of `AppSpecServiceCorsAllowOriginsInput` via: // -// AppSpecServiceHealthCheckArgs{...} -type AppSpecServiceHealthCheckInput interface { +// AppSpecServiceCorsAllowOriginsArgs{...} +type AppSpecServiceCorsAllowOriginsInput interface { pulumi.Input - ToAppSpecServiceHealthCheckOutput() AppSpecServiceHealthCheckOutput - ToAppSpecServiceHealthCheckOutputWithContext(context.Context) AppSpecServiceHealthCheckOutput + ToAppSpecServiceCorsAllowOriginsOutput() AppSpecServiceCorsAllowOriginsOutput + ToAppSpecServiceCorsAllowOriginsOutputWithContext(context.Context) AppSpecServiceCorsAllowOriginsOutput } -type AppSpecServiceHealthCheckArgs struct { - // The number of failed health checks before considered unhealthy. - FailureThreshold pulumi.IntPtrInput `pulumi:"failureThreshold"` - // The route path used for the HTTP health check ping. - HttpPath pulumi.StringPtrInput `pulumi:"httpPath"` - // The number of seconds to wait before beginning health checks. - InitialDelaySeconds pulumi.IntPtrInput `pulumi:"initialDelaySeconds"` - // The number of seconds to wait between health checks. - PeriodSeconds pulumi.IntPtrInput `pulumi:"periodSeconds"` - // The number of successful health checks before considered healthy. - SuccessThreshold pulumi.IntPtrInput `pulumi:"successThreshold"` - // The number of seconds after which the check times out. - TimeoutSeconds pulumi.IntPtrInput `pulumi:"timeoutSeconds"` +type AppSpecServiceCorsAllowOriginsArgs struct { + // The `Access-Control-Allow-Origin` header will be set to the client's origin only if the client's origin exactly matches the value you provide. + Exact pulumi.StringPtrInput `pulumi:"exact"` + // The `Access-Control-Allow-Origin` header will be set to the client's origin if the beginning of the client's origin matches the value you provide. + Prefix pulumi.StringPtrInput `pulumi:"prefix"` + // The `Access-Control-Allow-Origin` header will be set to the client's origin if the client’s origin matches the regex you provide, in [RE2 style syntax](https://github.com/google/re2/wiki/Syntax). + Regex pulumi.StringPtrInput `pulumi:"regex"` } -func (AppSpecServiceHealthCheckArgs) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecServiceHealthCheck)(nil)).Elem() +func (AppSpecServiceCorsAllowOriginsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecServiceCorsAllowOrigins)(nil)).Elem() } -func (i AppSpecServiceHealthCheckArgs) ToAppSpecServiceHealthCheckOutput() AppSpecServiceHealthCheckOutput { - return i.ToAppSpecServiceHealthCheckOutputWithContext(context.Background()) +func (i AppSpecServiceCorsAllowOriginsArgs) ToAppSpecServiceCorsAllowOriginsOutput() AppSpecServiceCorsAllowOriginsOutput { + return i.ToAppSpecServiceCorsAllowOriginsOutputWithContext(context.Background()) } -func (i AppSpecServiceHealthCheckArgs) ToAppSpecServiceHealthCheckOutputWithContext(ctx context.Context) AppSpecServiceHealthCheckOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceHealthCheckOutput) +func (i AppSpecServiceCorsAllowOriginsArgs) ToAppSpecServiceCorsAllowOriginsOutputWithContext(ctx context.Context) AppSpecServiceCorsAllowOriginsOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceCorsAllowOriginsOutput) } -func (i AppSpecServiceHealthCheckArgs) ToAppSpecServiceHealthCheckPtrOutput() AppSpecServiceHealthCheckPtrOutput { - return i.ToAppSpecServiceHealthCheckPtrOutputWithContext(context.Background()) +func (i AppSpecServiceCorsAllowOriginsArgs) ToAppSpecServiceCorsAllowOriginsPtrOutput() AppSpecServiceCorsAllowOriginsPtrOutput { + return i.ToAppSpecServiceCorsAllowOriginsPtrOutputWithContext(context.Background()) } -func (i AppSpecServiceHealthCheckArgs) ToAppSpecServiceHealthCheckPtrOutputWithContext(ctx context.Context) AppSpecServiceHealthCheckPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceHealthCheckOutput).ToAppSpecServiceHealthCheckPtrOutputWithContext(ctx) +func (i AppSpecServiceCorsAllowOriginsArgs) ToAppSpecServiceCorsAllowOriginsPtrOutputWithContext(ctx context.Context) AppSpecServiceCorsAllowOriginsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceCorsAllowOriginsOutput).ToAppSpecServiceCorsAllowOriginsPtrOutputWithContext(ctx) } -// AppSpecServiceHealthCheckPtrInput is an input type that accepts AppSpecServiceHealthCheckArgs, AppSpecServiceHealthCheckPtr and AppSpecServiceHealthCheckPtrOutput values. -// You can construct a concrete instance of `AppSpecServiceHealthCheckPtrInput` via: +// AppSpecServiceCorsAllowOriginsPtrInput is an input type that accepts AppSpecServiceCorsAllowOriginsArgs, AppSpecServiceCorsAllowOriginsPtr and AppSpecServiceCorsAllowOriginsPtrOutput values. +// You can construct a concrete instance of `AppSpecServiceCorsAllowOriginsPtrInput` via: // -// AppSpecServiceHealthCheckArgs{...} +// AppSpecServiceCorsAllowOriginsArgs{...} // // or: // // nil -type AppSpecServiceHealthCheckPtrInput interface { +type AppSpecServiceCorsAllowOriginsPtrInput interface { pulumi.Input - ToAppSpecServiceHealthCheckPtrOutput() AppSpecServiceHealthCheckPtrOutput - ToAppSpecServiceHealthCheckPtrOutputWithContext(context.Context) AppSpecServiceHealthCheckPtrOutput + ToAppSpecServiceCorsAllowOriginsPtrOutput() AppSpecServiceCorsAllowOriginsPtrOutput + ToAppSpecServiceCorsAllowOriginsPtrOutputWithContext(context.Context) AppSpecServiceCorsAllowOriginsPtrOutput } -type appSpecServiceHealthCheckPtrType AppSpecServiceHealthCheckArgs +type appSpecServiceCorsAllowOriginsPtrType AppSpecServiceCorsAllowOriginsArgs -func AppSpecServiceHealthCheckPtr(v *AppSpecServiceHealthCheckArgs) AppSpecServiceHealthCheckPtrInput { - return (*appSpecServiceHealthCheckPtrType)(v) +func AppSpecServiceCorsAllowOriginsPtr(v *AppSpecServiceCorsAllowOriginsArgs) AppSpecServiceCorsAllowOriginsPtrInput { + return (*appSpecServiceCorsAllowOriginsPtrType)(v) } -func (*appSpecServiceHealthCheckPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**AppSpecServiceHealthCheck)(nil)).Elem() +func (*appSpecServiceCorsAllowOriginsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecServiceCorsAllowOrigins)(nil)).Elem() } -func (i *appSpecServiceHealthCheckPtrType) ToAppSpecServiceHealthCheckPtrOutput() AppSpecServiceHealthCheckPtrOutput { - return i.ToAppSpecServiceHealthCheckPtrOutputWithContext(context.Background()) +func (i *appSpecServiceCorsAllowOriginsPtrType) ToAppSpecServiceCorsAllowOriginsPtrOutput() AppSpecServiceCorsAllowOriginsPtrOutput { + return i.ToAppSpecServiceCorsAllowOriginsPtrOutputWithContext(context.Background()) } -func (i *appSpecServiceHealthCheckPtrType) ToAppSpecServiceHealthCheckPtrOutputWithContext(ctx context.Context) AppSpecServiceHealthCheckPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceHealthCheckPtrOutput) +func (i *appSpecServiceCorsAllowOriginsPtrType) ToAppSpecServiceCorsAllowOriginsPtrOutputWithContext(ctx context.Context) AppSpecServiceCorsAllowOriginsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceCorsAllowOriginsPtrOutput) } -type AppSpecServiceHealthCheckOutput struct{ *pulumi.OutputState } +type AppSpecServiceCorsAllowOriginsOutput struct{ *pulumi.OutputState } -func (AppSpecServiceHealthCheckOutput) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecServiceHealthCheck)(nil)).Elem() +func (AppSpecServiceCorsAllowOriginsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecServiceCorsAllowOrigins)(nil)).Elem() } -func (o AppSpecServiceHealthCheckOutput) ToAppSpecServiceHealthCheckOutput() AppSpecServiceHealthCheckOutput { +func (o AppSpecServiceCorsAllowOriginsOutput) ToAppSpecServiceCorsAllowOriginsOutput() AppSpecServiceCorsAllowOriginsOutput { return o } -func (o AppSpecServiceHealthCheckOutput) ToAppSpecServiceHealthCheckOutputWithContext(ctx context.Context) AppSpecServiceHealthCheckOutput { +func (o AppSpecServiceCorsAllowOriginsOutput) ToAppSpecServiceCorsAllowOriginsOutputWithContext(ctx context.Context) AppSpecServiceCorsAllowOriginsOutput { return o } -func (o AppSpecServiceHealthCheckOutput) ToAppSpecServiceHealthCheckPtrOutput() AppSpecServiceHealthCheckPtrOutput { - return o.ToAppSpecServiceHealthCheckPtrOutputWithContext(context.Background()) +func (o AppSpecServiceCorsAllowOriginsOutput) ToAppSpecServiceCorsAllowOriginsPtrOutput() AppSpecServiceCorsAllowOriginsPtrOutput { + return o.ToAppSpecServiceCorsAllowOriginsPtrOutputWithContext(context.Background()) } -func (o AppSpecServiceHealthCheckOutput) ToAppSpecServiceHealthCheckPtrOutputWithContext(ctx context.Context) AppSpecServiceHealthCheckPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v AppSpecServiceHealthCheck) *AppSpecServiceHealthCheck { +func (o AppSpecServiceCorsAllowOriginsOutput) ToAppSpecServiceCorsAllowOriginsPtrOutputWithContext(ctx context.Context) AppSpecServiceCorsAllowOriginsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AppSpecServiceCorsAllowOrigins) *AppSpecServiceCorsAllowOrigins { return &v - }).(AppSpecServiceHealthCheckPtrOutput) -} - -// The number of failed health checks before considered unhealthy. -func (o AppSpecServiceHealthCheckOutput) FailureThreshold() pulumi.IntPtrOutput { - return o.ApplyT(func(v AppSpecServiceHealthCheck) *int { return v.FailureThreshold }).(pulumi.IntPtrOutput) -} - -// The route path used for the HTTP health check ping. -func (o AppSpecServiceHealthCheckOutput) HttpPath() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecServiceHealthCheck) *string { return v.HttpPath }).(pulumi.StringPtrOutput) -} - -// The number of seconds to wait before beginning health checks. -func (o AppSpecServiceHealthCheckOutput) InitialDelaySeconds() pulumi.IntPtrOutput { - return o.ApplyT(func(v AppSpecServiceHealthCheck) *int { return v.InitialDelaySeconds }).(pulumi.IntPtrOutput) + }).(AppSpecServiceCorsAllowOriginsPtrOutput) } -// The number of seconds to wait between health checks. -func (o AppSpecServiceHealthCheckOutput) PeriodSeconds() pulumi.IntPtrOutput { - return o.ApplyT(func(v AppSpecServiceHealthCheck) *int { return v.PeriodSeconds }).(pulumi.IntPtrOutput) +// The `Access-Control-Allow-Origin` header will be set to the client's origin only if the client's origin exactly matches the value you provide. +func (o AppSpecServiceCorsAllowOriginsOutput) Exact() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecServiceCorsAllowOrigins) *string { return v.Exact }).(pulumi.StringPtrOutput) } -// The number of successful health checks before considered healthy. -func (o AppSpecServiceHealthCheckOutput) SuccessThreshold() pulumi.IntPtrOutput { - return o.ApplyT(func(v AppSpecServiceHealthCheck) *int { return v.SuccessThreshold }).(pulumi.IntPtrOutput) +// The `Access-Control-Allow-Origin` header will be set to the client's origin if the beginning of the client's origin matches the value you provide. +func (o AppSpecServiceCorsAllowOriginsOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecServiceCorsAllowOrigins) *string { return v.Prefix }).(pulumi.StringPtrOutput) } -// The number of seconds after which the check times out. -func (o AppSpecServiceHealthCheckOutput) TimeoutSeconds() pulumi.IntPtrOutput { - return o.ApplyT(func(v AppSpecServiceHealthCheck) *int { return v.TimeoutSeconds }).(pulumi.IntPtrOutput) +// The `Access-Control-Allow-Origin` header will be set to the client's origin if the client’s origin matches the regex you provide, in [RE2 style syntax](https://github.com/google/re2/wiki/Syntax). +func (o AppSpecServiceCorsAllowOriginsOutput) Regex() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecServiceCorsAllowOrigins) *string { return v.Regex }).(pulumi.StringPtrOutput) } -type AppSpecServiceHealthCheckPtrOutput struct{ *pulumi.OutputState } +type AppSpecServiceCorsAllowOriginsPtrOutput struct{ *pulumi.OutputState } -func (AppSpecServiceHealthCheckPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**AppSpecServiceHealthCheck)(nil)).Elem() +func (AppSpecServiceCorsAllowOriginsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecServiceCorsAllowOrigins)(nil)).Elem() } -func (o AppSpecServiceHealthCheckPtrOutput) ToAppSpecServiceHealthCheckPtrOutput() AppSpecServiceHealthCheckPtrOutput { +func (o AppSpecServiceCorsAllowOriginsPtrOutput) ToAppSpecServiceCorsAllowOriginsPtrOutput() AppSpecServiceCorsAllowOriginsPtrOutput { return o } -func (o AppSpecServiceHealthCheckPtrOutput) ToAppSpecServiceHealthCheckPtrOutputWithContext(ctx context.Context) AppSpecServiceHealthCheckPtrOutput { +func (o AppSpecServiceCorsAllowOriginsPtrOutput) ToAppSpecServiceCorsAllowOriginsPtrOutputWithContext(ctx context.Context) AppSpecServiceCorsAllowOriginsPtrOutput { return o } -func (o AppSpecServiceHealthCheckPtrOutput) Elem() AppSpecServiceHealthCheckOutput { - return o.ApplyT(func(v *AppSpecServiceHealthCheck) AppSpecServiceHealthCheck { +func (o AppSpecServiceCorsAllowOriginsPtrOutput) Elem() AppSpecServiceCorsAllowOriginsOutput { + return o.ApplyT(func(v *AppSpecServiceCorsAllowOrigins) AppSpecServiceCorsAllowOrigins { if v != nil { return *v } - var ret AppSpecServiceHealthCheck + var ret AppSpecServiceCorsAllowOrigins return ret - }).(AppSpecServiceHealthCheckOutput) + }).(AppSpecServiceCorsAllowOriginsOutput) } -// The number of failed health checks before considered unhealthy. -func (o AppSpecServiceHealthCheckPtrOutput) FailureThreshold() pulumi.IntPtrOutput { - return o.ApplyT(func(v *AppSpecServiceHealthCheck) *int { +// The `Access-Control-Allow-Origin` header will be set to the client's origin only if the client's origin exactly matches the value you provide. +func (o AppSpecServiceCorsAllowOriginsPtrOutput) Exact() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecServiceCorsAllowOrigins) *string { if v == nil { return nil } - return v.FailureThreshold - }).(pulumi.IntPtrOutput) + return v.Exact + }).(pulumi.StringPtrOutput) } -// The route path used for the HTTP health check ping. -func (o AppSpecServiceHealthCheckPtrOutput) HttpPath() pulumi.StringPtrOutput { - return o.ApplyT(func(v *AppSpecServiceHealthCheck) *string { +// The `Access-Control-Allow-Origin` header will be set to the client's origin if the beginning of the client's origin matches the value you provide. +func (o AppSpecServiceCorsAllowOriginsPtrOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecServiceCorsAllowOrigins) *string { if v == nil { return nil } - return v.HttpPath + return v.Prefix }).(pulumi.StringPtrOutput) } -// The number of seconds to wait before beginning health checks. -func (o AppSpecServiceHealthCheckPtrOutput) InitialDelaySeconds() pulumi.IntPtrOutput { - return o.ApplyT(func(v *AppSpecServiceHealthCheck) *int { +// The `Access-Control-Allow-Origin` header will be set to the client's origin if the client’s origin matches the regex you provide, in [RE2 style syntax](https://github.com/google/re2/wiki/Syntax). +func (o AppSpecServiceCorsAllowOriginsPtrOutput) Regex() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecServiceCorsAllowOrigins) *string { if v == nil { return nil } - return v.InitialDelaySeconds - }).(pulumi.IntPtrOutput) + return v.Regex + }).(pulumi.StringPtrOutput) } -// The number of seconds to wait between health checks. -func (o AppSpecServiceHealthCheckPtrOutput) PeriodSeconds() pulumi.IntPtrOutput { - return o.ApplyT(func(v *AppSpecServiceHealthCheck) *int { - if v == nil { - return nil - } - return v.PeriodSeconds - }).(pulumi.IntPtrOutput) -} - -// The number of successful health checks before considered healthy. -func (o AppSpecServiceHealthCheckPtrOutput) SuccessThreshold() pulumi.IntPtrOutput { - return o.ApplyT(func(v *AppSpecServiceHealthCheck) *int { - if v == nil { - return nil - } - return v.SuccessThreshold - }).(pulumi.IntPtrOutput) -} - -// The number of seconds after which the check times out. -func (o AppSpecServiceHealthCheckPtrOutput) TimeoutSeconds() pulumi.IntPtrOutput { - return o.ApplyT(func(v *AppSpecServiceHealthCheck) *int { - if v == nil { - return nil - } - return v.TimeoutSeconds - }).(pulumi.IntPtrOutput) -} - -type AppSpecServiceImage struct { - // The registry name. Must be left empty for the `DOCR` registry type. Required for the `DOCKER_HUB` registry type. - Registry *string `pulumi:"registry"` - // The registry type. One of `DOCR` (DigitalOcean container registry) or `DOCKER_HUB`. - RegistryType string `pulumi:"registryType"` - // The repository name. - Repository string `pulumi:"repository"` - // The repository tag. Defaults to `latest` if not provided. - Tag *string `pulumi:"tag"` +type AppSpecServiceEnv struct { + // The name of the environment variable. + Key *string `pulumi:"key"` + // The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). + Scope *string `pulumi:"scope"` + // The type of the environment variable, `GENERAL` or `SECRET`. + Type *string `pulumi:"type"` + // The threshold for the type of the warning. + Value *string `pulumi:"value"` } -// AppSpecServiceImageInput is an input type that accepts AppSpecServiceImageArgs and AppSpecServiceImageOutput values. -// You can construct a concrete instance of `AppSpecServiceImageInput` via: +// AppSpecServiceEnvInput is an input type that accepts AppSpecServiceEnvArgs and AppSpecServiceEnvOutput values. +// You can construct a concrete instance of `AppSpecServiceEnvInput` via: // -// AppSpecServiceImageArgs{...} -type AppSpecServiceImageInput interface { +// AppSpecServiceEnvArgs{...} +type AppSpecServiceEnvInput interface { pulumi.Input - ToAppSpecServiceImageOutput() AppSpecServiceImageOutput - ToAppSpecServiceImageOutputWithContext(context.Context) AppSpecServiceImageOutput -} - -type AppSpecServiceImageArgs struct { - // The registry name. Must be left empty for the `DOCR` registry type. Required for the `DOCKER_HUB` registry type. - Registry pulumi.StringPtrInput `pulumi:"registry"` - // The registry type. One of `DOCR` (DigitalOcean container registry) or `DOCKER_HUB`. - RegistryType pulumi.StringInput `pulumi:"registryType"` - // The repository name. - Repository pulumi.StringInput `pulumi:"repository"` - // The repository tag. Defaults to `latest` if not provided. - Tag pulumi.StringPtrInput `pulumi:"tag"` -} - -func (AppSpecServiceImageArgs) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecServiceImage)(nil)).Elem() + ToAppSpecServiceEnvOutput() AppSpecServiceEnvOutput + ToAppSpecServiceEnvOutputWithContext(context.Context) AppSpecServiceEnvOutput } -func (i AppSpecServiceImageArgs) ToAppSpecServiceImageOutput() AppSpecServiceImageOutput { - return i.ToAppSpecServiceImageOutputWithContext(context.Background()) +type AppSpecServiceEnvArgs struct { + // The name of the environment variable. + Key pulumi.StringPtrInput `pulumi:"key"` + // The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). + Scope pulumi.StringPtrInput `pulumi:"scope"` + // The type of the environment variable, `GENERAL` or `SECRET`. + Type pulumi.StringPtrInput `pulumi:"type"` + // The threshold for the type of the warning. + Value pulumi.StringPtrInput `pulumi:"value"` } -func (i AppSpecServiceImageArgs) ToAppSpecServiceImageOutputWithContext(ctx context.Context) AppSpecServiceImageOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceImageOutput) +func (AppSpecServiceEnvArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecServiceEnv)(nil)).Elem() } -func (i AppSpecServiceImageArgs) ToAppSpecServiceImagePtrOutput() AppSpecServiceImagePtrOutput { - return i.ToAppSpecServiceImagePtrOutputWithContext(context.Background()) +func (i AppSpecServiceEnvArgs) ToAppSpecServiceEnvOutput() AppSpecServiceEnvOutput { + return i.ToAppSpecServiceEnvOutputWithContext(context.Background()) } -func (i AppSpecServiceImageArgs) ToAppSpecServiceImagePtrOutputWithContext(ctx context.Context) AppSpecServiceImagePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceImageOutput).ToAppSpecServiceImagePtrOutputWithContext(ctx) +func (i AppSpecServiceEnvArgs) ToAppSpecServiceEnvOutputWithContext(ctx context.Context) AppSpecServiceEnvOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceEnvOutput) } -// AppSpecServiceImagePtrInput is an input type that accepts AppSpecServiceImageArgs, AppSpecServiceImagePtr and AppSpecServiceImagePtrOutput values. -// You can construct a concrete instance of `AppSpecServiceImagePtrInput` via: -// -// AppSpecServiceImageArgs{...} -// -// or: +// AppSpecServiceEnvArrayInput is an input type that accepts AppSpecServiceEnvArray and AppSpecServiceEnvArrayOutput values. +// You can construct a concrete instance of `AppSpecServiceEnvArrayInput` via: // -// nil -type AppSpecServiceImagePtrInput interface { +// AppSpecServiceEnvArray{ AppSpecServiceEnvArgs{...} } +type AppSpecServiceEnvArrayInput interface { pulumi.Input - ToAppSpecServiceImagePtrOutput() AppSpecServiceImagePtrOutput - ToAppSpecServiceImagePtrOutputWithContext(context.Context) AppSpecServiceImagePtrOutput + ToAppSpecServiceEnvArrayOutput() AppSpecServiceEnvArrayOutput + ToAppSpecServiceEnvArrayOutputWithContext(context.Context) AppSpecServiceEnvArrayOutput } -type appSpecServiceImagePtrType AppSpecServiceImageArgs - -func AppSpecServiceImagePtr(v *AppSpecServiceImageArgs) AppSpecServiceImagePtrInput { - return (*appSpecServiceImagePtrType)(v) -} +type AppSpecServiceEnvArray []AppSpecServiceEnvInput -func (*appSpecServiceImagePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**AppSpecServiceImage)(nil)).Elem() +func (AppSpecServiceEnvArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]AppSpecServiceEnv)(nil)).Elem() } -func (i *appSpecServiceImagePtrType) ToAppSpecServiceImagePtrOutput() AppSpecServiceImagePtrOutput { - return i.ToAppSpecServiceImagePtrOutputWithContext(context.Background()) +func (i AppSpecServiceEnvArray) ToAppSpecServiceEnvArrayOutput() AppSpecServiceEnvArrayOutput { + return i.ToAppSpecServiceEnvArrayOutputWithContext(context.Background()) } -func (i *appSpecServiceImagePtrType) ToAppSpecServiceImagePtrOutputWithContext(ctx context.Context) AppSpecServiceImagePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceImagePtrOutput) +func (i AppSpecServiceEnvArray) ToAppSpecServiceEnvArrayOutputWithContext(ctx context.Context) AppSpecServiceEnvArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceEnvArrayOutput) } -type AppSpecServiceImageOutput struct{ *pulumi.OutputState } +type AppSpecServiceEnvOutput struct{ *pulumi.OutputState } -func (AppSpecServiceImageOutput) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecServiceImage)(nil)).Elem() +func (AppSpecServiceEnvOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecServiceEnv)(nil)).Elem() } -func (o AppSpecServiceImageOutput) ToAppSpecServiceImageOutput() AppSpecServiceImageOutput { +func (o AppSpecServiceEnvOutput) ToAppSpecServiceEnvOutput() AppSpecServiceEnvOutput { return o } -func (o AppSpecServiceImageOutput) ToAppSpecServiceImageOutputWithContext(ctx context.Context) AppSpecServiceImageOutput { +func (o AppSpecServiceEnvOutput) ToAppSpecServiceEnvOutputWithContext(ctx context.Context) AppSpecServiceEnvOutput { return o } -func (o AppSpecServiceImageOutput) ToAppSpecServiceImagePtrOutput() AppSpecServiceImagePtrOutput { - return o.ToAppSpecServiceImagePtrOutputWithContext(context.Background()) +// The name of the environment variable. +func (o AppSpecServiceEnvOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecServiceEnv) *string { return v.Key }).(pulumi.StringPtrOutput) } -func (o AppSpecServiceImageOutput) ToAppSpecServiceImagePtrOutputWithContext(ctx context.Context) AppSpecServiceImagePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v AppSpecServiceImage) *AppSpecServiceImage { - return &v - }).(AppSpecServiceImagePtrOutput) +// The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). +func (o AppSpecServiceEnvOutput) Scope() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecServiceEnv) *string { return v.Scope }).(pulumi.StringPtrOutput) } -// The registry name. Must be left empty for the `DOCR` registry type. Required for the `DOCKER_HUB` registry type. -func (o AppSpecServiceImageOutput) Registry() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecServiceImage) *string { return v.Registry }).(pulumi.StringPtrOutput) +// The type of the environment variable, `GENERAL` or `SECRET`. +func (o AppSpecServiceEnvOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecServiceEnv) *string { return v.Type }).(pulumi.StringPtrOutput) } -// The registry type. One of `DOCR` (DigitalOcean container registry) or `DOCKER_HUB`. -func (o AppSpecServiceImageOutput) RegistryType() pulumi.StringOutput { - return o.ApplyT(func(v AppSpecServiceImage) string { return v.RegistryType }).(pulumi.StringOutput) +// The threshold for the type of the warning. +func (o AppSpecServiceEnvOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecServiceEnv) *string { return v.Value }).(pulumi.StringPtrOutput) } -// The repository name. -func (o AppSpecServiceImageOutput) Repository() pulumi.StringOutput { - return o.ApplyT(func(v AppSpecServiceImage) string { return v.Repository }).(pulumi.StringOutput) -} +type AppSpecServiceEnvArrayOutput struct{ *pulumi.OutputState } -// The repository tag. Defaults to `latest` if not provided. -func (o AppSpecServiceImageOutput) Tag() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecServiceImage) *string { return v.Tag }).(pulumi.StringPtrOutput) +func (AppSpecServiceEnvArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]AppSpecServiceEnv)(nil)).Elem() } -type AppSpecServiceImagePtrOutput struct{ *pulumi.OutputState } - -func (AppSpecServiceImagePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**AppSpecServiceImage)(nil)).Elem() +func (o AppSpecServiceEnvArrayOutput) ToAppSpecServiceEnvArrayOutput() AppSpecServiceEnvArrayOutput { + return o } -func (o AppSpecServiceImagePtrOutput) ToAppSpecServiceImagePtrOutput() AppSpecServiceImagePtrOutput { +func (o AppSpecServiceEnvArrayOutput) ToAppSpecServiceEnvArrayOutputWithContext(ctx context.Context) AppSpecServiceEnvArrayOutput { return o } -func (o AppSpecServiceImagePtrOutput) ToAppSpecServiceImagePtrOutputWithContext(ctx context.Context) AppSpecServiceImagePtrOutput { - return o +func (o AppSpecServiceEnvArrayOutput) Index(i pulumi.IntInput) AppSpecServiceEnvOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) AppSpecServiceEnv { + return vs[0].([]AppSpecServiceEnv)[vs[1].(int)] + }).(AppSpecServiceEnvOutput) } -func (o AppSpecServiceImagePtrOutput) Elem() AppSpecServiceImageOutput { - return o.ApplyT(func(v *AppSpecServiceImage) AppSpecServiceImage { - if v != nil { - return *v - } - var ret AppSpecServiceImage - return ret - }).(AppSpecServiceImageOutput) +type AppSpecServiceGit struct { + // The name of the branch to use. + Branch *string `pulumi:"branch"` + // The clone URL of the repo. + RepoCloneUrl *string `pulumi:"repoCloneUrl"` } -// The registry name. Must be left empty for the `DOCR` registry type. Required for the `DOCKER_HUB` registry type. -func (o AppSpecServiceImagePtrOutput) Registry() pulumi.StringPtrOutput { - return o.ApplyT(func(v *AppSpecServiceImage) *string { - if v == nil { - return nil - } - return v.Registry - }).(pulumi.StringPtrOutput) +// AppSpecServiceGitInput is an input type that accepts AppSpecServiceGitArgs and AppSpecServiceGitOutput values. +// You can construct a concrete instance of `AppSpecServiceGitInput` via: +// +// AppSpecServiceGitArgs{...} +type AppSpecServiceGitInput interface { + pulumi.Input + + ToAppSpecServiceGitOutput() AppSpecServiceGitOutput + ToAppSpecServiceGitOutputWithContext(context.Context) AppSpecServiceGitOutput } -// The registry type. One of `DOCR` (DigitalOcean container registry) or `DOCKER_HUB`. -func (o AppSpecServiceImagePtrOutput) RegistryType() pulumi.StringPtrOutput { - return o.ApplyT(func(v *AppSpecServiceImage) *string { - if v == nil { - return nil - } - return &v.RegistryType - }).(pulumi.StringPtrOutput) +type AppSpecServiceGitArgs struct { + // The name of the branch to use. + Branch pulumi.StringPtrInput `pulumi:"branch"` + // The clone URL of the repo. + RepoCloneUrl pulumi.StringPtrInput `pulumi:"repoCloneUrl"` } -// The repository name. -func (o AppSpecServiceImagePtrOutput) Repository() pulumi.StringPtrOutput { - return o.ApplyT(func(v *AppSpecServiceImage) *string { - if v == nil { - return nil - } - return &v.Repository - }).(pulumi.StringPtrOutput) +func (AppSpecServiceGitArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecServiceGit)(nil)).Elem() } -// The repository tag. Defaults to `latest` if not provided. -func (o AppSpecServiceImagePtrOutput) Tag() pulumi.StringPtrOutput { - return o.ApplyT(func(v *AppSpecServiceImage) *string { - if v == nil { - return nil - } - return v.Tag - }).(pulumi.StringPtrOutput) +func (i AppSpecServiceGitArgs) ToAppSpecServiceGitOutput() AppSpecServiceGitOutput { + return i.ToAppSpecServiceGitOutputWithContext(context.Background()) } -type AppSpecServiceRoute struct { - // Paths must start with `/` and must be unique within the app. - Path *string `pulumi:"path"` - // An optional flag to preserve the path that is forwarded to the backend service. - PreservePathPrefix *bool `pulumi:"preservePathPrefix"` +func (i AppSpecServiceGitArgs) ToAppSpecServiceGitOutputWithContext(ctx context.Context) AppSpecServiceGitOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceGitOutput) } -// AppSpecServiceRouteInput is an input type that accepts AppSpecServiceRouteArgs and AppSpecServiceRouteOutput values. -// You can construct a concrete instance of `AppSpecServiceRouteInput` via: -// -// AppSpecServiceRouteArgs{...} -type AppSpecServiceRouteInput interface { - pulumi.Input - - ToAppSpecServiceRouteOutput() AppSpecServiceRouteOutput - ToAppSpecServiceRouteOutputWithContext(context.Context) AppSpecServiceRouteOutput -} - -type AppSpecServiceRouteArgs struct { - // Paths must start with `/` and must be unique within the app. - Path pulumi.StringPtrInput `pulumi:"path"` - // An optional flag to preserve the path that is forwarded to the backend service. - PreservePathPrefix pulumi.BoolPtrInput `pulumi:"preservePathPrefix"` -} - -func (AppSpecServiceRouteArgs) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecServiceRoute)(nil)).Elem() -} - -func (i AppSpecServiceRouteArgs) ToAppSpecServiceRouteOutput() AppSpecServiceRouteOutput { - return i.ToAppSpecServiceRouteOutputWithContext(context.Background()) +func (i AppSpecServiceGitArgs) ToAppSpecServiceGitPtrOutput() AppSpecServiceGitPtrOutput { + return i.ToAppSpecServiceGitPtrOutputWithContext(context.Background()) } -func (i AppSpecServiceRouteArgs) ToAppSpecServiceRouteOutputWithContext(ctx context.Context) AppSpecServiceRouteOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceRouteOutput) +func (i AppSpecServiceGitArgs) ToAppSpecServiceGitPtrOutputWithContext(ctx context.Context) AppSpecServiceGitPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceGitOutput).ToAppSpecServiceGitPtrOutputWithContext(ctx) } -// AppSpecServiceRouteArrayInput is an input type that accepts AppSpecServiceRouteArray and AppSpecServiceRouteArrayOutput values. -// You can construct a concrete instance of `AppSpecServiceRouteArrayInput` via: +// AppSpecServiceGitPtrInput is an input type that accepts AppSpecServiceGitArgs, AppSpecServiceGitPtr and AppSpecServiceGitPtrOutput values. +// You can construct a concrete instance of `AppSpecServiceGitPtrInput` via: // -// AppSpecServiceRouteArray{ AppSpecServiceRouteArgs{...} } -type AppSpecServiceRouteArrayInput interface { +// AppSpecServiceGitArgs{...} +// +// or: +// +// nil +type AppSpecServiceGitPtrInput interface { pulumi.Input - ToAppSpecServiceRouteArrayOutput() AppSpecServiceRouteArrayOutput - ToAppSpecServiceRouteArrayOutputWithContext(context.Context) AppSpecServiceRouteArrayOutput + ToAppSpecServiceGitPtrOutput() AppSpecServiceGitPtrOutput + ToAppSpecServiceGitPtrOutputWithContext(context.Context) AppSpecServiceGitPtrOutput } -type AppSpecServiceRouteArray []AppSpecServiceRouteInput +type appSpecServiceGitPtrType AppSpecServiceGitArgs -func (AppSpecServiceRouteArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]AppSpecServiceRoute)(nil)).Elem() +func AppSpecServiceGitPtr(v *AppSpecServiceGitArgs) AppSpecServiceGitPtrInput { + return (*appSpecServiceGitPtrType)(v) } -func (i AppSpecServiceRouteArray) ToAppSpecServiceRouteArrayOutput() AppSpecServiceRouteArrayOutput { - return i.ToAppSpecServiceRouteArrayOutputWithContext(context.Background()) +func (*appSpecServiceGitPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecServiceGit)(nil)).Elem() } -func (i AppSpecServiceRouteArray) ToAppSpecServiceRouteArrayOutputWithContext(ctx context.Context) AppSpecServiceRouteArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceRouteArrayOutput) +func (i *appSpecServiceGitPtrType) ToAppSpecServiceGitPtrOutput() AppSpecServiceGitPtrOutput { + return i.ToAppSpecServiceGitPtrOutputWithContext(context.Background()) } -type AppSpecServiceRouteOutput struct{ *pulumi.OutputState } +func (i *appSpecServiceGitPtrType) ToAppSpecServiceGitPtrOutputWithContext(ctx context.Context) AppSpecServiceGitPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceGitPtrOutput) +} -func (AppSpecServiceRouteOutput) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecServiceRoute)(nil)).Elem() +type AppSpecServiceGitOutput struct{ *pulumi.OutputState } + +func (AppSpecServiceGitOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecServiceGit)(nil)).Elem() } -func (o AppSpecServiceRouteOutput) ToAppSpecServiceRouteOutput() AppSpecServiceRouteOutput { +func (o AppSpecServiceGitOutput) ToAppSpecServiceGitOutput() AppSpecServiceGitOutput { return o } -func (o AppSpecServiceRouteOutput) ToAppSpecServiceRouteOutputWithContext(ctx context.Context) AppSpecServiceRouteOutput { +func (o AppSpecServiceGitOutput) ToAppSpecServiceGitOutputWithContext(ctx context.Context) AppSpecServiceGitOutput { return o } -// Paths must start with `/` and must be unique within the app. -func (o AppSpecServiceRouteOutput) Path() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecServiceRoute) *string { return v.Path }).(pulumi.StringPtrOutput) +func (o AppSpecServiceGitOutput) ToAppSpecServiceGitPtrOutput() AppSpecServiceGitPtrOutput { + return o.ToAppSpecServiceGitPtrOutputWithContext(context.Background()) } -// An optional flag to preserve the path that is forwarded to the backend service. -func (o AppSpecServiceRouteOutput) PreservePathPrefix() pulumi.BoolPtrOutput { - return o.ApplyT(func(v AppSpecServiceRoute) *bool { return v.PreservePathPrefix }).(pulumi.BoolPtrOutput) +func (o AppSpecServiceGitOutput) ToAppSpecServiceGitPtrOutputWithContext(ctx context.Context) AppSpecServiceGitPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AppSpecServiceGit) *AppSpecServiceGit { + return &v + }).(AppSpecServiceGitPtrOutput) } -type AppSpecServiceRouteArrayOutput struct{ *pulumi.OutputState } - -func (AppSpecServiceRouteArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]AppSpecServiceRoute)(nil)).Elem() +// The name of the branch to use. +func (o AppSpecServiceGitOutput) Branch() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecServiceGit) *string { return v.Branch }).(pulumi.StringPtrOutput) } -func (o AppSpecServiceRouteArrayOutput) ToAppSpecServiceRouteArrayOutput() AppSpecServiceRouteArrayOutput { - return o +// The clone URL of the repo. +func (o AppSpecServiceGitOutput) RepoCloneUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecServiceGit) *string { return v.RepoCloneUrl }).(pulumi.StringPtrOutput) } -func (o AppSpecServiceRouteArrayOutput) ToAppSpecServiceRouteArrayOutputWithContext(ctx context.Context) AppSpecServiceRouteArrayOutput { - return o -} +type AppSpecServiceGitPtrOutput struct{ *pulumi.OutputState } -func (o AppSpecServiceRouteArrayOutput) Index(i pulumi.IntInput) AppSpecServiceRouteOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) AppSpecServiceRoute { - return vs[0].([]AppSpecServiceRoute)[vs[1].(int)] - }).(AppSpecServiceRouteOutput) +func (AppSpecServiceGitPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecServiceGit)(nil)).Elem() } -type AppSpecStaticSite struct { - // An optional build command to run while building this component from source. - BuildCommand *string `pulumi:"buildCommand"` - // The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. - CatchallDocument *string `pulumi:"catchallDocument"` - // The [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) policies of the app. - Cors *AppSpecStaticSiteCors `pulumi:"cors"` - // The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. - DockerfilePath *string `pulumi:"dockerfilePath"` - // An environment slug describing the type of this app. - EnvironmentSlug *string `pulumi:"environmentSlug"` - // Describes an environment variable made available to an app competent. - Envs []AppSpecStaticSiteEnv `pulumi:"envs"` - // The name of the error document to use when serving this static site. - ErrorDocument *string `pulumi:"errorDocument"` - // A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set - Git *AppSpecStaticSiteGit `pulumi:"git"` - // A GitHub repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/github/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. - Github *AppSpecStaticSiteGithub `pulumi:"github"` - // A Gitlab repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/gitlab/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. - Gitlab *AppSpecStaticSiteGitlab `pulumi:"gitlab"` - // The name of the index document to use when serving this static site. - IndexDocument *string `pulumi:"indexDocument"` - // The name of the component. - Name string `pulumi:"name"` - // An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`. - OutputDir *string `pulumi:"outputDir"` - Routes []AppSpecStaticSiteRoute `pulumi:"routes"` - // An optional path to the working directory to use for the build. - SourceDir *string `pulumi:"sourceDir"` +func (o AppSpecServiceGitPtrOutput) ToAppSpecServiceGitPtrOutput() AppSpecServiceGitPtrOutput { + return o } -// AppSpecStaticSiteInput is an input type that accepts AppSpecStaticSiteArgs and AppSpecStaticSiteOutput values. -// You can construct a concrete instance of `AppSpecStaticSiteInput` via: -// -// AppSpecStaticSiteArgs{...} -type AppSpecStaticSiteInput interface { - pulumi.Input - - ToAppSpecStaticSiteOutput() AppSpecStaticSiteOutput - ToAppSpecStaticSiteOutputWithContext(context.Context) AppSpecStaticSiteOutput +func (o AppSpecServiceGitPtrOutput) ToAppSpecServiceGitPtrOutputWithContext(ctx context.Context) AppSpecServiceGitPtrOutput { + return o } -type AppSpecStaticSiteArgs struct { - // An optional build command to run while building this component from source. - BuildCommand pulumi.StringPtrInput `pulumi:"buildCommand"` - // The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. - CatchallDocument pulumi.StringPtrInput `pulumi:"catchallDocument"` - // The [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) policies of the app. - Cors AppSpecStaticSiteCorsPtrInput `pulumi:"cors"` - // The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. - DockerfilePath pulumi.StringPtrInput `pulumi:"dockerfilePath"` - // An environment slug describing the type of this app. - EnvironmentSlug pulumi.StringPtrInput `pulumi:"environmentSlug"` - // Describes an environment variable made available to an app competent. - Envs AppSpecStaticSiteEnvArrayInput `pulumi:"envs"` - // The name of the error document to use when serving this static site. - ErrorDocument pulumi.StringPtrInput `pulumi:"errorDocument"` - // A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set - Git AppSpecStaticSiteGitPtrInput `pulumi:"git"` - // A GitHub repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/github/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. - Github AppSpecStaticSiteGithubPtrInput `pulumi:"github"` - // A Gitlab repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/gitlab/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. - Gitlab AppSpecStaticSiteGitlabPtrInput `pulumi:"gitlab"` - // The name of the index document to use when serving this static site. - IndexDocument pulumi.StringPtrInput `pulumi:"indexDocument"` - // The name of the component. - Name pulumi.StringInput `pulumi:"name"` - // An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`. - OutputDir pulumi.StringPtrInput `pulumi:"outputDir"` - Routes AppSpecStaticSiteRouteArrayInput `pulumi:"routes"` - // An optional path to the working directory to use for the build. - SourceDir pulumi.StringPtrInput `pulumi:"sourceDir"` +func (o AppSpecServiceGitPtrOutput) Elem() AppSpecServiceGitOutput { + return o.ApplyT(func(v *AppSpecServiceGit) AppSpecServiceGit { + if v != nil { + return *v + } + var ret AppSpecServiceGit + return ret + }).(AppSpecServiceGitOutput) } -func (AppSpecStaticSiteArgs) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecStaticSite)(nil)).Elem() +// The name of the branch to use. +func (o AppSpecServiceGitPtrOutput) Branch() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecServiceGit) *string { + if v == nil { + return nil + } + return v.Branch + }).(pulumi.StringPtrOutput) } -func (i AppSpecStaticSiteArgs) ToAppSpecStaticSiteOutput() AppSpecStaticSiteOutput { - return i.ToAppSpecStaticSiteOutputWithContext(context.Background()) +// The clone URL of the repo. +func (o AppSpecServiceGitPtrOutput) RepoCloneUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecServiceGit) *string { + if v == nil { + return nil + } + return v.RepoCloneUrl + }).(pulumi.StringPtrOutput) } -func (i AppSpecStaticSiteArgs) ToAppSpecStaticSiteOutputWithContext(ctx context.Context) AppSpecStaticSiteOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecStaticSiteOutput) +type AppSpecServiceGithub struct { + // The name of the branch to use. + Branch *string `pulumi:"branch"` + // Whether to automatically deploy new commits made to the repo. + DeployOnPush *bool `pulumi:"deployOnPush"` + // The name of the repo in the format `owner/repo`. + Repo *string `pulumi:"repo"` } -// AppSpecStaticSiteArrayInput is an input type that accepts AppSpecStaticSiteArray and AppSpecStaticSiteArrayOutput values. -// You can construct a concrete instance of `AppSpecStaticSiteArrayInput` via: +// AppSpecServiceGithubInput is an input type that accepts AppSpecServiceGithubArgs and AppSpecServiceGithubOutput values. +// You can construct a concrete instance of `AppSpecServiceGithubInput` via: // -// AppSpecStaticSiteArray{ AppSpecStaticSiteArgs{...} } -type AppSpecStaticSiteArrayInput interface { +// AppSpecServiceGithubArgs{...} +type AppSpecServiceGithubInput interface { pulumi.Input - ToAppSpecStaticSiteArrayOutput() AppSpecStaticSiteArrayOutput - ToAppSpecStaticSiteArrayOutputWithContext(context.Context) AppSpecStaticSiteArrayOutput + ToAppSpecServiceGithubOutput() AppSpecServiceGithubOutput + ToAppSpecServiceGithubOutputWithContext(context.Context) AppSpecServiceGithubOutput } -type AppSpecStaticSiteArray []AppSpecStaticSiteInput - -func (AppSpecStaticSiteArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]AppSpecStaticSite)(nil)).Elem() +type AppSpecServiceGithubArgs struct { + // The name of the branch to use. + Branch pulumi.StringPtrInput `pulumi:"branch"` + // Whether to automatically deploy new commits made to the repo. + DeployOnPush pulumi.BoolPtrInput `pulumi:"deployOnPush"` + // The name of the repo in the format `owner/repo`. + Repo pulumi.StringPtrInput `pulumi:"repo"` } -func (i AppSpecStaticSiteArray) ToAppSpecStaticSiteArrayOutput() AppSpecStaticSiteArrayOutput { - return i.ToAppSpecStaticSiteArrayOutputWithContext(context.Background()) +func (AppSpecServiceGithubArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecServiceGithub)(nil)).Elem() } -func (i AppSpecStaticSiteArray) ToAppSpecStaticSiteArrayOutputWithContext(ctx context.Context) AppSpecStaticSiteArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecStaticSiteArrayOutput) +func (i AppSpecServiceGithubArgs) ToAppSpecServiceGithubOutput() AppSpecServiceGithubOutput { + return i.ToAppSpecServiceGithubOutputWithContext(context.Background()) } -type AppSpecStaticSiteOutput struct{ *pulumi.OutputState } - -func (AppSpecStaticSiteOutput) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecStaticSite)(nil)).Elem() +func (i AppSpecServiceGithubArgs) ToAppSpecServiceGithubOutputWithContext(ctx context.Context) AppSpecServiceGithubOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceGithubOutput) } -func (o AppSpecStaticSiteOutput) ToAppSpecStaticSiteOutput() AppSpecStaticSiteOutput { - return o +func (i AppSpecServiceGithubArgs) ToAppSpecServiceGithubPtrOutput() AppSpecServiceGithubPtrOutput { + return i.ToAppSpecServiceGithubPtrOutputWithContext(context.Background()) } -func (o AppSpecStaticSiteOutput) ToAppSpecStaticSiteOutputWithContext(ctx context.Context) AppSpecStaticSiteOutput { - return o +func (i AppSpecServiceGithubArgs) ToAppSpecServiceGithubPtrOutputWithContext(ctx context.Context) AppSpecServiceGithubPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceGithubOutput).ToAppSpecServiceGithubPtrOutputWithContext(ctx) } -// An optional build command to run while building this component from source. -func (o AppSpecStaticSiteOutput) BuildCommand() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecStaticSite) *string { return v.BuildCommand }).(pulumi.StringPtrOutput) -} +// AppSpecServiceGithubPtrInput is an input type that accepts AppSpecServiceGithubArgs, AppSpecServiceGithubPtr and AppSpecServiceGithubPtrOutput values. +// You can construct a concrete instance of `AppSpecServiceGithubPtrInput` via: +// +// AppSpecServiceGithubArgs{...} +// +// or: +// +// nil +type AppSpecServiceGithubPtrInput interface { + pulumi.Input -// The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. -func (o AppSpecStaticSiteOutput) CatchallDocument() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecStaticSite) *string { return v.CatchallDocument }).(pulumi.StringPtrOutput) + ToAppSpecServiceGithubPtrOutput() AppSpecServiceGithubPtrOutput + ToAppSpecServiceGithubPtrOutputWithContext(context.Context) AppSpecServiceGithubPtrOutput } -// The [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) policies of the app. -func (o AppSpecStaticSiteOutput) Cors() AppSpecStaticSiteCorsPtrOutput { - return o.ApplyT(func(v AppSpecStaticSite) *AppSpecStaticSiteCors { return v.Cors }).(AppSpecStaticSiteCorsPtrOutput) -} +type appSpecServiceGithubPtrType AppSpecServiceGithubArgs -// The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. -func (o AppSpecStaticSiteOutput) DockerfilePath() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecStaticSite) *string { return v.DockerfilePath }).(pulumi.StringPtrOutput) +func AppSpecServiceGithubPtr(v *AppSpecServiceGithubArgs) AppSpecServiceGithubPtrInput { + return (*appSpecServiceGithubPtrType)(v) } -// An environment slug describing the type of this app. -func (o AppSpecStaticSiteOutput) EnvironmentSlug() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecStaticSite) *string { return v.EnvironmentSlug }).(pulumi.StringPtrOutput) +func (*appSpecServiceGithubPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecServiceGithub)(nil)).Elem() } -// Describes an environment variable made available to an app competent. -func (o AppSpecStaticSiteOutput) Envs() AppSpecStaticSiteEnvArrayOutput { - return o.ApplyT(func(v AppSpecStaticSite) []AppSpecStaticSiteEnv { return v.Envs }).(AppSpecStaticSiteEnvArrayOutput) +func (i *appSpecServiceGithubPtrType) ToAppSpecServiceGithubPtrOutput() AppSpecServiceGithubPtrOutput { + return i.ToAppSpecServiceGithubPtrOutputWithContext(context.Background()) } -// The name of the error document to use when serving this static site. -func (o AppSpecStaticSiteOutput) ErrorDocument() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecStaticSite) *string { return v.ErrorDocument }).(pulumi.StringPtrOutput) +func (i *appSpecServiceGithubPtrType) ToAppSpecServiceGithubPtrOutputWithContext(ctx context.Context) AppSpecServiceGithubPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceGithubPtrOutput) } -// A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set -func (o AppSpecStaticSiteOutput) Git() AppSpecStaticSiteGitPtrOutput { - return o.ApplyT(func(v AppSpecStaticSite) *AppSpecStaticSiteGit { return v.Git }).(AppSpecStaticSiteGitPtrOutput) +type AppSpecServiceGithubOutput struct{ *pulumi.OutputState } + +func (AppSpecServiceGithubOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecServiceGithub)(nil)).Elem() } -// A GitHub repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/github/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. -func (o AppSpecStaticSiteOutput) Github() AppSpecStaticSiteGithubPtrOutput { - return o.ApplyT(func(v AppSpecStaticSite) *AppSpecStaticSiteGithub { return v.Github }).(AppSpecStaticSiteGithubPtrOutput) +func (o AppSpecServiceGithubOutput) ToAppSpecServiceGithubOutput() AppSpecServiceGithubOutput { + return o } -// A Gitlab repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/gitlab/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. -func (o AppSpecStaticSiteOutput) Gitlab() AppSpecStaticSiteGitlabPtrOutput { - return o.ApplyT(func(v AppSpecStaticSite) *AppSpecStaticSiteGitlab { return v.Gitlab }).(AppSpecStaticSiteGitlabPtrOutput) +func (o AppSpecServiceGithubOutput) ToAppSpecServiceGithubOutputWithContext(ctx context.Context) AppSpecServiceGithubOutput { + return o } -// The name of the index document to use when serving this static site. -func (o AppSpecStaticSiteOutput) IndexDocument() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecStaticSite) *string { return v.IndexDocument }).(pulumi.StringPtrOutput) +func (o AppSpecServiceGithubOutput) ToAppSpecServiceGithubPtrOutput() AppSpecServiceGithubPtrOutput { + return o.ToAppSpecServiceGithubPtrOutputWithContext(context.Background()) } -// The name of the component. -func (o AppSpecStaticSiteOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v AppSpecStaticSite) string { return v.Name }).(pulumi.StringOutput) +func (o AppSpecServiceGithubOutput) ToAppSpecServiceGithubPtrOutputWithContext(ctx context.Context) AppSpecServiceGithubPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AppSpecServiceGithub) *AppSpecServiceGithub { + return &v + }).(AppSpecServiceGithubPtrOutput) } -// An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`. -func (o AppSpecStaticSiteOutput) OutputDir() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecStaticSite) *string { return v.OutputDir }).(pulumi.StringPtrOutput) +// The name of the branch to use. +func (o AppSpecServiceGithubOutput) Branch() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecServiceGithub) *string { return v.Branch }).(pulumi.StringPtrOutput) } -func (o AppSpecStaticSiteOutput) Routes() AppSpecStaticSiteRouteArrayOutput { - return o.ApplyT(func(v AppSpecStaticSite) []AppSpecStaticSiteRoute { return v.Routes }).(AppSpecStaticSiteRouteArrayOutput) +// Whether to automatically deploy new commits made to the repo. +func (o AppSpecServiceGithubOutput) DeployOnPush() pulumi.BoolPtrOutput { + return o.ApplyT(func(v AppSpecServiceGithub) *bool { return v.DeployOnPush }).(pulumi.BoolPtrOutput) } -// An optional path to the working directory to use for the build. -func (o AppSpecStaticSiteOutput) SourceDir() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecStaticSite) *string { return v.SourceDir }).(pulumi.StringPtrOutput) +// The name of the repo in the format `owner/repo`. +func (o AppSpecServiceGithubOutput) Repo() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecServiceGithub) *string { return v.Repo }).(pulumi.StringPtrOutput) } -type AppSpecStaticSiteArrayOutput struct{ *pulumi.OutputState } +type AppSpecServiceGithubPtrOutput struct{ *pulumi.OutputState } -func (AppSpecStaticSiteArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]AppSpecStaticSite)(nil)).Elem() +func (AppSpecServiceGithubPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecServiceGithub)(nil)).Elem() } -func (o AppSpecStaticSiteArrayOutput) ToAppSpecStaticSiteArrayOutput() AppSpecStaticSiteArrayOutput { +func (o AppSpecServiceGithubPtrOutput) ToAppSpecServiceGithubPtrOutput() AppSpecServiceGithubPtrOutput { return o } -func (o AppSpecStaticSiteArrayOutput) ToAppSpecStaticSiteArrayOutputWithContext(ctx context.Context) AppSpecStaticSiteArrayOutput { +func (o AppSpecServiceGithubPtrOutput) ToAppSpecServiceGithubPtrOutputWithContext(ctx context.Context) AppSpecServiceGithubPtrOutput { return o } -func (o AppSpecStaticSiteArrayOutput) Index(i pulumi.IntInput) AppSpecStaticSiteOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) AppSpecStaticSite { - return vs[0].([]AppSpecStaticSite)[vs[1].(int)] - }).(AppSpecStaticSiteOutput) +func (o AppSpecServiceGithubPtrOutput) Elem() AppSpecServiceGithubOutput { + return o.ApplyT(func(v *AppSpecServiceGithub) AppSpecServiceGithub { + if v != nil { + return *v + } + var ret AppSpecServiceGithub + return ret + }).(AppSpecServiceGithubOutput) } -type AppSpecStaticSiteCors struct { - // Whether browsers should expose the response to the client-side JavaScript code when the request's credentials mode is `include`. This configures the `Access-Control-Allow-Credentials` header. - AllowCredentials *bool `pulumi:"allowCredentials"` - // The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. - AllowHeaders []string `pulumi:"allowHeaders"` - // The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. - AllowMethods []string `pulumi:"allowMethods"` - // The `Access-Control-Allow-Origin` can be - AllowOrigins *AppSpecStaticSiteCorsAllowOrigins `pulumi:"allowOrigins"` - // The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. - ExposeHeaders []string `pulumi:"exposeHeaders"` - // An optional duration specifying how long browsers can cache the results of a preflight request. This configures the Access-Control-Max-Age header. Example: `5h30m`. - MaxAge *string `pulumi:"maxAge"` +// The name of the branch to use. +func (o AppSpecServiceGithubPtrOutput) Branch() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecServiceGithub) *string { + if v == nil { + return nil + } + return v.Branch + }).(pulumi.StringPtrOutput) } -// AppSpecStaticSiteCorsInput is an input type that accepts AppSpecStaticSiteCorsArgs and AppSpecStaticSiteCorsOutput values. -// You can construct a concrete instance of `AppSpecStaticSiteCorsInput` via: +// Whether to automatically deploy new commits made to the repo. +func (o AppSpecServiceGithubPtrOutput) DeployOnPush() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *AppSpecServiceGithub) *bool { + if v == nil { + return nil + } + return v.DeployOnPush + }).(pulumi.BoolPtrOutput) +} + +// The name of the repo in the format `owner/repo`. +func (o AppSpecServiceGithubPtrOutput) Repo() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecServiceGithub) *string { + if v == nil { + return nil + } + return v.Repo + }).(pulumi.StringPtrOutput) +} + +type AppSpecServiceGitlab struct { + // The name of the branch to use. + Branch *string `pulumi:"branch"` + // Whether to automatically deploy new commits made to the repo. + DeployOnPush *bool `pulumi:"deployOnPush"` + // The name of the repo in the format `owner/repo`. + Repo *string `pulumi:"repo"` +} + +// AppSpecServiceGitlabInput is an input type that accepts AppSpecServiceGitlabArgs and AppSpecServiceGitlabOutput values. +// You can construct a concrete instance of `AppSpecServiceGitlabInput` via: // -// AppSpecStaticSiteCorsArgs{...} -type AppSpecStaticSiteCorsInput interface { +// AppSpecServiceGitlabArgs{...} +type AppSpecServiceGitlabInput interface { pulumi.Input - ToAppSpecStaticSiteCorsOutput() AppSpecStaticSiteCorsOutput - ToAppSpecStaticSiteCorsOutputWithContext(context.Context) AppSpecStaticSiteCorsOutput + ToAppSpecServiceGitlabOutput() AppSpecServiceGitlabOutput + ToAppSpecServiceGitlabOutputWithContext(context.Context) AppSpecServiceGitlabOutput } -type AppSpecStaticSiteCorsArgs struct { - // Whether browsers should expose the response to the client-side JavaScript code when the request's credentials mode is `include`. This configures the `Access-Control-Allow-Credentials` header. - AllowCredentials pulumi.BoolPtrInput `pulumi:"allowCredentials"` - // The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. - AllowHeaders pulumi.StringArrayInput `pulumi:"allowHeaders"` - // The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. - AllowMethods pulumi.StringArrayInput `pulumi:"allowMethods"` - // The `Access-Control-Allow-Origin` can be - AllowOrigins AppSpecStaticSiteCorsAllowOriginsPtrInput `pulumi:"allowOrigins"` - // The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. - ExposeHeaders pulumi.StringArrayInput `pulumi:"exposeHeaders"` - // An optional duration specifying how long browsers can cache the results of a preflight request. This configures the Access-Control-Max-Age header. Example: `5h30m`. - MaxAge pulumi.StringPtrInput `pulumi:"maxAge"` +type AppSpecServiceGitlabArgs struct { + // The name of the branch to use. + Branch pulumi.StringPtrInput `pulumi:"branch"` + // Whether to automatically deploy new commits made to the repo. + DeployOnPush pulumi.BoolPtrInput `pulumi:"deployOnPush"` + // The name of the repo in the format `owner/repo`. + Repo pulumi.StringPtrInput `pulumi:"repo"` } -func (AppSpecStaticSiteCorsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecStaticSiteCors)(nil)).Elem() +func (AppSpecServiceGitlabArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecServiceGitlab)(nil)).Elem() } -func (i AppSpecStaticSiteCorsArgs) ToAppSpecStaticSiteCorsOutput() AppSpecStaticSiteCorsOutput { - return i.ToAppSpecStaticSiteCorsOutputWithContext(context.Background()) +func (i AppSpecServiceGitlabArgs) ToAppSpecServiceGitlabOutput() AppSpecServiceGitlabOutput { + return i.ToAppSpecServiceGitlabOutputWithContext(context.Background()) } -func (i AppSpecStaticSiteCorsArgs) ToAppSpecStaticSiteCorsOutputWithContext(ctx context.Context) AppSpecStaticSiteCorsOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecStaticSiteCorsOutput) +func (i AppSpecServiceGitlabArgs) ToAppSpecServiceGitlabOutputWithContext(ctx context.Context) AppSpecServiceGitlabOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceGitlabOutput) } -func (i AppSpecStaticSiteCorsArgs) ToAppSpecStaticSiteCorsPtrOutput() AppSpecStaticSiteCorsPtrOutput { - return i.ToAppSpecStaticSiteCorsPtrOutputWithContext(context.Background()) +func (i AppSpecServiceGitlabArgs) ToAppSpecServiceGitlabPtrOutput() AppSpecServiceGitlabPtrOutput { + return i.ToAppSpecServiceGitlabPtrOutputWithContext(context.Background()) } -func (i AppSpecStaticSiteCorsArgs) ToAppSpecStaticSiteCorsPtrOutputWithContext(ctx context.Context) AppSpecStaticSiteCorsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecStaticSiteCorsOutput).ToAppSpecStaticSiteCorsPtrOutputWithContext(ctx) +func (i AppSpecServiceGitlabArgs) ToAppSpecServiceGitlabPtrOutputWithContext(ctx context.Context) AppSpecServiceGitlabPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceGitlabOutput).ToAppSpecServiceGitlabPtrOutputWithContext(ctx) } -// AppSpecStaticSiteCorsPtrInput is an input type that accepts AppSpecStaticSiteCorsArgs, AppSpecStaticSiteCorsPtr and AppSpecStaticSiteCorsPtrOutput values. -// You can construct a concrete instance of `AppSpecStaticSiteCorsPtrInput` via: +// AppSpecServiceGitlabPtrInput is an input type that accepts AppSpecServiceGitlabArgs, AppSpecServiceGitlabPtr and AppSpecServiceGitlabPtrOutput values. +// You can construct a concrete instance of `AppSpecServiceGitlabPtrInput` via: // -// AppSpecStaticSiteCorsArgs{...} +// AppSpecServiceGitlabArgs{...} // // or: // // nil -type AppSpecStaticSiteCorsPtrInput interface { +type AppSpecServiceGitlabPtrInput interface { pulumi.Input - ToAppSpecStaticSiteCorsPtrOutput() AppSpecStaticSiteCorsPtrOutput - ToAppSpecStaticSiteCorsPtrOutputWithContext(context.Context) AppSpecStaticSiteCorsPtrOutput + ToAppSpecServiceGitlabPtrOutput() AppSpecServiceGitlabPtrOutput + ToAppSpecServiceGitlabPtrOutputWithContext(context.Context) AppSpecServiceGitlabPtrOutput } -type appSpecStaticSiteCorsPtrType AppSpecStaticSiteCorsArgs +type appSpecServiceGitlabPtrType AppSpecServiceGitlabArgs -func AppSpecStaticSiteCorsPtr(v *AppSpecStaticSiteCorsArgs) AppSpecStaticSiteCorsPtrInput { - return (*appSpecStaticSiteCorsPtrType)(v) +func AppSpecServiceGitlabPtr(v *AppSpecServiceGitlabArgs) AppSpecServiceGitlabPtrInput { + return (*appSpecServiceGitlabPtrType)(v) } -func (*appSpecStaticSiteCorsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**AppSpecStaticSiteCors)(nil)).Elem() +func (*appSpecServiceGitlabPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecServiceGitlab)(nil)).Elem() } -func (i *appSpecStaticSiteCorsPtrType) ToAppSpecStaticSiteCorsPtrOutput() AppSpecStaticSiteCorsPtrOutput { - return i.ToAppSpecStaticSiteCorsPtrOutputWithContext(context.Background()) +func (i *appSpecServiceGitlabPtrType) ToAppSpecServiceGitlabPtrOutput() AppSpecServiceGitlabPtrOutput { + return i.ToAppSpecServiceGitlabPtrOutputWithContext(context.Background()) } -func (i *appSpecStaticSiteCorsPtrType) ToAppSpecStaticSiteCorsPtrOutputWithContext(ctx context.Context) AppSpecStaticSiteCorsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecStaticSiteCorsPtrOutput) +func (i *appSpecServiceGitlabPtrType) ToAppSpecServiceGitlabPtrOutputWithContext(ctx context.Context) AppSpecServiceGitlabPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceGitlabPtrOutput) } -type AppSpecStaticSiteCorsOutput struct{ *pulumi.OutputState } +type AppSpecServiceGitlabOutput struct{ *pulumi.OutputState } -func (AppSpecStaticSiteCorsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecStaticSiteCors)(nil)).Elem() +func (AppSpecServiceGitlabOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecServiceGitlab)(nil)).Elem() } -func (o AppSpecStaticSiteCorsOutput) ToAppSpecStaticSiteCorsOutput() AppSpecStaticSiteCorsOutput { +func (o AppSpecServiceGitlabOutput) ToAppSpecServiceGitlabOutput() AppSpecServiceGitlabOutput { return o } -func (o AppSpecStaticSiteCorsOutput) ToAppSpecStaticSiteCorsOutputWithContext(ctx context.Context) AppSpecStaticSiteCorsOutput { +func (o AppSpecServiceGitlabOutput) ToAppSpecServiceGitlabOutputWithContext(ctx context.Context) AppSpecServiceGitlabOutput { return o } -func (o AppSpecStaticSiteCorsOutput) ToAppSpecStaticSiteCorsPtrOutput() AppSpecStaticSiteCorsPtrOutput { - return o.ToAppSpecStaticSiteCorsPtrOutputWithContext(context.Background()) +func (o AppSpecServiceGitlabOutput) ToAppSpecServiceGitlabPtrOutput() AppSpecServiceGitlabPtrOutput { + return o.ToAppSpecServiceGitlabPtrOutputWithContext(context.Background()) } -func (o AppSpecStaticSiteCorsOutput) ToAppSpecStaticSiteCorsPtrOutputWithContext(ctx context.Context) AppSpecStaticSiteCorsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v AppSpecStaticSiteCors) *AppSpecStaticSiteCors { +func (o AppSpecServiceGitlabOutput) ToAppSpecServiceGitlabPtrOutputWithContext(ctx context.Context) AppSpecServiceGitlabPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AppSpecServiceGitlab) *AppSpecServiceGitlab { return &v - }).(AppSpecStaticSiteCorsPtrOutput) -} - -// Whether browsers should expose the response to the client-side JavaScript code when the request's credentials mode is `include`. This configures the `Access-Control-Allow-Credentials` header. -func (o AppSpecStaticSiteCorsOutput) AllowCredentials() pulumi.BoolPtrOutput { - return o.ApplyT(func(v AppSpecStaticSiteCors) *bool { return v.AllowCredentials }).(pulumi.BoolPtrOutput) -} - -// The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. -func (o AppSpecStaticSiteCorsOutput) AllowHeaders() pulumi.StringArrayOutput { - return o.ApplyT(func(v AppSpecStaticSiteCors) []string { return v.AllowHeaders }).(pulumi.StringArrayOutput) -} - -// The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. -func (o AppSpecStaticSiteCorsOutput) AllowMethods() pulumi.StringArrayOutput { - return o.ApplyT(func(v AppSpecStaticSiteCors) []string { return v.AllowMethods }).(pulumi.StringArrayOutput) + }).(AppSpecServiceGitlabPtrOutput) } -// The `Access-Control-Allow-Origin` can be -func (o AppSpecStaticSiteCorsOutput) AllowOrigins() AppSpecStaticSiteCorsAllowOriginsPtrOutput { - return o.ApplyT(func(v AppSpecStaticSiteCors) *AppSpecStaticSiteCorsAllowOrigins { return v.AllowOrigins }).(AppSpecStaticSiteCorsAllowOriginsPtrOutput) +// The name of the branch to use. +func (o AppSpecServiceGitlabOutput) Branch() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecServiceGitlab) *string { return v.Branch }).(pulumi.StringPtrOutput) } -// The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. -func (o AppSpecStaticSiteCorsOutput) ExposeHeaders() pulumi.StringArrayOutput { - return o.ApplyT(func(v AppSpecStaticSiteCors) []string { return v.ExposeHeaders }).(pulumi.StringArrayOutput) +// Whether to automatically deploy new commits made to the repo. +func (o AppSpecServiceGitlabOutput) DeployOnPush() pulumi.BoolPtrOutput { + return o.ApplyT(func(v AppSpecServiceGitlab) *bool { return v.DeployOnPush }).(pulumi.BoolPtrOutput) } -// An optional duration specifying how long browsers can cache the results of a preflight request. This configures the Access-Control-Max-Age header. Example: `5h30m`. -func (o AppSpecStaticSiteCorsOutput) MaxAge() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecStaticSiteCors) *string { return v.MaxAge }).(pulumi.StringPtrOutput) +// The name of the repo in the format `owner/repo`. +func (o AppSpecServiceGitlabOutput) Repo() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecServiceGitlab) *string { return v.Repo }).(pulumi.StringPtrOutput) } -type AppSpecStaticSiteCorsPtrOutput struct{ *pulumi.OutputState } +type AppSpecServiceGitlabPtrOutput struct{ *pulumi.OutputState } -func (AppSpecStaticSiteCorsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**AppSpecStaticSiteCors)(nil)).Elem() +func (AppSpecServiceGitlabPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecServiceGitlab)(nil)).Elem() } -func (o AppSpecStaticSiteCorsPtrOutput) ToAppSpecStaticSiteCorsPtrOutput() AppSpecStaticSiteCorsPtrOutput { +func (o AppSpecServiceGitlabPtrOutput) ToAppSpecServiceGitlabPtrOutput() AppSpecServiceGitlabPtrOutput { return o } -func (o AppSpecStaticSiteCorsPtrOutput) ToAppSpecStaticSiteCorsPtrOutputWithContext(ctx context.Context) AppSpecStaticSiteCorsPtrOutput { +func (o AppSpecServiceGitlabPtrOutput) ToAppSpecServiceGitlabPtrOutputWithContext(ctx context.Context) AppSpecServiceGitlabPtrOutput { return o } -func (o AppSpecStaticSiteCorsPtrOutput) Elem() AppSpecStaticSiteCorsOutput { - return o.ApplyT(func(v *AppSpecStaticSiteCors) AppSpecStaticSiteCors { +func (o AppSpecServiceGitlabPtrOutput) Elem() AppSpecServiceGitlabOutput { + return o.ApplyT(func(v *AppSpecServiceGitlab) AppSpecServiceGitlab { if v != nil { return *v } - var ret AppSpecStaticSiteCors + var ret AppSpecServiceGitlab return ret - }).(AppSpecStaticSiteCorsOutput) -} - -// Whether browsers should expose the response to the client-side JavaScript code when the request's credentials mode is `include`. This configures the `Access-Control-Allow-Credentials` header. -func (o AppSpecStaticSiteCorsPtrOutput) AllowCredentials() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *AppSpecStaticSiteCors) *bool { - if v == nil { - return nil - } - return v.AllowCredentials - }).(pulumi.BoolPtrOutput) -} - -// The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. -func (o AppSpecStaticSiteCorsPtrOutput) AllowHeaders() pulumi.StringArrayOutput { - return o.ApplyT(func(v *AppSpecStaticSiteCors) []string { - if v == nil { - return nil - } - return v.AllowHeaders - }).(pulumi.StringArrayOutput) -} - -// The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. -func (o AppSpecStaticSiteCorsPtrOutput) AllowMethods() pulumi.StringArrayOutput { - return o.ApplyT(func(v *AppSpecStaticSiteCors) []string { - if v == nil { - return nil - } - return v.AllowMethods - }).(pulumi.StringArrayOutput) + }).(AppSpecServiceGitlabOutput) } -// The `Access-Control-Allow-Origin` can be -func (o AppSpecStaticSiteCorsPtrOutput) AllowOrigins() AppSpecStaticSiteCorsAllowOriginsPtrOutput { - return o.ApplyT(func(v *AppSpecStaticSiteCors) *AppSpecStaticSiteCorsAllowOrigins { +// The name of the branch to use. +func (o AppSpecServiceGitlabPtrOutput) Branch() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecServiceGitlab) *string { if v == nil { return nil } - return v.AllowOrigins - }).(AppSpecStaticSiteCorsAllowOriginsPtrOutput) + return v.Branch + }).(pulumi.StringPtrOutput) } -// The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. -func (o AppSpecStaticSiteCorsPtrOutput) ExposeHeaders() pulumi.StringArrayOutput { - return o.ApplyT(func(v *AppSpecStaticSiteCors) []string { +// Whether to automatically deploy new commits made to the repo. +func (o AppSpecServiceGitlabPtrOutput) DeployOnPush() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *AppSpecServiceGitlab) *bool { if v == nil { return nil } - return v.ExposeHeaders - }).(pulumi.StringArrayOutput) + return v.DeployOnPush + }).(pulumi.BoolPtrOutput) } -// An optional duration specifying how long browsers can cache the results of a preflight request. This configures the Access-Control-Max-Age header. Example: `5h30m`. -func (o AppSpecStaticSiteCorsPtrOutput) MaxAge() pulumi.StringPtrOutput { - return o.ApplyT(func(v *AppSpecStaticSiteCors) *string { +// The name of the repo in the format `owner/repo`. +func (o AppSpecServiceGitlabPtrOutput) Repo() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecServiceGitlab) *string { if v == nil { return nil } - return v.MaxAge + return v.Repo }).(pulumi.StringPtrOutput) } -type AppSpecStaticSiteCorsAllowOrigins struct { - // The `Access-Control-Allow-Origin` header will be set to the client's origin only if the client's origin exactly matches the value you provide. - Exact *string `pulumi:"exact"` - // The `Access-Control-Allow-Origin` header will be set to the client's origin if the beginning of the client's origin matches the value you provide. - Prefix *string `pulumi:"prefix"` - // The `Access-Control-Allow-Origin` header will be set to the client's origin if the client’s origin matches the regex you provide, in [RE2 style syntax](https://github.com/google/re2/wiki/Syntax). - Regex *string `pulumi:"regex"` +type AppSpecServiceHealthCheck struct { + // The number of failed health checks before considered unhealthy. + FailureThreshold *int `pulumi:"failureThreshold"` + // The route path used for the HTTP health check ping. + HttpPath *string `pulumi:"httpPath"` + // The number of seconds to wait before beginning health checks. + InitialDelaySeconds *int `pulumi:"initialDelaySeconds"` + // The number of seconds to wait between health checks. + PeriodSeconds *int `pulumi:"periodSeconds"` + // The number of successful health checks before considered healthy. + SuccessThreshold *int `pulumi:"successThreshold"` + // The number of seconds after which the check times out. + TimeoutSeconds *int `pulumi:"timeoutSeconds"` } -// AppSpecStaticSiteCorsAllowOriginsInput is an input type that accepts AppSpecStaticSiteCorsAllowOriginsArgs and AppSpecStaticSiteCorsAllowOriginsOutput values. -// You can construct a concrete instance of `AppSpecStaticSiteCorsAllowOriginsInput` via: +// AppSpecServiceHealthCheckInput is an input type that accepts AppSpecServiceHealthCheckArgs and AppSpecServiceHealthCheckOutput values. +// You can construct a concrete instance of `AppSpecServiceHealthCheckInput` via: // -// AppSpecStaticSiteCorsAllowOriginsArgs{...} -type AppSpecStaticSiteCorsAllowOriginsInput interface { +// AppSpecServiceHealthCheckArgs{...} +type AppSpecServiceHealthCheckInput interface { pulumi.Input - ToAppSpecStaticSiteCorsAllowOriginsOutput() AppSpecStaticSiteCorsAllowOriginsOutput - ToAppSpecStaticSiteCorsAllowOriginsOutputWithContext(context.Context) AppSpecStaticSiteCorsAllowOriginsOutput + ToAppSpecServiceHealthCheckOutput() AppSpecServiceHealthCheckOutput + ToAppSpecServiceHealthCheckOutputWithContext(context.Context) AppSpecServiceHealthCheckOutput } -type AppSpecStaticSiteCorsAllowOriginsArgs struct { - // The `Access-Control-Allow-Origin` header will be set to the client's origin only if the client's origin exactly matches the value you provide. - Exact pulumi.StringPtrInput `pulumi:"exact"` - // The `Access-Control-Allow-Origin` header will be set to the client's origin if the beginning of the client's origin matches the value you provide. - Prefix pulumi.StringPtrInput `pulumi:"prefix"` - // The `Access-Control-Allow-Origin` header will be set to the client's origin if the client’s origin matches the regex you provide, in [RE2 style syntax](https://github.com/google/re2/wiki/Syntax). - Regex pulumi.StringPtrInput `pulumi:"regex"` +type AppSpecServiceHealthCheckArgs struct { + // The number of failed health checks before considered unhealthy. + FailureThreshold pulumi.IntPtrInput `pulumi:"failureThreshold"` + // The route path used for the HTTP health check ping. + HttpPath pulumi.StringPtrInput `pulumi:"httpPath"` + // The number of seconds to wait before beginning health checks. + InitialDelaySeconds pulumi.IntPtrInput `pulumi:"initialDelaySeconds"` + // The number of seconds to wait between health checks. + PeriodSeconds pulumi.IntPtrInput `pulumi:"periodSeconds"` + // The number of successful health checks before considered healthy. + SuccessThreshold pulumi.IntPtrInput `pulumi:"successThreshold"` + // The number of seconds after which the check times out. + TimeoutSeconds pulumi.IntPtrInput `pulumi:"timeoutSeconds"` } -func (AppSpecStaticSiteCorsAllowOriginsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecStaticSiteCorsAllowOrigins)(nil)).Elem() +func (AppSpecServiceHealthCheckArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecServiceHealthCheck)(nil)).Elem() } -func (i AppSpecStaticSiteCorsAllowOriginsArgs) ToAppSpecStaticSiteCorsAllowOriginsOutput() AppSpecStaticSiteCorsAllowOriginsOutput { - return i.ToAppSpecStaticSiteCorsAllowOriginsOutputWithContext(context.Background()) +func (i AppSpecServiceHealthCheckArgs) ToAppSpecServiceHealthCheckOutput() AppSpecServiceHealthCheckOutput { + return i.ToAppSpecServiceHealthCheckOutputWithContext(context.Background()) } -func (i AppSpecStaticSiteCorsAllowOriginsArgs) ToAppSpecStaticSiteCorsAllowOriginsOutputWithContext(ctx context.Context) AppSpecStaticSiteCorsAllowOriginsOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecStaticSiteCorsAllowOriginsOutput) +func (i AppSpecServiceHealthCheckArgs) ToAppSpecServiceHealthCheckOutputWithContext(ctx context.Context) AppSpecServiceHealthCheckOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceHealthCheckOutput) } -func (i AppSpecStaticSiteCorsAllowOriginsArgs) ToAppSpecStaticSiteCorsAllowOriginsPtrOutput() AppSpecStaticSiteCorsAllowOriginsPtrOutput { - return i.ToAppSpecStaticSiteCorsAllowOriginsPtrOutputWithContext(context.Background()) +func (i AppSpecServiceHealthCheckArgs) ToAppSpecServiceHealthCheckPtrOutput() AppSpecServiceHealthCheckPtrOutput { + return i.ToAppSpecServiceHealthCheckPtrOutputWithContext(context.Background()) } -func (i AppSpecStaticSiteCorsAllowOriginsArgs) ToAppSpecStaticSiteCorsAllowOriginsPtrOutputWithContext(ctx context.Context) AppSpecStaticSiteCorsAllowOriginsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecStaticSiteCorsAllowOriginsOutput).ToAppSpecStaticSiteCorsAllowOriginsPtrOutputWithContext(ctx) +func (i AppSpecServiceHealthCheckArgs) ToAppSpecServiceHealthCheckPtrOutputWithContext(ctx context.Context) AppSpecServiceHealthCheckPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceHealthCheckOutput).ToAppSpecServiceHealthCheckPtrOutputWithContext(ctx) } -// AppSpecStaticSiteCorsAllowOriginsPtrInput is an input type that accepts AppSpecStaticSiteCorsAllowOriginsArgs, AppSpecStaticSiteCorsAllowOriginsPtr and AppSpecStaticSiteCorsAllowOriginsPtrOutput values. -// You can construct a concrete instance of `AppSpecStaticSiteCorsAllowOriginsPtrInput` via: +// AppSpecServiceHealthCheckPtrInput is an input type that accepts AppSpecServiceHealthCheckArgs, AppSpecServiceHealthCheckPtr and AppSpecServiceHealthCheckPtrOutput values. +// You can construct a concrete instance of `AppSpecServiceHealthCheckPtrInput` via: // -// AppSpecStaticSiteCorsAllowOriginsArgs{...} +// AppSpecServiceHealthCheckArgs{...} // // or: // // nil -type AppSpecStaticSiteCorsAllowOriginsPtrInput interface { +type AppSpecServiceHealthCheckPtrInput interface { pulumi.Input - ToAppSpecStaticSiteCorsAllowOriginsPtrOutput() AppSpecStaticSiteCorsAllowOriginsPtrOutput - ToAppSpecStaticSiteCorsAllowOriginsPtrOutputWithContext(context.Context) AppSpecStaticSiteCorsAllowOriginsPtrOutput + ToAppSpecServiceHealthCheckPtrOutput() AppSpecServiceHealthCheckPtrOutput + ToAppSpecServiceHealthCheckPtrOutputWithContext(context.Context) AppSpecServiceHealthCheckPtrOutput } -type appSpecStaticSiteCorsAllowOriginsPtrType AppSpecStaticSiteCorsAllowOriginsArgs +type appSpecServiceHealthCheckPtrType AppSpecServiceHealthCheckArgs -func AppSpecStaticSiteCorsAllowOriginsPtr(v *AppSpecStaticSiteCorsAllowOriginsArgs) AppSpecStaticSiteCorsAllowOriginsPtrInput { - return (*appSpecStaticSiteCorsAllowOriginsPtrType)(v) +func AppSpecServiceHealthCheckPtr(v *AppSpecServiceHealthCheckArgs) AppSpecServiceHealthCheckPtrInput { + return (*appSpecServiceHealthCheckPtrType)(v) } -func (*appSpecStaticSiteCorsAllowOriginsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**AppSpecStaticSiteCorsAllowOrigins)(nil)).Elem() +func (*appSpecServiceHealthCheckPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecServiceHealthCheck)(nil)).Elem() } -func (i *appSpecStaticSiteCorsAllowOriginsPtrType) ToAppSpecStaticSiteCorsAllowOriginsPtrOutput() AppSpecStaticSiteCorsAllowOriginsPtrOutput { - return i.ToAppSpecStaticSiteCorsAllowOriginsPtrOutputWithContext(context.Background()) +func (i *appSpecServiceHealthCheckPtrType) ToAppSpecServiceHealthCheckPtrOutput() AppSpecServiceHealthCheckPtrOutput { + return i.ToAppSpecServiceHealthCheckPtrOutputWithContext(context.Background()) } -func (i *appSpecStaticSiteCorsAllowOriginsPtrType) ToAppSpecStaticSiteCorsAllowOriginsPtrOutputWithContext(ctx context.Context) AppSpecStaticSiteCorsAllowOriginsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecStaticSiteCorsAllowOriginsPtrOutput) +func (i *appSpecServiceHealthCheckPtrType) ToAppSpecServiceHealthCheckPtrOutputWithContext(ctx context.Context) AppSpecServiceHealthCheckPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceHealthCheckPtrOutput) } -type AppSpecStaticSiteCorsAllowOriginsOutput struct{ *pulumi.OutputState } +type AppSpecServiceHealthCheckOutput struct{ *pulumi.OutputState } -func (AppSpecStaticSiteCorsAllowOriginsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecStaticSiteCorsAllowOrigins)(nil)).Elem() +func (AppSpecServiceHealthCheckOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecServiceHealthCheck)(nil)).Elem() } -func (o AppSpecStaticSiteCorsAllowOriginsOutput) ToAppSpecStaticSiteCorsAllowOriginsOutput() AppSpecStaticSiteCorsAllowOriginsOutput { +func (o AppSpecServiceHealthCheckOutput) ToAppSpecServiceHealthCheckOutput() AppSpecServiceHealthCheckOutput { return o } -func (o AppSpecStaticSiteCorsAllowOriginsOutput) ToAppSpecStaticSiteCorsAllowOriginsOutputWithContext(ctx context.Context) AppSpecStaticSiteCorsAllowOriginsOutput { +func (o AppSpecServiceHealthCheckOutput) ToAppSpecServiceHealthCheckOutputWithContext(ctx context.Context) AppSpecServiceHealthCheckOutput { return o } -func (o AppSpecStaticSiteCorsAllowOriginsOutput) ToAppSpecStaticSiteCorsAllowOriginsPtrOutput() AppSpecStaticSiteCorsAllowOriginsPtrOutput { - return o.ToAppSpecStaticSiteCorsAllowOriginsPtrOutputWithContext(context.Background()) +func (o AppSpecServiceHealthCheckOutput) ToAppSpecServiceHealthCheckPtrOutput() AppSpecServiceHealthCheckPtrOutput { + return o.ToAppSpecServiceHealthCheckPtrOutputWithContext(context.Background()) } -func (o AppSpecStaticSiteCorsAllowOriginsOutput) ToAppSpecStaticSiteCorsAllowOriginsPtrOutputWithContext(ctx context.Context) AppSpecStaticSiteCorsAllowOriginsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v AppSpecStaticSiteCorsAllowOrigins) *AppSpecStaticSiteCorsAllowOrigins { +func (o AppSpecServiceHealthCheckOutput) ToAppSpecServiceHealthCheckPtrOutputWithContext(ctx context.Context) AppSpecServiceHealthCheckPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AppSpecServiceHealthCheck) *AppSpecServiceHealthCheck { return &v - }).(AppSpecStaticSiteCorsAllowOriginsPtrOutput) + }).(AppSpecServiceHealthCheckPtrOutput) } -// The `Access-Control-Allow-Origin` header will be set to the client's origin only if the client's origin exactly matches the value you provide. -func (o AppSpecStaticSiteCorsAllowOriginsOutput) Exact() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecStaticSiteCorsAllowOrigins) *string { return v.Exact }).(pulumi.StringPtrOutput) +// The number of failed health checks before considered unhealthy. +func (o AppSpecServiceHealthCheckOutput) FailureThreshold() pulumi.IntPtrOutput { + return o.ApplyT(func(v AppSpecServiceHealthCheck) *int { return v.FailureThreshold }).(pulumi.IntPtrOutput) } -// The `Access-Control-Allow-Origin` header will be set to the client's origin if the beginning of the client's origin matches the value you provide. -func (o AppSpecStaticSiteCorsAllowOriginsOutput) Prefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecStaticSiteCorsAllowOrigins) *string { return v.Prefix }).(pulumi.StringPtrOutput) +// The route path used for the HTTP health check ping. +func (o AppSpecServiceHealthCheckOutput) HttpPath() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecServiceHealthCheck) *string { return v.HttpPath }).(pulumi.StringPtrOutput) } -// The `Access-Control-Allow-Origin` header will be set to the client's origin if the client’s origin matches the regex you provide, in [RE2 style syntax](https://github.com/google/re2/wiki/Syntax). -func (o AppSpecStaticSiteCorsAllowOriginsOutput) Regex() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecStaticSiteCorsAllowOrigins) *string { return v.Regex }).(pulumi.StringPtrOutput) +// The number of seconds to wait before beginning health checks. +func (o AppSpecServiceHealthCheckOutput) InitialDelaySeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v AppSpecServiceHealthCheck) *int { return v.InitialDelaySeconds }).(pulumi.IntPtrOutput) } -type AppSpecStaticSiteCorsAllowOriginsPtrOutput struct{ *pulumi.OutputState } +// The number of seconds to wait between health checks. +func (o AppSpecServiceHealthCheckOutput) PeriodSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v AppSpecServiceHealthCheck) *int { return v.PeriodSeconds }).(pulumi.IntPtrOutput) +} -func (AppSpecStaticSiteCorsAllowOriginsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**AppSpecStaticSiteCorsAllowOrigins)(nil)).Elem() +// The number of successful health checks before considered healthy. +func (o AppSpecServiceHealthCheckOutput) SuccessThreshold() pulumi.IntPtrOutput { + return o.ApplyT(func(v AppSpecServiceHealthCheck) *int { return v.SuccessThreshold }).(pulumi.IntPtrOutput) } -func (o AppSpecStaticSiteCorsAllowOriginsPtrOutput) ToAppSpecStaticSiteCorsAllowOriginsPtrOutput() AppSpecStaticSiteCorsAllowOriginsPtrOutput { +// The number of seconds after which the check times out. +func (o AppSpecServiceHealthCheckOutput) TimeoutSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v AppSpecServiceHealthCheck) *int { return v.TimeoutSeconds }).(pulumi.IntPtrOutput) +} + +type AppSpecServiceHealthCheckPtrOutput struct{ *pulumi.OutputState } + +func (AppSpecServiceHealthCheckPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecServiceHealthCheck)(nil)).Elem() +} + +func (o AppSpecServiceHealthCheckPtrOutput) ToAppSpecServiceHealthCheckPtrOutput() AppSpecServiceHealthCheckPtrOutput { return o } -func (o AppSpecStaticSiteCorsAllowOriginsPtrOutput) ToAppSpecStaticSiteCorsAllowOriginsPtrOutputWithContext(ctx context.Context) AppSpecStaticSiteCorsAllowOriginsPtrOutput { +func (o AppSpecServiceHealthCheckPtrOutput) ToAppSpecServiceHealthCheckPtrOutputWithContext(ctx context.Context) AppSpecServiceHealthCheckPtrOutput { return o } -func (o AppSpecStaticSiteCorsAllowOriginsPtrOutput) Elem() AppSpecStaticSiteCorsAllowOriginsOutput { - return o.ApplyT(func(v *AppSpecStaticSiteCorsAllowOrigins) AppSpecStaticSiteCorsAllowOrigins { +func (o AppSpecServiceHealthCheckPtrOutput) Elem() AppSpecServiceHealthCheckOutput { + return o.ApplyT(func(v *AppSpecServiceHealthCheck) AppSpecServiceHealthCheck { if v != nil { return *v } - var ret AppSpecStaticSiteCorsAllowOrigins + var ret AppSpecServiceHealthCheck return ret - }).(AppSpecStaticSiteCorsAllowOriginsOutput) + }).(AppSpecServiceHealthCheckOutput) } -// The `Access-Control-Allow-Origin` header will be set to the client's origin only if the client's origin exactly matches the value you provide. -func (o AppSpecStaticSiteCorsAllowOriginsPtrOutput) Exact() pulumi.StringPtrOutput { - return o.ApplyT(func(v *AppSpecStaticSiteCorsAllowOrigins) *string { +// The number of failed health checks before considered unhealthy. +func (o AppSpecServiceHealthCheckPtrOutput) FailureThreshold() pulumi.IntPtrOutput { + return o.ApplyT(func(v *AppSpecServiceHealthCheck) *int { if v == nil { return nil } - return v.Exact - }).(pulumi.StringPtrOutput) + return v.FailureThreshold + }).(pulumi.IntPtrOutput) } -// The `Access-Control-Allow-Origin` header will be set to the client's origin if the beginning of the client's origin matches the value you provide. -func (o AppSpecStaticSiteCorsAllowOriginsPtrOutput) Prefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *AppSpecStaticSiteCorsAllowOrigins) *string { +// The route path used for the HTTP health check ping. +func (o AppSpecServiceHealthCheckPtrOutput) HttpPath() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecServiceHealthCheck) *string { if v == nil { return nil } - return v.Prefix + return v.HttpPath }).(pulumi.StringPtrOutput) } -// The `Access-Control-Allow-Origin` header will be set to the client's origin if the client’s origin matches the regex you provide, in [RE2 style syntax](https://github.com/google/re2/wiki/Syntax). -func (o AppSpecStaticSiteCorsAllowOriginsPtrOutput) Regex() pulumi.StringPtrOutput { - return o.ApplyT(func(v *AppSpecStaticSiteCorsAllowOrigins) *string { +// The number of seconds to wait before beginning health checks. +func (o AppSpecServiceHealthCheckPtrOutput) InitialDelaySeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v *AppSpecServiceHealthCheck) *int { if v == nil { return nil } - return v.Regex - }).(pulumi.StringPtrOutput) + return v.InitialDelaySeconds + }).(pulumi.IntPtrOutput) } -type AppSpecStaticSiteEnv struct { - // The name of the environment variable. - Key *string `pulumi:"key"` - // The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). - Scope *string `pulumi:"scope"` - // The type of the environment variable, `GENERAL` or `SECRET`. - Type *string `pulumi:"type"` - // The value of the environment variable. - Value *string `pulumi:"value"` +// The number of seconds to wait between health checks. +func (o AppSpecServiceHealthCheckPtrOutput) PeriodSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v *AppSpecServiceHealthCheck) *int { + if v == nil { + return nil + } + return v.PeriodSeconds + }).(pulumi.IntPtrOutput) } -// AppSpecStaticSiteEnvInput is an input type that accepts AppSpecStaticSiteEnvArgs and AppSpecStaticSiteEnvOutput values. -// You can construct a concrete instance of `AppSpecStaticSiteEnvInput` via: +// The number of successful health checks before considered healthy. +func (o AppSpecServiceHealthCheckPtrOutput) SuccessThreshold() pulumi.IntPtrOutput { + return o.ApplyT(func(v *AppSpecServiceHealthCheck) *int { + if v == nil { + return nil + } + return v.SuccessThreshold + }).(pulumi.IntPtrOutput) +} + +// The number of seconds after which the check times out. +func (o AppSpecServiceHealthCheckPtrOutput) TimeoutSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v *AppSpecServiceHealthCheck) *int { + if v == nil { + return nil + } + return v.TimeoutSeconds + }).(pulumi.IntPtrOutput) +} + +type AppSpecServiceImage struct { + // The registry name. Must be left empty for the `DOCR` registry type. Required for the `DOCKER_HUB` registry type. + Registry *string `pulumi:"registry"` + // The registry type. One of `DOCR` (DigitalOcean container registry) or `DOCKER_HUB`. + RegistryType string `pulumi:"registryType"` + // The repository name. + Repository string `pulumi:"repository"` + // The repository tag. Defaults to `latest` if not provided. + Tag *string `pulumi:"tag"` +} + +// AppSpecServiceImageInput is an input type that accepts AppSpecServiceImageArgs and AppSpecServiceImageOutput values. +// You can construct a concrete instance of `AppSpecServiceImageInput` via: // -// AppSpecStaticSiteEnvArgs{...} -type AppSpecStaticSiteEnvInput interface { +// AppSpecServiceImageArgs{...} +type AppSpecServiceImageInput interface { pulumi.Input - ToAppSpecStaticSiteEnvOutput() AppSpecStaticSiteEnvOutput - ToAppSpecStaticSiteEnvOutputWithContext(context.Context) AppSpecStaticSiteEnvOutput + ToAppSpecServiceImageOutput() AppSpecServiceImageOutput + ToAppSpecServiceImageOutputWithContext(context.Context) AppSpecServiceImageOutput } -type AppSpecStaticSiteEnvArgs struct { - // The name of the environment variable. - Key pulumi.StringPtrInput `pulumi:"key"` - // The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). - Scope pulumi.StringPtrInput `pulumi:"scope"` - // The type of the environment variable, `GENERAL` or `SECRET`. - Type pulumi.StringPtrInput `pulumi:"type"` - // The value of the environment variable. - Value pulumi.StringPtrInput `pulumi:"value"` +type AppSpecServiceImageArgs struct { + // The registry name. Must be left empty for the `DOCR` registry type. Required for the `DOCKER_HUB` registry type. + Registry pulumi.StringPtrInput `pulumi:"registry"` + // The registry type. One of `DOCR` (DigitalOcean container registry) or `DOCKER_HUB`. + RegistryType pulumi.StringInput `pulumi:"registryType"` + // The repository name. + Repository pulumi.StringInput `pulumi:"repository"` + // The repository tag. Defaults to `latest` if not provided. + Tag pulumi.StringPtrInput `pulumi:"tag"` } -func (AppSpecStaticSiteEnvArgs) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecStaticSiteEnv)(nil)).Elem() +func (AppSpecServiceImageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecServiceImage)(nil)).Elem() } -func (i AppSpecStaticSiteEnvArgs) ToAppSpecStaticSiteEnvOutput() AppSpecStaticSiteEnvOutput { - return i.ToAppSpecStaticSiteEnvOutputWithContext(context.Background()) +func (i AppSpecServiceImageArgs) ToAppSpecServiceImageOutput() AppSpecServiceImageOutput { + return i.ToAppSpecServiceImageOutputWithContext(context.Background()) } -func (i AppSpecStaticSiteEnvArgs) ToAppSpecStaticSiteEnvOutputWithContext(ctx context.Context) AppSpecStaticSiteEnvOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecStaticSiteEnvOutput) +func (i AppSpecServiceImageArgs) ToAppSpecServiceImageOutputWithContext(ctx context.Context) AppSpecServiceImageOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceImageOutput) } -// AppSpecStaticSiteEnvArrayInput is an input type that accepts AppSpecStaticSiteEnvArray and AppSpecStaticSiteEnvArrayOutput values. -// You can construct a concrete instance of `AppSpecStaticSiteEnvArrayInput` via: +func (i AppSpecServiceImageArgs) ToAppSpecServiceImagePtrOutput() AppSpecServiceImagePtrOutput { + return i.ToAppSpecServiceImagePtrOutputWithContext(context.Background()) +} + +func (i AppSpecServiceImageArgs) ToAppSpecServiceImagePtrOutputWithContext(ctx context.Context) AppSpecServiceImagePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceImageOutput).ToAppSpecServiceImagePtrOutputWithContext(ctx) +} + +// AppSpecServiceImagePtrInput is an input type that accepts AppSpecServiceImageArgs, AppSpecServiceImagePtr and AppSpecServiceImagePtrOutput values. +// You can construct a concrete instance of `AppSpecServiceImagePtrInput` via: // -// AppSpecStaticSiteEnvArray{ AppSpecStaticSiteEnvArgs{...} } -type AppSpecStaticSiteEnvArrayInput interface { +// AppSpecServiceImageArgs{...} +// +// or: +// +// nil +type AppSpecServiceImagePtrInput interface { pulumi.Input - ToAppSpecStaticSiteEnvArrayOutput() AppSpecStaticSiteEnvArrayOutput - ToAppSpecStaticSiteEnvArrayOutputWithContext(context.Context) AppSpecStaticSiteEnvArrayOutput + ToAppSpecServiceImagePtrOutput() AppSpecServiceImagePtrOutput + ToAppSpecServiceImagePtrOutputWithContext(context.Context) AppSpecServiceImagePtrOutput } -type AppSpecStaticSiteEnvArray []AppSpecStaticSiteEnvInput +type appSpecServiceImagePtrType AppSpecServiceImageArgs -func (AppSpecStaticSiteEnvArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]AppSpecStaticSiteEnv)(nil)).Elem() +func AppSpecServiceImagePtr(v *AppSpecServiceImageArgs) AppSpecServiceImagePtrInput { + return (*appSpecServiceImagePtrType)(v) } -func (i AppSpecStaticSiteEnvArray) ToAppSpecStaticSiteEnvArrayOutput() AppSpecStaticSiteEnvArrayOutput { - return i.ToAppSpecStaticSiteEnvArrayOutputWithContext(context.Background()) +func (*appSpecServiceImagePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecServiceImage)(nil)).Elem() } -func (i AppSpecStaticSiteEnvArray) ToAppSpecStaticSiteEnvArrayOutputWithContext(ctx context.Context) AppSpecStaticSiteEnvArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecStaticSiteEnvArrayOutput) +func (i *appSpecServiceImagePtrType) ToAppSpecServiceImagePtrOutput() AppSpecServiceImagePtrOutput { + return i.ToAppSpecServiceImagePtrOutputWithContext(context.Background()) } -type AppSpecStaticSiteEnvOutput struct{ *pulumi.OutputState } +func (i *appSpecServiceImagePtrType) ToAppSpecServiceImagePtrOutputWithContext(ctx context.Context) AppSpecServiceImagePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceImagePtrOutput) +} -func (AppSpecStaticSiteEnvOutput) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecStaticSiteEnv)(nil)).Elem() +type AppSpecServiceImageOutput struct{ *pulumi.OutputState } + +func (AppSpecServiceImageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecServiceImage)(nil)).Elem() } -func (o AppSpecStaticSiteEnvOutput) ToAppSpecStaticSiteEnvOutput() AppSpecStaticSiteEnvOutput { +func (o AppSpecServiceImageOutput) ToAppSpecServiceImageOutput() AppSpecServiceImageOutput { return o } -func (o AppSpecStaticSiteEnvOutput) ToAppSpecStaticSiteEnvOutputWithContext(ctx context.Context) AppSpecStaticSiteEnvOutput { +func (o AppSpecServiceImageOutput) ToAppSpecServiceImageOutputWithContext(ctx context.Context) AppSpecServiceImageOutput { return o } -// The name of the environment variable. -func (o AppSpecStaticSiteEnvOutput) Key() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecStaticSiteEnv) *string { return v.Key }).(pulumi.StringPtrOutput) +func (o AppSpecServiceImageOutput) ToAppSpecServiceImagePtrOutput() AppSpecServiceImagePtrOutput { + return o.ToAppSpecServiceImagePtrOutputWithContext(context.Background()) } -// The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). -func (o AppSpecStaticSiteEnvOutput) Scope() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecStaticSiteEnv) *string { return v.Scope }).(pulumi.StringPtrOutput) +func (o AppSpecServiceImageOutput) ToAppSpecServiceImagePtrOutputWithContext(ctx context.Context) AppSpecServiceImagePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AppSpecServiceImage) *AppSpecServiceImage { + return &v + }).(AppSpecServiceImagePtrOutput) } -// The type of the environment variable, `GENERAL` or `SECRET`. -func (o AppSpecStaticSiteEnvOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecStaticSiteEnv) *string { return v.Type }).(pulumi.StringPtrOutput) +// The registry name. Must be left empty for the `DOCR` registry type. Required for the `DOCKER_HUB` registry type. +func (o AppSpecServiceImageOutput) Registry() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecServiceImage) *string { return v.Registry }).(pulumi.StringPtrOutput) } -// The value of the environment variable. -func (o AppSpecStaticSiteEnvOutput) Value() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecStaticSiteEnv) *string { return v.Value }).(pulumi.StringPtrOutput) +// The registry type. One of `DOCR` (DigitalOcean container registry) or `DOCKER_HUB`. +func (o AppSpecServiceImageOutput) RegistryType() pulumi.StringOutput { + return o.ApplyT(func(v AppSpecServiceImage) string { return v.RegistryType }).(pulumi.StringOutput) } -type AppSpecStaticSiteEnvArrayOutput struct{ *pulumi.OutputState } +// The repository name. +func (o AppSpecServiceImageOutput) Repository() pulumi.StringOutput { + return o.ApplyT(func(v AppSpecServiceImage) string { return v.Repository }).(pulumi.StringOutput) +} -func (AppSpecStaticSiteEnvArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]AppSpecStaticSiteEnv)(nil)).Elem() +// The repository tag. Defaults to `latest` if not provided. +func (o AppSpecServiceImageOutput) Tag() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecServiceImage) *string { return v.Tag }).(pulumi.StringPtrOutput) } -func (o AppSpecStaticSiteEnvArrayOutput) ToAppSpecStaticSiteEnvArrayOutput() AppSpecStaticSiteEnvArrayOutput { - return o +type AppSpecServiceImagePtrOutput struct{ *pulumi.OutputState } + +func (AppSpecServiceImagePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecServiceImage)(nil)).Elem() } -func (o AppSpecStaticSiteEnvArrayOutput) ToAppSpecStaticSiteEnvArrayOutputWithContext(ctx context.Context) AppSpecStaticSiteEnvArrayOutput { +func (o AppSpecServiceImagePtrOutput) ToAppSpecServiceImagePtrOutput() AppSpecServiceImagePtrOutput { return o } -func (o AppSpecStaticSiteEnvArrayOutput) Index(i pulumi.IntInput) AppSpecStaticSiteEnvOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) AppSpecStaticSiteEnv { - return vs[0].([]AppSpecStaticSiteEnv)[vs[1].(int)] - }).(AppSpecStaticSiteEnvOutput) +func (o AppSpecServiceImagePtrOutput) ToAppSpecServiceImagePtrOutputWithContext(ctx context.Context) AppSpecServiceImagePtrOutput { + return o } -type AppSpecStaticSiteGit struct { - // The name of the branch to use. - Branch *string `pulumi:"branch"` - // The clone URL of the repo. - RepoCloneUrl *string `pulumi:"repoCloneUrl"` +func (o AppSpecServiceImagePtrOutput) Elem() AppSpecServiceImageOutput { + return o.ApplyT(func(v *AppSpecServiceImage) AppSpecServiceImage { + if v != nil { + return *v + } + var ret AppSpecServiceImage + return ret + }).(AppSpecServiceImageOutput) } -// AppSpecStaticSiteGitInput is an input type that accepts AppSpecStaticSiteGitArgs and AppSpecStaticSiteGitOutput values. -// You can construct a concrete instance of `AppSpecStaticSiteGitInput` via: -// -// AppSpecStaticSiteGitArgs{...} -type AppSpecStaticSiteGitInput interface { - pulumi.Input +// The registry name. Must be left empty for the `DOCR` registry type. Required for the `DOCKER_HUB` registry type. +func (o AppSpecServiceImagePtrOutput) Registry() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecServiceImage) *string { + if v == nil { + return nil + } + return v.Registry + }).(pulumi.StringPtrOutput) +} - ToAppSpecStaticSiteGitOutput() AppSpecStaticSiteGitOutput - ToAppSpecStaticSiteGitOutputWithContext(context.Context) AppSpecStaticSiteGitOutput +// The registry type. One of `DOCR` (DigitalOcean container registry) or `DOCKER_HUB`. +func (o AppSpecServiceImagePtrOutput) RegistryType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecServiceImage) *string { + if v == nil { + return nil + } + return &v.RegistryType + }).(pulumi.StringPtrOutput) } -type AppSpecStaticSiteGitArgs struct { - // The name of the branch to use. - Branch pulumi.StringPtrInput `pulumi:"branch"` - // The clone URL of the repo. - RepoCloneUrl pulumi.StringPtrInput `pulumi:"repoCloneUrl"` +// The repository name. +func (o AppSpecServiceImagePtrOutput) Repository() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecServiceImage) *string { + if v == nil { + return nil + } + return &v.Repository + }).(pulumi.StringPtrOutput) } -func (AppSpecStaticSiteGitArgs) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecStaticSiteGit)(nil)).Elem() +// The repository tag. Defaults to `latest` if not provided. +func (o AppSpecServiceImagePtrOutput) Tag() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecServiceImage) *string { + if v == nil { + return nil + } + return v.Tag + }).(pulumi.StringPtrOutput) } -func (i AppSpecStaticSiteGitArgs) ToAppSpecStaticSiteGitOutput() AppSpecStaticSiteGitOutput { - return i.ToAppSpecStaticSiteGitOutputWithContext(context.Background()) +type AppSpecServiceLogDestination struct { + // Datadog configuration. + Datadog *AppSpecServiceLogDestinationDatadog `pulumi:"datadog"` + // Logtail configuration. + Logtail *AppSpecServiceLogDestinationLogtail `pulumi:"logtail"` + // The name of the component. + Name string `pulumi:"name"` + // Papertrail configuration. + Papertrail *AppSpecServiceLogDestinationPapertrail `pulumi:"papertrail"` } -func (i AppSpecStaticSiteGitArgs) ToAppSpecStaticSiteGitOutputWithContext(ctx context.Context) AppSpecStaticSiteGitOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecStaticSiteGitOutput) +// AppSpecServiceLogDestinationInput is an input type that accepts AppSpecServiceLogDestinationArgs and AppSpecServiceLogDestinationOutput values. +// You can construct a concrete instance of `AppSpecServiceLogDestinationInput` via: +// +// AppSpecServiceLogDestinationArgs{...} +type AppSpecServiceLogDestinationInput interface { + pulumi.Input + + ToAppSpecServiceLogDestinationOutput() AppSpecServiceLogDestinationOutput + ToAppSpecServiceLogDestinationOutputWithContext(context.Context) AppSpecServiceLogDestinationOutput } -func (i AppSpecStaticSiteGitArgs) ToAppSpecStaticSiteGitPtrOutput() AppSpecStaticSiteGitPtrOutput { - return i.ToAppSpecStaticSiteGitPtrOutputWithContext(context.Background()) +type AppSpecServiceLogDestinationArgs struct { + // Datadog configuration. + Datadog AppSpecServiceLogDestinationDatadogPtrInput `pulumi:"datadog"` + // Logtail configuration. + Logtail AppSpecServiceLogDestinationLogtailPtrInput `pulumi:"logtail"` + // The name of the component. + Name pulumi.StringInput `pulumi:"name"` + // Papertrail configuration. + Papertrail AppSpecServiceLogDestinationPapertrailPtrInput `pulumi:"papertrail"` } -func (i AppSpecStaticSiteGitArgs) ToAppSpecStaticSiteGitPtrOutputWithContext(ctx context.Context) AppSpecStaticSiteGitPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecStaticSiteGitOutput).ToAppSpecStaticSiteGitPtrOutputWithContext(ctx) +func (AppSpecServiceLogDestinationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecServiceLogDestination)(nil)).Elem() } -// AppSpecStaticSiteGitPtrInput is an input type that accepts AppSpecStaticSiteGitArgs, AppSpecStaticSiteGitPtr and AppSpecStaticSiteGitPtrOutput values. -// You can construct a concrete instance of `AppSpecStaticSiteGitPtrInput` via: -// -// AppSpecStaticSiteGitArgs{...} -// -// or: -// -// nil -type AppSpecStaticSiteGitPtrInput interface { - pulumi.Input +func (i AppSpecServiceLogDestinationArgs) ToAppSpecServiceLogDestinationOutput() AppSpecServiceLogDestinationOutput { + return i.ToAppSpecServiceLogDestinationOutputWithContext(context.Background()) +} - ToAppSpecStaticSiteGitPtrOutput() AppSpecStaticSiteGitPtrOutput - ToAppSpecStaticSiteGitPtrOutputWithContext(context.Context) AppSpecStaticSiteGitPtrOutput +func (i AppSpecServiceLogDestinationArgs) ToAppSpecServiceLogDestinationOutputWithContext(ctx context.Context) AppSpecServiceLogDestinationOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceLogDestinationOutput) } -type appSpecStaticSiteGitPtrType AppSpecStaticSiteGitArgs +// AppSpecServiceLogDestinationArrayInput is an input type that accepts AppSpecServiceLogDestinationArray and AppSpecServiceLogDestinationArrayOutput values. +// You can construct a concrete instance of `AppSpecServiceLogDestinationArrayInput` via: +// +// AppSpecServiceLogDestinationArray{ AppSpecServiceLogDestinationArgs{...} } +type AppSpecServiceLogDestinationArrayInput interface { + pulumi.Input -func AppSpecStaticSiteGitPtr(v *AppSpecStaticSiteGitArgs) AppSpecStaticSiteGitPtrInput { - return (*appSpecStaticSiteGitPtrType)(v) + ToAppSpecServiceLogDestinationArrayOutput() AppSpecServiceLogDestinationArrayOutput + ToAppSpecServiceLogDestinationArrayOutputWithContext(context.Context) AppSpecServiceLogDestinationArrayOutput } -func (*appSpecStaticSiteGitPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**AppSpecStaticSiteGit)(nil)).Elem() +type AppSpecServiceLogDestinationArray []AppSpecServiceLogDestinationInput + +func (AppSpecServiceLogDestinationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]AppSpecServiceLogDestination)(nil)).Elem() } -func (i *appSpecStaticSiteGitPtrType) ToAppSpecStaticSiteGitPtrOutput() AppSpecStaticSiteGitPtrOutput { - return i.ToAppSpecStaticSiteGitPtrOutputWithContext(context.Background()) +func (i AppSpecServiceLogDestinationArray) ToAppSpecServiceLogDestinationArrayOutput() AppSpecServiceLogDestinationArrayOutput { + return i.ToAppSpecServiceLogDestinationArrayOutputWithContext(context.Background()) } -func (i *appSpecStaticSiteGitPtrType) ToAppSpecStaticSiteGitPtrOutputWithContext(ctx context.Context) AppSpecStaticSiteGitPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecStaticSiteGitPtrOutput) +func (i AppSpecServiceLogDestinationArray) ToAppSpecServiceLogDestinationArrayOutputWithContext(ctx context.Context) AppSpecServiceLogDestinationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceLogDestinationArrayOutput) } -type AppSpecStaticSiteGitOutput struct{ *pulumi.OutputState } +type AppSpecServiceLogDestinationOutput struct{ *pulumi.OutputState } -func (AppSpecStaticSiteGitOutput) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecStaticSiteGit)(nil)).Elem() +func (AppSpecServiceLogDestinationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecServiceLogDestination)(nil)).Elem() } -func (o AppSpecStaticSiteGitOutput) ToAppSpecStaticSiteGitOutput() AppSpecStaticSiteGitOutput { +func (o AppSpecServiceLogDestinationOutput) ToAppSpecServiceLogDestinationOutput() AppSpecServiceLogDestinationOutput { return o } -func (o AppSpecStaticSiteGitOutput) ToAppSpecStaticSiteGitOutputWithContext(ctx context.Context) AppSpecStaticSiteGitOutput { +func (o AppSpecServiceLogDestinationOutput) ToAppSpecServiceLogDestinationOutputWithContext(ctx context.Context) AppSpecServiceLogDestinationOutput { return o } -func (o AppSpecStaticSiteGitOutput) ToAppSpecStaticSiteGitPtrOutput() AppSpecStaticSiteGitPtrOutput { - return o.ToAppSpecStaticSiteGitPtrOutputWithContext(context.Background()) +// Datadog configuration. +func (o AppSpecServiceLogDestinationOutput) Datadog() AppSpecServiceLogDestinationDatadogPtrOutput { + return o.ApplyT(func(v AppSpecServiceLogDestination) *AppSpecServiceLogDestinationDatadog { return v.Datadog }).(AppSpecServiceLogDestinationDatadogPtrOutput) } -func (o AppSpecStaticSiteGitOutput) ToAppSpecStaticSiteGitPtrOutputWithContext(ctx context.Context) AppSpecStaticSiteGitPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v AppSpecStaticSiteGit) *AppSpecStaticSiteGit { - return &v - }).(AppSpecStaticSiteGitPtrOutput) +// Logtail configuration. +func (o AppSpecServiceLogDestinationOutput) Logtail() AppSpecServiceLogDestinationLogtailPtrOutput { + return o.ApplyT(func(v AppSpecServiceLogDestination) *AppSpecServiceLogDestinationLogtail { return v.Logtail }).(AppSpecServiceLogDestinationLogtailPtrOutput) } -// The name of the branch to use. -func (o AppSpecStaticSiteGitOutput) Branch() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecStaticSiteGit) *string { return v.Branch }).(pulumi.StringPtrOutput) +// The name of the component. +func (o AppSpecServiceLogDestinationOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v AppSpecServiceLogDestination) string { return v.Name }).(pulumi.StringOutput) } -// The clone URL of the repo. -func (o AppSpecStaticSiteGitOutput) RepoCloneUrl() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecStaticSiteGit) *string { return v.RepoCloneUrl }).(pulumi.StringPtrOutput) +// Papertrail configuration. +func (o AppSpecServiceLogDestinationOutput) Papertrail() AppSpecServiceLogDestinationPapertrailPtrOutput { + return o.ApplyT(func(v AppSpecServiceLogDestination) *AppSpecServiceLogDestinationPapertrail { return v.Papertrail }).(AppSpecServiceLogDestinationPapertrailPtrOutput) } -type AppSpecStaticSiteGitPtrOutput struct{ *pulumi.OutputState } +type AppSpecServiceLogDestinationArrayOutput struct{ *pulumi.OutputState } -func (AppSpecStaticSiteGitPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**AppSpecStaticSiteGit)(nil)).Elem() +func (AppSpecServiceLogDestinationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]AppSpecServiceLogDestination)(nil)).Elem() } -func (o AppSpecStaticSiteGitPtrOutput) ToAppSpecStaticSiteGitPtrOutput() AppSpecStaticSiteGitPtrOutput { +func (o AppSpecServiceLogDestinationArrayOutput) ToAppSpecServiceLogDestinationArrayOutput() AppSpecServiceLogDestinationArrayOutput { return o } -func (o AppSpecStaticSiteGitPtrOutput) ToAppSpecStaticSiteGitPtrOutputWithContext(ctx context.Context) AppSpecStaticSiteGitPtrOutput { +func (o AppSpecServiceLogDestinationArrayOutput) ToAppSpecServiceLogDestinationArrayOutputWithContext(ctx context.Context) AppSpecServiceLogDestinationArrayOutput { return o } -func (o AppSpecStaticSiteGitPtrOutput) Elem() AppSpecStaticSiteGitOutput { - return o.ApplyT(func(v *AppSpecStaticSiteGit) AppSpecStaticSiteGit { - if v != nil { - return *v - } - var ret AppSpecStaticSiteGit - return ret - }).(AppSpecStaticSiteGitOutput) -} - -// The name of the branch to use. -func (o AppSpecStaticSiteGitPtrOutput) Branch() pulumi.StringPtrOutput { - return o.ApplyT(func(v *AppSpecStaticSiteGit) *string { - if v == nil { - return nil - } - return v.Branch - }).(pulumi.StringPtrOutput) -} - -// The clone URL of the repo. -func (o AppSpecStaticSiteGitPtrOutput) RepoCloneUrl() pulumi.StringPtrOutput { - return o.ApplyT(func(v *AppSpecStaticSiteGit) *string { - if v == nil { - return nil - } - return v.RepoCloneUrl - }).(pulumi.StringPtrOutput) +func (o AppSpecServiceLogDestinationArrayOutput) Index(i pulumi.IntInput) AppSpecServiceLogDestinationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) AppSpecServiceLogDestination { + return vs[0].([]AppSpecServiceLogDestination)[vs[1].(int)] + }).(AppSpecServiceLogDestinationOutput) } -type AppSpecStaticSiteGithub struct { - // The name of the branch to use. - Branch *string `pulumi:"branch"` - // Whether to automatically deploy new commits made to the repo. - DeployOnPush *bool `pulumi:"deployOnPush"` - // The name of the repo in the format `owner/repo`. - Repo *string `pulumi:"repo"` +type AppSpecServiceLogDestinationDatadog struct { + // Datadog API key. + ApiKey string `pulumi:"apiKey"` + // Datadog HTTP log intake endpoint. + Endpoint *string `pulumi:"endpoint"` } -// AppSpecStaticSiteGithubInput is an input type that accepts AppSpecStaticSiteGithubArgs and AppSpecStaticSiteGithubOutput values. -// You can construct a concrete instance of `AppSpecStaticSiteGithubInput` via: +// AppSpecServiceLogDestinationDatadogInput is an input type that accepts AppSpecServiceLogDestinationDatadogArgs and AppSpecServiceLogDestinationDatadogOutput values. +// You can construct a concrete instance of `AppSpecServiceLogDestinationDatadogInput` via: // -// AppSpecStaticSiteGithubArgs{...} -type AppSpecStaticSiteGithubInput interface { +// AppSpecServiceLogDestinationDatadogArgs{...} +type AppSpecServiceLogDestinationDatadogInput interface { pulumi.Input - ToAppSpecStaticSiteGithubOutput() AppSpecStaticSiteGithubOutput - ToAppSpecStaticSiteGithubOutputWithContext(context.Context) AppSpecStaticSiteGithubOutput + ToAppSpecServiceLogDestinationDatadogOutput() AppSpecServiceLogDestinationDatadogOutput + ToAppSpecServiceLogDestinationDatadogOutputWithContext(context.Context) AppSpecServiceLogDestinationDatadogOutput } -type AppSpecStaticSiteGithubArgs struct { - // The name of the branch to use. - Branch pulumi.StringPtrInput `pulumi:"branch"` - // Whether to automatically deploy new commits made to the repo. - DeployOnPush pulumi.BoolPtrInput `pulumi:"deployOnPush"` - // The name of the repo in the format `owner/repo`. - Repo pulumi.StringPtrInput `pulumi:"repo"` +type AppSpecServiceLogDestinationDatadogArgs struct { + // Datadog API key. + ApiKey pulumi.StringInput `pulumi:"apiKey"` + // Datadog HTTP log intake endpoint. + Endpoint pulumi.StringPtrInput `pulumi:"endpoint"` } -func (AppSpecStaticSiteGithubArgs) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecStaticSiteGithub)(nil)).Elem() +func (AppSpecServiceLogDestinationDatadogArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecServiceLogDestinationDatadog)(nil)).Elem() } -func (i AppSpecStaticSiteGithubArgs) ToAppSpecStaticSiteGithubOutput() AppSpecStaticSiteGithubOutput { - return i.ToAppSpecStaticSiteGithubOutputWithContext(context.Background()) +func (i AppSpecServiceLogDestinationDatadogArgs) ToAppSpecServiceLogDestinationDatadogOutput() AppSpecServiceLogDestinationDatadogOutput { + return i.ToAppSpecServiceLogDestinationDatadogOutputWithContext(context.Background()) } -func (i AppSpecStaticSiteGithubArgs) ToAppSpecStaticSiteGithubOutputWithContext(ctx context.Context) AppSpecStaticSiteGithubOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecStaticSiteGithubOutput) +func (i AppSpecServiceLogDestinationDatadogArgs) ToAppSpecServiceLogDestinationDatadogOutputWithContext(ctx context.Context) AppSpecServiceLogDestinationDatadogOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceLogDestinationDatadogOutput) } -func (i AppSpecStaticSiteGithubArgs) ToAppSpecStaticSiteGithubPtrOutput() AppSpecStaticSiteGithubPtrOutput { - return i.ToAppSpecStaticSiteGithubPtrOutputWithContext(context.Background()) +func (i AppSpecServiceLogDestinationDatadogArgs) ToAppSpecServiceLogDestinationDatadogPtrOutput() AppSpecServiceLogDestinationDatadogPtrOutput { + return i.ToAppSpecServiceLogDestinationDatadogPtrOutputWithContext(context.Background()) } -func (i AppSpecStaticSiteGithubArgs) ToAppSpecStaticSiteGithubPtrOutputWithContext(ctx context.Context) AppSpecStaticSiteGithubPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecStaticSiteGithubOutput).ToAppSpecStaticSiteGithubPtrOutputWithContext(ctx) +func (i AppSpecServiceLogDestinationDatadogArgs) ToAppSpecServiceLogDestinationDatadogPtrOutputWithContext(ctx context.Context) AppSpecServiceLogDestinationDatadogPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceLogDestinationDatadogOutput).ToAppSpecServiceLogDestinationDatadogPtrOutputWithContext(ctx) } -// AppSpecStaticSiteGithubPtrInput is an input type that accepts AppSpecStaticSiteGithubArgs, AppSpecStaticSiteGithubPtr and AppSpecStaticSiteGithubPtrOutput values. -// You can construct a concrete instance of `AppSpecStaticSiteGithubPtrInput` via: +// AppSpecServiceLogDestinationDatadogPtrInput is an input type that accepts AppSpecServiceLogDestinationDatadogArgs, AppSpecServiceLogDestinationDatadogPtr and AppSpecServiceLogDestinationDatadogPtrOutput values. +// You can construct a concrete instance of `AppSpecServiceLogDestinationDatadogPtrInput` via: // -// AppSpecStaticSiteGithubArgs{...} +// AppSpecServiceLogDestinationDatadogArgs{...} // // or: // // nil -type AppSpecStaticSiteGithubPtrInput interface { +type AppSpecServiceLogDestinationDatadogPtrInput interface { pulumi.Input - ToAppSpecStaticSiteGithubPtrOutput() AppSpecStaticSiteGithubPtrOutput - ToAppSpecStaticSiteGithubPtrOutputWithContext(context.Context) AppSpecStaticSiteGithubPtrOutput + ToAppSpecServiceLogDestinationDatadogPtrOutput() AppSpecServiceLogDestinationDatadogPtrOutput + ToAppSpecServiceLogDestinationDatadogPtrOutputWithContext(context.Context) AppSpecServiceLogDestinationDatadogPtrOutput } -type appSpecStaticSiteGithubPtrType AppSpecStaticSiteGithubArgs +type appSpecServiceLogDestinationDatadogPtrType AppSpecServiceLogDestinationDatadogArgs -func AppSpecStaticSiteGithubPtr(v *AppSpecStaticSiteGithubArgs) AppSpecStaticSiteGithubPtrInput { - return (*appSpecStaticSiteGithubPtrType)(v) +func AppSpecServiceLogDestinationDatadogPtr(v *AppSpecServiceLogDestinationDatadogArgs) AppSpecServiceLogDestinationDatadogPtrInput { + return (*appSpecServiceLogDestinationDatadogPtrType)(v) } -func (*appSpecStaticSiteGithubPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**AppSpecStaticSiteGithub)(nil)).Elem() +func (*appSpecServiceLogDestinationDatadogPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecServiceLogDestinationDatadog)(nil)).Elem() } -func (i *appSpecStaticSiteGithubPtrType) ToAppSpecStaticSiteGithubPtrOutput() AppSpecStaticSiteGithubPtrOutput { - return i.ToAppSpecStaticSiteGithubPtrOutputWithContext(context.Background()) +func (i *appSpecServiceLogDestinationDatadogPtrType) ToAppSpecServiceLogDestinationDatadogPtrOutput() AppSpecServiceLogDestinationDatadogPtrOutput { + return i.ToAppSpecServiceLogDestinationDatadogPtrOutputWithContext(context.Background()) } -func (i *appSpecStaticSiteGithubPtrType) ToAppSpecStaticSiteGithubPtrOutputWithContext(ctx context.Context) AppSpecStaticSiteGithubPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecStaticSiteGithubPtrOutput) +func (i *appSpecServiceLogDestinationDatadogPtrType) ToAppSpecServiceLogDestinationDatadogPtrOutputWithContext(ctx context.Context) AppSpecServiceLogDestinationDatadogPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceLogDestinationDatadogPtrOutput) } -type AppSpecStaticSiteGithubOutput struct{ *pulumi.OutputState } +type AppSpecServiceLogDestinationDatadogOutput struct{ *pulumi.OutputState } -func (AppSpecStaticSiteGithubOutput) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecStaticSiteGithub)(nil)).Elem() +func (AppSpecServiceLogDestinationDatadogOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecServiceLogDestinationDatadog)(nil)).Elem() } -func (o AppSpecStaticSiteGithubOutput) ToAppSpecStaticSiteGithubOutput() AppSpecStaticSiteGithubOutput { +func (o AppSpecServiceLogDestinationDatadogOutput) ToAppSpecServiceLogDestinationDatadogOutput() AppSpecServiceLogDestinationDatadogOutput { return o } -func (o AppSpecStaticSiteGithubOutput) ToAppSpecStaticSiteGithubOutputWithContext(ctx context.Context) AppSpecStaticSiteGithubOutput { +func (o AppSpecServiceLogDestinationDatadogOutput) ToAppSpecServiceLogDestinationDatadogOutputWithContext(ctx context.Context) AppSpecServiceLogDestinationDatadogOutput { return o } -func (o AppSpecStaticSiteGithubOutput) ToAppSpecStaticSiteGithubPtrOutput() AppSpecStaticSiteGithubPtrOutput { - return o.ToAppSpecStaticSiteGithubPtrOutputWithContext(context.Background()) +func (o AppSpecServiceLogDestinationDatadogOutput) ToAppSpecServiceLogDestinationDatadogPtrOutput() AppSpecServiceLogDestinationDatadogPtrOutput { + return o.ToAppSpecServiceLogDestinationDatadogPtrOutputWithContext(context.Background()) } -func (o AppSpecStaticSiteGithubOutput) ToAppSpecStaticSiteGithubPtrOutputWithContext(ctx context.Context) AppSpecStaticSiteGithubPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v AppSpecStaticSiteGithub) *AppSpecStaticSiteGithub { +func (o AppSpecServiceLogDestinationDatadogOutput) ToAppSpecServiceLogDestinationDatadogPtrOutputWithContext(ctx context.Context) AppSpecServiceLogDestinationDatadogPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AppSpecServiceLogDestinationDatadog) *AppSpecServiceLogDestinationDatadog { return &v - }).(AppSpecStaticSiteGithubPtrOutput) -} - -// The name of the branch to use. -func (o AppSpecStaticSiteGithubOutput) Branch() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecStaticSiteGithub) *string { return v.Branch }).(pulumi.StringPtrOutput) + }).(AppSpecServiceLogDestinationDatadogPtrOutput) } -// Whether to automatically deploy new commits made to the repo. -func (o AppSpecStaticSiteGithubOutput) DeployOnPush() pulumi.BoolPtrOutput { - return o.ApplyT(func(v AppSpecStaticSiteGithub) *bool { return v.DeployOnPush }).(pulumi.BoolPtrOutput) +// Datadog API key. +func (o AppSpecServiceLogDestinationDatadogOutput) ApiKey() pulumi.StringOutput { + return o.ApplyT(func(v AppSpecServiceLogDestinationDatadog) string { return v.ApiKey }).(pulumi.StringOutput) } -// The name of the repo in the format `owner/repo`. -func (o AppSpecStaticSiteGithubOutput) Repo() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecStaticSiteGithub) *string { return v.Repo }).(pulumi.StringPtrOutput) +// Datadog HTTP log intake endpoint. +func (o AppSpecServiceLogDestinationDatadogOutput) Endpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecServiceLogDestinationDatadog) *string { return v.Endpoint }).(pulumi.StringPtrOutput) } -type AppSpecStaticSiteGithubPtrOutput struct{ *pulumi.OutputState } +type AppSpecServiceLogDestinationDatadogPtrOutput struct{ *pulumi.OutputState } -func (AppSpecStaticSiteGithubPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**AppSpecStaticSiteGithub)(nil)).Elem() +func (AppSpecServiceLogDestinationDatadogPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecServiceLogDestinationDatadog)(nil)).Elem() } -func (o AppSpecStaticSiteGithubPtrOutput) ToAppSpecStaticSiteGithubPtrOutput() AppSpecStaticSiteGithubPtrOutput { +func (o AppSpecServiceLogDestinationDatadogPtrOutput) ToAppSpecServiceLogDestinationDatadogPtrOutput() AppSpecServiceLogDestinationDatadogPtrOutput { return o } -func (o AppSpecStaticSiteGithubPtrOutput) ToAppSpecStaticSiteGithubPtrOutputWithContext(ctx context.Context) AppSpecStaticSiteGithubPtrOutput { +func (o AppSpecServiceLogDestinationDatadogPtrOutput) ToAppSpecServiceLogDestinationDatadogPtrOutputWithContext(ctx context.Context) AppSpecServiceLogDestinationDatadogPtrOutput { return o } -func (o AppSpecStaticSiteGithubPtrOutput) Elem() AppSpecStaticSiteGithubOutput { - return o.ApplyT(func(v *AppSpecStaticSiteGithub) AppSpecStaticSiteGithub { +func (o AppSpecServiceLogDestinationDatadogPtrOutput) Elem() AppSpecServiceLogDestinationDatadogOutput { + return o.ApplyT(func(v *AppSpecServiceLogDestinationDatadog) AppSpecServiceLogDestinationDatadog { if v != nil { return *v } - var ret AppSpecStaticSiteGithub + var ret AppSpecServiceLogDestinationDatadog return ret - }).(AppSpecStaticSiteGithubOutput) + }).(AppSpecServiceLogDestinationDatadogOutput) } -// The name of the branch to use. -func (o AppSpecStaticSiteGithubPtrOutput) Branch() pulumi.StringPtrOutput { - return o.ApplyT(func(v *AppSpecStaticSiteGithub) *string { +// Datadog API key. +func (o AppSpecServiceLogDestinationDatadogPtrOutput) ApiKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecServiceLogDestinationDatadog) *string { if v == nil { return nil } - return v.Branch + return &v.ApiKey }).(pulumi.StringPtrOutput) } -// Whether to automatically deploy new commits made to the repo. -func (o AppSpecStaticSiteGithubPtrOutput) DeployOnPush() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *AppSpecStaticSiteGithub) *bool { - if v == nil { - return nil - } - return v.DeployOnPush - }).(pulumi.BoolPtrOutput) -} - -// The name of the repo in the format `owner/repo`. -func (o AppSpecStaticSiteGithubPtrOutput) Repo() pulumi.StringPtrOutput { - return o.ApplyT(func(v *AppSpecStaticSiteGithub) *string { +// Datadog HTTP log intake endpoint. +func (o AppSpecServiceLogDestinationDatadogPtrOutput) Endpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecServiceLogDestinationDatadog) *string { if v == nil { return nil } - return v.Repo + return v.Endpoint }).(pulumi.StringPtrOutput) } -type AppSpecStaticSiteGitlab struct { - // The name of the branch to use. - Branch *string `pulumi:"branch"` - // Whether to automatically deploy new commits made to the repo. - DeployOnPush *bool `pulumi:"deployOnPush"` - // The name of the repo in the format `owner/repo`. - Repo *string `pulumi:"repo"` +type AppSpecServiceLogDestinationLogtail struct { + // Logtail token. + Token string `pulumi:"token"` } -// AppSpecStaticSiteGitlabInput is an input type that accepts AppSpecStaticSiteGitlabArgs and AppSpecStaticSiteGitlabOutput values. -// You can construct a concrete instance of `AppSpecStaticSiteGitlabInput` via: +// AppSpecServiceLogDestinationLogtailInput is an input type that accepts AppSpecServiceLogDestinationLogtailArgs and AppSpecServiceLogDestinationLogtailOutput values. +// You can construct a concrete instance of `AppSpecServiceLogDestinationLogtailInput` via: // -// AppSpecStaticSiteGitlabArgs{...} -type AppSpecStaticSiteGitlabInput interface { +// AppSpecServiceLogDestinationLogtailArgs{...} +type AppSpecServiceLogDestinationLogtailInput interface { pulumi.Input - ToAppSpecStaticSiteGitlabOutput() AppSpecStaticSiteGitlabOutput - ToAppSpecStaticSiteGitlabOutputWithContext(context.Context) AppSpecStaticSiteGitlabOutput + ToAppSpecServiceLogDestinationLogtailOutput() AppSpecServiceLogDestinationLogtailOutput + ToAppSpecServiceLogDestinationLogtailOutputWithContext(context.Context) AppSpecServiceLogDestinationLogtailOutput } -type AppSpecStaticSiteGitlabArgs struct { - // The name of the branch to use. - Branch pulumi.StringPtrInput `pulumi:"branch"` - // Whether to automatically deploy new commits made to the repo. - DeployOnPush pulumi.BoolPtrInput `pulumi:"deployOnPush"` - // The name of the repo in the format `owner/repo`. - Repo pulumi.StringPtrInput `pulumi:"repo"` +type AppSpecServiceLogDestinationLogtailArgs struct { + // Logtail token. + Token pulumi.StringInput `pulumi:"token"` } -func (AppSpecStaticSiteGitlabArgs) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecStaticSiteGitlab)(nil)).Elem() +func (AppSpecServiceLogDestinationLogtailArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecServiceLogDestinationLogtail)(nil)).Elem() } -func (i AppSpecStaticSiteGitlabArgs) ToAppSpecStaticSiteGitlabOutput() AppSpecStaticSiteGitlabOutput { - return i.ToAppSpecStaticSiteGitlabOutputWithContext(context.Background()) +func (i AppSpecServiceLogDestinationLogtailArgs) ToAppSpecServiceLogDestinationLogtailOutput() AppSpecServiceLogDestinationLogtailOutput { + return i.ToAppSpecServiceLogDestinationLogtailOutputWithContext(context.Background()) } -func (i AppSpecStaticSiteGitlabArgs) ToAppSpecStaticSiteGitlabOutputWithContext(ctx context.Context) AppSpecStaticSiteGitlabOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecStaticSiteGitlabOutput) +func (i AppSpecServiceLogDestinationLogtailArgs) ToAppSpecServiceLogDestinationLogtailOutputWithContext(ctx context.Context) AppSpecServiceLogDestinationLogtailOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceLogDestinationLogtailOutput) } -func (i AppSpecStaticSiteGitlabArgs) ToAppSpecStaticSiteGitlabPtrOutput() AppSpecStaticSiteGitlabPtrOutput { - return i.ToAppSpecStaticSiteGitlabPtrOutputWithContext(context.Background()) +func (i AppSpecServiceLogDestinationLogtailArgs) ToAppSpecServiceLogDestinationLogtailPtrOutput() AppSpecServiceLogDestinationLogtailPtrOutput { + return i.ToAppSpecServiceLogDestinationLogtailPtrOutputWithContext(context.Background()) } -func (i AppSpecStaticSiteGitlabArgs) ToAppSpecStaticSiteGitlabPtrOutputWithContext(ctx context.Context) AppSpecStaticSiteGitlabPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecStaticSiteGitlabOutput).ToAppSpecStaticSiteGitlabPtrOutputWithContext(ctx) +func (i AppSpecServiceLogDestinationLogtailArgs) ToAppSpecServiceLogDestinationLogtailPtrOutputWithContext(ctx context.Context) AppSpecServiceLogDestinationLogtailPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceLogDestinationLogtailOutput).ToAppSpecServiceLogDestinationLogtailPtrOutputWithContext(ctx) } -// AppSpecStaticSiteGitlabPtrInput is an input type that accepts AppSpecStaticSiteGitlabArgs, AppSpecStaticSiteGitlabPtr and AppSpecStaticSiteGitlabPtrOutput values. -// You can construct a concrete instance of `AppSpecStaticSiteGitlabPtrInput` via: +// AppSpecServiceLogDestinationLogtailPtrInput is an input type that accepts AppSpecServiceLogDestinationLogtailArgs, AppSpecServiceLogDestinationLogtailPtr and AppSpecServiceLogDestinationLogtailPtrOutput values. +// You can construct a concrete instance of `AppSpecServiceLogDestinationLogtailPtrInput` via: // -// AppSpecStaticSiteGitlabArgs{...} +// AppSpecServiceLogDestinationLogtailArgs{...} // // or: // // nil -type AppSpecStaticSiteGitlabPtrInput interface { +type AppSpecServiceLogDestinationLogtailPtrInput interface { pulumi.Input - ToAppSpecStaticSiteGitlabPtrOutput() AppSpecStaticSiteGitlabPtrOutput - ToAppSpecStaticSiteGitlabPtrOutputWithContext(context.Context) AppSpecStaticSiteGitlabPtrOutput + ToAppSpecServiceLogDestinationLogtailPtrOutput() AppSpecServiceLogDestinationLogtailPtrOutput + ToAppSpecServiceLogDestinationLogtailPtrOutputWithContext(context.Context) AppSpecServiceLogDestinationLogtailPtrOutput } -type appSpecStaticSiteGitlabPtrType AppSpecStaticSiteGitlabArgs +type appSpecServiceLogDestinationLogtailPtrType AppSpecServiceLogDestinationLogtailArgs -func AppSpecStaticSiteGitlabPtr(v *AppSpecStaticSiteGitlabArgs) AppSpecStaticSiteGitlabPtrInput { - return (*appSpecStaticSiteGitlabPtrType)(v) +func AppSpecServiceLogDestinationLogtailPtr(v *AppSpecServiceLogDestinationLogtailArgs) AppSpecServiceLogDestinationLogtailPtrInput { + return (*appSpecServiceLogDestinationLogtailPtrType)(v) } -func (*appSpecStaticSiteGitlabPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**AppSpecStaticSiteGitlab)(nil)).Elem() +func (*appSpecServiceLogDestinationLogtailPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecServiceLogDestinationLogtail)(nil)).Elem() } -func (i *appSpecStaticSiteGitlabPtrType) ToAppSpecStaticSiteGitlabPtrOutput() AppSpecStaticSiteGitlabPtrOutput { - return i.ToAppSpecStaticSiteGitlabPtrOutputWithContext(context.Background()) +func (i *appSpecServiceLogDestinationLogtailPtrType) ToAppSpecServiceLogDestinationLogtailPtrOutput() AppSpecServiceLogDestinationLogtailPtrOutput { + return i.ToAppSpecServiceLogDestinationLogtailPtrOutputWithContext(context.Background()) } -func (i *appSpecStaticSiteGitlabPtrType) ToAppSpecStaticSiteGitlabPtrOutputWithContext(ctx context.Context) AppSpecStaticSiteGitlabPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecStaticSiteGitlabPtrOutput) +func (i *appSpecServiceLogDestinationLogtailPtrType) ToAppSpecServiceLogDestinationLogtailPtrOutputWithContext(ctx context.Context) AppSpecServiceLogDestinationLogtailPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceLogDestinationLogtailPtrOutput) } -type AppSpecStaticSiteGitlabOutput struct{ *pulumi.OutputState } +type AppSpecServiceLogDestinationLogtailOutput struct{ *pulumi.OutputState } -func (AppSpecStaticSiteGitlabOutput) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecStaticSiteGitlab)(nil)).Elem() +func (AppSpecServiceLogDestinationLogtailOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecServiceLogDestinationLogtail)(nil)).Elem() } -func (o AppSpecStaticSiteGitlabOutput) ToAppSpecStaticSiteGitlabOutput() AppSpecStaticSiteGitlabOutput { +func (o AppSpecServiceLogDestinationLogtailOutput) ToAppSpecServiceLogDestinationLogtailOutput() AppSpecServiceLogDestinationLogtailOutput { return o } -func (o AppSpecStaticSiteGitlabOutput) ToAppSpecStaticSiteGitlabOutputWithContext(ctx context.Context) AppSpecStaticSiteGitlabOutput { +func (o AppSpecServiceLogDestinationLogtailOutput) ToAppSpecServiceLogDestinationLogtailOutputWithContext(ctx context.Context) AppSpecServiceLogDestinationLogtailOutput { return o } -func (o AppSpecStaticSiteGitlabOutput) ToAppSpecStaticSiteGitlabPtrOutput() AppSpecStaticSiteGitlabPtrOutput { - return o.ToAppSpecStaticSiteGitlabPtrOutputWithContext(context.Background()) +func (o AppSpecServiceLogDestinationLogtailOutput) ToAppSpecServiceLogDestinationLogtailPtrOutput() AppSpecServiceLogDestinationLogtailPtrOutput { + return o.ToAppSpecServiceLogDestinationLogtailPtrOutputWithContext(context.Background()) } -func (o AppSpecStaticSiteGitlabOutput) ToAppSpecStaticSiteGitlabPtrOutputWithContext(ctx context.Context) AppSpecStaticSiteGitlabPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v AppSpecStaticSiteGitlab) *AppSpecStaticSiteGitlab { +func (o AppSpecServiceLogDestinationLogtailOutput) ToAppSpecServiceLogDestinationLogtailPtrOutputWithContext(ctx context.Context) AppSpecServiceLogDestinationLogtailPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AppSpecServiceLogDestinationLogtail) *AppSpecServiceLogDestinationLogtail { return &v - }).(AppSpecStaticSiteGitlabPtrOutput) -} - -// The name of the branch to use. -func (o AppSpecStaticSiteGitlabOutput) Branch() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecStaticSiteGitlab) *string { return v.Branch }).(pulumi.StringPtrOutput) -} - -// Whether to automatically deploy new commits made to the repo. -func (o AppSpecStaticSiteGitlabOutput) DeployOnPush() pulumi.BoolPtrOutput { - return o.ApplyT(func(v AppSpecStaticSiteGitlab) *bool { return v.DeployOnPush }).(pulumi.BoolPtrOutput) + }).(AppSpecServiceLogDestinationLogtailPtrOutput) } -// The name of the repo in the format `owner/repo`. -func (o AppSpecStaticSiteGitlabOutput) Repo() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecStaticSiteGitlab) *string { return v.Repo }).(pulumi.StringPtrOutput) +// Logtail token. +func (o AppSpecServiceLogDestinationLogtailOutput) Token() pulumi.StringOutput { + return o.ApplyT(func(v AppSpecServiceLogDestinationLogtail) string { return v.Token }).(pulumi.StringOutput) } -type AppSpecStaticSiteGitlabPtrOutput struct{ *pulumi.OutputState } +type AppSpecServiceLogDestinationLogtailPtrOutput struct{ *pulumi.OutputState } -func (AppSpecStaticSiteGitlabPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**AppSpecStaticSiteGitlab)(nil)).Elem() +func (AppSpecServiceLogDestinationLogtailPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecServiceLogDestinationLogtail)(nil)).Elem() } -func (o AppSpecStaticSiteGitlabPtrOutput) ToAppSpecStaticSiteGitlabPtrOutput() AppSpecStaticSiteGitlabPtrOutput { +func (o AppSpecServiceLogDestinationLogtailPtrOutput) ToAppSpecServiceLogDestinationLogtailPtrOutput() AppSpecServiceLogDestinationLogtailPtrOutput { return o } -func (o AppSpecStaticSiteGitlabPtrOutput) ToAppSpecStaticSiteGitlabPtrOutputWithContext(ctx context.Context) AppSpecStaticSiteGitlabPtrOutput { +func (o AppSpecServiceLogDestinationLogtailPtrOutput) ToAppSpecServiceLogDestinationLogtailPtrOutputWithContext(ctx context.Context) AppSpecServiceLogDestinationLogtailPtrOutput { return o } -func (o AppSpecStaticSiteGitlabPtrOutput) Elem() AppSpecStaticSiteGitlabOutput { - return o.ApplyT(func(v *AppSpecStaticSiteGitlab) AppSpecStaticSiteGitlab { +func (o AppSpecServiceLogDestinationLogtailPtrOutput) Elem() AppSpecServiceLogDestinationLogtailOutput { + return o.ApplyT(func(v *AppSpecServiceLogDestinationLogtail) AppSpecServiceLogDestinationLogtail { if v != nil { return *v } - var ret AppSpecStaticSiteGitlab + var ret AppSpecServiceLogDestinationLogtail return ret - }).(AppSpecStaticSiteGitlabOutput) + }).(AppSpecServiceLogDestinationLogtailOutput) } -// The name of the branch to use. -func (o AppSpecStaticSiteGitlabPtrOutput) Branch() pulumi.StringPtrOutput { - return o.ApplyT(func(v *AppSpecStaticSiteGitlab) *string { +// Logtail token. +func (o AppSpecServiceLogDestinationLogtailPtrOutput) Token() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecServiceLogDestinationLogtail) *string { if v == nil { return nil } - return v.Branch + return &v.Token }).(pulumi.StringPtrOutput) } -// Whether to automatically deploy new commits made to the repo. -func (o AppSpecStaticSiteGitlabPtrOutput) DeployOnPush() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *AppSpecStaticSiteGitlab) *bool { - if v == nil { - return nil +type AppSpecServiceLogDestinationPapertrail struct { + // Datadog HTTP log intake endpoint. + Endpoint string `pulumi:"endpoint"` +} + +// AppSpecServiceLogDestinationPapertrailInput is an input type that accepts AppSpecServiceLogDestinationPapertrailArgs and AppSpecServiceLogDestinationPapertrailOutput values. +// You can construct a concrete instance of `AppSpecServiceLogDestinationPapertrailInput` via: +// +// AppSpecServiceLogDestinationPapertrailArgs{...} +type AppSpecServiceLogDestinationPapertrailInput interface { + pulumi.Input + + ToAppSpecServiceLogDestinationPapertrailOutput() AppSpecServiceLogDestinationPapertrailOutput + ToAppSpecServiceLogDestinationPapertrailOutputWithContext(context.Context) AppSpecServiceLogDestinationPapertrailOutput +} + +type AppSpecServiceLogDestinationPapertrailArgs struct { + // Datadog HTTP log intake endpoint. + Endpoint pulumi.StringInput `pulumi:"endpoint"` +} + +func (AppSpecServiceLogDestinationPapertrailArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecServiceLogDestinationPapertrail)(nil)).Elem() +} + +func (i AppSpecServiceLogDestinationPapertrailArgs) ToAppSpecServiceLogDestinationPapertrailOutput() AppSpecServiceLogDestinationPapertrailOutput { + return i.ToAppSpecServiceLogDestinationPapertrailOutputWithContext(context.Background()) +} + +func (i AppSpecServiceLogDestinationPapertrailArgs) ToAppSpecServiceLogDestinationPapertrailOutputWithContext(ctx context.Context) AppSpecServiceLogDestinationPapertrailOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceLogDestinationPapertrailOutput) +} + +func (i AppSpecServiceLogDestinationPapertrailArgs) ToAppSpecServiceLogDestinationPapertrailPtrOutput() AppSpecServiceLogDestinationPapertrailPtrOutput { + return i.ToAppSpecServiceLogDestinationPapertrailPtrOutputWithContext(context.Background()) +} + +func (i AppSpecServiceLogDestinationPapertrailArgs) ToAppSpecServiceLogDestinationPapertrailPtrOutputWithContext(ctx context.Context) AppSpecServiceLogDestinationPapertrailPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceLogDestinationPapertrailOutput).ToAppSpecServiceLogDestinationPapertrailPtrOutputWithContext(ctx) +} + +// AppSpecServiceLogDestinationPapertrailPtrInput is an input type that accepts AppSpecServiceLogDestinationPapertrailArgs, AppSpecServiceLogDestinationPapertrailPtr and AppSpecServiceLogDestinationPapertrailPtrOutput values. +// You can construct a concrete instance of `AppSpecServiceLogDestinationPapertrailPtrInput` via: +// +// AppSpecServiceLogDestinationPapertrailArgs{...} +// +// or: +// +// nil +type AppSpecServiceLogDestinationPapertrailPtrInput interface { + pulumi.Input + + ToAppSpecServiceLogDestinationPapertrailPtrOutput() AppSpecServiceLogDestinationPapertrailPtrOutput + ToAppSpecServiceLogDestinationPapertrailPtrOutputWithContext(context.Context) AppSpecServiceLogDestinationPapertrailPtrOutput +} + +type appSpecServiceLogDestinationPapertrailPtrType AppSpecServiceLogDestinationPapertrailArgs + +func AppSpecServiceLogDestinationPapertrailPtr(v *AppSpecServiceLogDestinationPapertrailArgs) AppSpecServiceLogDestinationPapertrailPtrInput { + return (*appSpecServiceLogDestinationPapertrailPtrType)(v) +} + +func (*appSpecServiceLogDestinationPapertrailPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecServiceLogDestinationPapertrail)(nil)).Elem() +} + +func (i *appSpecServiceLogDestinationPapertrailPtrType) ToAppSpecServiceLogDestinationPapertrailPtrOutput() AppSpecServiceLogDestinationPapertrailPtrOutput { + return i.ToAppSpecServiceLogDestinationPapertrailPtrOutputWithContext(context.Background()) +} + +func (i *appSpecServiceLogDestinationPapertrailPtrType) ToAppSpecServiceLogDestinationPapertrailPtrOutputWithContext(ctx context.Context) AppSpecServiceLogDestinationPapertrailPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceLogDestinationPapertrailPtrOutput) +} + +type AppSpecServiceLogDestinationPapertrailOutput struct{ *pulumi.OutputState } + +func (AppSpecServiceLogDestinationPapertrailOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecServiceLogDestinationPapertrail)(nil)).Elem() +} + +func (o AppSpecServiceLogDestinationPapertrailOutput) ToAppSpecServiceLogDestinationPapertrailOutput() AppSpecServiceLogDestinationPapertrailOutput { + return o +} + +func (o AppSpecServiceLogDestinationPapertrailOutput) ToAppSpecServiceLogDestinationPapertrailOutputWithContext(ctx context.Context) AppSpecServiceLogDestinationPapertrailOutput { + return o +} + +func (o AppSpecServiceLogDestinationPapertrailOutput) ToAppSpecServiceLogDestinationPapertrailPtrOutput() AppSpecServiceLogDestinationPapertrailPtrOutput { + return o.ToAppSpecServiceLogDestinationPapertrailPtrOutputWithContext(context.Background()) +} + +func (o AppSpecServiceLogDestinationPapertrailOutput) ToAppSpecServiceLogDestinationPapertrailPtrOutputWithContext(ctx context.Context) AppSpecServiceLogDestinationPapertrailPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AppSpecServiceLogDestinationPapertrail) *AppSpecServiceLogDestinationPapertrail { + return &v + }).(AppSpecServiceLogDestinationPapertrailPtrOutput) +} + +// Datadog HTTP log intake endpoint. +func (o AppSpecServiceLogDestinationPapertrailOutput) Endpoint() pulumi.StringOutput { + return o.ApplyT(func(v AppSpecServiceLogDestinationPapertrail) string { return v.Endpoint }).(pulumi.StringOutput) +} + +type AppSpecServiceLogDestinationPapertrailPtrOutput struct{ *pulumi.OutputState } + +func (AppSpecServiceLogDestinationPapertrailPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecServiceLogDestinationPapertrail)(nil)).Elem() +} + +func (o AppSpecServiceLogDestinationPapertrailPtrOutput) ToAppSpecServiceLogDestinationPapertrailPtrOutput() AppSpecServiceLogDestinationPapertrailPtrOutput { + return o +} + +func (o AppSpecServiceLogDestinationPapertrailPtrOutput) ToAppSpecServiceLogDestinationPapertrailPtrOutputWithContext(ctx context.Context) AppSpecServiceLogDestinationPapertrailPtrOutput { + return o +} + +func (o AppSpecServiceLogDestinationPapertrailPtrOutput) Elem() AppSpecServiceLogDestinationPapertrailOutput { + return o.ApplyT(func(v *AppSpecServiceLogDestinationPapertrail) AppSpecServiceLogDestinationPapertrail { + if v != nil { + return *v } - return v.DeployOnPush - }).(pulumi.BoolPtrOutput) + var ret AppSpecServiceLogDestinationPapertrail + return ret + }).(AppSpecServiceLogDestinationPapertrailOutput) } -// The name of the repo in the format `owner/repo`. -func (o AppSpecStaticSiteGitlabPtrOutput) Repo() pulumi.StringPtrOutput { - return o.ApplyT(func(v *AppSpecStaticSiteGitlab) *string { +// Datadog HTTP log intake endpoint. +func (o AppSpecServiceLogDestinationPapertrailPtrOutput) Endpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecServiceLogDestinationPapertrail) *string { if v == nil { return nil } - return v.Repo + return &v.Endpoint }).(pulumi.StringPtrOutput) } -type AppSpecStaticSiteRoute struct { +type AppSpecServiceRoute struct { // Paths must start with `/` and must be unique within the app. Path *string `pulumi:"path"` // An optional flag to preserve the path that is forwarded to the backend service. PreservePathPrefix *bool `pulumi:"preservePathPrefix"` } -// AppSpecStaticSiteRouteInput is an input type that accepts AppSpecStaticSiteRouteArgs and AppSpecStaticSiteRouteOutput values. -// You can construct a concrete instance of `AppSpecStaticSiteRouteInput` via: +// AppSpecServiceRouteInput is an input type that accepts AppSpecServiceRouteArgs and AppSpecServiceRouteOutput values. +// You can construct a concrete instance of `AppSpecServiceRouteInput` via: // -// AppSpecStaticSiteRouteArgs{...} -type AppSpecStaticSiteRouteInput interface { +// AppSpecServiceRouteArgs{...} +type AppSpecServiceRouteInput interface { pulumi.Input - ToAppSpecStaticSiteRouteOutput() AppSpecStaticSiteRouteOutput - ToAppSpecStaticSiteRouteOutputWithContext(context.Context) AppSpecStaticSiteRouteOutput + ToAppSpecServiceRouteOutput() AppSpecServiceRouteOutput + ToAppSpecServiceRouteOutputWithContext(context.Context) AppSpecServiceRouteOutput } -type AppSpecStaticSiteRouteArgs struct { +type AppSpecServiceRouteArgs struct { // Paths must start with `/` and must be unique within the app. Path pulumi.StringPtrInput `pulumi:"path"` // An optional flag to preserve the path that is forwarded to the backend service. PreservePathPrefix pulumi.BoolPtrInput `pulumi:"preservePathPrefix"` } -func (AppSpecStaticSiteRouteArgs) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecStaticSiteRoute)(nil)).Elem() +func (AppSpecServiceRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecServiceRoute)(nil)).Elem() } -func (i AppSpecStaticSiteRouteArgs) ToAppSpecStaticSiteRouteOutput() AppSpecStaticSiteRouteOutput { - return i.ToAppSpecStaticSiteRouteOutputWithContext(context.Background()) +func (i AppSpecServiceRouteArgs) ToAppSpecServiceRouteOutput() AppSpecServiceRouteOutput { + return i.ToAppSpecServiceRouteOutputWithContext(context.Background()) } -func (i AppSpecStaticSiteRouteArgs) ToAppSpecStaticSiteRouteOutputWithContext(ctx context.Context) AppSpecStaticSiteRouteOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecStaticSiteRouteOutput) +func (i AppSpecServiceRouteArgs) ToAppSpecServiceRouteOutputWithContext(ctx context.Context) AppSpecServiceRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceRouteOutput) } -// AppSpecStaticSiteRouteArrayInput is an input type that accepts AppSpecStaticSiteRouteArray and AppSpecStaticSiteRouteArrayOutput values. -// You can construct a concrete instance of `AppSpecStaticSiteRouteArrayInput` via: +// AppSpecServiceRouteArrayInput is an input type that accepts AppSpecServiceRouteArray and AppSpecServiceRouteArrayOutput values. +// You can construct a concrete instance of `AppSpecServiceRouteArrayInput` via: // -// AppSpecStaticSiteRouteArray{ AppSpecStaticSiteRouteArgs{...} } -type AppSpecStaticSiteRouteArrayInput interface { +// AppSpecServiceRouteArray{ AppSpecServiceRouteArgs{...} } +type AppSpecServiceRouteArrayInput interface { pulumi.Input - ToAppSpecStaticSiteRouteArrayOutput() AppSpecStaticSiteRouteArrayOutput - ToAppSpecStaticSiteRouteArrayOutputWithContext(context.Context) AppSpecStaticSiteRouteArrayOutput + ToAppSpecServiceRouteArrayOutput() AppSpecServiceRouteArrayOutput + ToAppSpecServiceRouteArrayOutputWithContext(context.Context) AppSpecServiceRouteArrayOutput } -type AppSpecStaticSiteRouteArray []AppSpecStaticSiteRouteInput +type AppSpecServiceRouteArray []AppSpecServiceRouteInput -func (AppSpecStaticSiteRouteArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]AppSpecStaticSiteRoute)(nil)).Elem() +func (AppSpecServiceRouteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]AppSpecServiceRoute)(nil)).Elem() } -func (i AppSpecStaticSiteRouteArray) ToAppSpecStaticSiteRouteArrayOutput() AppSpecStaticSiteRouteArrayOutput { - return i.ToAppSpecStaticSiteRouteArrayOutputWithContext(context.Background()) +func (i AppSpecServiceRouteArray) ToAppSpecServiceRouteArrayOutput() AppSpecServiceRouteArrayOutput { + return i.ToAppSpecServiceRouteArrayOutputWithContext(context.Background()) } -func (i AppSpecStaticSiteRouteArray) ToAppSpecStaticSiteRouteArrayOutputWithContext(ctx context.Context) AppSpecStaticSiteRouteArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecStaticSiteRouteArrayOutput) +func (i AppSpecServiceRouteArray) ToAppSpecServiceRouteArrayOutputWithContext(ctx context.Context) AppSpecServiceRouteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecServiceRouteArrayOutput) } -type AppSpecStaticSiteRouteOutput struct{ *pulumi.OutputState } +type AppSpecServiceRouteOutput struct{ *pulumi.OutputState } -func (AppSpecStaticSiteRouteOutput) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecStaticSiteRoute)(nil)).Elem() +func (AppSpecServiceRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecServiceRoute)(nil)).Elem() } -func (o AppSpecStaticSiteRouteOutput) ToAppSpecStaticSiteRouteOutput() AppSpecStaticSiteRouteOutput { +func (o AppSpecServiceRouteOutput) ToAppSpecServiceRouteOutput() AppSpecServiceRouteOutput { return o } -func (o AppSpecStaticSiteRouteOutput) ToAppSpecStaticSiteRouteOutputWithContext(ctx context.Context) AppSpecStaticSiteRouteOutput { +func (o AppSpecServiceRouteOutput) ToAppSpecServiceRouteOutputWithContext(ctx context.Context) AppSpecServiceRouteOutput { return o } // Paths must start with `/` and must be unique within the app. -func (o AppSpecStaticSiteRouteOutput) Path() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecStaticSiteRoute) *string { return v.Path }).(pulumi.StringPtrOutput) +func (o AppSpecServiceRouteOutput) Path() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecServiceRoute) *string { return v.Path }).(pulumi.StringPtrOutput) } // An optional flag to preserve the path that is forwarded to the backend service. -func (o AppSpecStaticSiteRouteOutput) PreservePathPrefix() pulumi.BoolPtrOutput { - return o.ApplyT(func(v AppSpecStaticSiteRoute) *bool { return v.PreservePathPrefix }).(pulumi.BoolPtrOutput) +func (o AppSpecServiceRouteOutput) PreservePathPrefix() pulumi.BoolPtrOutput { + return o.ApplyT(func(v AppSpecServiceRoute) *bool { return v.PreservePathPrefix }).(pulumi.BoolPtrOutput) } -type AppSpecStaticSiteRouteArrayOutput struct{ *pulumi.OutputState } +type AppSpecServiceRouteArrayOutput struct{ *pulumi.OutputState } -func (AppSpecStaticSiteRouteArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]AppSpecStaticSiteRoute)(nil)).Elem() +func (AppSpecServiceRouteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]AppSpecServiceRoute)(nil)).Elem() } -func (o AppSpecStaticSiteRouteArrayOutput) ToAppSpecStaticSiteRouteArrayOutput() AppSpecStaticSiteRouteArrayOutput { +func (o AppSpecServiceRouteArrayOutput) ToAppSpecServiceRouteArrayOutput() AppSpecServiceRouteArrayOutput { return o } -func (o AppSpecStaticSiteRouteArrayOutput) ToAppSpecStaticSiteRouteArrayOutputWithContext(ctx context.Context) AppSpecStaticSiteRouteArrayOutput { +func (o AppSpecServiceRouteArrayOutput) ToAppSpecServiceRouteArrayOutputWithContext(ctx context.Context) AppSpecServiceRouteArrayOutput { return o } -func (o AppSpecStaticSiteRouteArrayOutput) Index(i pulumi.IntInput) AppSpecStaticSiteRouteOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) AppSpecStaticSiteRoute { - return vs[0].([]AppSpecStaticSiteRoute)[vs[1].(int)] - }).(AppSpecStaticSiteRouteOutput) +func (o AppSpecServiceRouteArrayOutput) Index(i pulumi.IntInput) AppSpecServiceRouteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) AppSpecServiceRoute { + return vs[0].([]AppSpecServiceRoute)[vs[1].(int)] + }).(AppSpecServiceRouteOutput) } -type AppSpecWorker struct { +type AppSpecStaticSite struct { // An optional build command to run while building this component from source. BuildCommand *string `pulumi:"buildCommand"` + // The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. + CatchallDocument *string `pulumi:"catchallDocument"` + // The [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) policies of the app. + Cors *AppSpecStaticSiteCors `pulumi:"cors"` // The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. DockerfilePath *string `pulumi:"dockerfilePath"` // An environment slug describing the type of this app. EnvironmentSlug *string `pulumi:"environmentSlug"` // Describes an environment variable made available to an app competent. - Envs []AppSpecWorkerEnv `pulumi:"envs"` + Envs []AppSpecStaticSiteEnv `pulumi:"envs"` + // The name of the error document to use when serving this static site. + ErrorDocument *string `pulumi:"errorDocument"` // A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set - Git *AppSpecWorkerGit `pulumi:"git"` + Git *AppSpecStaticSiteGit `pulumi:"git"` // A GitHub repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/github/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. - Github *AppSpecWorkerGithub `pulumi:"github"` + Github *AppSpecStaticSiteGithub `pulumi:"github"` // A Gitlab repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/gitlab/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. - Gitlab *AppSpecWorkerGitlab `pulumi:"gitlab"` - // An image to use as the component's source. Only one of `git`, `github`, `gitlab`, or `image` may be set. - Image *AppSpecWorkerImage `pulumi:"image"` - // The amount of instances that this component should be scaled to. - InstanceCount *int `pulumi:"instanceCount"` - // The instance size to use for this component. This determines the plan (basic or professional) and the available CPU and memory. The list of available instance sizes can be [found with the API](https://docs.digitalocean.com/reference/api/api-reference/#operation/list_instance_sizes) or using the [doctl CLI](https://docs.digitalocean.com/reference/doctl/) (`doctl apps tier instance-size list`). Default: `basic-xxs` - InstanceSizeSlug *string `pulumi:"instanceSizeSlug"` + Gitlab *AppSpecStaticSiteGitlab `pulumi:"gitlab"` + // The name of the index document to use when serving this static site. + IndexDocument *string `pulumi:"indexDocument"` // The name of the component. Name string `pulumi:"name"` - // An optional run command to override the component's default. - RunCommand *string `pulumi:"runCommand"` + // An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`. + OutputDir *string `pulumi:"outputDir"` + Routes []AppSpecStaticSiteRoute `pulumi:"routes"` // An optional path to the working directory to use for the build. SourceDir *string `pulumi:"sourceDir"` } -// AppSpecWorkerInput is an input type that accepts AppSpecWorkerArgs and AppSpecWorkerOutput values. -// You can construct a concrete instance of `AppSpecWorkerInput` via: +// AppSpecStaticSiteInput is an input type that accepts AppSpecStaticSiteArgs and AppSpecStaticSiteOutput values. +// You can construct a concrete instance of `AppSpecStaticSiteInput` via: // -// AppSpecWorkerArgs{...} -type AppSpecWorkerInput interface { +// AppSpecStaticSiteArgs{...} +type AppSpecStaticSiteInput interface { pulumi.Input - ToAppSpecWorkerOutput() AppSpecWorkerOutput - ToAppSpecWorkerOutputWithContext(context.Context) AppSpecWorkerOutput + ToAppSpecStaticSiteOutput() AppSpecStaticSiteOutput + ToAppSpecStaticSiteOutputWithContext(context.Context) AppSpecStaticSiteOutput } -type AppSpecWorkerArgs struct { +type AppSpecStaticSiteArgs struct { // An optional build command to run while building this component from source. BuildCommand pulumi.StringPtrInput `pulumi:"buildCommand"` + // The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. + CatchallDocument pulumi.StringPtrInput `pulumi:"catchallDocument"` + // The [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) policies of the app. + Cors AppSpecStaticSiteCorsPtrInput `pulumi:"cors"` // The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. DockerfilePath pulumi.StringPtrInput `pulumi:"dockerfilePath"` // An environment slug describing the type of this app. EnvironmentSlug pulumi.StringPtrInput `pulumi:"environmentSlug"` // Describes an environment variable made available to an app competent. - Envs AppSpecWorkerEnvArrayInput `pulumi:"envs"` + Envs AppSpecStaticSiteEnvArrayInput `pulumi:"envs"` + // The name of the error document to use when serving this static site. + ErrorDocument pulumi.StringPtrInput `pulumi:"errorDocument"` // A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set - Git AppSpecWorkerGitPtrInput `pulumi:"git"` + Git AppSpecStaticSiteGitPtrInput `pulumi:"git"` // A GitHub repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/github/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. - Github AppSpecWorkerGithubPtrInput `pulumi:"github"` + Github AppSpecStaticSiteGithubPtrInput `pulumi:"github"` // A Gitlab repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/gitlab/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. - Gitlab AppSpecWorkerGitlabPtrInput `pulumi:"gitlab"` - // An image to use as the component's source. Only one of `git`, `github`, `gitlab`, or `image` may be set. - Image AppSpecWorkerImagePtrInput `pulumi:"image"` - // The amount of instances that this component should be scaled to. - InstanceCount pulumi.IntPtrInput `pulumi:"instanceCount"` - // The instance size to use for this component. This determines the plan (basic or professional) and the available CPU and memory. The list of available instance sizes can be [found with the API](https://docs.digitalocean.com/reference/api/api-reference/#operation/list_instance_sizes) or using the [doctl CLI](https://docs.digitalocean.com/reference/doctl/) (`doctl apps tier instance-size list`). Default: `basic-xxs` - InstanceSizeSlug pulumi.StringPtrInput `pulumi:"instanceSizeSlug"` + Gitlab AppSpecStaticSiteGitlabPtrInput `pulumi:"gitlab"` + // The name of the index document to use when serving this static site. + IndexDocument pulumi.StringPtrInput `pulumi:"indexDocument"` // The name of the component. Name pulumi.StringInput `pulumi:"name"` - // An optional run command to override the component's default. - RunCommand pulumi.StringPtrInput `pulumi:"runCommand"` + // An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`. + OutputDir pulumi.StringPtrInput `pulumi:"outputDir"` + Routes AppSpecStaticSiteRouteArrayInput `pulumi:"routes"` // An optional path to the working directory to use for the build. SourceDir pulumi.StringPtrInput `pulumi:"sourceDir"` } -func (AppSpecWorkerArgs) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecWorker)(nil)).Elem() +func (AppSpecStaticSiteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecStaticSite)(nil)).Elem() } -func (i AppSpecWorkerArgs) ToAppSpecWorkerOutput() AppSpecWorkerOutput { - return i.ToAppSpecWorkerOutputWithContext(context.Background()) +func (i AppSpecStaticSiteArgs) ToAppSpecStaticSiteOutput() AppSpecStaticSiteOutput { + return i.ToAppSpecStaticSiteOutputWithContext(context.Background()) } -func (i AppSpecWorkerArgs) ToAppSpecWorkerOutputWithContext(ctx context.Context) AppSpecWorkerOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecWorkerOutput) +func (i AppSpecStaticSiteArgs) ToAppSpecStaticSiteOutputWithContext(ctx context.Context) AppSpecStaticSiteOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecStaticSiteOutput) } -// AppSpecWorkerArrayInput is an input type that accepts AppSpecWorkerArray and AppSpecWorkerArrayOutput values. -// You can construct a concrete instance of `AppSpecWorkerArrayInput` via: +// AppSpecStaticSiteArrayInput is an input type that accepts AppSpecStaticSiteArray and AppSpecStaticSiteArrayOutput values. +// You can construct a concrete instance of `AppSpecStaticSiteArrayInput` via: // -// AppSpecWorkerArray{ AppSpecWorkerArgs{...} } -type AppSpecWorkerArrayInput interface { +// AppSpecStaticSiteArray{ AppSpecStaticSiteArgs{...} } +type AppSpecStaticSiteArrayInput interface { pulumi.Input - ToAppSpecWorkerArrayOutput() AppSpecWorkerArrayOutput - ToAppSpecWorkerArrayOutputWithContext(context.Context) AppSpecWorkerArrayOutput + ToAppSpecStaticSiteArrayOutput() AppSpecStaticSiteArrayOutput + ToAppSpecStaticSiteArrayOutputWithContext(context.Context) AppSpecStaticSiteArrayOutput } -type AppSpecWorkerArray []AppSpecWorkerInput +type AppSpecStaticSiteArray []AppSpecStaticSiteInput -func (AppSpecWorkerArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]AppSpecWorker)(nil)).Elem() +func (AppSpecStaticSiteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]AppSpecStaticSite)(nil)).Elem() } -func (i AppSpecWorkerArray) ToAppSpecWorkerArrayOutput() AppSpecWorkerArrayOutput { - return i.ToAppSpecWorkerArrayOutputWithContext(context.Background()) +func (i AppSpecStaticSiteArray) ToAppSpecStaticSiteArrayOutput() AppSpecStaticSiteArrayOutput { + return i.ToAppSpecStaticSiteArrayOutputWithContext(context.Background()) } -func (i AppSpecWorkerArray) ToAppSpecWorkerArrayOutputWithContext(ctx context.Context) AppSpecWorkerArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecWorkerArrayOutput) +func (i AppSpecStaticSiteArray) ToAppSpecStaticSiteArrayOutputWithContext(ctx context.Context) AppSpecStaticSiteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecStaticSiteArrayOutput) } -type AppSpecWorkerOutput struct{ *pulumi.OutputState } +type AppSpecStaticSiteOutput struct{ *pulumi.OutputState } -func (AppSpecWorkerOutput) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecWorker)(nil)).Elem() +func (AppSpecStaticSiteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecStaticSite)(nil)).Elem() } -func (o AppSpecWorkerOutput) ToAppSpecWorkerOutput() AppSpecWorkerOutput { +func (o AppSpecStaticSiteOutput) ToAppSpecStaticSiteOutput() AppSpecStaticSiteOutput { return o } -func (o AppSpecWorkerOutput) ToAppSpecWorkerOutputWithContext(ctx context.Context) AppSpecWorkerOutput { +func (o AppSpecStaticSiteOutput) ToAppSpecStaticSiteOutputWithContext(ctx context.Context) AppSpecStaticSiteOutput { return o } // An optional build command to run while building this component from source. -func (o AppSpecWorkerOutput) BuildCommand() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecWorker) *string { return v.BuildCommand }).(pulumi.StringPtrOutput) +func (o AppSpecStaticSiteOutput) BuildCommand() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecStaticSite) *string { return v.BuildCommand }).(pulumi.StringPtrOutput) +} + +// The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. +func (o AppSpecStaticSiteOutput) CatchallDocument() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecStaticSite) *string { return v.CatchallDocument }).(pulumi.StringPtrOutput) +} + +// The [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) policies of the app. +func (o AppSpecStaticSiteOutput) Cors() AppSpecStaticSiteCorsPtrOutput { + return o.ApplyT(func(v AppSpecStaticSite) *AppSpecStaticSiteCors { return v.Cors }).(AppSpecStaticSiteCorsPtrOutput) } // The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. -func (o AppSpecWorkerOutput) DockerfilePath() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecWorker) *string { return v.DockerfilePath }).(pulumi.StringPtrOutput) +func (o AppSpecStaticSiteOutput) DockerfilePath() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecStaticSite) *string { return v.DockerfilePath }).(pulumi.StringPtrOutput) } // An environment slug describing the type of this app. -func (o AppSpecWorkerOutput) EnvironmentSlug() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecWorker) *string { return v.EnvironmentSlug }).(pulumi.StringPtrOutput) +func (o AppSpecStaticSiteOutput) EnvironmentSlug() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecStaticSite) *string { return v.EnvironmentSlug }).(pulumi.StringPtrOutput) } // Describes an environment variable made available to an app competent. -func (o AppSpecWorkerOutput) Envs() AppSpecWorkerEnvArrayOutput { - return o.ApplyT(func(v AppSpecWorker) []AppSpecWorkerEnv { return v.Envs }).(AppSpecWorkerEnvArrayOutput) +func (o AppSpecStaticSiteOutput) Envs() AppSpecStaticSiteEnvArrayOutput { + return o.ApplyT(func(v AppSpecStaticSite) []AppSpecStaticSiteEnv { return v.Envs }).(AppSpecStaticSiteEnvArrayOutput) +} + +// The name of the error document to use when serving this static site. +func (o AppSpecStaticSiteOutput) ErrorDocument() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecStaticSite) *string { return v.ErrorDocument }).(pulumi.StringPtrOutput) } // A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set -func (o AppSpecWorkerOutput) Git() AppSpecWorkerGitPtrOutput { - return o.ApplyT(func(v AppSpecWorker) *AppSpecWorkerGit { return v.Git }).(AppSpecWorkerGitPtrOutput) +func (o AppSpecStaticSiteOutput) Git() AppSpecStaticSiteGitPtrOutput { + return o.ApplyT(func(v AppSpecStaticSite) *AppSpecStaticSiteGit { return v.Git }).(AppSpecStaticSiteGitPtrOutput) } // A GitHub repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/github/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. -func (o AppSpecWorkerOutput) Github() AppSpecWorkerGithubPtrOutput { - return o.ApplyT(func(v AppSpecWorker) *AppSpecWorkerGithub { return v.Github }).(AppSpecWorkerGithubPtrOutput) +func (o AppSpecStaticSiteOutput) Github() AppSpecStaticSiteGithubPtrOutput { + return o.ApplyT(func(v AppSpecStaticSite) *AppSpecStaticSiteGithub { return v.Github }).(AppSpecStaticSiteGithubPtrOutput) } // A Gitlab repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/gitlab/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. -func (o AppSpecWorkerOutput) Gitlab() AppSpecWorkerGitlabPtrOutput { - return o.ApplyT(func(v AppSpecWorker) *AppSpecWorkerGitlab { return v.Gitlab }).(AppSpecWorkerGitlabPtrOutput) -} - -// An image to use as the component's source. Only one of `git`, `github`, `gitlab`, or `image` may be set. -func (o AppSpecWorkerOutput) Image() AppSpecWorkerImagePtrOutput { - return o.ApplyT(func(v AppSpecWorker) *AppSpecWorkerImage { return v.Image }).(AppSpecWorkerImagePtrOutput) +func (o AppSpecStaticSiteOutput) Gitlab() AppSpecStaticSiteGitlabPtrOutput { + return o.ApplyT(func(v AppSpecStaticSite) *AppSpecStaticSiteGitlab { return v.Gitlab }).(AppSpecStaticSiteGitlabPtrOutput) } -// The amount of instances that this component should be scaled to. -func (o AppSpecWorkerOutput) InstanceCount() pulumi.IntPtrOutput { - return o.ApplyT(func(v AppSpecWorker) *int { return v.InstanceCount }).(pulumi.IntPtrOutput) +// The name of the index document to use when serving this static site. +func (o AppSpecStaticSiteOutput) IndexDocument() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecStaticSite) *string { return v.IndexDocument }).(pulumi.StringPtrOutput) } -// The instance size to use for this component. This determines the plan (basic or professional) and the available CPU and memory. The list of available instance sizes can be [found with the API](https://docs.digitalocean.com/reference/api/api-reference/#operation/list_instance_sizes) or using the [doctl CLI](https://docs.digitalocean.com/reference/doctl/) (`doctl apps tier instance-size list`). Default: `basic-xxs` -func (o AppSpecWorkerOutput) InstanceSizeSlug() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecWorker) *string { return v.InstanceSizeSlug }).(pulumi.StringPtrOutput) +// The name of the component. +func (o AppSpecStaticSiteOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v AppSpecStaticSite) string { return v.Name }).(pulumi.StringOutput) } -// The name of the component. -func (o AppSpecWorkerOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v AppSpecWorker) string { return v.Name }).(pulumi.StringOutput) +// An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`. +func (o AppSpecStaticSiteOutput) OutputDir() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecStaticSite) *string { return v.OutputDir }).(pulumi.StringPtrOutput) } -// An optional run command to override the component's default. -func (o AppSpecWorkerOutput) RunCommand() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecWorker) *string { return v.RunCommand }).(pulumi.StringPtrOutput) +func (o AppSpecStaticSiteOutput) Routes() AppSpecStaticSiteRouteArrayOutput { + return o.ApplyT(func(v AppSpecStaticSite) []AppSpecStaticSiteRoute { return v.Routes }).(AppSpecStaticSiteRouteArrayOutput) } // An optional path to the working directory to use for the build. -func (o AppSpecWorkerOutput) SourceDir() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecWorker) *string { return v.SourceDir }).(pulumi.StringPtrOutput) +func (o AppSpecStaticSiteOutput) SourceDir() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecStaticSite) *string { return v.SourceDir }).(pulumi.StringPtrOutput) } -type AppSpecWorkerArrayOutput struct{ *pulumi.OutputState } +type AppSpecStaticSiteArrayOutput struct{ *pulumi.OutputState } -func (AppSpecWorkerArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]AppSpecWorker)(nil)).Elem() +func (AppSpecStaticSiteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]AppSpecStaticSite)(nil)).Elem() } -func (o AppSpecWorkerArrayOutput) ToAppSpecWorkerArrayOutput() AppSpecWorkerArrayOutput { +func (o AppSpecStaticSiteArrayOutput) ToAppSpecStaticSiteArrayOutput() AppSpecStaticSiteArrayOutput { return o } -func (o AppSpecWorkerArrayOutput) ToAppSpecWorkerArrayOutputWithContext(ctx context.Context) AppSpecWorkerArrayOutput { +func (o AppSpecStaticSiteArrayOutput) ToAppSpecStaticSiteArrayOutputWithContext(ctx context.Context) AppSpecStaticSiteArrayOutput { return o } -func (o AppSpecWorkerArrayOutput) Index(i pulumi.IntInput) AppSpecWorkerOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) AppSpecWorker { - return vs[0].([]AppSpecWorker)[vs[1].(int)] - }).(AppSpecWorkerOutput) +func (o AppSpecStaticSiteArrayOutput) Index(i pulumi.IntInput) AppSpecStaticSiteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) AppSpecStaticSite { + return vs[0].([]AppSpecStaticSite)[vs[1].(int)] + }).(AppSpecStaticSiteOutput) } -type AppSpecWorkerEnv struct { - // The name of the environment variable. - Key *string `pulumi:"key"` - // The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). - Scope *string `pulumi:"scope"` - // The type of the environment variable, `GENERAL` or `SECRET`. - Type *string `pulumi:"type"` - // The value of the environment variable. - Value *string `pulumi:"value"` +type AppSpecStaticSiteCors struct { + // Whether browsers should expose the response to the client-side JavaScript code when the request's credentials mode is `include`. This configures the `Access-Control-Allow-Credentials` header. + AllowCredentials *bool `pulumi:"allowCredentials"` + // The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + AllowHeaders []string `pulumi:"allowHeaders"` + // The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + AllowMethods []string `pulumi:"allowMethods"` + // The `Access-Control-Allow-Origin` can be + AllowOrigins *AppSpecStaticSiteCorsAllowOrigins `pulumi:"allowOrigins"` + // The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + ExposeHeaders []string `pulumi:"exposeHeaders"` + // An optional duration specifying how long browsers can cache the results of a preflight request. This configures the Access-Control-Max-Age header. Example: `5h30m`. + MaxAge *string `pulumi:"maxAge"` } -// AppSpecWorkerEnvInput is an input type that accepts AppSpecWorkerEnvArgs and AppSpecWorkerEnvOutput values. -// You can construct a concrete instance of `AppSpecWorkerEnvInput` via: +// AppSpecStaticSiteCorsInput is an input type that accepts AppSpecStaticSiteCorsArgs and AppSpecStaticSiteCorsOutput values. +// You can construct a concrete instance of `AppSpecStaticSiteCorsInput` via: // -// AppSpecWorkerEnvArgs{...} -type AppSpecWorkerEnvInput interface { +// AppSpecStaticSiteCorsArgs{...} +type AppSpecStaticSiteCorsInput interface { pulumi.Input - ToAppSpecWorkerEnvOutput() AppSpecWorkerEnvOutput - ToAppSpecWorkerEnvOutputWithContext(context.Context) AppSpecWorkerEnvOutput + ToAppSpecStaticSiteCorsOutput() AppSpecStaticSiteCorsOutput + ToAppSpecStaticSiteCorsOutputWithContext(context.Context) AppSpecStaticSiteCorsOutput } -type AppSpecWorkerEnvArgs struct { - // The name of the environment variable. - Key pulumi.StringPtrInput `pulumi:"key"` - // The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). - Scope pulumi.StringPtrInput `pulumi:"scope"` - // The type of the environment variable, `GENERAL` or `SECRET`. - Type pulumi.StringPtrInput `pulumi:"type"` - // The value of the environment variable. - Value pulumi.StringPtrInput `pulumi:"value"` +type AppSpecStaticSiteCorsArgs struct { + // Whether browsers should expose the response to the client-side JavaScript code when the request's credentials mode is `include`. This configures the `Access-Control-Allow-Credentials` header. + AllowCredentials pulumi.BoolPtrInput `pulumi:"allowCredentials"` + // The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. + AllowHeaders pulumi.StringArrayInput `pulumi:"allowHeaders"` + // The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. + AllowMethods pulumi.StringArrayInput `pulumi:"allowMethods"` + // The `Access-Control-Allow-Origin` can be + AllowOrigins AppSpecStaticSiteCorsAllowOriginsPtrInput `pulumi:"allowOrigins"` + // The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. + ExposeHeaders pulumi.StringArrayInput `pulumi:"exposeHeaders"` + // An optional duration specifying how long browsers can cache the results of a preflight request. This configures the Access-Control-Max-Age header. Example: `5h30m`. + MaxAge pulumi.StringPtrInput `pulumi:"maxAge"` } -func (AppSpecWorkerEnvArgs) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecWorkerEnv)(nil)).Elem() +func (AppSpecStaticSiteCorsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecStaticSiteCors)(nil)).Elem() } -func (i AppSpecWorkerEnvArgs) ToAppSpecWorkerEnvOutput() AppSpecWorkerEnvOutput { - return i.ToAppSpecWorkerEnvOutputWithContext(context.Background()) -} +func (i AppSpecStaticSiteCorsArgs) ToAppSpecStaticSiteCorsOutput() AppSpecStaticSiteCorsOutput { + return i.ToAppSpecStaticSiteCorsOutputWithContext(context.Background()) +} -func (i AppSpecWorkerEnvArgs) ToAppSpecWorkerEnvOutputWithContext(ctx context.Context) AppSpecWorkerEnvOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecWorkerEnvOutput) +func (i AppSpecStaticSiteCorsArgs) ToAppSpecStaticSiteCorsOutputWithContext(ctx context.Context) AppSpecStaticSiteCorsOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecStaticSiteCorsOutput) } -// AppSpecWorkerEnvArrayInput is an input type that accepts AppSpecWorkerEnvArray and AppSpecWorkerEnvArrayOutput values. -// You can construct a concrete instance of `AppSpecWorkerEnvArrayInput` via: +func (i AppSpecStaticSiteCorsArgs) ToAppSpecStaticSiteCorsPtrOutput() AppSpecStaticSiteCorsPtrOutput { + return i.ToAppSpecStaticSiteCorsPtrOutputWithContext(context.Background()) +} + +func (i AppSpecStaticSiteCorsArgs) ToAppSpecStaticSiteCorsPtrOutputWithContext(ctx context.Context) AppSpecStaticSiteCorsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecStaticSiteCorsOutput).ToAppSpecStaticSiteCorsPtrOutputWithContext(ctx) +} + +// AppSpecStaticSiteCorsPtrInput is an input type that accepts AppSpecStaticSiteCorsArgs, AppSpecStaticSiteCorsPtr and AppSpecStaticSiteCorsPtrOutput values. +// You can construct a concrete instance of `AppSpecStaticSiteCorsPtrInput` via: // -// AppSpecWorkerEnvArray{ AppSpecWorkerEnvArgs{...} } -type AppSpecWorkerEnvArrayInput interface { +// AppSpecStaticSiteCorsArgs{...} +// +// or: +// +// nil +type AppSpecStaticSiteCorsPtrInput interface { pulumi.Input - ToAppSpecWorkerEnvArrayOutput() AppSpecWorkerEnvArrayOutput - ToAppSpecWorkerEnvArrayOutputWithContext(context.Context) AppSpecWorkerEnvArrayOutput + ToAppSpecStaticSiteCorsPtrOutput() AppSpecStaticSiteCorsPtrOutput + ToAppSpecStaticSiteCorsPtrOutputWithContext(context.Context) AppSpecStaticSiteCorsPtrOutput } -type AppSpecWorkerEnvArray []AppSpecWorkerEnvInput +type appSpecStaticSiteCorsPtrType AppSpecStaticSiteCorsArgs -func (AppSpecWorkerEnvArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]AppSpecWorkerEnv)(nil)).Elem() +func AppSpecStaticSiteCorsPtr(v *AppSpecStaticSiteCorsArgs) AppSpecStaticSiteCorsPtrInput { + return (*appSpecStaticSiteCorsPtrType)(v) } -func (i AppSpecWorkerEnvArray) ToAppSpecWorkerEnvArrayOutput() AppSpecWorkerEnvArrayOutput { - return i.ToAppSpecWorkerEnvArrayOutputWithContext(context.Background()) +func (*appSpecStaticSiteCorsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecStaticSiteCors)(nil)).Elem() } -func (i AppSpecWorkerEnvArray) ToAppSpecWorkerEnvArrayOutputWithContext(ctx context.Context) AppSpecWorkerEnvArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecWorkerEnvArrayOutput) +func (i *appSpecStaticSiteCorsPtrType) ToAppSpecStaticSiteCorsPtrOutput() AppSpecStaticSiteCorsPtrOutput { + return i.ToAppSpecStaticSiteCorsPtrOutputWithContext(context.Background()) } -type AppSpecWorkerEnvOutput struct{ *pulumi.OutputState } +func (i *appSpecStaticSiteCorsPtrType) ToAppSpecStaticSiteCorsPtrOutputWithContext(ctx context.Context) AppSpecStaticSiteCorsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecStaticSiteCorsPtrOutput) +} -func (AppSpecWorkerEnvOutput) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecWorkerEnv)(nil)).Elem() +type AppSpecStaticSiteCorsOutput struct{ *pulumi.OutputState } + +func (AppSpecStaticSiteCorsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecStaticSiteCors)(nil)).Elem() } -func (o AppSpecWorkerEnvOutput) ToAppSpecWorkerEnvOutput() AppSpecWorkerEnvOutput { +func (o AppSpecStaticSiteCorsOutput) ToAppSpecStaticSiteCorsOutput() AppSpecStaticSiteCorsOutput { return o } -func (o AppSpecWorkerEnvOutput) ToAppSpecWorkerEnvOutputWithContext(ctx context.Context) AppSpecWorkerEnvOutput { +func (o AppSpecStaticSiteCorsOutput) ToAppSpecStaticSiteCorsOutputWithContext(ctx context.Context) AppSpecStaticSiteCorsOutput { return o } -// The name of the environment variable. -func (o AppSpecWorkerEnvOutput) Key() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecWorkerEnv) *string { return v.Key }).(pulumi.StringPtrOutput) +func (o AppSpecStaticSiteCorsOutput) ToAppSpecStaticSiteCorsPtrOutput() AppSpecStaticSiteCorsPtrOutput { + return o.ToAppSpecStaticSiteCorsPtrOutputWithContext(context.Background()) } -// The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). -func (o AppSpecWorkerEnvOutput) Scope() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecWorkerEnv) *string { return v.Scope }).(pulumi.StringPtrOutput) +func (o AppSpecStaticSiteCorsOutput) ToAppSpecStaticSiteCorsPtrOutputWithContext(ctx context.Context) AppSpecStaticSiteCorsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AppSpecStaticSiteCors) *AppSpecStaticSiteCors { + return &v + }).(AppSpecStaticSiteCorsPtrOutput) } -// The type of the environment variable, `GENERAL` or `SECRET`. -func (o AppSpecWorkerEnvOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecWorkerEnv) *string { return v.Type }).(pulumi.StringPtrOutput) +// Whether browsers should expose the response to the client-side JavaScript code when the request's credentials mode is `include`. This configures the `Access-Control-Allow-Credentials` header. +func (o AppSpecStaticSiteCorsOutput) AllowCredentials() pulumi.BoolPtrOutput { + return o.ApplyT(func(v AppSpecStaticSiteCors) *bool { return v.AllowCredentials }).(pulumi.BoolPtrOutput) } -// The value of the environment variable. -func (o AppSpecWorkerEnvOutput) Value() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecWorkerEnv) *string { return v.Value }).(pulumi.StringPtrOutput) +// The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. +func (o AppSpecStaticSiteCorsOutput) AllowHeaders() pulumi.StringArrayOutput { + return o.ApplyT(func(v AppSpecStaticSiteCors) []string { return v.AllowHeaders }).(pulumi.StringArrayOutput) } -type AppSpecWorkerEnvArrayOutput struct{ *pulumi.OutputState } +// The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. +func (o AppSpecStaticSiteCorsOutput) AllowMethods() pulumi.StringArrayOutput { + return o.ApplyT(func(v AppSpecStaticSiteCors) []string { return v.AllowMethods }).(pulumi.StringArrayOutput) +} -func (AppSpecWorkerEnvArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]AppSpecWorkerEnv)(nil)).Elem() +// The `Access-Control-Allow-Origin` can be +func (o AppSpecStaticSiteCorsOutput) AllowOrigins() AppSpecStaticSiteCorsAllowOriginsPtrOutput { + return o.ApplyT(func(v AppSpecStaticSiteCors) *AppSpecStaticSiteCorsAllowOrigins { return v.AllowOrigins }).(AppSpecStaticSiteCorsAllowOriginsPtrOutput) } -func (o AppSpecWorkerEnvArrayOutput) ToAppSpecWorkerEnvArrayOutput() AppSpecWorkerEnvArrayOutput { - return o +// The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. +func (o AppSpecStaticSiteCorsOutput) ExposeHeaders() pulumi.StringArrayOutput { + return o.ApplyT(func(v AppSpecStaticSiteCors) []string { return v.ExposeHeaders }).(pulumi.StringArrayOutput) } -func (o AppSpecWorkerEnvArrayOutput) ToAppSpecWorkerEnvArrayOutputWithContext(ctx context.Context) AppSpecWorkerEnvArrayOutput { - return o +// An optional duration specifying how long browsers can cache the results of a preflight request. This configures the Access-Control-Max-Age header. Example: `5h30m`. +func (o AppSpecStaticSiteCorsOutput) MaxAge() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecStaticSiteCors) *string { return v.MaxAge }).(pulumi.StringPtrOutput) } -func (o AppSpecWorkerEnvArrayOutput) Index(i pulumi.IntInput) AppSpecWorkerEnvOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) AppSpecWorkerEnv { - return vs[0].([]AppSpecWorkerEnv)[vs[1].(int)] - }).(AppSpecWorkerEnvOutput) +type AppSpecStaticSiteCorsPtrOutput struct{ *pulumi.OutputState } + +func (AppSpecStaticSiteCorsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecStaticSiteCors)(nil)).Elem() } -type AppSpecWorkerGit struct { - // The name of the branch to use. - Branch *string `pulumi:"branch"` - // The clone URL of the repo. - RepoCloneUrl *string `pulumi:"repoCloneUrl"` +func (o AppSpecStaticSiteCorsPtrOutput) ToAppSpecStaticSiteCorsPtrOutput() AppSpecStaticSiteCorsPtrOutput { + return o } -// AppSpecWorkerGitInput is an input type that accepts AppSpecWorkerGitArgs and AppSpecWorkerGitOutput values. -// You can construct a concrete instance of `AppSpecWorkerGitInput` via: -// -// AppSpecWorkerGitArgs{...} -type AppSpecWorkerGitInput interface { - pulumi.Input +func (o AppSpecStaticSiteCorsPtrOutput) ToAppSpecStaticSiteCorsPtrOutputWithContext(ctx context.Context) AppSpecStaticSiteCorsPtrOutput { + return o +} - ToAppSpecWorkerGitOutput() AppSpecWorkerGitOutput - ToAppSpecWorkerGitOutputWithContext(context.Context) AppSpecWorkerGitOutput +func (o AppSpecStaticSiteCorsPtrOutput) Elem() AppSpecStaticSiteCorsOutput { + return o.ApplyT(func(v *AppSpecStaticSiteCors) AppSpecStaticSiteCors { + if v != nil { + return *v + } + var ret AppSpecStaticSiteCors + return ret + }).(AppSpecStaticSiteCorsOutput) } -type AppSpecWorkerGitArgs struct { - // The name of the branch to use. - Branch pulumi.StringPtrInput `pulumi:"branch"` - // The clone URL of the repo. - RepoCloneUrl pulumi.StringPtrInput `pulumi:"repoCloneUrl"` +// Whether browsers should expose the response to the client-side JavaScript code when the request's credentials mode is `include`. This configures the `Access-Control-Allow-Credentials` header. +func (o AppSpecStaticSiteCorsPtrOutput) AllowCredentials() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *AppSpecStaticSiteCors) *bool { + if v == nil { + return nil + } + return v.AllowCredentials + }).(pulumi.BoolPtrOutput) } -func (AppSpecWorkerGitArgs) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecWorkerGit)(nil)).Elem() +// The set of allowed HTTP request headers. This configures the `Access-Control-Allow-Headers` header. +func (o AppSpecStaticSiteCorsPtrOutput) AllowHeaders() pulumi.StringArrayOutput { + return o.ApplyT(func(v *AppSpecStaticSiteCors) []string { + if v == nil { + return nil + } + return v.AllowHeaders + }).(pulumi.StringArrayOutput) } -func (i AppSpecWorkerGitArgs) ToAppSpecWorkerGitOutput() AppSpecWorkerGitOutput { - return i.ToAppSpecWorkerGitOutputWithContext(context.Background()) +// The set of allowed HTTP methods. This configures the `Access-Control-Allow-Methods` header. +func (o AppSpecStaticSiteCorsPtrOutput) AllowMethods() pulumi.StringArrayOutput { + return o.ApplyT(func(v *AppSpecStaticSiteCors) []string { + if v == nil { + return nil + } + return v.AllowMethods + }).(pulumi.StringArrayOutput) } -func (i AppSpecWorkerGitArgs) ToAppSpecWorkerGitOutputWithContext(ctx context.Context) AppSpecWorkerGitOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecWorkerGitOutput) +// The `Access-Control-Allow-Origin` can be +func (o AppSpecStaticSiteCorsPtrOutput) AllowOrigins() AppSpecStaticSiteCorsAllowOriginsPtrOutput { + return o.ApplyT(func(v *AppSpecStaticSiteCors) *AppSpecStaticSiteCorsAllowOrigins { + if v == nil { + return nil + } + return v.AllowOrigins + }).(AppSpecStaticSiteCorsAllowOriginsPtrOutput) } -func (i AppSpecWorkerGitArgs) ToAppSpecWorkerGitPtrOutput() AppSpecWorkerGitPtrOutput { - return i.ToAppSpecWorkerGitPtrOutputWithContext(context.Background()) +// The set of HTTP response headers that browsers are allowed to access. This configures the `Access-Control-Expose-Headers` header. +func (o AppSpecStaticSiteCorsPtrOutput) ExposeHeaders() pulumi.StringArrayOutput { + return o.ApplyT(func(v *AppSpecStaticSiteCors) []string { + if v == nil { + return nil + } + return v.ExposeHeaders + }).(pulumi.StringArrayOutput) } -func (i AppSpecWorkerGitArgs) ToAppSpecWorkerGitPtrOutputWithContext(ctx context.Context) AppSpecWorkerGitPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecWorkerGitOutput).ToAppSpecWorkerGitPtrOutputWithContext(ctx) +// An optional duration specifying how long browsers can cache the results of a preflight request. This configures the Access-Control-Max-Age header. Example: `5h30m`. +func (o AppSpecStaticSiteCorsPtrOutput) MaxAge() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecStaticSiteCors) *string { + if v == nil { + return nil + } + return v.MaxAge + }).(pulumi.StringPtrOutput) } -// AppSpecWorkerGitPtrInput is an input type that accepts AppSpecWorkerGitArgs, AppSpecWorkerGitPtr and AppSpecWorkerGitPtrOutput values. -// You can construct a concrete instance of `AppSpecWorkerGitPtrInput` via: -// -// AppSpecWorkerGitArgs{...} -// -// or: +type AppSpecStaticSiteCorsAllowOrigins struct { + // The `Access-Control-Allow-Origin` header will be set to the client's origin only if the client's origin exactly matches the value you provide. + Exact *string `pulumi:"exact"` + // The `Access-Control-Allow-Origin` header will be set to the client's origin if the beginning of the client's origin matches the value you provide. + Prefix *string `pulumi:"prefix"` + // The `Access-Control-Allow-Origin` header will be set to the client's origin if the client’s origin matches the regex you provide, in [RE2 style syntax](https://github.com/google/re2/wiki/Syntax). + Regex *string `pulumi:"regex"` +} + +// AppSpecStaticSiteCorsAllowOriginsInput is an input type that accepts AppSpecStaticSiteCorsAllowOriginsArgs and AppSpecStaticSiteCorsAllowOriginsOutput values. +// You can construct a concrete instance of `AppSpecStaticSiteCorsAllowOriginsInput` via: // -// nil -type AppSpecWorkerGitPtrInput interface { +// AppSpecStaticSiteCorsAllowOriginsArgs{...} +type AppSpecStaticSiteCorsAllowOriginsInput interface { pulumi.Input - ToAppSpecWorkerGitPtrOutput() AppSpecWorkerGitPtrOutput - ToAppSpecWorkerGitPtrOutputWithContext(context.Context) AppSpecWorkerGitPtrOutput + ToAppSpecStaticSiteCorsAllowOriginsOutput() AppSpecStaticSiteCorsAllowOriginsOutput + ToAppSpecStaticSiteCorsAllowOriginsOutputWithContext(context.Context) AppSpecStaticSiteCorsAllowOriginsOutput } -type appSpecWorkerGitPtrType AppSpecWorkerGitArgs - -func AppSpecWorkerGitPtr(v *AppSpecWorkerGitArgs) AppSpecWorkerGitPtrInput { - return (*appSpecWorkerGitPtrType)(v) +type AppSpecStaticSiteCorsAllowOriginsArgs struct { + // The `Access-Control-Allow-Origin` header will be set to the client's origin only if the client's origin exactly matches the value you provide. + Exact pulumi.StringPtrInput `pulumi:"exact"` + // The `Access-Control-Allow-Origin` header will be set to the client's origin if the beginning of the client's origin matches the value you provide. + Prefix pulumi.StringPtrInput `pulumi:"prefix"` + // The `Access-Control-Allow-Origin` header will be set to the client's origin if the client’s origin matches the regex you provide, in [RE2 style syntax](https://github.com/google/re2/wiki/Syntax). + Regex pulumi.StringPtrInput `pulumi:"regex"` } -func (*appSpecWorkerGitPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**AppSpecWorkerGit)(nil)).Elem() +func (AppSpecStaticSiteCorsAllowOriginsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecStaticSiteCorsAllowOrigins)(nil)).Elem() } -func (i *appSpecWorkerGitPtrType) ToAppSpecWorkerGitPtrOutput() AppSpecWorkerGitPtrOutput { - return i.ToAppSpecWorkerGitPtrOutputWithContext(context.Background()) +func (i AppSpecStaticSiteCorsAllowOriginsArgs) ToAppSpecStaticSiteCorsAllowOriginsOutput() AppSpecStaticSiteCorsAllowOriginsOutput { + return i.ToAppSpecStaticSiteCorsAllowOriginsOutputWithContext(context.Background()) } -func (i *appSpecWorkerGitPtrType) ToAppSpecWorkerGitPtrOutputWithContext(ctx context.Context) AppSpecWorkerGitPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecWorkerGitPtrOutput) +func (i AppSpecStaticSiteCorsAllowOriginsArgs) ToAppSpecStaticSiteCorsAllowOriginsOutputWithContext(ctx context.Context) AppSpecStaticSiteCorsAllowOriginsOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecStaticSiteCorsAllowOriginsOutput) } -type AppSpecWorkerGitOutput struct{ *pulumi.OutputState } +func (i AppSpecStaticSiteCorsAllowOriginsArgs) ToAppSpecStaticSiteCorsAllowOriginsPtrOutput() AppSpecStaticSiteCorsAllowOriginsPtrOutput { + return i.ToAppSpecStaticSiteCorsAllowOriginsPtrOutputWithContext(context.Background()) +} -func (AppSpecWorkerGitOutput) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecWorkerGit)(nil)).Elem() +func (i AppSpecStaticSiteCorsAllowOriginsArgs) ToAppSpecStaticSiteCorsAllowOriginsPtrOutputWithContext(ctx context.Context) AppSpecStaticSiteCorsAllowOriginsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecStaticSiteCorsAllowOriginsOutput).ToAppSpecStaticSiteCorsAllowOriginsPtrOutputWithContext(ctx) } -func (o AppSpecWorkerGitOutput) ToAppSpecWorkerGitOutput() AppSpecWorkerGitOutput { +// AppSpecStaticSiteCorsAllowOriginsPtrInput is an input type that accepts AppSpecStaticSiteCorsAllowOriginsArgs, AppSpecStaticSiteCorsAllowOriginsPtr and AppSpecStaticSiteCorsAllowOriginsPtrOutput values. +// You can construct a concrete instance of `AppSpecStaticSiteCorsAllowOriginsPtrInput` via: +// +// AppSpecStaticSiteCorsAllowOriginsArgs{...} +// +// or: +// +// nil +type AppSpecStaticSiteCorsAllowOriginsPtrInput interface { + pulumi.Input + + ToAppSpecStaticSiteCorsAllowOriginsPtrOutput() AppSpecStaticSiteCorsAllowOriginsPtrOutput + ToAppSpecStaticSiteCorsAllowOriginsPtrOutputWithContext(context.Context) AppSpecStaticSiteCorsAllowOriginsPtrOutput +} + +type appSpecStaticSiteCorsAllowOriginsPtrType AppSpecStaticSiteCorsAllowOriginsArgs + +func AppSpecStaticSiteCorsAllowOriginsPtr(v *AppSpecStaticSiteCorsAllowOriginsArgs) AppSpecStaticSiteCorsAllowOriginsPtrInput { + return (*appSpecStaticSiteCorsAllowOriginsPtrType)(v) +} + +func (*appSpecStaticSiteCorsAllowOriginsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecStaticSiteCorsAllowOrigins)(nil)).Elem() +} + +func (i *appSpecStaticSiteCorsAllowOriginsPtrType) ToAppSpecStaticSiteCorsAllowOriginsPtrOutput() AppSpecStaticSiteCorsAllowOriginsPtrOutput { + return i.ToAppSpecStaticSiteCorsAllowOriginsPtrOutputWithContext(context.Background()) +} + +func (i *appSpecStaticSiteCorsAllowOriginsPtrType) ToAppSpecStaticSiteCorsAllowOriginsPtrOutputWithContext(ctx context.Context) AppSpecStaticSiteCorsAllowOriginsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecStaticSiteCorsAllowOriginsPtrOutput) +} + +type AppSpecStaticSiteCorsAllowOriginsOutput struct{ *pulumi.OutputState } + +func (AppSpecStaticSiteCorsAllowOriginsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecStaticSiteCorsAllowOrigins)(nil)).Elem() +} + +func (o AppSpecStaticSiteCorsAllowOriginsOutput) ToAppSpecStaticSiteCorsAllowOriginsOutput() AppSpecStaticSiteCorsAllowOriginsOutput { return o } -func (o AppSpecWorkerGitOutput) ToAppSpecWorkerGitOutputWithContext(ctx context.Context) AppSpecWorkerGitOutput { +func (o AppSpecStaticSiteCorsAllowOriginsOutput) ToAppSpecStaticSiteCorsAllowOriginsOutputWithContext(ctx context.Context) AppSpecStaticSiteCorsAllowOriginsOutput { return o } -func (o AppSpecWorkerGitOutput) ToAppSpecWorkerGitPtrOutput() AppSpecWorkerGitPtrOutput { - return o.ToAppSpecWorkerGitPtrOutputWithContext(context.Background()) +func (o AppSpecStaticSiteCorsAllowOriginsOutput) ToAppSpecStaticSiteCorsAllowOriginsPtrOutput() AppSpecStaticSiteCorsAllowOriginsPtrOutput { + return o.ToAppSpecStaticSiteCorsAllowOriginsPtrOutputWithContext(context.Background()) } -func (o AppSpecWorkerGitOutput) ToAppSpecWorkerGitPtrOutputWithContext(ctx context.Context) AppSpecWorkerGitPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v AppSpecWorkerGit) *AppSpecWorkerGit { +func (o AppSpecStaticSiteCorsAllowOriginsOutput) ToAppSpecStaticSiteCorsAllowOriginsPtrOutputWithContext(ctx context.Context) AppSpecStaticSiteCorsAllowOriginsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AppSpecStaticSiteCorsAllowOrigins) *AppSpecStaticSiteCorsAllowOrigins { return &v - }).(AppSpecWorkerGitPtrOutput) + }).(AppSpecStaticSiteCorsAllowOriginsPtrOutput) } -// The name of the branch to use. -func (o AppSpecWorkerGitOutput) Branch() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecWorkerGit) *string { return v.Branch }).(pulumi.StringPtrOutput) +// The `Access-Control-Allow-Origin` header will be set to the client's origin only if the client's origin exactly matches the value you provide. +func (o AppSpecStaticSiteCorsAllowOriginsOutput) Exact() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecStaticSiteCorsAllowOrigins) *string { return v.Exact }).(pulumi.StringPtrOutput) } -// The clone URL of the repo. -func (o AppSpecWorkerGitOutput) RepoCloneUrl() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecWorkerGit) *string { return v.RepoCloneUrl }).(pulumi.StringPtrOutput) +// The `Access-Control-Allow-Origin` header will be set to the client's origin if the beginning of the client's origin matches the value you provide. +func (o AppSpecStaticSiteCorsAllowOriginsOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecStaticSiteCorsAllowOrigins) *string { return v.Prefix }).(pulumi.StringPtrOutput) } -type AppSpecWorkerGitPtrOutput struct{ *pulumi.OutputState } +// The `Access-Control-Allow-Origin` header will be set to the client's origin if the client’s origin matches the regex you provide, in [RE2 style syntax](https://github.com/google/re2/wiki/Syntax). +func (o AppSpecStaticSiteCorsAllowOriginsOutput) Regex() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecStaticSiteCorsAllowOrigins) *string { return v.Regex }).(pulumi.StringPtrOutput) +} -func (AppSpecWorkerGitPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**AppSpecWorkerGit)(nil)).Elem() +type AppSpecStaticSiteCorsAllowOriginsPtrOutput struct{ *pulumi.OutputState } + +func (AppSpecStaticSiteCorsAllowOriginsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecStaticSiteCorsAllowOrigins)(nil)).Elem() } -func (o AppSpecWorkerGitPtrOutput) ToAppSpecWorkerGitPtrOutput() AppSpecWorkerGitPtrOutput { +func (o AppSpecStaticSiteCorsAllowOriginsPtrOutput) ToAppSpecStaticSiteCorsAllowOriginsPtrOutput() AppSpecStaticSiteCorsAllowOriginsPtrOutput { return o } -func (o AppSpecWorkerGitPtrOutput) ToAppSpecWorkerGitPtrOutputWithContext(ctx context.Context) AppSpecWorkerGitPtrOutput { +func (o AppSpecStaticSiteCorsAllowOriginsPtrOutput) ToAppSpecStaticSiteCorsAllowOriginsPtrOutputWithContext(ctx context.Context) AppSpecStaticSiteCorsAllowOriginsPtrOutput { return o } -func (o AppSpecWorkerGitPtrOutput) Elem() AppSpecWorkerGitOutput { - return o.ApplyT(func(v *AppSpecWorkerGit) AppSpecWorkerGit { +func (o AppSpecStaticSiteCorsAllowOriginsPtrOutput) Elem() AppSpecStaticSiteCorsAllowOriginsOutput { + return o.ApplyT(func(v *AppSpecStaticSiteCorsAllowOrigins) AppSpecStaticSiteCorsAllowOrigins { if v != nil { return *v } - var ret AppSpecWorkerGit + var ret AppSpecStaticSiteCorsAllowOrigins return ret - }).(AppSpecWorkerGitOutput) + }).(AppSpecStaticSiteCorsAllowOriginsOutput) } -// The name of the branch to use. -func (o AppSpecWorkerGitPtrOutput) Branch() pulumi.StringPtrOutput { - return o.ApplyT(func(v *AppSpecWorkerGit) *string { +// The `Access-Control-Allow-Origin` header will be set to the client's origin only if the client's origin exactly matches the value you provide. +func (o AppSpecStaticSiteCorsAllowOriginsPtrOutput) Exact() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecStaticSiteCorsAllowOrigins) *string { if v == nil { return nil } - return v.Branch + return v.Exact }).(pulumi.StringPtrOutput) } -// The clone URL of the repo. -func (o AppSpecWorkerGitPtrOutput) RepoCloneUrl() pulumi.StringPtrOutput { - return o.ApplyT(func(v *AppSpecWorkerGit) *string { +// The `Access-Control-Allow-Origin` header will be set to the client's origin if the beginning of the client's origin matches the value you provide. +func (o AppSpecStaticSiteCorsAllowOriginsPtrOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecStaticSiteCorsAllowOrigins) *string { if v == nil { return nil } - return v.RepoCloneUrl + return v.Prefix }).(pulumi.StringPtrOutput) } -type AppSpecWorkerGithub struct { - // The name of the branch to use. - Branch *string `pulumi:"branch"` - // Whether to automatically deploy new commits made to the repo. - DeployOnPush *bool `pulumi:"deployOnPush"` - // The name of the repo in the format `owner/repo`. - Repo *string `pulumi:"repo"` +// The `Access-Control-Allow-Origin` header will be set to the client's origin if the client’s origin matches the regex you provide, in [RE2 style syntax](https://github.com/google/re2/wiki/Syntax). +func (o AppSpecStaticSiteCorsAllowOriginsPtrOutput) Regex() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecStaticSiteCorsAllowOrigins) *string { + if v == nil { + return nil + } + return v.Regex + }).(pulumi.StringPtrOutput) } -// AppSpecWorkerGithubInput is an input type that accepts AppSpecWorkerGithubArgs and AppSpecWorkerGithubOutput values. -// You can construct a concrete instance of `AppSpecWorkerGithubInput` via: -// -// AppSpecWorkerGithubArgs{...} -type AppSpecWorkerGithubInput interface { - pulumi.Input - - ToAppSpecWorkerGithubOutput() AppSpecWorkerGithubOutput - ToAppSpecWorkerGithubOutputWithContext(context.Context) AppSpecWorkerGithubOutput +type AppSpecStaticSiteEnv struct { + // The name of the environment variable. + Key *string `pulumi:"key"` + // The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). + Scope *string `pulumi:"scope"` + // The type of the environment variable, `GENERAL` or `SECRET`. + Type *string `pulumi:"type"` + // The threshold for the type of the warning. + Value *string `pulumi:"value"` } -type AppSpecWorkerGithubArgs struct { - // The name of the branch to use. - Branch pulumi.StringPtrInput `pulumi:"branch"` - // Whether to automatically deploy new commits made to the repo. - DeployOnPush pulumi.BoolPtrInput `pulumi:"deployOnPush"` - // The name of the repo in the format `owner/repo`. - Repo pulumi.StringPtrInput `pulumi:"repo"` -} +// AppSpecStaticSiteEnvInput is an input type that accepts AppSpecStaticSiteEnvArgs and AppSpecStaticSiteEnvOutput values. +// You can construct a concrete instance of `AppSpecStaticSiteEnvInput` via: +// +// AppSpecStaticSiteEnvArgs{...} +type AppSpecStaticSiteEnvInput interface { + pulumi.Input -func (AppSpecWorkerGithubArgs) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecWorkerGithub)(nil)).Elem() + ToAppSpecStaticSiteEnvOutput() AppSpecStaticSiteEnvOutput + ToAppSpecStaticSiteEnvOutputWithContext(context.Context) AppSpecStaticSiteEnvOutput } -func (i AppSpecWorkerGithubArgs) ToAppSpecWorkerGithubOutput() AppSpecWorkerGithubOutput { - return i.ToAppSpecWorkerGithubOutputWithContext(context.Background()) +type AppSpecStaticSiteEnvArgs struct { + // The name of the environment variable. + Key pulumi.StringPtrInput `pulumi:"key"` + // The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). + Scope pulumi.StringPtrInput `pulumi:"scope"` + // The type of the environment variable, `GENERAL` or `SECRET`. + Type pulumi.StringPtrInput `pulumi:"type"` + // The threshold for the type of the warning. + Value pulumi.StringPtrInput `pulumi:"value"` } -func (i AppSpecWorkerGithubArgs) ToAppSpecWorkerGithubOutputWithContext(ctx context.Context) AppSpecWorkerGithubOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecWorkerGithubOutput) +func (AppSpecStaticSiteEnvArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecStaticSiteEnv)(nil)).Elem() } -func (i AppSpecWorkerGithubArgs) ToAppSpecWorkerGithubPtrOutput() AppSpecWorkerGithubPtrOutput { - return i.ToAppSpecWorkerGithubPtrOutputWithContext(context.Background()) +func (i AppSpecStaticSiteEnvArgs) ToAppSpecStaticSiteEnvOutput() AppSpecStaticSiteEnvOutput { + return i.ToAppSpecStaticSiteEnvOutputWithContext(context.Background()) } -func (i AppSpecWorkerGithubArgs) ToAppSpecWorkerGithubPtrOutputWithContext(ctx context.Context) AppSpecWorkerGithubPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecWorkerGithubOutput).ToAppSpecWorkerGithubPtrOutputWithContext(ctx) +func (i AppSpecStaticSiteEnvArgs) ToAppSpecStaticSiteEnvOutputWithContext(ctx context.Context) AppSpecStaticSiteEnvOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecStaticSiteEnvOutput) } -// AppSpecWorkerGithubPtrInput is an input type that accepts AppSpecWorkerGithubArgs, AppSpecWorkerGithubPtr and AppSpecWorkerGithubPtrOutput values. -// You can construct a concrete instance of `AppSpecWorkerGithubPtrInput` via: -// -// AppSpecWorkerGithubArgs{...} -// -// or: +// AppSpecStaticSiteEnvArrayInput is an input type that accepts AppSpecStaticSiteEnvArray and AppSpecStaticSiteEnvArrayOutput values. +// You can construct a concrete instance of `AppSpecStaticSiteEnvArrayInput` via: // -// nil -type AppSpecWorkerGithubPtrInput interface { +// AppSpecStaticSiteEnvArray{ AppSpecStaticSiteEnvArgs{...} } +type AppSpecStaticSiteEnvArrayInput interface { pulumi.Input - ToAppSpecWorkerGithubPtrOutput() AppSpecWorkerGithubPtrOutput - ToAppSpecWorkerGithubPtrOutputWithContext(context.Context) AppSpecWorkerGithubPtrOutput + ToAppSpecStaticSiteEnvArrayOutput() AppSpecStaticSiteEnvArrayOutput + ToAppSpecStaticSiteEnvArrayOutputWithContext(context.Context) AppSpecStaticSiteEnvArrayOutput } -type appSpecWorkerGithubPtrType AppSpecWorkerGithubArgs - -func AppSpecWorkerGithubPtr(v *AppSpecWorkerGithubArgs) AppSpecWorkerGithubPtrInput { - return (*appSpecWorkerGithubPtrType)(v) -} +type AppSpecStaticSiteEnvArray []AppSpecStaticSiteEnvInput -func (*appSpecWorkerGithubPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**AppSpecWorkerGithub)(nil)).Elem() +func (AppSpecStaticSiteEnvArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]AppSpecStaticSiteEnv)(nil)).Elem() } -func (i *appSpecWorkerGithubPtrType) ToAppSpecWorkerGithubPtrOutput() AppSpecWorkerGithubPtrOutput { - return i.ToAppSpecWorkerGithubPtrOutputWithContext(context.Background()) +func (i AppSpecStaticSiteEnvArray) ToAppSpecStaticSiteEnvArrayOutput() AppSpecStaticSiteEnvArrayOutput { + return i.ToAppSpecStaticSiteEnvArrayOutputWithContext(context.Background()) } -func (i *appSpecWorkerGithubPtrType) ToAppSpecWorkerGithubPtrOutputWithContext(ctx context.Context) AppSpecWorkerGithubPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecWorkerGithubPtrOutput) +func (i AppSpecStaticSiteEnvArray) ToAppSpecStaticSiteEnvArrayOutputWithContext(ctx context.Context) AppSpecStaticSiteEnvArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecStaticSiteEnvArrayOutput) } -type AppSpecWorkerGithubOutput struct{ *pulumi.OutputState } +type AppSpecStaticSiteEnvOutput struct{ *pulumi.OutputState } -func (AppSpecWorkerGithubOutput) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecWorkerGithub)(nil)).Elem() +func (AppSpecStaticSiteEnvOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecStaticSiteEnv)(nil)).Elem() } -func (o AppSpecWorkerGithubOutput) ToAppSpecWorkerGithubOutput() AppSpecWorkerGithubOutput { +func (o AppSpecStaticSiteEnvOutput) ToAppSpecStaticSiteEnvOutput() AppSpecStaticSiteEnvOutput { return o } -func (o AppSpecWorkerGithubOutput) ToAppSpecWorkerGithubOutputWithContext(ctx context.Context) AppSpecWorkerGithubOutput { +func (o AppSpecStaticSiteEnvOutput) ToAppSpecStaticSiteEnvOutputWithContext(ctx context.Context) AppSpecStaticSiteEnvOutput { return o } -func (o AppSpecWorkerGithubOutput) ToAppSpecWorkerGithubPtrOutput() AppSpecWorkerGithubPtrOutput { - return o.ToAppSpecWorkerGithubPtrOutputWithContext(context.Background()) -} - -func (o AppSpecWorkerGithubOutput) ToAppSpecWorkerGithubPtrOutputWithContext(ctx context.Context) AppSpecWorkerGithubPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v AppSpecWorkerGithub) *AppSpecWorkerGithub { - return &v - }).(AppSpecWorkerGithubPtrOutput) +// The name of the environment variable. +func (o AppSpecStaticSiteEnvOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecStaticSiteEnv) *string { return v.Key }).(pulumi.StringPtrOutput) } -// The name of the branch to use. -func (o AppSpecWorkerGithubOutput) Branch() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecWorkerGithub) *string { return v.Branch }).(pulumi.StringPtrOutput) +// The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). +func (o AppSpecStaticSiteEnvOutput) Scope() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecStaticSiteEnv) *string { return v.Scope }).(pulumi.StringPtrOutput) } -// Whether to automatically deploy new commits made to the repo. -func (o AppSpecWorkerGithubOutput) DeployOnPush() pulumi.BoolPtrOutput { - return o.ApplyT(func(v AppSpecWorkerGithub) *bool { return v.DeployOnPush }).(pulumi.BoolPtrOutput) +// The type of the environment variable, `GENERAL` or `SECRET`. +func (o AppSpecStaticSiteEnvOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecStaticSiteEnv) *string { return v.Type }).(pulumi.StringPtrOutput) } -// The name of the repo in the format `owner/repo`. -func (o AppSpecWorkerGithubOutput) Repo() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecWorkerGithub) *string { return v.Repo }).(pulumi.StringPtrOutput) +// The threshold for the type of the warning. +func (o AppSpecStaticSiteEnvOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecStaticSiteEnv) *string { return v.Value }).(pulumi.StringPtrOutput) } -type AppSpecWorkerGithubPtrOutput struct{ *pulumi.OutputState } +type AppSpecStaticSiteEnvArrayOutput struct{ *pulumi.OutputState } -func (AppSpecWorkerGithubPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**AppSpecWorkerGithub)(nil)).Elem() +func (AppSpecStaticSiteEnvArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]AppSpecStaticSiteEnv)(nil)).Elem() } -func (o AppSpecWorkerGithubPtrOutput) ToAppSpecWorkerGithubPtrOutput() AppSpecWorkerGithubPtrOutput { +func (o AppSpecStaticSiteEnvArrayOutput) ToAppSpecStaticSiteEnvArrayOutput() AppSpecStaticSiteEnvArrayOutput { return o } -func (o AppSpecWorkerGithubPtrOutput) ToAppSpecWorkerGithubPtrOutputWithContext(ctx context.Context) AppSpecWorkerGithubPtrOutput { +func (o AppSpecStaticSiteEnvArrayOutput) ToAppSpecStaticSiteEnvArrayOutputWithContext(ctx context.Context) AppSpecStaticSiteEnvArrayOutput { return o } -func (o AppSpecWorkerGithubPtrOutput) Elem() AppSpecWorkerGithubOutput { - return o.ApplyT(func(v *AppSpecWorkerGithub) AppSpecWorkerGithub { - if v != nil { - return *v - } - var ret AppSpecWorkerGithub - return ret - }).(AppSpecWorkerGithubOutput) -} - -// The name of the branch to use. -func (o AppSpecWorkerGithubPtrOutput) Branch() pulumi.StringPtrOutput { - return o.ApplyT(func(v *AppSpecWorkerGithub) *string { - if v == nil { - return nil - } - return v.Branch - }).(pulumi.StringPtrOutput) -} - -// Whether to automatically deploy new commits made to the repo. -func (o AppSpecWorkerGithubPtrOutput) DeployOnPush() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *AppSpecWorkerGithub) *bool { - if v == nil { - return nil - } - return v.DeployOnPush - }).(pulumi.BoolPtrOutput) -} - -// The name of the repo in the format `owner/repo`. -func (o AppSpecWorkerGithubPtrOutput) Repo() pulumi.StringPtrOutput { - return o.ApplyT(func(v *AppSpecWorkerGithub) *string { - if v == nil { - return nil - } - return v.Repo - }).(pulumi.StringPtrOutput) +func (o AppSpecStaticSiteEnvArrayOutput) Index(i pulumi.IntInput) AppSpecStaticSiteEnvOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) AppSpecStaticSiteEnv { + return vs[0].([]AppSpecStaticSiteEnv)[vs[1].(int)] + }).(AppSpecStaticSiteEnvOutput) } -type AppSpecWorkerGitlab struct { +type AppSpecStaticSiteGit struct { // The name of the branch to use. Branch *string `pulumi:"branch"` - // Whether to automatically deploy new commits made to the repo. - DeployOnPush *bool `pulumi:"deployOnPush"` - // The name of the repo in the format `owner/repo`. - Repo *string `pulumi:"repo"` + // The clone URL of the repo. + RepoCloneUrl *string `pulumi:"repoCloneUrl"` } -// AppSpecWorkerGitlabInput is an input type that accepts AppSpecWorkerGitlabArgs and AppSpecWorkerGitlabOutput values. -// You can construct a concrete instance of `AppSpecWorkerGitlabInput` via: +// AppSpecStaticSiteGitInput is an input type that accepts AppSpecStaticSiteGitArgs and AppSpecStaticSiteGitOutput values. +// You can construct a concrete instance of `AppSpecStaticSiteGitInput` via: // -// AppSpecWorkerGitlabArgs{...} -type AppSpecWorkerGitlabInput interface { +// AppSpecStaticSiteGitArgs{...} +type AppSpecStaticSiteGitInput interface { pulumi.Input - ToAppSpecWorkerGitlabOutput() AppSpecWorkerGitlabOutput - ToAppSpecWorkerGitlabOutputWithContext(context.Context) AppSpecWorkerGitlabOutput + ToAppSpecStaticSiteGitOutput() AppSpecStaticSiteGitOutput + ToAppSpecStaticSiteGitOutputWithContext(context.Context) AppSpecStaticSiteGitOutput } -type AppSpecWorkerGitlabArgs struct { +type AppSpecStaticSiteGitArgs struct { // The name of the branch to use. Branch pulumi.StringPtrInput `pulumi:"branch"` - // Whether to automatically deploy new commits made to the repo. - DeployOnPush pulumi.BoolPtrInput `pulumi:"deployOnPush"` - // The name of the repo in the format `owner/repo`. - Repo pulumi.StringPtrInput `pulumi:"repo"` + // The clone URL of the repo. + RepoCloneUrl pulumi.StringPtrInput `pulumi:"repoCloneUrl"` } -func (AppSpecWorkerGitlabArgs) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecWorkerGitlab)(nil)).Elem() +func (AppSpecStaticSiteGitArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecStaticSiteGit)(nil)).Elem() } -func (i AppSpecWorkerGitlabArgs) ToAppSpecWorkerGitlabOutput() AppSpecWorkerGitlabOutput { - return i.ToAppSpecWorkerGitlabOutputWithContext(context.Background()) +func (i AppSpecStaticSiteGitArgs) ToAppSpecStaticSiteGitOutput() AppSpecStaticSiteGitOutput { + return i.ToAppSpecStaticSiteGitOutputWithContext(context.Background()) } -func (i AppSpecWorkerGitlabArgs) ToAppSpecWorkerGitlabOutputWithContext(ctx context.Context) AppSpecWorkerGitlabOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecWorkerGitlabOutput) +func (i AppSpecStaticSiteGitArgs) ToAppSpecStaticSiteGitOutputWithContext(ctx context.Context) AppSpecStaticSiteGitOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecStaticSiteGitOutput) } -func (i AppSpecWorkerGitlabArgs) ToAppSpecWorkerGitlabPtrOutput() AppSpecWorkerGitlabPtrOutput { - return i.ToAppSpecWorkerGitlabPtrOutputWithContext(context.Background()) +func (i AppSpecStaticSiteGitArgs) ToAppSpecStaticSiteGitPtrOutput() AppSpecStaticSiteGitPtrOutput { + return i.ToAppSpecStaticSiteGitPtrOutputWithContext(context.Background()) } -func (i AppSpecWorkerGitlabArgs) ToAppSpecWorkerGitlabPtrOutputWithContext(ctx context.Context) AppSpecWorkerGitlabPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecWorkerGitlabOutput).ToAppSpecWorkerGitlabPtrOutputWithContext(ctx) +func (i AppSpecStaticSiteGitArgs) ToAppSpecStaticSiteGitPtrOutputWithContext(ctx context.Context) AppSpecStaticSiteGitPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecStaticSiteGitOutput).ToAppSpecStaticSiteGitPtrOutputWithContext(ctx) } -// AppSpecWorkerGitlabPtrInput is an input type that accepts AppSpecWorkerGitlabArgs, AppSpecWorkerGitlabPtr and AppSpecWorkerGitlabPtrOutput values. -// You can construct a concrete instance of `AppSpecWorkerGitlabPtrInput` via: +// AppSpecStaticSiteGitPtrInput is an input type that accepts AppSpecStaticSiteGitArgs, AppSpecStaticSiteGitPtr and AppSpecStaticSiteGitPtrOutput values. +// You can construct a concrete instance of `AppSpecStaticSiteGitPtrInput` via: // -// AppSpecWorkerGitlabArgs{...} +// AppSpecStaticSiteGitArgs{...} // // or: // // nil -type AppSpecWorkerGitlabPtrInput interface { +type AppSpecStaticSiteGitPtrInput interface { pulumi.Input - ToAppSpecWorkerGitlabPtrOutput() AppSpecWorkerGitlabPtrOutput - ToAppSpecWorkerGitlabPtrOutputWithContext(context.Context) AppSpecWorkerGitlabPtrOutput + ToAppSpecStaticSiteGitPtrOutput() AppSpecStaticSiteGitPtrOutput + ToAppSpecStaticSiteGitPtrOutputWithContext(context.Context) AppSpecStaticSiteGitPtrOutput } -type appSpecWorkerGitlabPtrType AppSpecWorkerGitlabArgs +type appSpecStaticSiteGitPtrType AppSpecStaticSiteGitArgs -func AppSpecWorkerGitlabPtr(v *AppSpecWorkerGitlabArgs) AppSpecWorkerGitlabPtrInput { - return (*appSpecWorkerGitlabPtrType)(v) +func AppSpecStaticSiteGitPtr(v *AppSpecStaticSiteGitArgs) AppSpecStaticSiteGitPtrInput { + return (*appSpecStaticSiteGitPtrType)(v) } -func (*appSpecWorkerGitlabPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**AppSpecWorkerGitlab)(nil)).Elem() +func (*appSpecStaticSiteGitPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecStaticSiteGit)(nil)).Elem() } -func (i *appSpecWorkerGitlabPtrType) ToAppSpecWorkerGitlabPtrOutput() AppSpecWorkerGitlabPtrOutput { - return i.ToAppSpecWorkerGitlabPtrOutputWithContext(context.Background()) +func (i *appSpecStaticSiteGitPtrType) ToAppSpecStaticSiteGitPtrOutput() AppSpecStaticSiteGitPtrOutput { + return i.ToAppSpecStaticSiteGitPtrOutputWithContext(context.Background()) } -func (i *appSpecWorkerGitlabPtrType) ToAppSpecWorkerGitlabPtrOutputWithContext(ctx context.Context) AppSpecWorkerGitlabPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecWorkerGitlabPtrOutput) +func (i *appSpecStaticSiteGitPtrType) ToAppSpecStaticSiteGitPtrOutputWithContext(ctx context.Context) AppSpecStaticSiteGitPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecStaticSiteGitPtrOutput) } -type AppSpecWorkerGitlabOutput struct{ *pulumi.OutputState } +type AppSpecStaticSiteGitOutput struct{ *pulumi.OutputState } -func (AppSpecWorkerGitlabOutput) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecWorkerGitlab)(nil)).Elem() +func (AppSpecStaticSiteGitOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecStaticSiteGit)(nil)).Elem() } -func (o AppSpecWorkerGitlabOutput) ToAppSpecWorkerGitlabOutput() AppSpecWorkerGitlabOutput { +func (o AppSpecStaticSiteGitOutput) ToAppSpecStaticSiteGitOutput() AppSpecStaticSiteGitOutput { return o } -func (o AppSpecWorkerGitlabOutput) ToAppSpecWorkerGitlabOutputWithContext(ctx context.Context) AppSpecWorkerGitlabOutput { +func (o AppSpecStaticSiteGitOutput) ToAppSpecStaticSiteGitOutputWithContext(ctx context.Context) AppSpecStaticSiteGitOutput { return o } -func (o AppSpecWorkerGitlabOutput) ToAppSpecWorkerGitlabPtrOutput() AppSpecWorkerGitlabPtrOutput { - return o.ToAppSpecWorkerGitlabPtrOutputWithContext(context.Background()) +func (o AppSpecStaticSiteGitOutput) ToAppSpecStaticSiteGitPtrOutput() AppSpecStaticSiteGitPtrOutput { + return o.ToAppSpecStaticSiteGitPtrOutputWithContext(context.Background()) } -func (o AppSpecWorkerGitlabOutput) ToAppSpecWorkerGitlabPtrOutputWithContext(ctx context.Context) AppSpecWorkerGitlabPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v AppSpecWorkerGitlab) *AppSpecWorkerGitlab { +func (o AppSpecStaticSiteGitOutput) ToAppSpecStaticSiteGitPtrOutputWithContext(ctx context.Context) AppSpecStaticSiteGitPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AppSpecStaticSiteGit) *AppSpecStaticSiteGit { return &v - }).(AppSpecWorkerGitlabPtrOutput) + }).(AppSpecStaticSiteGitPtrOutput) } // The name of the branch to use. -func (o AppSpecWorkerGitlabOutput) Branch() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecWorkerGitlab) *string { return v.Branch }).(pulumi.StringPtrOutput) -} - -// Whether to automatically deploy new commits made to the repo. -func (o AppSpecWorkerGitlabOutput) DeployOnPush() pulumi.BoolPtrOutput { - return o.ApplyT(func(v AppSpecWorkerGitlab) *bool { return v.DeployOnPush }).(pulumi.BoolPtrOutput) +func (o AppSpecStaticSiteGitOutput) Branch() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecStaticSiteGit) *string { return v.Branch }).(pulumi.StringPtrOutput) } -// The name of the repo in the format `owner/repo`. -func (o AppSpecWorkerGitlabOutput) Repo() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecWorkerGitlab) *string { return v.Repo }).(pulumi.StringPtrOutput) +// The clone URL of the repo. +func (o AppSpecStaticSiteGitOutput) RepoCloneUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecStaticSiteGit) *string { return v.RepoCloneUrl }).(pulumi.StringPtrOutput) } -type AppSpecWorkerGitlabPtrOutput struct{ *pulumi.OutputState } +type AppSpecStaticSiteGitPtrOutput struct{ *pulumi.OutputState } -func (AppSpecWorkerGitlabPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**AppSpecWorkerGitlab)(nil)).Elem() +func (AppSpecStaticSiteGitPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecStaticSiteGit)(nil)).Elem() } -func (o AppSpecWorkerGitlabPtrOutput) ToAppSpecWorkerGitlabPtrOutput() AppSpecWorkerGitlabPtrOutput { +func (o AppSpecStaticSiteGitPtrOutput) ToAppSpecStaticSiteGitPtrOutput() AppSpecStaticSiteGitPtrOutput { return o } -func (o AppSpecWorkerGitlabPtrOutput) ToAppSpecWorkerGitlabPtrOutputWithContext(ctx context.Context) AppSpecWorkerGitlabPtrOutput { +func (o AppSpecStaticSiteGitPtrOutput) ToAppSpecStaticSiteGitPtrOutputWithContext(ctx context.Context) AppSpecStaticSiteGitPtrOutput { return o } -func (o AppSpecWorkerGitlabPtrOutput) Elem() AppSpecWorkerGitlabOutput { - return o.ApplyT(func(v *AppSpecWorkerGitlab) AppSpecWorkerGitlab { +func (o AppSpecStaticSiteGitPtrOutput) Elem() AppSpecStaticSiteGitOutput { + return o.ApplyT(func(v *AppSpecStaticSiteGit) AppSpecStaticSiteGit { if v != nil { return *v } - var ret AppSpecWorkerGitlab + var ret AppSpecStaticSiteGit return ret - }).(AppSpecWorkerGitlabOutput) + }).(AppSpecStaticSiteGitOutput) } // The name of the branch to use. -func (o AppSpecWorkerGitlabPtrOutput) Branch() pulumi.StringPtrOutput { - return o.ApplyT(func(v *AppSpecWorkerGitlab) *string { +func (o AppSpecStaticSiteGitPtrOutput) Branch() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecStaticSiteGit) *string { if v == nil { return nil } @@ -5741,8017 +5995,12344 @@ func (o AppSpecWorkerGitlabPtrOutput) Branch() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } -// Whether to automatically deploy new commits made to the repo. -func (o AppSpecWorkerGitlabPtrOutput) DeployOnPush() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *AppSpecWorkerGitlab) *bool { - if v == nil { - return nil - } - return v.DeployOnPush - }).(pulumi.BoolPtrOutput) -} - -// The name of the repo in the format `owner/repo`. -func (o AppSpecWorkerGitlabPtrOutput) Repo() pulumi.StringPtrOutput { - return o.ApplyT(func(v *AppSpecWorkerGitlab) *string { +// The clone URL of the repo. +func (o AppSpecStaticSiteGitPtrOutput) RepoCloneUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecStaticSiteGit) *string { if v == nil { return nil } - return v.Repo + return v.RepoCloneUrl }).(pulumi.StringPtrOutput) } -type AppSpecWorkerImage struct { - // The registry name. Must be left empty for the `DOCR` registry type. Required for the `DOCKER_HUB` registry type. - Registry *string `pulumi:"registry"` - // The registry type. One of `DOCR` (DigitalOcean container registry) or `DOCKER_HUB`. - RegistryType string `pulumi:"registryType"` - // The repository name. - Repository string `pulumi:"repository"` - // The repository tag. Defaults to `latest` if not provided. - Tag *string `pulumi:"tag"` +type AppSpecStaticSiteGithub struct { + // The name of the branch to use. + Branch *string `pulumi:"branch"` + // Whether to automatically deploy new commits made to the repo. + DeployOnPush *bool `pulumi:"deployOnPush"` + // The name of the repo in the format `owner/repo`. + Repo *string `pulumi:"repo"` } -// AppSpecWorkerImageInput is an input type that accepts AppSpecWorkerImageArgs and AppSpecWorkerImageOutput values. -// You can construct a concrete instance of `AppSpecWorkerImageInput` via: +// AppSpecStaticSiteGithubInput is an input type that accepts AppSpecStaticSiteGithubArgs and AppSpecStaticSiteGithubOutput values. +// You can construct a concrete instance of `AppSpecStaticSiteGithubInput` via: // -// AppSpecWorkerImageArgs{...} -type AppSpecWorkerImageInput interface { +// AppSpecStaticSiteGithubArgs{...} +type AppSpecStaticSiteGithubInput interface { pulumi.Input - ToAppSpecWorkerImageOutput() AppSpecWorkerImageOutput - ToAppSpecWorkerImageOutputWithContext(context.Context) AppSpecWorkerImageOutput + ToAppSpecStaticSiteGithubOutput() AppSpecStaticSiteGithubOutput + ToAppSpecStaticSiteGithubOutputWithContext(context.Context) AppSpecStaticSiteGithubOutput } -type AppSpecWorkerImageArgs struct { - // The registry name. Must be left empty for the `DOCR` registry type. Required for the `DOCKER_HUB` registry type. - Registry pulumi.StringPtrInput `pulumi:"registry"` - // The registry type. One of `DOCR` (DigitalOcean container registry) or `DOCKER_HUB`. - RegistryType pulumi.StringInput `pulumi:"registryType"` - // The repository name. - Repository pulumi.StringInput `pulumi:"repository"` - // The repository tag. Defaults to `latest` if not provided. - Tag pulumi.StringPtrInput `pulumi:"tag"` +type AppSpecStaticSiteGithubArgs struct { + // The name of the branch to use. + Branch pulumi.StringPtrInput `pulumi:"branch"` + // Whether to automatically deploy new commits made to the repo. + DeployOnPush pulumi.BoolPtrInput `pulumi:"deployOnPush"` + // The name of the repo in the format `owner/repo`. + Repo pulumi.StringPtrInput `pulumi:"repo"` } -func (AppSpecWorkerImageArgs) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecWorkerImage)(nil)).Elem() +func (AppSpecStaticSiteGithubArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecStaticSiteGithub)(nil)).Elem() } -func (i AppSpecWorkerImageArgs) ToAppSpecWorkerImageOutput() AppSpecWorkerImageOutput { - return i.ToAppSpecWorkerImageOutputWithContext(context.Background()) +func (i AppSpecStaticSiteGithubArgs) ToAppSpecStaticSiteGithubOutput() AppSpecStaticSiteGithubOutput { + return i.ToAppSpecStaticSiteGithubOutputWithContext(context.Background()) } -func (i AppSpecWorkerImageArgs) ToAppSpecWorkerImageOutputWithContext(ctx context.Context) AppSpecWorkerImageOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecWorkerImageOutput) +func (i AppSpecStaticSiteGithubArgs) ToAppSpecStaticSiteGithubOutputWithContext(ctx context.Context) AppSpecStaticSiteGithubOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecStaticSiteGithubOutput) } -func (i AppSpecWorkerImageArgs) ToAppSpecWorkerImagePtrOutput() AppSpecWorkerImagePtrOutput { - return i.ToAppSpecWorkerImagePtrOutputWithContext(context.Background()) -} +func (i AppSpecStaticSiteGithubArgs) ToAppSpecStaticSiteGithubPtrOutput() AppSpecStaticSiteGithubPtrOutput { + return i.ToAppSpecStaticSiteGithubPtrOutputWithContext(context.Background()) +} -func (i AppSpecWorkerImageArgs) ToAppSpecWorkerImagePtrOutputWithContext(ctx context.Context) AppSpecWorkerImagePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecWorkerImageOutput).ToAppSpecWorkerImagePtrOutputWithContext(ctx) +func (i AppSpecStaticSiteGithubArgs) ToAppSpecStaticSiteGithubPtrOutputWithContext(ctx context.Context) AppSpecStaticSiteGithubPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecStaticSiteGithubOutput).ToAppSpecStaticSiteGithubPtrOutputWithContext(ctx) } -// AppSpecWorkerImagePtrInput is an input type that accepts AppSpecWorkerImageArgs, AppSpecWorkerImagePtr and AppSpecWorkerImagePtrOutput values. -// You can construct a concrete instance of `AppSpecWorkerImagePtrInput` via: +// AppSpecStaticSiteGithubPtrInput is an input type that accepts AppSpecStaticSiteGithubArgs, AppSpecStaticSiteGithubPtr and AppSpecStaticSiteGithubPtrOutput values. +// You can construct a concrete instance of `AppSpecStaticSiteGithubPtrInput` via: // -// AppSpecWorkerImageArgs{...} +// AppSpecStaticSiteGithubArgs{...} // // or: // // nil -type AppSpecWorkerImagePtrInput interface { +type AppSpecStaticSiteGithubPtrInput interface { pulumi.Input - ToAppSpecWorkerImagePtrOutput() AppSpecWorkerImagePtrOutput - ToAppSpecWorkerImagePtrOutputWithContext(context.Context) AppSpecWorkerImagePtrOutput + ToAppSpecStaticSiteGithubPtrOutput() AppSpecStaticSiteGithubPtrOutput + ToAppSpecStaticSiteGithubPtrOutputWithContext(context.Context) AppSpecStaticSiteGithubPtrOutput } -type appSpecWorkerImagePtrType AppSpecWorkerImageArgs +type appSpecStaticSiteGithubPtrType AppSpecStaticSiteGithubArgs -func AppSpecWorkerImagePtr(v *AppSpecWorkerImageArgs) AppSpecWorkerImagePtrInput { - return (*appSpecWorkerImagePtrType)(v) +func AppSpecStaticSiteGithubPtr(v *AppSpecStaticSiteGithubArgs) AppSpecStaticSiteGithubPtrInput { + return (*appSpecStaticSiteGithubPtrType)(v) } -func (*appSpecWorkerImagePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**AppSpecWorkerImage)(nil)).Elem() +func (*appSpecStaticSiteGithubPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecStaticSiteGithub)(nil)).Elem() } -func (i *appSpecWorkerImagePtrType) ToAppSpecWorkerImagePtrOutput() AppSpecWorkerImagePtrOutput { - return i.ToAppSpecWorkerImagePtrOutputWithContext(context.Background()) +func (i *appSpecStaticSiteGithubPtrType) ToAppSpecStaticSiteGithubPtrOutput() AppSpecStaticSiteGithubPtrOutput { + return i.ToAppSpecStaticSiteGithubPtrOutputWithContext(context.Background()) } -func (i *appSpecWorkerImagePtrType) ToAppSpecWorkerImagePtrOutputWithContext(ctx context.Context) AppSpecWorkerImagePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(AppSpecWorkerImagePtrOutput) +func (i *appSpecStaticSiteGithubPtrType) ToAppSpecStaticSiteGithubPtrOutputWithContext(ctx context.Context) AppSpecStaticSiteGithubPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecStaticSiteGithubPtrOutput) } -type AppSpecWorkerImageOutput struct{ *pulumi.OutputState } +type AppSpecStaticSiteGithubOutput struct{ *pulumi.OutputState } -func (AppSpecWorkerImageOutput) ElementType() reflect.Type { - return reflect.TypeOf((*AppSpecWorkerImage)(nil)).Elem() +func (AppSpecStaticSiteGithubOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecStaticSiteGithub)(nil)).Elem() } -func (o AppSpecWorkerImageOutput) ToAppSpecWorkerImageOutput() AppSpecWorkerImageOutput { +func (o AppSpecStaticSiteGithubOutput) ToAppSpecStaticSiteGithubOutput() AppSpecStaticSiteGithubOutput { return o } -func (o AppSpecWorkerImageOutput) ToAppSpecWorkerImageOutputWithContext(ctx context.Context) AppSpecWorkerImageOutput { +func (o AppSpecStaticSiteGithubOutput) ToAppSpecStaticSiteGithubOutputWithContext(ctx context.Context) AppSpecStaticSiteGithubOutput { return o } -func (o AppSpecWorkerImageOutput) ToAppSpecWorkerImagePtrOutput() AppSpecWorkerImagePtrOutput { - return o.ToAppSpecWorkerImagePtrOutputWithContext(context.Background()) +func (o AppSpecStaticSiteGithubOutput) ToAppSpecStaticSiteGithubPtrOutput() AppSpecStaticSiteGithubPtrOutput { + return o.ToAppSpecStaticSiteGithubPtrOutputWithContext(context.Background()) } -func (o AppSpecWorkerImageOutput) ToAppSpecWorkerImagePtrOutputWithContext(ctx context.Context) AppSpecWorkerImagePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v AppSpecWorkerImage) *AppSpecWorkerImage { +func (o AppSpecStaticSiteGithubOutput) ToAppSpecStaticSiteGithubPtrOutputWithContext(ctx context.Context) AppSpecStaticSiteGithubPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AppSpecStaticSiteGithub) *AppSpecStaticSiteGithub { return &v - }).(AppSpecWorkerImagePtrOutput) -} - -// The registry name. Must be left empty for the `DOCR` registry type. Required for the `DOCKER_HUB` registry type. -func (o AppSpecWorkerImageOutput) Registry() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecWorkerImage) *string { return v.Registry }).(pulumi.StringPtrOutput) + }).(AppSpecStaticSiteGithubPtrOutput) } -// The registry type. One of `DOCR` (DigitalOcean container registry) or `DOCKER_HUB`. -func (o AppSpecWorkerImageOutput) RegistryType() pulumi.StringOutput { - return o.ApplyT(func(v AppSpecWorkerImage) string { return v.RegistryType }).(pulumi.StringOutput) +// The name of the branch to use. +func (o AppSpecStaticSiteGithubOutput) Branch() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecStaticSiteGithub) *string { return v.Branch }).(pulumi.StringPtrOutput) } -// The repository name. -func (o AppSpecWorkerImageOutput) Repository() pulumi.StringOutput { - return o.ApplyT(func(v AppSpecWorkerImage) string { return v.Repository }).(pulumi.StringOutput) +// Whether to automatically deploy new commits made to the repo. +func (o AppSpecStaticSiteGithubOutput) DeployOnPush() pulumi.BoolPtrOutput { + return o.ApplyT(func(v AppSpecStaticSiteGithub) *bool { return v.DeployOnPush }).(pulumi.BoolPtrOutput) } -// The repository tag. Defaults to `latest` if not provided. -func (o AppSpecWorkerImageOutput) Tag() pulumi.StringPtrOutput { - return o.ApplyT(func(v AppSpecWorkerImage) *string { return v.Tag }).(pulumi.StringPtrOutput) +// The name of the repo in the format `owner/repo`. +func (o AppSpecStaticSiteGithubOutput) Repo() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecStaticSiteGithub) *string { return v.Repo }).(pulumi.StringPtrOutput) } -type AppSpecWorkerImagePtrOutput struct{ *pulumi.OutputState } +type AppSpecStaticSiteGithubPtrOutput struct{ *pulumi.OutputState } -func (AppSpecWorkerImagePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**AppSpecWorkerImage)(nil)).Elem() +func (AppSpecStaticSiteGithubPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecStaticSiteGithub)(nil)).Elem() } -func (o AppSpecWorkerImagePtrOutput) ToAppSpecWorkerImagePtrOutput() AppSpecWorkerImagePtrOutput { +func (o AppSpecStaticSiteGithubPtrOutput) ToAppSpecStaticSiteGithubPtrOutput() AppSpecStaticSiteGithubPtrOutput { return o } -func (o AppSpecWorkerImagePtrOutput) ToAppSpecWorkerImagePtrOutputWithContext(ctx context.Context) AppSpecWorkerImagePtrOutput { +func (o AppSpecStaticSiteGithubPtrOutput) ToAppSpecStaticSiteGithubPtrOutputWithContext(ctx context.Context) AppSpecStaticSiteGithubPtrOutput { return o } -func (o AppSpecWorkerImagePtrOutput) Elem() AppSpecWorkerImageOutput { - return o.ApplyT(func(v *AppSpecWorkerImage) AppSpecWorkerImage { +func (o AppSpecStaticSiteGithubPtrOutput) Elem() AppSpecStaticSiteGithubOutput { + return o.ApplyT(func(v *AppSpecStaticSiteGithub) AppSpecStaticSiteGithub { if v != nil { return *v } - var ret AppSpecWorkerImage + var ret AppSpecStaticSiteGithub return ret - }).(AppSpecWorkerImageOutput) -} - -// The registry name. Must be left empty for the `DOCR` registry type. Required for the `DOCKER_HUB` registry type. -func (o AppSpecWorkerImagePtrOutput) Registry() pulumi.StringPtrOutput { - return o.ApplyT(func(v *AppSpecWorkerImage) *string { - if v == nil { - return nil - } - return v.Registry - }).(pulumi.StringPtrOutput) + }).(AppSpecStaticSiteGithubOutput) } -// The registry type. One of `DOCR` (DigitalOcean container registry) or `DOCKER_HUB`. -func (o AppSpecWorkerImagePtrOutput) RegistryType() pulumi.StringPtrOutput { - return o.ApplyT(func(v *AppSpecWorkerImage) *string { +// The name of the branch to use. +func (o AppSpecStaticSiteGithubPtrOutput) Branch() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecStaticSiteGithub) *string { if v == nil { return nil } - return &v.RegistryType + return v.Branch }).(pulumi.StringPtrOutput) } -// The repository name. -func (o AppSpecWorkerImagePtrOutput) Repository() pulumi.StringPtrOutput { - return o.ApplyT(func(v *AppSpecWorkerImage) *string { +// Whether to automatically deploy new commits made to the repo. +func (o AppSpecStaticSiteGithubPtrOutput) DeployOnPush() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *AppSpecStaticSiteGithub) *bool { if v == nil { return nil } - return &v.Repository - }).(pulumi.StringPtrOutput) + return v.DeployOnPush + }).(pulumi.BoolPtrOutput) } -// The repository tag. Defaults to `latest` if not provided. -func (o AppSpecWorkerImagePtrOutput) Tag() pulumi.StringPtrOutput { - return o.ApplyT(func(v *AppSpecWorkerImage) *string { +// The name of the repo in the format `owner/repo`. +func (o AppSpecStaticSiteGithubPtrOutput) Repo() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecStaticSiteGithub) *string { if v == nil { return nil } - return v.Tag + return v.Repo }).(pulumi.StringPtrOutput) } -type DatabaseClusterMaintenanceWindow struct { - // The day of the week on which to apply maintenance updates. - Day string `pulumi:"day"` - // The hour in UTC at which maintenance updates will be applied in 24 hour format. - Hour string `pulumi:"hour"` +type AppSpecStaticSiteGitlab struct { + // The name of the branch to use. + Branch *string `pulumi:"branch"` + // Whether to automatically deploy new commits made to the repo. + DeployOnPush *bool `pulumi:"deployOnPush"` + // The name of the repo in the format `owner/repo`. + Repo *string `pulumi:"repo"` } -// DatabaseClusterMaintenanceWindowInput is an input type that accepts DatabaseClusterMaintenanceWindowArgs and DatabaseClusterMaintenanceWindowOutput values. -// You can construct a concrete instance of `DatabaseClusterMaintenanceWindowInput` via: +// AppSpecStaticSiteGitlabInput is an input type that accepts AppSpecStaticSiteGitlabArgs and AppSpecStaticSiteGitlabOutput values. +// You can construct a concrete instance of `AppSpecStaticSiteGitlabInput` via: // -// DatabaseClusterMaintenanceWindowArgs{...} -type DatabaseClusterMaintenanceWindowInput interface { +// AppSpecStaticSiteGitlabArgs{...} +type AppSpecStaticSiteGitlabInput interface { pulumi.Input - ToDatabaseClusterMaintenanceWindowOutput() DatabaseClusterMaintenanceWindowOutput - ToDatabaseClusterMaintenanceWindowOutputWithContext(context.Context) DatabaseClusterMaintenanceWindowOutput + ToAppSpecStaticSiteGitlabOutput() AppSpecStaticSiteGitlabOutput + ToAppSpecStaticSiteGitlabOutputWithContext(context.Context) AppSpecStaticSiteGitlabOutput } -type DatabaseClusterMaintenanceWindowArgs struct { - // The day of the week on which to apply maintenance updates. - Day pulumi.StringInput `pulumi:"day"` - // The hour in UTC at which maintenance updates will be applied in 24 hour format. - Hour pulumi.StringInput `pulumi:"hour"` +type AppSpecStaticSiteGitlabArgs struct { + // The name of the branch to use. + Branch pulumi.StringPtrInput `pulumi:"branch"` + // Whether to automatically deploy new commits made to the repo. + DeployOnPush pulumi.BoolPtrInput `pulumi:"deployOnPush"` + // The name of the repo in the format `owner/repo`. + Repo pulumi.StringPtrInput `pulumi:"repo"` } -func (DatabaseClusterMaintenanceWindowArgs) ElementType() reflect.Type { - return reflect.TypeOf((*DatabaseClusterMaintenanceWindow)(nil)).Elem() +func (AppSpecStaticSiteGitlabArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecStaticSiteGitlab)(nil)).Elem() } -func (i DatabaseClusterMaintenanceWindowArgs) ToDatabaseClusterMaintenanceWindowOutput() DatabaseClusterMaintenanceWindowOutput { - return i.ToDatabaseClusterMaintenanceWindowOutputWithContext(context.Background()) +func (i AppSpecStaticSiteGitlabArgs) ToAppSpecStaticSiteGitlabOutput() AppSpecStaticSiteGitlabOutput { + return i.ToAppSpecStaticSiteGitlabOutputWithContext(context.Background()) } -func (i DatabaseClusterMaintenanceWindowArgs) ToDatabaseClusterMaintenanceWindowOutputWithContext(ctx context.Context) DatabaseClusterMaintenanceWindowOutput { - return pulumi.ToOutputWithContext(ctx, i).(DatabaseClusterMaintenanceWindowOutput) +func (i AppSpecStaticSiteGitlabArgs) ToAppSpecStaticSiteGitlabOutputWithContext(ctx context.Context) AppSpecStaticSiteGitlabOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecStaticSiteGitlabOutput) } -// DatabaseClusterMaintenanceWindowArrayInput is an input type that accepts DatabaseClusterMaintenanceWindowArray and DatabaseClusterMaintenanceWindowArrayOutput values. -// You can construct a concrete instance of `DatabaseClusterMaintenanceWindowArrayInput` via: +func (i AppSpecStaticSiteGitlabArgs) ToAppSpecStaticSiteGitlabPtrOutput() AppSpecStaticSiteGitlabPtrOutput { + return i.ToAppSpecStaticSiteGitlabPtrOutputWithContext(context.Background()) +} + +func (i AppSpecStaticSiteGitlabArgs) ToAppSpecStaticSiteGitlabPtrOutputWithContext(ctx context.Context) AppSpecStaticSiteGitlabPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecStaticSiteGitlabOutput).ToAppSpecStaticSiteGitlabPtrOutputWithContext(ctx) +} + +// AppSpecStaticSiteGitlabPtrInput is an input type that accepts AppSpecStaticSiteGitlabArgs, AppSpecStaticSiteGitlabPtr and AppSpecStaticSiteGitlabPtrOutput values. +// You can construct a concrete instance of `AppSpecStaticSiteGitlabPtrInput` via: // -// DatabaseClusterMaintenanceWindowArray{ DatabaseClusterMaintenanceWindowArgs{...} } -type DatabaseClusterMaintenanceWindowArrayInput interface { +// AppSpecStaticSiteGitlabArgs{...} +// +// or: +// +// nil +type AppSpecStaticSiteGitlabPtrInput interface { pulumi.Input - ToDatabaseClusterMaintenanceWindowArrayOutput() DatabaseClusterMaintenanceWindowArrayOutput - ToDatabaseClusterMaintenanceWindowArrayOutputWithContext(context.Context) DatabaseClusterMaintenanceWindowArrayOutput + ToAppSpecStaticSiteGitlabPtrOutput() AppSpecStaticSiteGitlabPtrOutput + ToAppSpecStaticSiteGitlabPtrOutputWithContext(context.Context) AppSpecStaticSiteGitlabPtrOutput } -type DatabaseClusterMaintenanceWindowArray []DatabaseClusterMaintenanceWindowInput +type appSpecStaticSiteGitlabPtrType AppSpecStaticSiteGitlabArgs -func (DatabaseClusterMaintenanceWindowArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]DatabaseClusterMaintenanceWindow)(nil)).Elem() +func AppSpecStaticSiteGitlabPtr(v *AppSpecStaticSiteGitlabArgs) AppSpecStaticSiteGitlabPtrInput { + return (*appSpecStaticSiteGitlabPtrType)(v) } -func (i DatabaseClusterMaintenanceWindowArray) ToDatabaseClusterMaintenanceWindowArrayOutput() DatabaseClusterMaintenanceWindowArrayOutput { - return i.ToDatabaseClusterMaintenanceWindowArrayOutputWithContext(context.Background()) +func (*appSpecStaticSiteGitlabPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecStaticSiteGitlab)(nil)).Elem() } -func (i DatabaseClusterMaintenanceWindowArray) ToDatabaseClusterMaintenanceWindowArrayOutputWithContext(ctx context.Context) DatabaseClusterMaintenanceWindowArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(DatabaseClusterMaintenanceWindowArrayOutput) +func (i *appSpecStaticSiteGitlabPtrType) ToAppSpecStaticSiteGitlabPtrOutput() AppSpecStaticSiteGitlabPtrOutput { + return i.ToAppSpecStaticSiteGitlabPtrOutputWithContext(context.Background()) } -type DatabaseClusterMaintenanceWindowOutput struct{ *pulumi.OutputState } +func (i *appSpecStaticSiteGitlabPtrType) ToAppSpecStaticSiteGitlabPtrOutputWithContext(ctx context.Context) AppSpecStaticSiteGitlabPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecStaticSiteGitlabPtrOutput) +} -func (DatabaseClusterMaintenanceWindowOutput) ElementType() reflect.Type { - return reflect.TypeOf((*DatabaseClusterMaintenanceWindow)(nil)).Elem() +type AppSpecStaticSiteGitlabOutput struct{ *pulumi.OutputState } + +func (AppSpecStaticSiteGitlabOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecStaticSiteGitlab)(nil)).Elem() } -func (o DatabaseClusterMaintenanceWindowOutput) ToDatabaseClusterMaintenanceWindowOutput() DatabaseClusterMaintenanceWindowOutput { +func (o AppSpecStaticSiteGitlabOutput) ToAppSpecStaticSiteGitlabOutput() AppSpecStaticSiteGitlabOutput { return o } -func (o DatabaseClusterMaintenanceWindowOutput) ToDatabaseClusterMaintenanceWindowOutputWithContext(ctx context.Context) DatabaseClusterMaintenanceWindowOutput { +func (o AppSpecStaticSiteGitlabOutput) ToAppSpecStaticSiteGitlabOutputWithContext(ctx context.Context) AppSpecStaticSiteGitlabOutput { return o } -// The day of the week on which to apply maintenance updates. -func (o DatabaseClusterMaintenanceWindowOutput) Day() pulumi.StringOutput { - return o.ApplyT(func(v DatabaseClusterMaintenanceWindow) string { return v.Day }).(pulumi.StringOutput) +func (o AppSpecStaticSiteGitlabOutput) ToAppSpecStaticSiteGitlabPtrOutput() AppSpecStaticSiteGitlabPtrOutput { + return o.ToAppSpecStaticSiteGitlabPtrOutputWithContext(context.Background()) } -// The hour in UTC at which maintenance updates will be applied in 24 hour format. -func (o DatabaseClusterMaintenanceWindowOutput) Hour() pulumi.StringOutput { - return o.ApplyT(func(v DatabaseClusterMaintenanceWindow) string { return v.Hour }).(pulumi.StringOutput) +func (o AppSpecStaticSiteGitlabOutput) ToAppSpecStaticSiteGitlabPtrOutputWithContext(ctx context.Context) AppSpecStaticSiteGitlabPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AppSpecStaticSiteGitlab) *AppSpecStaticSiteGitlab { + return &v + }).(AppSpecStaticSiteGitlabPtrOutput) } -type DatabaseClusterMaintenanceWindowArrayOutput struct{ *pulumi.OutputState } +// The name of the branch to use. +func (o AppSpecStaticSiteGitlabOutput) Branch() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecStaticSiteGitlab) *string { return v.Branch }).(pulumi.StringPtrOutput) +} -func (DatabaseClusterMaintenanceWindowArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]DatabaseClusterMaintenanceWindow)(nil)).Elem() +// Whether to automatically deploy new commits made to the repo. +func (o AppSpecStaticSiteGitlabOutput) DeployOnPush() pulumi.BoolPtrOutput { + return o.ApplyT(func(v AppSpecStaticSiteGitlab) *bool { return v.DeployOnPush }).(pulumi.BoolPtrOutput) } -func (o DatabaseClusterMaintenanceWindowArrayOutput) ToDatabaseClusterMaintenanceWindowArrayOutput() DatabaseClusterMaintenanceWindowArrayOutput { +// The name of the repo in the format `owner/repo`. +func (o AppSpecStaticSiteGitlabOutput) Repo() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecStaticSiteGitlab) *string { return v.Repo }).(pulumi.StringPtrOutput) +} + +type AppSpecStaticSiteGitlabPtrOutput struct{ *pulumi.OutputState } + +func (AppSpecStaticSiteGitlabPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecStaticSiteGitlab)(nil)).Elem() +} + +func (o AppSpecStaticSiteGitlabPtrOutput) ToAppSpecStaticSiteGitlabPtrOutput() AppSpecStaticSiteGitlabPtrOutput { return o } -func (o DatabaseClusterMaintenanceWindowArrayOutput) ToDatabaseClusterMaintenanceWindowArrayOutputWithContext(ctx context.Context) DatabaseClusterMaintenanceWindowArrayOutput { +func (o AppSpecStaticSiteGitlabPtrOutput) ToAppSpecStaticSiteGitlabPtrOutputWithContext(ctx context.Context) AppSpecStaticSiteGitlabPtrOutput { return o } -func (o DatabaseClusterMaintenanceWindowArrayOutput) Index(i pulumi.IntInput) DatabaseClusterMaintenanceWindowOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) DatabaseClusterMaintenanceWindow { - return vs[0].([]DatabaseClusterMaintenanceWindow)[vs[1].(int)] - }).(DatabaseClusterMaintenanceWindowOutput) +func (o AppSpecStaticSiteGitlabPtrOutput) Elem() AppSpecStaticSiteGitlabOutput { + return o.ApplyT(func(v *AppSpecStaticSiteGitlab) AppSpecStaticSiteGitlab { + if v != nil { + return *v + } + var ret AppSpecStaticSiteGitlab + return ret + }).(AppSpecStaticSiteGitlabOutput) } -type DatabaseFirewallRule struct { - // The date and time when the firewall rule was created. - CreatedAt *string `pulumi:"createdAt"` - // The type of resource that the firewall rule allows to access the database cluster. The possible values are: `droplet`, `k8s`, `ipAddr`, `tag`, or `app`. - Type string `pulumi:"type"` - // A unique identifier for the firewall rule. - Uuid *string `pulumi:"uuid"` - // The ID of the specific resource, the name of a tag applied to a group of resources, or the IP address that the firewall rule allows to access the database cluster. - Value string `pulumi:"value"` +// The name of the branch to use. +func (o AppSpecStaticSiteGitlabPtrOutput) Branch() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecStaticSiteGitlab) *string { + if v == nil { + return nil + } + return v.Branch + }).(pulumi.StringPtrOutput) } -// DatabaseFirewallRuleInput is an input type that accepts DatabaseFirewallRuleArgs and DatabaseFirewallRuleOutput values. -// You can construct a concrete instance of `DatabaseFirewallRuleInput` via: +// Whether to automatically deploy new commits made to the repo. +func (o AppSpecStaticSiteGitlabPtrOutput) DeployOnPush() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *AppSpecStaticSiteGitlab) *bool { + if v == nil { + return nil + } + return v.DeployOnPush + }).(pulumi.BoolPtrOutput) +} + +// The name of the repo in the format `owner/repo`. +func (o AppSpecStaticSiteGitlabPtrOutput) Repo() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecStaticSiteGitlab) *string { + if v == nil { + return nil + } + return v.Repo + }).(pulumi.StringPtrOutput) +} + +type AppSpecStaticSiteRoute struct { + // Paths must start with `/` and must be unique within the app. + Path *string `pulumi:"path"` + // An optional flag to preserve the path that is forwarded to the backend service. + PreservePathPrefix *bool `pulumi:"preservePathPrefix"` +} + +// AppSpecStaticSiteRouteInput is an input type that accepts AppSpecStaticSiteRouteArgs and AppSpecStaticSiteRouteOutput values. +// You can construct a concrete instance of `AppSpecStaticSiteRouteInput` via: // -// DatabaseFirewallRuleArgs{...} -type DatabaseFirewallRuleInput interface { +// AppSpecStaticSiteRouteArgs{...} +type AppSpecStaticSiteRouteInput interface { pulumi.Input - ToDatabaseFirewallRuleOutput() DatabaseFirewallRuleOutput - ToDatabaseFirewallRuleOutputWithContext(context.Context) DatabaseFirewallRuleOutput + ToAppSpecStaticSiteRouteOutput() AppSpecStaticSiteRouteOutput + ToAppSpecStaticSiteRouteOutputWithContext(context.Context) AppSpecStaticSiteRouteOutput } -type DatabaseFirewallRuleArgs struct { - // The date and time when the firewall rule was created. - CreatedAt pulumi.StringPtrInput `pulumi:"createdAt"` - // The type of resource that the firewall rule allows to access the database cluster. The possible values are: `droplet`, `k8s`, `ipAddr`, `tag`, or `app`. - Type pulumi.StringInput `pulumi:"type"` - // A unique identifier for the firewall rule. - Uuid pulumi.StringPtrInput `pulumi:"uuid"` - // The ID of the specific resource, the name of a tag applied to a group of resources, or the IP address that the firewall rule allows to access the database cluster. - Value pulumi.StringInput `pulumi:"value"` +type AppSpecStaticSiteRouteArgs struct { + // Paths must start with `/` and must be unique within the app. + Path pulumi.StringPtrInput `pulumi:"path"` + // An optional flag to preserve the path that is forwarded to the backend service. + PreservePathPrefix pulumi.BoolPtrInput `pulumi:"preservePathPrefix"` } -func (DatabaseFirewallRuleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*DatabaseFirewallRule)(nil)).Elem() +func (AppSpecStaticSiteRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecStaticSiteRoute)(nil)).Elem() } -func (i DatabaseFirewallRuleArgs) ToDatabaseFirewallRuleOutput() DatabaseFirewallRuleOutput { - return i.ToDatabaseFirewallRuleOutputWithContext(context.Background()) +func (i AppSpecStaticSiteRouteArgs) ToAppSpecStaticSiteRouteOutput() AppSpecStaticSiteRouteOutput { + return i.ToAppSpecStaticSiteRouteOutputWithContext(context.Background()) } -func (i DatabaseFirewallRuleArgs) ToDatabaseFirewallRuleOutputWithContext(ctx context.Context) DatabaseFirewallRuleOutput { - return pulumi.ToOutputWithContext(ctx, i).(DatabaseFirewallRuleOutput) +func (i AppSpecStaticSiteRouteArgs) ToAppSpecStaticSiteRouteOutputWithContext(ctx context.Context) AppSpecStaticSiteRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecStaticSiteRouteOutput) } -// DatabaseFirewallRuleArrayInput is an input type that accepts DatabaseFirewallRuleArray and DatabaseFirewallRuleArrayOutput values. -// You can construct a concrete instance of `DatabaseFirewallRuleArrayInput` via: +// AppSpecStaticSiteRouteArrayInput is an input type that accepts AppSpecStaticSiteRouteArray and AppSpecStaticSiteRouteArrayOutput values. +// You can construct a concrete instance of `AppSpecStaticSiteRouteArrayInput` via: // -// DatabaseFirewallRuleArray{ DatabaseFirewallRuleArgs{...} } -type DatabaseFirewallRuleArrayInput interface { +// AppSpecStaticSiteRouteArray{ AppSpecStaticSiteRouteArgs{...} } +type AppSpecStaticSiteRouteArrayInput interface { pulumi.Input - ToDatabaseFirewallRuleArrayOutput() DatabaseFirewallRuleArrayOutput - ToDatabaseFirewallRuleArrayOutputWithContext(context.Context) DatabaseFirewallRuleArrayOutput + ToAppSpecStaticSiteRouteArrayOutput() AppSpecStaticSiteRouteArrayOutput + ToAppSpecStaticSiteRouteArrayOutputWithContext(context.Context) AppSpecStaticSiteRouteArrayOutput } -type DatabaseFirewallRuleArray []DatabaseFirewallRuleInput +type AppSpecStaticSiteRouteArray []AppSpecStaticSiteRouteInput -func (DatabaseFirewallRuleArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]DatabaseFirewallRule)(nil)).Elem() +func (AppSpecStaticSiteRouteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]AppSpecStaticSiteRoute)(nil)).Elem() } -func (i DatabaseFirewallRuleArray) ToDatabaseFirewallRuleArrayOutput() DatabaseFirewallRuleArrayOutput { - return i.ToDatabaseFirewallRuleArrayOutputWithContext(context.Background()) +func (i AppSpecStaticSiteRouteArray) ToAppSpecStaticSiteRouteArrayOutput() AppSpecStaticSiteRouteArrayOutput { + return i.ToAppSpecStaticSiteRouteArrayOutputWithContext(context.Background()) } -func (i DatabaseFirewallRuleArray) ToDatabaseFirewallRuleArrayOutputWithContext(ctx context.Context) DatabaseFirewallRuleArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(DatabaseFirewallRuleArrayOutput) +func (i AppSpecStaticSiteRouteArray) ToAppSpecStaticSiteRouteArrayOutputWithContext(ctx context.Context) AppSpecStaticSiteRouteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecStaticSiteRouteArrayOutput) } -type DatabaseFirewallRuleOutput struct{ *pulumi.OutputState } +type AppSpecStaticSiteRouteOutput struct{ *pulumi.OutputState } -func (DatabaseFirewallRuleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*DatabaseFirewallRule)(nil)).Elem() +func (AppSpecStaticSiteRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecStaticSiteRoute)(nil)).Elem() } -func (o DatabaseFirewallRuleOutput) ToDatabaseFirewallRuleOutput() DatabaseFirewallRuleOutput { +func (o AppSpecStaticSiteRouteOutput) ToAppSpecStaticSiteRouteOutput() AppSpecStaticSiteRouteOutput { return o } -func (o DatabaseFirewallRuleOutput) ToDatabaseFirewallRuleOutputWithContext(ctx context.Context) DatabaseFirewallRuleOutput { +func (o AppSpecStaticSiteRouteOutput) ToAppSpecStaticSiteRouteOutputWithContext(ctx context.Context) AppSpecStaticSiteRouteOutput { return o } -// The date and time when the firewall rule was created. -func (o DatabaseFirewallRuleOutput) CreatedAt() pulumi.StringPtrOutput { - return o.ApplyT(func(v DatabaseFirewallRule) *string { return v.CreatedAt }).(pulumi.StringPtrOutput) -} - -// The type of resource that the firewall rule allows to access the database cluster. The possible values are: `droplet`, `k8s`, `ipAddr`, `tag`, or `app`. -func (o DatabaseFirewallRuleOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v DatabaseFirewallRule) string { return v.Type }).(pulumi.StringOutput) -} - -// A unique identifier for the firewall rule. -func (o DatabaseFirewallRuleOutput) Uuid() pulumi.StringPtrOutput { - return o.ApplyT(func(v DatabaseFirewallRule) *string { return v.Uuid }).(pulumi.StringPtrOutput) +// Paths must start with `/` and must be unique within the app. +func (o AppSpecStaticSiteRouteOutput) Path() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecStaticSiteRoute) *string { return v.Path }).(pulumi.StringPtrOutput) } -// The ID of the specific resource, the name of a tag applied to a group of resources, or the IP address that the firewall rule allows to access the database cluster. -func (o DatabaseFirewallRuleOutput) Value() pulumi.StringOutput { - return o.ApplyT(func(v DatabaseFirewallRule) string { return v.Value }).(pulumi.StringOutput) +// An optional flag to preserve the path that is forwarded to the backend service. +func (o AppSpecStaticSiteRouteOutput) PreservePathPrefix() pulumi.BoolPtrOutput { + return o.ApplyT(func(v AppSpecStaticSiteRoute) *bool { return v.PreservePathPrefix }).(pulumi.BoolPtrOutput) } -type DatabaseFirewallRuleArrayOutput struct{ *pulumi.OutputState } +type AppSpecStaticSiteRouteArrayOutput struct{ *pulumi.OutputState } -func (DatabaseFirewallRuleArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]DatabaseFirewallRule)(nil)).Elem() +func (AppSpecStaticSiteRouteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]AppSpecStaticSiteRoute)(nil)).Elem() } -func (o DatabaseFirewallRuleArrayOutput) ToDatabaseFirewallRuleArrayOutput() DatabaseFirewallRuleArrayOutput { +func (o AppSpecStaticSiteRouteArrayOutput) ToAppSpecStaticSiteRouteArrayOutput() AppSpecStaticSiteRouteArrayOutput { return o } -func (o DatabaseFirewallRuleArrayOutput) ToDatabaseFirewallRuleArrayOutputWithContext(ctx context.Context) DatabaseFirewallRuleArrayOutput { +func (o AppSpecStaticSiteRouteArrayOutput) ToAppSpecStaticSiteRouteArrayOutputWithContext(ctx context.Context) AppSpecStaticSiteRouteArrayOutput { return o } -func (o DatabaseFirewallRuleArrayOutput) Index(i pulumi.IntInput) DatabaseFirewallRuleOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) DatabaseFirewallRule { - return vs[0].([]DatabaseFirewallRule)[vs[1].(int)] - }).(DatabaseFirewallRuleOutput) +func (o AppSpecStaticSiteRouteArrayOutput) Index(i pulumi.IntInput) AppSpecStaticSiteRouteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) AppSpecStaticSiteRoute { + return vs[0].([]AppSpecStaticSiteRoute)[vs[1].(int)] + }).(AppSpecStaticSiteRouteOutput) } -type FirewallInboundRule struct { - // The ports on which traffic will be allowed - // specified as a string containing a single port, a range (e.g. "8000-9000"), - // or "1-65535" to open all ports for a protocol. Required for when protocol is - // `tcp` or `udp`. - PortRange *string `pulumi:"portRange"` - // The type of traffic to be allowed. - // This may be one of "tcp", "udp", or "icmp". - Protocol string `pulumi:"protocol"` - // An array of strings containing the IPv4 - // addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs from which the - // inbound traffic will be accepted. - SourceAddresses []string `pulumi:"sourceAddresses"` - // An array containing the IDs of - // the Droplets from which the inbound traffic will be accepted. - SourceDropletIds []int `pulumi:"sourceDropletIds"` - // An array containing the IDs of - // the Kubernetes clusters from which the inbound traffic will be accepted. - SourceKubernetesIds []string `pulumi:"sourceKubernetesIds"` - // An array containing the IDs - // of the Load Balancers from which the inbound traffic will be accepted. - SourceLoadBalancerUids []string `pulumi:"sourceLoadBalancerUids"` - // An array containing the names of Tags - // corresponding to groups of Droplets from which the inbound traffic - // will be accepted. - SourceTags []string `pulumi:"sourceTags"` +type AppSpecWorker struct { + // Describes an alert policy for the component. + Alerts []AppSpecWorkerAlert `pulumi:"alerts"` + // An optional build command to run while building this component from source. + BuildCommand *string `pulumi:"buildCommand"` + // The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. + DockerfilePath *string `pulumi:"dockerfilePath"` + // An environment slug describing the type of this app. + EnvironmentSlug *string `pulumi:"environmentSlug"` + // Describes an environment variable made available to an app competent. + Envs []AppSpecWorkerEnv `pulumi:"envs"` + // A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set + Git *AppSpecWorkerGit `pulumi:"git"` + // A GitHub repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/github/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. + Github *AppSpecWorkerGithub `pulumi:"github"` + // A Gitlab repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/gitlab/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. + Gitlab *AppSpecWorkerGitlab `pulumi:"gitlab"` + // An image to use as the component's source. Only one of `git`, `github`, `gitlab`, or `image` may be set. + Image *AppSpecWorkerImage `pulumi:"image"` + // The amount of instances that this component should be scaled to. + InstanceCount *int `pulumi:"instanceCount"` + // The instance size to use for this component. This determines the plan (basic or professional) and the available CPU and memory. The list of available instance sizes can be [found with the API](https://docs.digitalocean.com/reference/api/api-reference/#operation/list_instance_sizes) or using the [doctl CLI](https://docs.digitalocean.com/reference/doctl/) (`doctl apps tier instance-size list`). Default: `basic-xxs` + InstanceSizeSlug *string `pulumi:"instanceSizeSlug"` + // Describes a log forwarding destination. + LogDestinations []AppSpecWorkerLogDestination `pulumi:"logDestinations"` + // The name of the component. + Name string `pulumi:"name"` + // An optional run command to override the component's default. + RunCommand *string `pulumi:"runCommand"` + // An optional path to the working directory to use for the build. + SourceDir *string `pulumi:"sourceDir"` } -// FirewallInboundRuleInput is an input type that accepts FirewallInboundRuleArgs and FirewallInboundRuleOutput values. -// You can construct a concrete instance of `FirewallInboundRuleInput` via: +// AppSpecWorkerInput is an input type that accepts AppSpecWorkerArgs and AppSpecWorkerOutput values. +// You can construct a concrete instance of `AppSpecWorkerInput` via: // -// FirewallInboundRuleArgs{...} -type FirewallInboundRuleInput interface { +// AppSpecWorkerArgs{...} +type AppSpecWorkerInput interface { pulumi.Input - ToFirewallInboundRuleOutput() FirewallInboundRuleOutput - ToFirewallInboundRuleOutputWithContext(context.Context) FirewallInboundRuleOutput + ToAppSpecWorkerOutput() AppSpecWorkerOutput + ToAppSpecWorkerOutputWithContext(context.Context) AppSpecWorkerOutput } -type FirewallInboundRuleArgs struct { - // The ports on which traffic will be allowed - // specified as a string containing a single port, a range (e.g. "8000-9000"), - // or "1-65535" to open all ports for a protocol. Required for when protocol is - // `tcp` or `udp`. - PortRange pulumi.StringPtrInput `pulumi:"portRange"` - // The type of traffic to be allowed. - // This may be one of "tcp", "udp", or "icmp". - Protocol pulumi.StringInput `pulumi:"protocol"` - // An array of strings containing the IPv4 - // addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs from which the - // inbound traffic will be accepted. - SourceAddresses pulumi.StringArrayInput `pulumi:"sourceAddresses"` - // An array containing the IDs of - // the Droplets from which the inbound traffic will be accepted. - SourceDropletIds pulumi.IntArrayInput `pulumi:"sourceDropletIds"` - // An array containing the IDs of - // the Kubernetes clusters from which the inbound traffic will be accepted. - SourceKubernetesIds pulumi.StringArrayInput `pulumi:"sourceKubernetesIds"` - // An array containing the IDs - // of the Load Balancers from which the inbound traffic will be accepted. - SourceLoadBalancerUids pulumi.StringArrayInput `pulumi:"sourceLoadBalancerUids"` - // An array containing the names of Tags - // corresponding to groups of Droplets from which the inbound traffic - // will be accepted. - SourceTags pulumi.StringArrayInput `pulumi:"sourceTags"` +type AppSpecWorkerArgs struct { + // Describes an alert policy for the component. + Alerts AppSpecWorkerAlertArrayInput `pulumi:"alerts"` + // An optional build command to run while building this component from source. + BuildCommand pulumi.StringPtrInput `pulumi:"buildCommand"` + // The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. + DockerfilePath pulumi.StringPtrInput `pulumi:"dockerfilePath"` + // An environment slug describing the type of this app. + EnvironmentSlug pulumi.StringPtrInput `pulumi:"environmentSlug"` + // Describes an environment variable made available to an app competent. + Envs AppSpecWorkerEnvArrayInput `pulumi:"envs"` + // A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set + Git AppSpecWorkerGitPtrInput `pulumi:"git"` + // A GitHub repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/github/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. + Github AppSpecWorkerGithubPtrInput `pulumi:"github"` + // A Gitlab repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/gitlab/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. + Gitlab AppSpecWorkerGitlabPtrInput `pulumi:"gitlab"` + // An image to use as the component's source. Only one of `git`, `github`, `gitlab`, or `image` may be set. + Image AppSpecWorkerImagePtrInput `pulumi:"image"` + // The amount of instances that this component should be scaled to. + InstanceCount pulumi.IntPtrInput `pulumi:"instanceCount"` + // The instance size to use for this component. This determines the plan (basic or professional) and the available CPU and memory. The list of available instance sizes can be [found with the API](https://docs.digitalocean.com/reference/api/api-reference/#operation/list_instance_sizes) or using the [doctl CLI](https://docs.digitalocean.com/reference/doctl/) (`doctl apps tier instance-size list`). Default: `basic-xxs` + InstanceSizeSlug pulumi.StringPtrInput `pulumi:"instanceSizeSlug"` + // Describes a log forwarding destination. + LogDestinations AppSpecWorkerLogDestinationArrayInput `pulumi:"logDestinations"` + // The name of the component. + Name pulumi.StringInput `pulumi:"name"` + // An optional run command to override the component's default. + RunCommand pulumi.StringPtrInput `pulumi:"runCommand"` + // An optional path to the working directory to use for the build. + SourceDir pulumi.StringPtrInput `pulumi:"sourceDir"` } -func (FirewallInboundRuleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*FirewallInboundRule)(nil)).Elem() +func (AppSpecWorkerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecWorker)(nil)).Elem() } -func (i FirewallInboundRuleArgs) ToFirewallInboundRuleOutput() FirewallInboundRuleOutput { - return i.ToFirewallInboundRuleOutputWithContext(context.Background()) +func (i AppSpecWorkerArgs) ToAppSpecWorkerOutput() AppSpecWorkerOutput { + return i.ToAppSpecWorkerOutputWithContext(context.Background()) } -func (i FirewallInboundRuleArgs) ToFirewallInboundRuleOutputWithContext(ctx context.Context) FirewallInboundRuleOutput { - return pulumi.ToOutputWithContext(ctx, i).(FirewallInboundRuleOutput) +func (i AppSpecWorkerArgs) ToAppSpecWorkerOutputWithContext(ctx context.Context) AppSpecWorkerOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecWorkerOutput) } -// FirewallInboundRuleArrayInput is an input type that accepts FirewallInboundRuleArray and FirewallInboundRuleArrayOutput values. -// You can construct a concrete instance of `FirewallInboundRuleArrayInput` via: +// AppSpecWorkerArrayInput is an input type that accepts AppSpecWorkerArray and AppSpecWorkerArrayOutput values. +// You can construct a concrete instance of `AppSpecWorkerArrayInput` via: // -// FirewallInboundRuleArray{ FirewallInboundRuleArgs{...} } -type FirewallInboundRuleArrayInput interface { +// AppSpecWorkerArray{ AppSpecWorkerArgs{...} } +type AppSpecWorkerArrayInput interface { pulumi.Input - ToFirewallInboundRuleArrayOutput() FirewallInboundRuleArrayOutput - ToFirewallInboundRuleArrayOutputWithContext(context.Context) FirewallInboundRuleArrayOutput + ToAppSpecWorkerArrayOutput() AppSpecWorkerArrayOutput + ToAppSpecWorkerArrayOutputWithContext(context.Context) AppSpecWorkerArrayOutput } -type FirewallInboundRuleArray []FirewallInboundRuleInput +type AppSpecWorkerArray []AppSpecWorkerInput -func (FirewallInboundRuleArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]FirewallInboundRule)(nil)).Elem() +func (AppSpecWorkerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]AppSpecWorker)(nil)).Elem() } -func (i FirewallInboundRuleArray) ToFirewallInboundRuleArrayOutput() FirewallInboundRuleArrayOutput { - return i.ToFirewallInboundRuleArrayOutputWithContext(context.Background()) +func (i AppSpecWorkerArray) ToAppSpecWorkerArrayOutput() AppSpecWorkerArrayOutput { + return i.ToAppSpecWorkerArrayOutputWithContext(context.Background()) } -func (i FirewallInboundRuleArray) ToFirewallInboundRuleArrayOutputWithContext(ctx context.Context) FirewallInboundRuleArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(FirewallInboundRuleArrayOutput) +func (i AppSpecWorkerArray) ToAppSpecWorkerArrayOutputWithContext(ctx context.Context) AppSpecWorkerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecWorkerArrayOutput) } -type FirewallInboundRuleOutput struct{ *pulumi.OutputState } +type AppSpecWorkerOutput struct{ *pulumi.OutputState } -func (FirewallInboundRuleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*FirewallInboundRule)(nil)).Elem() +func (AppSpecWorkerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecWorker)(nil)).Elem() } -func (o FirewallInboundRuleOutput) ToFirewallInboundRuleOutput() FirewallInboundRuleOutput { +func (o AppSpecWorkerOutput) ToAppSpecWorkerOutput() AppSpecWorkerOutput { return o } -func (o FirewallInboundRuleOutput) ToFirewallInboundRuleOutputWithContext(ctx context.Context) FirewallInboundRuleOutput { +func (o AppSpecWorkerOutput) ToAppSpecWorkerOutputWithContext(ctx context.Context) AppSpecWorkerOutput { return o } -// The ports on which traffic will be allowed -// specified as a string containing a single port, a range (e.g. "8000-9000"), -// or "1-65535" to open all ports for a protocol. Required for when protocol is -// `tcp` or `udp`. -func (o FirewallInboundRuleOutput) PortRange() pulumi.StringPtrOutput { - return o.ApplyT(func(v FirewallInboundRule) *string { return v.PortRange }).(pulumi.StringPtrOutput) +// Describes an alert policy for the component. +func (o AppSpecWorkerOutput) Alerts() AppSpecWorkerAlertArrayOutput { + return o.ApplyT(func(v AppSpecWorker) []AppSpecWorkerAlert { return v.Alerts }).(AppSpecWorkerAlertArrayOutput) } -// The type of traffic to be allowed. -// This may be one of "tcp", "udp", or "icmp". -func (o FirewallInboundRuleOutput) Protocol() pulumi.StringOutput { - return o.ApplyT(func(v FirewallInboundRule) string { return v.Protocol }).(pulumi.StringOutput) +// An optional build command to run while building this component from source. +func (o AppSpecWorkerOutput) BuildCommand() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecWorker) *string { return v.BuildCommand }).(pulumi.StringPtrOutput) } -// An array of strings containing the IPv4 -// addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs from which the -// inbound traffic will be accepted. -func (o FirewallInboundRuleOutput) SourceAddresses() pulumi.StringArrayOutput { - return o.ApplyT(func(v FirewallInboundRule) []string { return v.SourceAddresses }).(pulumi.StringArrayOutput) +// The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. +func (o AppSpecWorkerOutput) DockerfilePath() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecWorker) *string { return v.DockerfilePath }).(pulumi.StringPtrOutput) } -// An array containing the IDs of -// the Droplets from which the inbound traffic will be accepted. -func (o FirewallInboundRuleOutput) SourceDropletIds() pulumi.IntArrayOutput { - return o.ApplyT(func(v FirewallInboundRule) []int { return v.SourceDropletIds }).(pulumi.IntArrayOutput) +// An environment slug describing the type of this app. +func (o AppSpecWorkerOutput) EnvironmentSlug() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecWorker) *string { return v.EnvironmentSlug }).(pulumi.StringPtrOutput) } -// An array containing the IDs of -// the Kubernetes clusters from which the inbound traffic will be accepted. -func (o FirewallInboundRuleOutput) SourceKubernetesIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v FirewallInboundRule) []string { return v.SourceKubernetesIds }).(pulumi.StringArrayOutput) +// Describes an environment variable made available to an app competent. +func (o AppSpecWorkerOutput) Envs() AppSpecWorkerEnvArrayOutput { + return o.ApplyT(func(v AppSpecWorker) []AppSpecWorkerEnv { return v.Envs }).(AppSpecWorkerEnvArrayOutput) } -// An array containing the IDs -// of the Load Balancers from which the inbound traffic will be accepted. -func (o FirewallInboundRuleOutput) SourceLoadBalancerUids() pulumi.StringArrayOutput { - return o.ApplyT(func(v FirewallInboundRule) []string { return v.SourceLoadBalancerUids }).(pulumi.StringArrayOutput) +// A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set +func (o AppSpecWorkerOutput) Git() AppSpecWorkerGitPtrOutput { + return o.ApplyT(func(v AppSpecWorker) *AppSpecWorkerGit { return v.Git }).(AppSpecWorkerGitPtrOutput) } -// An array containing the names of Tags -// corresponding to groups of Droplets from which the inbound traffic -// will be accepted. -func (o FirewallInboundRuleOutput) SourceTags() pulumi.StringArrayOutput { - return o.ApplyT(func(v FirewallInboundRule) []string { return v.SourceTags }).(pulumi.StringArrayOutput) +// A GitHub repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/github/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. +func (o AppSpecWorkerOutput) Github() AppSpecWorkerGithubPtrOutput { + return o.ApplyT(func(v AppSpecWorker) *AppSpecWorkerGithub { return v.Github }).(AppSpecWorkerGithubPtrOutput) } -type FirewallInboundRuleArrayOutput struct{ *pulumi.OutputState } - -func (FirewallInboundRuleArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]FirewallInboundRule)(nil)).Elem() +// A Gitlab repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/gitlab/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. +func (o AppSpecWorkerOutput) Gitlab() AppSpecWorkerGitlabPtrOutput { + return o.ApplyT(func(v AppSpecWorker) *AppSpecWorkerGitlab { return v.Gitlab }).(AppSpecWorkerGitlabPtrOutput) } -func (o FirewallInboundRuleArrayOutput) ToFirewallInboundRuleArrayOutput() FirewallInboundRuleArrayOutput { - return o +// An image to use as the component's source. Only one of `git`, `github`, `gitlab`, or `image` may be set. +func (o AppSpecWorkerOutput) Image() AppSpecWorkerImagePtrOutput { + return o.ApplyT(func(v AppSpecWorker) *AppSpecWorkerImage { return v.Image }).(AppSpecWorkerImagePtrOutput) } -func (o FirewallInboundRuleArrayOutput) ToFirewallInboundRuleArrayOutputWithContext(ctx context.Context) FirewallInboundRuleArrayOutput { - return o +// The amount of instances that this component should be scaled to. +func (o AppSpecWorkerOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v AppSpecWorker) *int { return v.InstanceCount }).(pulumi.IntPtrOutput) } -func (o FirewallInboundRuleArrayOutput) Index(i pulumi.IntInput) FirewallInboundRuleOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) FirewallInboundRule { - return vs[0].([]FirewallInboundRule)[vs[1].(int)] - }).(FirewallInboundRuleOutput) +// The instance size to use for this component. This determines the plan (basic or professional) and the available CPU and memory. The list of available instance sizes can be [found with the API](https://docs.digitalocean.com/reference/api/api-reference/#operation/list_instance_sizes) or using the [doctl CLI](https://docs.digitalocean.com/reference/doctl/) (`doctl apps tier instance-size list`). Default: `basic-xxs` +func (o AppSpecWorkerOutput) InstanceSizeSlug() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecWorker) *string { return v.InstanceSizeSlug }).(pulumi.StringPtrOutput) } -type FirewallOutboundRule struct { - // An array of strings containing the IPv4 - // addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the - // outbound traffic will be allowed. - DestinationAddresses []string `pulumi:"destinationAddresses"` - // An array containing the IDs of - // the Droplets to which the outbound traffic will be allowed. - DestinationDropletIds []int `pulumi:"destinationDropletIds"` - // An array containing the IDs of - // the Kubernetes clusters to which the outbound traffic will be allowed. - DestinationKubernetesIds []string `pulumi:"destinationKubernetesIds"` - // An array containing the IDs - // of the Load Balancers to which the outbound traffic will be allowed. - DestinationLoadBalancerUids []string `pulumi:"destinationLoadBalancerUids"` - // An array containing the names of Tags - // corresponding to groups of Droplets to which the outbound traffic will - // be allowed. - DestinationTags []string `pulumi:"destinationTags"` - // The ports on which traffic will be allowed - // specified as a string containing a single port, a range (e.g. "8000-9000"), - // or "1-65535" to open all ports for a protocol. Required for when protocol is - // `tcp` or `udp`. - PortRange *string `pulumi:"portRange"` - // The type of traffic to be allowed. - // This may be one of "tcp", "udp", or "icmp". - Protocol string `pulumi:"protocol"` +// Describes a log forwarding destination. +func (o AppSpecWorkerOutput) LogDestinations() AppSpecWorkerLogDestinationArrayOutput { + return o.ApplyT(func(v AppSpecWorker) []AppSpecWorkerLogDestination { return v.LogDestinations }).(AppSpecWorkerLogDestinationArrayOutput) } -// FirewallOutboundRuleInput is an input type that accepts FirewallOutboundRuleArgs and FirewallOutboundRuleOutput values. -// You can construct a concrete instance of `FirewallOutboundRuleInput` via: -// -// FirewallOutboundRuleArgs{...} -type FirewallOutboundRuleInput interface { - pulumi.Input +// The name of the component. +func (o AppSpecWorkerOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v AppSpecWorker) string { return v.Name }).(pulumi.StringOutput) +} - ToFirewallOutboundRuleOutput() FirewallOutboundRuleOutput - ToFirewallOutboundRuleOutputWithContext(context.Context) FirewallOutboundRuleOutput +// An optional run command to override the component's default. +func (o AppSpecWorkerOutput) RunCommand() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecWorker) *string { return v.RunCommand }).(pulumi.StringPtrOutput) } -type FirewallOutboundRuleArgs struct { - // An array of strings containing the IPv4 - // addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the - // outbound traffic will be allowed. - DestinationAddresses pulumi.StringArrayInput `pulumi:"destinationAddresses"` - // An array containing the IDs of - // the Droplets to which the outbound traffic will be allowed. - DestinationDropletIds pulumi.IntArrayInput `pulumi:"destinationDropletIds"` - // An array containing the IDs of - // the Kubernetes clusters to which the outbound traffic will be allowed. - DestinationKubernetesIds pulumi.StringArrayInput `pulumi:"destinationKubernetesIds"` - // An array containing the IDs - // of the Load Balancers to which the outbound traffic will be allowed. - DestinationLoadBalancerUids pulumi.StringArrayInput `pulumi:"destinationLoadBalancerUids"` - // An array containing the names of Tags - // corresponding to groups of Droplets to which the outbound traffic will - // be allowed. - DestinationTags pulumi.StringArrayInput `pulumi:"destinationTags"` - // The ports on which traffic will be allowed - // specified as a string containing a single port, a range (e.g. "8000-9000"), - // or "1-65535" to open all ports for a protocol. Required for when protocol is - // `tcp` or `udp`. - PortRange pulumi.StringPtrInput `pulumi:"portRange"` - // The type of traffic to be allowed. - // This may be one of "tcp", "udp", or "icmp". - Protocol pulumi.StringInput `pulumi:"protocol"` +// An optional path to the working directory to use for the build. +func (o AppSpecWorkerOutput) SourceDir() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecWorker) *string { return v.SourceDir }).(pulumi.StringPtrOutput) } -func (FirewallOutboundRuleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*FirewallOutboundRule)(nil)).Elem() +type AppSpecWorkerArrayOutput struct{ *pulumi.OutputState } + +func (AppSpecWorkerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]AppSpecWorker)(nil)).Elem() } -func (i FirewallOutboundRuleArgs) ToFirewallOutboundRuleOutput() FirewallOutboundRuleOutput { - return i.ToFirewallOutboundRuleOutputWithContext(context.Background()) +func (o AppSpecWorkerArrayOutput) ToAppSpecWorkerArrayOutput() AppSpecWorkerArrayOutput { + return o } -func (i FirewallOutboundRuleArgs) ToFirewallOutboundRuleOutputWithContext(ctx context.Context) FirewallOutboundRuleOutput { - return pulumi.ToOutputWithContext(ctx, i).(FirewallOutboundRuleOutput) +func (o AppSpecWorkerArrayOutput) ToAppSpecWorkerArrayOutputWithContext(ctx context.Context) AppSpecWorkerArrayOutput { + return o } -// FirewallOutboundRuleArrayInput is an input type that accepts FirewallOutboundRuleArray and FirewallOutboundRuleArrayOutput values. -// You can construct a concrete instance of `FirewallOutboundRuleArrayInput` via: -// -// FirewallOutboundRuleArray{ FirewallOutboundRuleArgs{...} } -type FirewallOutboundRuleArrayInput interface { +func (o AppSpecWorkerArrayOutput) Index(i pulumi.IntInput) AppSpecWorkerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) AppSpecWorker { + return vs[0].([]AppSpecWorker)[vs[1].(int)] + }).(AppSpecWorkerOutput) +} + +type AppSpecWorkerAlert struct { + // Determines whether or not the alert is disabled (default: `false`). + Disabled *bool `pulumi:"disabled"` + // The operator to use. This is either of `GREATER_THAN` or `LESS_THAN`. + Operator string `pulumi:"operator"` + // The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. + Rule string `pulumi:"rule"` + // The threshold for the type of the warning. + Value float64 `pulumi:"value"` + // The time before alerts should be triggered. This is may be one of: `FIVE_MINUTES`, `TEN_MINUTES`, `THIRTY_MINUTES`, `ONE_HOUR`. + Window string `pulumi:"window"` +} + +// AppSpecWorkerAlertInput is an input type that accepts AppSpecWorkerAlertArgs and AppSpecWorkerAlertOutput values. +// You can construct a concrete instance of `AppSpecWorkerAlertInput` via: +// +// AppSpecWorkerAlertArgs{...} +type AppSpecWorkerAlertInput interface { pulumi.Input - ToFirewallOutboundRuleArrayOutput() FirewallOutboundRuleArrayOutput - ToFirewallOutboundRuleArrayOutputWithContext(context.Context) FirewallOutboundRuleArrayOutput + ToAppSpecWorkerAlertOutput() AppSpecWorkerAlertOutput + ToAppSpecWorkerAlertOutputWithContext(context.Context) AppSpecWorkerAlertOutput } -type FirewallOutboundRuleArray []FirewallOutboundRuleInput +type AppSpecWorkerAlertArgs struct { + // Determines whether or not the alert is disabled (default: `false`). + Disabled pulumi.BoolPtrInput `pulumi:"disabled"` + // The operator to use. This is either of `GREATER_THAN` or `LESS_THAN`. + Operator pulumi.StringInput `pulumi:"operator"` + // The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. + Rule pulumi.StringInput `pulumi:"rule"` + // The threshold for the type of the warning. + Value pulumi.Float64Input `pulumi:"value"` + // The time before alerts should be triggered. This is may be one of: `FIVE_MINUTES`, `TEN_MINUTES`, `THIRTY_MINUTES`, `ONE_HOUR`. + Window pulumi.StringInput `pulumi:"window"` +} -func (FirewallOutboundRuleArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]FirewallOutboundRule)(nil)).Elem() +func (AppSpecWorkerAlertArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecWorkerAlert)(nil)).Elem() } -func (i FirewallOutboundRuleArray) ToFirewallOutboundRuleArrayOutput() FirewallOutboundRuleArrayOutput { - return i.ToFirewallOutboundRuleArrayOutputWithContext(context.Background()) +func (i AppSpecWorkerAlertArgs) ToAppSpecWorkerAlertOutput() AppSpecWorkerAlertOutput { + return i.ToAppSpecWorkerAlertOutputWithContext(context.Background()) } -func (i FirewallOutboundRuleArray) ToFirewallOutboundRuleArrayOutputWithContext(ctx context.Context) FirewallOutboundRuleArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(FirewallOutboundRuleArrayOutput) +func (i AppSpecWorkerAlertArgs) ToAppSpecWorkerAlertOutputWithContext(ctx context.Context) AppSpecWorkerAlertOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecWorkerAlertOutput) } -type FirewallOutboundRuleOutput struct{ *pulumi.OutputState } +// AppSpecWorkerAlertArrayInput is an input type that accepts AppSpecWorkerAlertArray and AppSpecWorkerAlertArrayOutput values. +// You can construct a concrete instance of `AppSpecWorkerAlertArrayInput` via: +// +// AppSpecWorkerAlertArray{ AppSpecWorkerAlertArgs{...} } +type AppSpecWorkerAlertArrayInput interface { + pulumi.Input -func (FirewallOutboundRuleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*FirewallOutboundRule)(nil)).Elem() + ToAppSpecWorkerAlertArrayOutput() AppSpecWorkerAlertArrayOutput + ToAppSpecWorkerAlertArrayOutputWithContext(context.Context) AppSpecWorkerAlertArrayOutput } -func (o FirewallOutboundRuleOutput) ToFirewallOutboundRuleOutput() FirewallOutboundRuleOutput { - return o +type AppSpecWorkerAlertArray []AppSpecWorkerAlertInput + +func (AppSpecWorkerAlertArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]AppSpecWorkerAlert)(nil)).Elem() } -func (o FirewallOutboundRuleOutput) ToFirewallOutboundRuleOutputWithContext(ctx context.Context) FirewallOutboundRuleOutput { - return o +func (i AppSpecWorkerAlertArray) ToAppSpecWorkerAlertArrayOutput() AppSpecWorkerAlertArrayOutput { + return i.ToAppSpecWorkerAlertArrayOutputWithContext(context.Background()) } -// An array of strings containing the IPv4 -// addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the -// outbound traffic will be allowed. -func (o FirewallOutboundRuleOutput) DestinationAddresses() pulumi.StringArrayOutput { - return o.ApplyT(func(v FirewallOutboundRule) []string { return v.DestinationAddresses }).(pulumi.StringArrayOutput) +func (i AppSpecWorkerAlertArray) ToAppSpecWorkerAlertArrayOutputWithContext(ctx context.Context) AppSpecWorkerAlertArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecWorkerAlertArrayOutput) } -// An array containing the IDs of -// the Droplets to which the outbound traffic will be allowed. -func (o FirewallOutboundRuleOutput) DestinationDropletIds() pulumi.IntArrayOutput { - return o.ApplyT(func(v FirewallOutboundRule) []int { return v.DestinationDropletIds }).(pulumi.IntArrayOutput) +type AppSpecWorkerAlertOutput struct{ *pulumi.OutputState } + +func (AppSpecWorkerAlertOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecWorkerAlert)(nil)).Elem() } -// An array containing the IDs of -// the Kubernetes clusters to which the outbound traffic will be allowed. -func (o FirewallOutboundRuleOutput) DestinationKubernetesIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v FirewallOutboundRule) []string { return v.DestinationKubernetesIds }).(pulumi.StringArrayOutput) +func (o AppSpecWorkerAlertOutput) ToAppSpecWorkerAlertOutput() AppSpecWorkerAlertOutput { + return o } -// An array containing the IDs -// of the Load Balancers to which the outbound traffic will be allowed. -func (o FirewallOutboundRuleOutput) DestinationLoadBalancerUids() pulumi.StringArrayOutput { - return o.ApplyT(func(v FirewallOutboundRule) []string { return v.DestinationLoadBalancerUids }).(pulumi.StringArrayOutput) +func (o AppSpecWorkerAlertOutput) ToAppSpecWorkerAlertOutputWithContext(ctx context.Context) AppSpecWorkerAlertOutput { + return o } -// An array containing the names of Tags -// corresponding to groups of Droplets to which the outbound traffic will -// be allowed. -func (o FirewallOutboundRuleOutput) DestinationTags() pulumi.StringArrayOutput { - return o.ApplyT(func(v FirewallOutboundRule) []string { return v.DestinationTags }).(pulumi.StringArrayOutput) +// Determines whether or not the alert is disabled (default: `false`). +func (o AppSpecWorkerAlertOutput) Disabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v AppSpecWorkerAlert) *bool { return v.Disabled }).(pulumi.BoolPtrOutput) } -// The ports on which traffic will be allowed -// specified as a string containing a single port, a range (e.g. "8000-9000"), -// or "1-65535" to open all ports for a protocol. Required for when protocol is -// `tcp` or `udp`. -func (o FirewallOutboundRuleOutput) PortRange() pulumi.StringPtrOutput { - return o.ApplyT(func(v FirewallOutboundRule) *string { return v.PortRange }).(pulumi.StringPtrOutput) +// The operator to use. This is either of `GREATER_THAN` or `LESS_THAN`. +func (o AppSpecWorkerAlertOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v AppSpecWorkerAlert) string { return v.Operator }).(pulumi.StringOutput) } -// The type of traffic to be allowed. -// This may be one of "tcp", "udp", or "icmp". -func (o FirewallOutboundRuleOutput) Protocol() pulumi.StringOutput { - return o.ApplyT(func(v FirewallOutboundRule) string { return v.Protocol }).(pulumi.StringOutput) +// The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. +func (o AppSpecWorkerAlertOutput) Rule() pulumi.StringOutput { + return o.ApplyT(func(v AppSpecWorkerAlert) string { return v.Rule }).(pulumi.StringOutput) } -type FirewallOutboundRuleArrayOutput struct{ *pulumi.OutputState } +// The threshold for the type of the warning. +func (o AppSpecWorkerAlertOutput) Value() pulumi.Float64Output { + return o.ApplyT(func(v AppSpecWorkerAlert) float64 { return v.Value }).(pulumi.Float64Output) +} -func (FirewallOutboundRuleArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]FirewallOutboundRule)(nil)).Elem() +// The time before alerts should be triggered. This is may be one of: `FIVE_MINUTES`, `TEN_MINUTES`, `THIRTY_MINUTES`, `ONE_HOUR`. +func (o AppSpecWorkerAlertOutput) Window() pulumi.StringOutput { + return o.ApplyT(func(v AppSpecWorkerAlert) string { return v.Window }).(pulumi.StringOutput) } -func (o FirewallOutboundRuleArrayOutput) ToFirewallOutboundRuleArrayOutput() FirewallOutboundRuleArrayOutput { +type AppSpecWorkerAlertArrayOutput struct{ *pulumi.OutputState } + +func (AppSpecWorkerAlertArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]AppSpecWorkerAlert)(nil)).Elem() +} + +func (o AppSpecWorkerAlertArrayOutput) ToAppSpecWorkerAlertArrayOutput() AppSpecWorkerAlertArrayOutput { return o } -func (o FirewallOutboundRuleArrayOutput) ToFirewallOutboundRuleArrayOutputWithContext(ctx context.Context) FirewallOutboundRuleArrayOutput { +func (o AppSpecWorkerAlertArrayOutput) ToAppSpecWorkerAlertArrayOutputWithContext(ctx context.Context) AppSpecWorkerAlertArrayOutput { return o } -func (o FirewallOutboundRuleArrayOutput) Index(i pulumi.IntInput) FirewallOutboundRuleOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) FirewallOutboundRule { - return vs[0].([]FirewallOutboundRule)[vs[1].(int)] - }).(FirewallOutboundRuleOutput) +func (o AppSpecWorkerAlertArrayOutput) Index(i pulumi.IntInput) AppSpecWorkerAlertOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) AppSpecWorkerAlert { + return vs[0].([]AppSpecWorkerAlert)[vs[1].(int)] + }).(AppSpecWorkerAlertOutput) } -type FirewallPendingChange struct { - DropletId *int `pulumi:"dropletId"` - Removing *bool `pulumi:"removing"` - // A status string indicating the current state of the Firewall. - // This can be "waiting", "succeeded", or "failed". - Status *string `pulumi:"status"` +type AppSpecWorkerEnv struct { + // The name of the environment variable. + Key *string `pulumi:"key"` + // The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). + Scope *string `pulumi:"scope"` + // The type of the environment variable, `GENERAL` or `SECRET`. + Type *string `pulumi:"type"` + // The threshold for the type of the warning. + Value *string `pulumi:"value"` } -// FirewallPendingChangeInput is an input type that accepts FirewallPendingChangeArgs and FirewallPendingChangeOutput values. -// You can construct a concrete instance of `FirewallPendingChangeInput` via: +// AppSpecWorkerEnvInput is an input type that accepts AppSpecWorkerEnvArgs and AppSpecWorkerEnvOutput values. +// You can construct a concrete instance of `AppSpecWorkerEnvInput` via: // -// FirewallPendingChangeArgs{...} -type FirewallPendingChangeInput interface { +// AppSpecWorkerEnvArgs{...} +type AppSpecWorkerEnvInput interface { pulumi.Input - ToFirewallPendingChangeOutput() FirewallPendingChangeOutput - ToFirewallPendingChangeOutputWithContext(context.Context) FirewallPendingChangeOutput + ToAppSpecWorkerEnvOutput() AppSpecWorkerEnvOutput + ToAppSpecWorkerEnvOutputWithContext(context.Context) AppSpecWorkerEnvOutput } -type FirewallPendingChangeArgs struct { - DropletId pulumi.IntPtrInput `pulumi:"dropletId"` - Removing pulumi.BoolPtrInput `pulumi:"removing"` - // A status string indicating the current state of the Firewall. - // This can be "waiting", "succeeded", or "failed". - Status pulumi.StringPtrInput `pulumi:"status"` +type AppSpecWorkerEnvArgs struct { + // The name of the environment variable. + Key pulumi.StringPtrInput `pulumi:"key"` + // The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). + Scope pulumi.StringPtrInput `pulumi:"scope"` + // The type of the environment variable, `GENERAL` or `SECRET`. + Type pulumi.StringPtrInput `pulumi:"type"` + // The threshold for the type of the warning. + Value pulumi.StringPtrInput `pulumi:"value"` } -func (FirewallPendingChangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*FirewallPendingChange)(nil)).Elem() +func (AppSpecWorkerEnvArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecWorkerEnv)(nil)).Elem() } -func (i FirewallPendingChangeArgs) ToFirewallPendingChangeOutput() FirewallPendingChangeOutput { - return i.ToFirewallPendingChangeOutputWithContext(context.Background()) +func (i AppSpecWorkerEnvArgs) ToAppSpecWorkerEnvOutput() AppSpecWorkerEnvOutput { + return i.ToAppSpecWorkerEnvOutputWithContext(context.Background()) } -func (i FirewallPendingChangeArgs) ToFirewallPendingChangeOutputWithContext(ctx context.Context) FirewallPendingChangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(FirewallPendingChangeOutput) +func (i AppSpecWorkerEnvArgs) ToAppSpecWorkerEnvOutputWithContext(ctx context.Context) AppSpecWorkerEnvOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecWorkerEnvOutput) } -// FirewallPendingChangeArrayInput is an input type that accepts FirewallPendingChangeArray and FirewallPendingChangeArrayOutput values. -// You can construct a concrete instance of `FirewallPendingChangeArrayInput` via: +// AppSpecWorkerEnvArrayInput is an input type that accepts AppSpecWorkerEnvArray and AppSpecWorkerEnvArrayOutput values. +// You can construct a concrete instance of `AppSpecWorkerEnvArrayInput` via: // -// FirewallPendingChangeArray{ FirewallPendingChangeArgs{...} } -type FirewallPendingChangeArrayInput interface { +// AppSpecWorkerEnvArray{ AppSpecWorkerEnvArgs{...} } +type AppSpecWorkerEnvArrayInput interface { pulumi.Input - ToFirewallPendingChangeArrayOutput() FirewallPendingChangeArrayOutput - ToFirewallPendingChangeArrayOutputWithContext(context.Context) FirewallPendingChangeArrayOutput + ToAppSpecWorkerEnvArrayOutput() AppSpecWorkerEnvArrayOutput + ToAppSpecWorkerEnvArrayOutputWithContext(context.Context) AppSpecWorkerEnvArrayOutput } -type FirewallPendingChangeArray []FirewallPendingChangeInput +type AppSpecWorkerEnvArray []AppSpecWorkerEnvInput -func (FirewallPendingChangeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]FirewallPendingChange)(nil)).Elem() +func (AppSpecWorkerEnvArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]AppSpecWorkerEnv)(nil)).Elem() } -func (i FirewallPendingChangeArray) ToFirewallPendingChangeArrayOutput() FirewallPendingChangeArrayOutput { - return i.ToFirewallPendingChangeArrayOutputWithContext(context.Background()) +func (i AppSpecWorkerEnvArray) ToAppSpecWorkerEnvArrayOutput() AppSpecWorkerEnvArrayOutput { + return i.ToAppSpecWorkerEnvArrayOutputWithContext(context.Background()) } -func (i FirewallPendingChangeArray) ToFirewallPendingChangeArrayOutputWithContext(ctx context.Context) FirewallPendingChangeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(FirewallPendingChangeArrayOutput) +func (i AppSpecWorkerEnvArray) ToAppSpecWorkerEnvArrayOutputWithContext(ctx context.Context) AppSpecWorkerEnvArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecWorkerEnvArrayOutput) } -type FirewallPendingChangeOutput struct{ *pulumi.OutputState } +type AppSpecWorkerEnvOutput struct{ *pulumi.OutputState } -func (FirewallPendingChangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*FirewallPendingChange)(nil)).Elem() +func (AppSpecWorkerEnvOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecWorkerEnv)(nil)).Elem() } -func (o FirewallPendingChangeOutput) ToFirewallPendingChangeOutput() FirewallPendingChangeOutput { +func (o AppSpecWorkerEnvOutput) ToAppSpecWorkerEnvOutput() AppSpecWorkerEnvOutput { return o } -func (o FirewallPendingChangeOutput) ToFirewallPendingChangeOutputWithContext(ctx context.Context) FirewallPendingChangeOutput { +func (o AppSpecWorkerEnvOutput) ToAppSpecWorkerEnvOutputWithContext(ctx context.Context) AppSpecWorkerEnvOutput { return o } -func (o FirewallPendingChangeOutput) DropletId() pulumi.IntPtrOutput { - return o.ApplyT(func(v FirewallPendingChange) *int { return v.DropletId }).(pulumi.IntPtrOutput) +// The name of the environment variable. +func (o AppSpecWorkerEnvOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecWorkerEnv) *string { return v.Key }).(pulumi.StringPtrOutput) } -func (o FirewallPendingChangeOutput) Removing() pulumi.BoolPtrOutput { - return o.ApplyT(func(v FirewallPendingChange) *bool { return v.Removing }).(pulumi.BoolPtrOutput) +// The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). +func (o AppSpecWorkerEnvOutput) Scope() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecWorkerEnv) *string { return v.Scope }).(pulumi.StringPtrOutput) } -// A status string indicating the current state of the Firewall. -// This can be "waiting", "succeeded", or "failed". -func (o FirewallPendingChangeOutput) Status() pulumi.StringPtrOutput { - return o.ApplyT(func(v FirewallPendingChange) *string { return v.Status }).(pulumi.StringPtrOutput) +// The type of the environment variable, `GENERAL` or `SECRET`. +func (o AppSpecWorkerEnvOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecWorkerEnv) *string { return v.Type }).(pulumi.StringPtrOutput) } -type FirewallPendingChangeArrayOutput struct{ *pulumi.OutputState } +// The threshold for the type of the warning. +func (o AppSpecWorkerEnvOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecWorkerEnv) *string { return v.Value }).(pulumi.StringPtrOutput) +} -func (FirewallPendingChangeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]FirewallPendingChange)(nil)).Elem() +type AppSpecWorkerEnvArrayOutput struct{ *pulumi.OutputState } + +func (AppSpecWorkerEnvArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]AppSpecWorkerEnv)(nil)).Elem() } -func (o FirewallPendingChangeArrayOutput) ToFirewallPendingChangeArrayOutput() FirewallPendingChangeArrayOutput { +func (o AppSpecWorkerEnvArrayOutput) ToAppSpecWorkerEnvArrayOutput() AppSpecWorkerEnvArrayOutput { return o } -func (o FirewallPendingChangeArrayOutput) ToFirewallPendingChangeArrayOutputWithContext(ctx context.Context) FirewallPendingChangeArrayOutput { +func (o AppSpecWorkerEnvArrayOutput) ToAppSpecWorkerEnvArrayOutputWithContext(ctx context.Context) AppSpecWorkerEnvArrayOutput { return o } -func (o FirewallPendingChangeArrayOutput) Index(i pulumi.IntInput) FirewallPendingChangeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) FirewallPendingChange { - return vs[0].([]FirewallPendingChange)[vs[1].(int)] - }).(FirewallPendingChangeOutput) +func (o AppSpecWorkerEnvArrayOutput) Index(i pulumi.IntInput) AppSpecWorkerEnvOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) AppSpecWorkerEnv { + return vs[0].([]AppSpecWorkerEnv)[vs[1].(int)] + }).(AppSpecWorkerEnvOutput) } -type KubernetesClusterKubeConfig struct { - // The base64 encoded public certificate used by clients to access the cluster. Only available if token authentication is not supported on your cluster. - ClientCertificate *string `pulumi:"clientCertificate"` - // The base64 encoded private key used by clients to access the cluster. Only available if token authentication is not supported on your cluster. - ClientKey *string `pulumi:"clientKey"` - // The base64 encoded public certificate for the cluster's certificate authority. - ClusterCaCertificate *string `pulumi:"clusterCaCertificate"` - // The date and time when the credentials will expire and need to be regenerated. - ExpiresAt *string `pulumi:"expiresAt"` - // The URL of the API server on the Kubernetes master node. - Host *string `pulumi:"host"` - // The full contents of the Kubernetes cluster's kubeconfig file. - RawConfig *string `pulumi:"rawConfig"` - // The DigitalOcean API access token used by clients to access the cluster. - Token *string `pulumi:"token"` +type AppSpecWorkerGit struct { + // The name of the branch to use. + Branch *string `pulumi:"branch"` + // The clone URL of the repo. + RepoCloneUrl *string `pulumi:"repoCloneUrl"` } -// KubernetesClusterKubeConfigInput is an input type that accepts KubernetesClusterKubeConfigArgs and KubernetesClusterKubeConfigOutput values. -// You can construct a concrete instance of `KubernetesClusterKubeConfigInput` via: +// AppSpecWorkerGitInput is an input type that accepts AppSpecWorkerGitArgs and AppSpecWorkerGitOutput values. +// You can construct a concrete instance of `AppSpecWorkerGitInput` via: // -// KubernetesClusterKubeConfigArgs{...} -type KubernetesClusterKubeConfigInput interface { +// AppSpecWorkerGitArgs{...} +type AppSpecWorkerGitInput interface { pulumi.Input - ToKubernetesClusterKubeConfigOutput() KubernetesClusterKubeConfigOutput - ToKubernetesClusterKubeConfigOutputWithContext(context.Context) KubernetesClusterKubeConfigOutput -} - -type KubernetesClusterKubeConfigArgs struct { - // The base64 encoded public certificate used by clients to access the cluster. Only available if token authentication is not supported on your cluster. - ClientCertificate pulumi.StringPtrInput `pulumi:"clientCertificate"` - // The base64 encoded private key used by clients to access the cluster. Only available if token authentication is not supported on your cluster. - ClientKey pulumi.StringPtrInput `pulumi:"clientKey"` - // The base64 encoded public certificate for the cluster's certificate authority. - ClusterCaCertificate pulumi.StringPtrInput `pulumi:"clusterCaCertificate"` - // The date and time when the credentials will expire and need to be regenerated. - ExpiresAt pulumi.StringPtrInput `pulumi:"expiresAt"` - // The URL of the API server on the Kubernetes master node. - Host pulumi.StringPtrInput `pulumi:"host"` - // The full contents of the Kubernetes cluster's kubeconfig file. - RawConfig pulumi.StringPtrInput `pulumi:"rawConfig"` - // The DigitalOcean API access token used by clients to access the cluster. - Token pulumi.StringPtrInput `pulumi:"token"` + ToAppSpecWorkerGitOutput() AppSpecWorkerGitOutput + ToAppSpecWorkerGitOutputWithContext(context.Context) AppSpecWorkerGitOutput } -func (KubernetesClusterKubeConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*KubernetesClusterKubeConfig)(nil)).Elem() +type AppSpecWorkerGitArgs struct { + // The name of the branch to use. + Branch pulumi.StringPtrInput `pulumi:"branch"` + // The clone URL of the repo. + RepoCloneUrl pulumi.StringPtrInput `pulumi:"repoCloneUrl"` } -func (i KubernetesClusterKubeConfigArgs) ToKubernetesClusterKubeConfigOutput() KubernetesClusterKubeConfigOutput { - return i.ToKubernetesClusterKubeConfigOutputWithContext(context.Background()) +func (AppSpecWorkerGitArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecWorkerGit)(nil)).Elem() } -func (i KubernetesClusterKubeConfigArgs) ToKubernetesClusterKubeConfigOutputWithContext(ctx context.Context) KubernetesClusterKubeConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(KubernetesClusterKubeConfigOutput) +func (i AppSpecWorkerGitArgs) ToAppSpecWorkerGitOutput() AppSpecWorkerGitOutput { + return i.ToAppSpecWorkerGitOutputWithContext(context.Background()) } -// KubernetesClusterKubeConfigArrayInput is an input type that accepts KubernetesClusterKubeConfigArray and KubernetesClusterKubeConfigArrayOutput values. -// You can construct a concrete instance of `KubernetesClusterKubeConfigArrayInput` via: +func (i AppSpecWorkerGitArgs) ToAppSpecWorkerGitOutputWithContext(ctx context.Context) AppSpecWorkerGitOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecWorkerGitOutput) +} + +func (i AppSpecWorkerGitArgs) ToAppSpecWorkerGitPtrOutput() AppSpecWorkerGitPtrOutput { + return i.ToAppSpecWorkerGitPtrOutputWithContext(context.Background()) +} + +func (i AppSpecWorkerGitArgs) ToAppSpecWorkerGitPtrOutputWithContext(ctx context.Context) AppSpecWorkerGitPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecWorkerGitOutput).ToAppSpecWorkerGitPtrOutputWithContext(ctx) +} + +// AppSpecWorkerGitPtrInput is an input type that accepts AppSpecWorkerGitArgs, AppSpecWorkerGitPtr and AppSpecWorkerGitPtrOutput values. +// You can construct a concrete instance of `AppSpecWorkerGitPtrInput` via: // -// KubernetesClusterKubeConfigArray{ KubernetesClusterKubeConfigArgs{...} } -type KubernetesClusterKubeConfigArrayInput interface { +// AppSpecWorkerGitArgs{...} +// +// or: +// +// nil +type AppSpecWorkerGitPtrInput interface { pulumi.Input - ToKubernetesClusterKubeConfigArrayOutput() KubernetesClusterKubeConfigArrayOutput - ToKubernetesClusterKubeConfigArrayOutputWithContext(context.Context) KubernetesClusterKubeConfigArrayOutput + ToAppSpecWorkerGitPtrOutput() AppSpecWorkerGitPtrOutput + ToAppSpecWorkerGitPtrOutputWithContext(context.Context) AppSpecWorkerGitPtrOutput } -type KubernetesClusterKubeConfigArray []KubernetesClusterKubeConfigInput +type appSpecWorkerGitPtrType AppSpecWorkerGitArgs -func (KubernetesClusterKubeConfigArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]KubernetesClusterKubeConfig)(nil)).Elem() +func AppSpecWorkerGitPtr(v *AppSpecWorkerGitArgs) AppSpecWorkerGitPtrInput { + return (*appSpecWorkerGitPtrType)(v) } -func (i KubernetesClusterKubeConfigArray) ToKubernetesClusterKubeConfigArrayOutput() KubernetesClusterKubeConfigArrayOutput { - return i.ToKubernetesClusterKubeConfigArrayOutputWithContext(context.Background()) +func (*appSpecWorkerGitPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecWorkerGit)(nil)).Elem() } -func (i KubernetesClusterKubeConfigArray) ToKubernetesClusterKubeConfigArrayOutputWithContext(ctx context.Context) KubernetesClusterKubeConfigArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(KubernetesClusterKubeConfigArrayOutput) +func (i *appSpecWorkerGitPtrType) ToAppSpecWorkerGitPtrOutput() AppSpecWorkerGitPtrOutput { + return i.ToAppSpecWorkerGitPtrOutputWithContext(context.Background()) } -type KubernetesClusterKubeConfigOutput struct{ *pulumi.OutputState } +func (i *appSpecWorkerGitPtrType) ToAppSpecWorkerGitPtrOutputWithContext(ctx context.Context) AppSpecWorkerGitPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecWorkerGitPtrOutput) +} -func (KubernetesClusterKubeConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*KubernetesClusterKubeConfig)(nil)).Elem() +type AppSpecWorkerGitOutput struct{ *pulumi.OutputState } + +func (AppSpecWorkerGitOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecWorkerGit)(nil)).Elem() } -func (o KubernetesClusterKubeConfigOutput) ToKubernetesClusterKubeConfigOutput() KubernetesClusterKubeConfigOutput { +func (o AppSpecWorkerGitOutput) ToAppSpecWorkerGitOutput() AppSpecWorkerGitOutput { return o } -func (o KubernetesClusterKubeConfigOutput) ToKubernetesClusterKubeConfigOutputWithContext(ctx context.Context) KubernetesClusterKubeConfigOutput { +func (o AppSpecWorkerGitOutput) ToAppSpecWorkerGitOutputWithContext(ctx context.Context) AppSpecWorkerGitOutput { return o } -// The base64 encoded public certificate used by clients to access the cluster. Only available if token authentication is not supported on your cluster. -func (o KubernetesClusterKubeConfigOutput) ClientCertificate() pulumi.StringPtrOutput { - return o.ApplyT(func(v KubernetesClusterKubeConfig) *string { return v.ClientCertificate }).(pulumi.StringPtrOutput) +func (o AppSpecWorkerGitOutput) ToAppSpecWorkerGitPtrOutput() AppSpecWorkerGitPtrOutput { + return o.ToAppSpecWorkerGitPtrOutputWithContext(context.Background()) } -// The base64 encoded private key used by clients to access the cluster. Only available if token authentication is not supported on your cluster. -func (o KubernetesClusterKubeConfigOutput) ClientKey() pulumi.StringPtrOutput { - return o.ApplyT(func(v KubernetesClusterKubeConfig) *string { return v.ClientKey }).(pulumi.StringPtrOutput) +func (o AppSpecWorkerGitOutput) ToAppSpecWorkerGitPtrOutputWithContext(ctx context.Context) AppSpecWorkerGitPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AppSpecWorkerGit) *AppSpecWorkerGit { + return &v + }).(AppSpecWorkerGitPtrOutput) } -// The base64 encoded public certificate for the cluster's certificate authority. -func (o KubernetesClusterKubeConfigOutput) ClusterCaCertificate() pulumi.StringPtrOutput { - return o.ApplyT(func(v KubernetesClusterKubeConfig) *string { return v.ClusterCaCertificate }).(pulumi.StringPtrOutput) +// The name of the branch to use. +func (o AppSpecWorkerGitOutput) Branch() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecWorkerGit) *string { return v.Branch }).(pulumi.StringPtrOutput) } -// The date and time when the credentials will expire and need to be regenerated. -func (o KubernetesClusterKubeConfigOutput) ExpiresAt() pulumi.StringPtrOutput { - return o.ApplyT(func(v KubernetesClusterKubeConfig) *string { return v.ExpiresAt }).(pulumi.StringPtrOutput) +// The clone URL of the repo. +func (o AppSpecWorkerGitOutput) RepoCloneUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecWorkerGit) *string { return v.RepoCloneUrl }).(pulumi.StringPtrOutput) } -// The URL of the API server on the Kubernetes master node. -func (o KubernetesClusterKubeConfigOutput) Host() pulumi.StringPtrOutput { - return o.ApplyT(func(v KubernetesClusterKubeConfig) *string { return v.Host }).(pulumi.StringPtrOutput) -} +type AppSpecWorkerGitPtrOutput struct{ *pulumi.OutputState } -// The full contents of the Kubernetes cluster's kubeconfig file. -func (o KubernetesClusterKubeConfigOutput) RawConfig() pulumi.StringPtrOutput { - return o.ApplyT(func(v KubernetesClusterKubeConfig) *string { return v.RawConfig }).(pulumi.StringPtrOutput) +func (AppSpecWorkerGitPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecWorkerGit)(nil)).Elem() } -// The DigitalOcean API access token used by clients to access the cluster. -func (o KubernetesClusterKubeConfigOutput) Token() pulumi.StringPtrOutput { - return o.ApplyT(func(v KubernetesClusterKubeConfig) *string { return v.Token }).(pulumi.StringPtrOutput) +func (o AppSpecWorkerGitPtrOutput) ToAppSpecWorkerGitPtrOutput() AppSpecWorkerGitPtrOutput { + return o } -type KubernetesClusterKubeConfigArrayOutput struct{ *pulumi.OutputState } - -func (KubernetesClusterKubeConfigArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]KubernetesClusterKubeConfig)(nil)).Elem() +func (o AppSpecWorkerGitPtrOutput) ToAppSpecWorkerGitPtrOutputWithContext(ctx context.Context) AppSpecWorkerGitPtrOutput { + return o } -func (o KubernetesClusterKubeConfigArrayOutput) ToKubernetesClusterKubeConfigArrayOutput() KubernetesClusterKubeConfigArrayOutput { - return o +func (o AppSpecWorkerGitPtrOutput) Elem() AppSpecWorkerGitOutput { + return o.ApplyT(func(v *AppSpecWorkerGit) AppSpecWorkerGit { + if v != nil { + return *v + } + var ret AppSpecWorkerGit + return ret + }).(AppSpecWorkerGitOutput) } -func (o KubernetesClusterKubeConfigArrayOutput) ToKubernetesClusterKubeConfigArrayOutputWithContext(ctx context.Context) KubernetesClusterKubeConfigArrayOutput { - return o +// The name of the branch to use. +func (o AppSpecWorkerGitPtrOutput) Branch() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecWorkerGit) *string { + if v == nil { + return nil + } + return v.Branch + }).(pulumi.StringPtrOutput) } -func (o KubernetesClusterKubeConfigArrayOutput) Index(i pulumi.IntInput) KubernetesClusterKubeConfigOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) KubernetesClusterKubeConfig { - return vs[0].([]KubernetesClusterKubeConfig)[vs[1].(int)] - }).(KubernetesClusterKubeConfigOutput) +// The clone URL of the repo. +func (o AppSpecWorkerGitPtrOutput) RepoCloneUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecWorkerGit) *string { + if v == nil { + return nil + } + return v.RepoCloneUrl + }).(pulumi.StringPtrOutput) } -type KubernetesClusterMaintenancePolicy struct { - // The day of the maintenance window policy. May be one of "monday" through "sunday", or "any" to indicate an arbitrary week day. - Day *string `pulumi:"day"` - Duration *string `pulumi:"duration"` - // The start time in UTC of the maintenance window policy in 24-hour clock format / HH:MM notation (e.g., 15:00). - StartTime *string `pulumi:"startTime"` +type AppSpecWorkerGithub struct { + // The name of the branch to use. + Branch *string `pulumi:"branch"` + // Whether to automatically deploy new commits made to the repo. + DeployOnPush *bool `pulumi:"deployOnPush"` + // The name of the repo in the format `owner/repo`. + Repo *string `pulumi:"repo"` } -// KubernetesClusterMaintenancePolicyInput is an input type that accepts KubernetesClusterMaintenancePolicyArgs and KubernetesClusterMaintenancePolicyOutput values. -// You can construct a concrete instance of `KubernetesClusterMaintenancePolicyInput` via: +// AppSpecWorkerGithubInput is an input type that accepts AppSpecWorkerGithubArgs and AppSpecWorkerGithubOutput values. +// You can construct a concrete instance of `AppSpecWorkerGithubInput` via: // -// KubernetesClusterMaintenancePolicyArgs{...} -type KubernetesClusterMaintenancePolicyInput interface { +// AppSpecWorkerGithubArgs{...} +type AppSpecWorkerGithubInput interface { pulumi.Input - ToKubernetesClusterMaintenancePolicyOutput() KubernetesClusterMaintenancePolicyOutput - ToKubernetesClusterMaintenancePolicyOutputWithContext(context.Context) KubernetesClusterMaintenancePolicyOutput + ToAppSpecWorkerGithubOutput() AppSpecWorkerGithubOutput + ToAppSpecWorkerGithubOutputWithContext(context.Context) AppSpecWorkerGithubOutput } -type KubernetesClusterMaintenancePolicyArgs struct { - // The day of the maintenance window policy. May be one of "monday" through "sunday", or "any" to indicate an arbitrary week day. - Day pulumi.StringPtrInput `pulumi:"day"` - Duration pulumi.StringPtrInput `pulumi:"duration"` - // The start time in UTC of the maintenance window policy in 24-hour clock format / HH:MM notation (e.g., 15:00). - StartTime pulumi.StringPtrInput `pulumi:"startTime"` +type AppSpecWorkerGithubArgs struct { + // The name of the branch to use. + Branch pulumi.StringPtrInput `pulumi:"branch"` + // Whether to automatically deploy new commits made to the repo. + DeployOnPush pulumi.BoolPtrInput `pulumi:"deployOnPush"` + // The name of the repo in the format `owner/repo`. + Repo pulumi.StringPtrInput `pulumi:"repo"` } -func (KubernetesClusterMaintenancePolicyArgs) ElementType() reflect.Type { - return reflect.TypeOf((*KubernetesClusterMaintenancePolicy)(nil)).Elem() +func (AppSpecWorkerGithubArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecWorkerGithub)(nil)).Elem() } -func (i KubernetesClusterMaintenancePolicyArgs) ToKubernetesClusterMaintenancePolicyOutput() KubernetesClusterMaintenancePolicyOutput { - return i.ToKubernetesClusterMaintenancePolicyOutputWithContext(context.Background()) +func (i AppSpecWorkerGithubArgs) ToAppSpecWorkerGithubOutput() AppSpecWorkerGithubOutput { + return i.ToAppSpecWorkerGithubOutputWithContext(context.Background()) } -func (i KubernetesClusterMaintenancePolicyArgs) ToKubernetesClusterMaintenancePolicyOutputWithContext(ctx context.Context) KubernetesClusterMaintenancePolicyOutput { - return pulumi.ToOutputWithContext(ctx, i).(KubernetesClusterMaintenancePolicyOutput) +func (i AppSpecWorkerGithubArgs) ToAppSpecWorkerGithubOutputWithContext(ctx context.Context) AppSpecWorkerGithubOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecWorkerGithubOutput) } -func (i KubernetesClusterMaintenancePolicyArgs) ToKubernetesClusterMaintenancePolicyPtrOutput() KubernetesClusterMaintenancePolicyPtrOutput { - return i.ToKubernetesClusterMaintenancePolicyPtrOutputWithContext(context.Background()) +func (i AppSpecWorkerGithubArgs) ToAppSpecWorkerGithubPtrOutput() AppSpecWorkerGithubPtrOutput { + return i.ToAppSpecWorkerGithubPtrOutputWithContext(context.Background()) } -func (i KubernetesClusterMaintenancePolicyArgs) ToKubernetesClusterMaintenancePolicyPtrOutputWithContext(ctx context.Context) KubernetesClusterMaintenancePolicyPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(KubernetesClusterMaintenancePolicyOutput).ToKubernetesClusterMaintenancePolicyPtrOutputWithContext(ctx) +func (i AppSpecWorkerGithubArgs) ToAppSpecWorkerGithubPtrOutputWithContext(ctx context.Context) AppSpecWorkerGithubPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecWorkerGithubOutput).ToAppSpecWorkerGithubPtrOutputWithContext(ctx) } -// KubernetesClusterMaintenancePolicyPtrInput is an input type that accepts KubernetesClusterMaintenancePolicyArgs, KubernetesClusterMaintenancePolicyPtr and KubernetesClusterMaintenancePolicyPtrOutput values. -// You can construct a concrete instance of `KubernetesClusterMaintenancePolicyPtrInput` via: +// AppSpecWorkerGithubPtrInput is an input type that accepts AppSpecWorkerGithubArgs, AppSpecWorkerGithubPtr and AppSpecWorkerGithubPtrOutput values. +// You can construct a concrete instance of `AppSpecWorkerGithubPtrInput` via: // -// KubernetesClusterMaintenancePolicyArgs{...} +// AppSpecWorkerGithubArgs{...} // // or: // // nil -type KubernetesClusterMaintenancePolicyPtrInput interface { +type AppSpecWorkerGithubPtrInput interface { pulumi.Input - ToKubernetesClusterMaintenancePolicyPtrOutput() KubernetesClusterMaintenancePolicyPtrOutput - ToKubernetesClusterMaintenancePolicyPtrOutputWithContext(context.Context) KubernetesClusterMaintenancePolicyPtrOutput + ToAppSpecWorkerGithubPtrOutput() AppSpecWorkerGithubPtrOutput + ToAppSpecWorkerGithubPtrOutputWithContext(context.Context) AppSpecWorkerGithubPtrOutput } -type kubernetesClusterMaintenancePolicyPtrType KubernetesClusterMaintenancePolicyArgs +type appSpecWorkerGithubPtrType AppSpecWorkerGithubArgs -func KubernetesClusterMaintenancePolicyPtr(v *KubernetesClusterMaintenancePolicyArgs) KubernetesClusterMaintenancePolicyPtrInput { - return (*kubernetesClusterMaintenancePolicyPtrType)(v) +func AppSpecWorkerGithubPtr(v *AppSpecWorkerGithubArgs) AppSpecWorkerGithubPtrInput { + return (*appSpecWorkerGithubPtrType)(v) } -func (*kubernetesClusterMaintenancePolicyPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**KubernetesClusterMaintenancePolicy)(nil)).Elem() +func (*appSpecWorkerGithubPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecWorkerGithub)(nil)).Elem() } -func (i *kubernetesClusterMaintenancePolicyPtrType) ToKubernetesClusterMaintenancePolicyPtrOutput() KubernetesClusterMaintenancePolicyPtrOutput { - return i.ToKubernetesClusterMaintenancePolicyPtrOutputWithContext(context.Background()) +func (i *appSpecWorkerGithubPtrType) ToAppSpecWorkerGithubPtrOutput() AppSpecWorkerGithubPtrOutput { + return i.ToAppSpecWorkerGithubPtrOutputWithContext(context.Background()) } -func (i *kubernetesClusterMaintenancePolicyPtrType) ToKubernetesClusterMaintenancePolicyPtrOutputWithContext(ctx context.Context) KubernetesClusterMaintenancePolicyPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(KubernetesClusterMaintenancePolicyPtrOutput) +func (i *appSpecWorkerGithubPtrType) ToAppSpecWorkerGithubPtrOutputWithContext(ctx context.Context) AppSpecWorkerGithubPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecWorkerGithubPtrOutput) } -type KubernetesClusterMaintenancePolicyOutput struct{ *pulumi.OutputState } +type AppSpecWorkerGithubOutput struct{ *pulumi.OutputState } -func (KubernetesClusterMaintenancePolicyOutput) ElementType() reflect.Type { - return reflect.TypeOf((*KubernetesClusterMaintenancePolicy)(nil)).Elem() +func (AppSpecWorkerGithubOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecWorkerGithub)(nil)).Elem() } -func (o KubernetesClusterMaintenancePolicyOutput) ToKubernetesClusterMaintenancePolicyOutput() KubernetesClusterMaintenancePolicyOutput { +func (o AppSpecWorkerGithubOutput) ToAppSpecWorkerGithubOutput() AppSpecWorkerGithubOutput { return o } -func (o KubernetesClusterMaintenancePolicyOutput) ToKubernetesClusterMaintenancePolicyOutputWithContext(ctx context.Context) KubernetesClusterMaintenancePolicyOutput { +func (o AppSpecWorkerGithubOutput) ToAppSpecWorkerGithubOutputWithContext(ctx context.Context) AppSpecWorkerGithubOutput { return o } -func (o KubernetesClusterMaintenancePolicyOutput) ToKubernetesClusterMaintenancePolicyPtrOutput() KubernetesClusterMaintenancePolicyPtrOutput { - return o.ToKubernetesClusterMaintenancePolicyPtrOutputWithContext(context.Background()) +func (o AppSpecWorkerGithubOutput) ToAppSpecWorkerGithubPtrOutput() AppSpecWorkerGithubPtrOutput { + return o.ToAppSpecWorkerGithubPtrOutputWithContext(context.Background()) } -func (o KubernetesClusterMaintenancePolicyOutput) ToKubernetesClusterMaintenancePolicyPtrOutputWithContext(ctx context.Context) KubernetesClusterMaintenancePolicyPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v KubernetesClusterMaintenancePolicy) *KubernetesClusterMaintenancePolicy { +func (o AppSpecWorkerGithubOutput) ToAppSpecWorkerGithubPtrOutputWithContext(ctx context.Context) AppSpecWorkerGithubPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AppSpecWorkerGithub) *AppSpecWorkerGithub { return &v - }).(KubernetesClusterMaintenancePolicyPtrOutput) + }).(AppSpecWorkerGithubPtrOutput) } -// The day of the maintenance window policy. May be one of "monday" through "sunday", or "any" to indicate an arbitrary week day. -func (o KubernetesClusterMaintenancePolicyOutput) Day() pulumi.StringPtrOutput { - return o.ApplyT(func(v KubernetesClusterMaintenancePolicy) *string { return v.Day }).(pulumi.StringPtrOutput) +// The name of the branch to use. +func (o AppSpecWorkerGithubOutput) Branch() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecWorkerGithub) *string { return v.Branch }).(pulumi.StringPtrOutput) } -func (o KubernetesClusterMaintenancePolicyOutput) Duration() pulumi.StringPtrOutput { - return o.ApplyT(func(v KubernetesClusterMaintenancePolicy) *string { return v.Duration }).(pulumi.StringPtrOutput) +// Whether to automatically deploy new commits made to the repo. +func (o AppSpecWorkerGithubOutput) DeployOnPush() pulumi.BoolPtrOutput { + return o.ApplyT(func(v AppSpecWorkerGithub) *bool { return v.DeployOnPush }).(pulumi.BoolPtrOutput) } -// The start time in UTC of the maintenance window policy in 24-hour clock format / HH:MM notation (e.g., 15:00). -func (o KubernetesClusterMaintenancePolicyOutput) StartTime() pulumi.StringPtrOutput { - return o.ApplyT(func(v KubernetesClusterMaintenancePolicy) *string { return v.StartTime }).(pulumi.StringPtrOutput) +// The name of the repo in the format `owner/repo`. +func (o AppSpecWorkerGithubOutput) Repo() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecWorkerGithub) *string { return v.Repo }).(pulumi.StringPtrOutput) } -type KubernetesClusterMaintenancePolicyPtrOutput struct{ *pulumi.OutputState } +type AppSpecWorkerGithubPtrOutput struct{ *pulumi.OutputState } -func (KubernetesClusterMaintenancePolicyPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**KubernetesClusterMaintenancePolicy)(nil)).Elem() +func (AppSpecWorkerGithubPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecWorkerGithub)(nil)).Elem() } -func (o KubernetesClusterMaintenancePolicyPtrOutput) ToKubernetesClusterMaintenancePolicyPtrOutput() KubernetesClusterMaintenancePolicyPtrOutput { +func (o AppSpecWorkerGithubPtrOutput) ToAppSpecWorkerGithubPtrOutput() AppSpecWorkerGithubPtrOutput { return o } -func (o KubernetesClusterMaintenancePolicyPtrOutput) ToKubernetesClusterMaintenancePolicyPtrOutputWithContext(ctx context.Context) KubernetesClusterMaintenancePolicyPtrOutput { +func (o AppSpecWorkerGithubPtrOutput) ToAppSpecWorkerGithubPtrOutputWithContext(ctx context.Context) AppSpecWorkerGithubPtrOutput { return o } -func (o KubernetesClusterMaintenancePolicyPtrOutput) Elem() KubernetesClusterMaintenancePolicyOutput { - return o.ApplyT(func(v *KubernetesClusterMaintenancePolicy) KubernetesClusterMaintenancePolicy { +func (o AppSpecWorkerGithubPtrOutput) Elem() AppSpecWorkerGithubOutput { + return o.ApplyT(func(v *AppSpecWorkerGithub) AppSpecWorkerGithub { if v != nil { return *v } - var ret KubernetesClusterMaintenancePolicy + var ret AppSpecWorkerGithub return ret - }).(KubernetesClusterMaintenancePolicyOutput) + }).(AppSpecWorkerGithubOutput) } -// The day of the maintenance window policy. May be one of "monday" through "sunday", or "any" to indicate an arbitrary week day. -func (o KubernetesClusterMaintenancePolicyPtrOutput) Day() pulumi.StringPtrOutput { - return o.ApplyT(func(v *KubernetesClusterMaintenancePolicy) *string { +// The name of the branch to use. +func (o AppSpecWorkerGithubPtrOutput) Branch() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecWorkerGithub) *string { if v == nil { return nil } - return v.Day + return v.Branch }).(pulumi.StringPtrOutput) } -func (o KubernetesClusterMaintenancePolicyPtrOutput) Duration() pulumi.StringPtrOutput { - return o.ApplyT(func(v *KubernetesClusterMaintenancePolicy) *string { +// Whether to automatically deploy new commits made to the repo. +func (o AppSpecWorkerGithubPtrOutput) DeployOnPush() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *AppSpecWorkerGithub) *bool { if v == nil { return nil } - return v.Duration - }).(pulumi.StringPtrOutput) + return v.DeployOnPush + }).(pulumi.BoolPtrOutput) } -// The start time in UTC of the maintenance window policy in 24-hour clock format / HH:MM notation (e.g., 15:00). -func (o KubernetesClusterMaintenancePolicyPtrOutput) StartTime() pulumi.StringPtrOutput { - return o.ApplyT(func(v *KubernetesClusterMaintenancePolicy) *string { +// The name of the repo in the format `owner/repo`. +func (o AppSpecWorkerGithubPtrOutput) Repo() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecWorkerGithub) *string { if v == nil { return nil } - return v.StartTime + return v.Repo }).(pulumi.StringPtrOutput) } -type KubernetesClusterNodePool struct { - // A computed field representing the actual number of nodes in the node pool, which is especially useful when auto-scaling is enabled. - ActualNodeCount *int `pulumi:"actualNodeCount"` - // Enable auto-scaling of the number of nodes in the node pool within the given min/max range. - AutoScale *bool `pulumi:"autoScale"` - // A unique ID that can be used to identify and reference the node. - Id *string `pulumi:"id"` - // A map of key/value pairs to apply to nodes in the pool. The labels are exposed in the Kubernetes API as labels in the metadata of the corresponding [Node resources](https://kubernetes.io/docs/concepts/architecture/nodes/). - Labels map[string]string `pulumi:"labels"` - // If auto-scaling is enabled, this represents the maximum number of nodes that the node pool can be scaled up to. - MaxNodes *int `pulumi:"maxNodes"` - // If auto-scaling is enabled, this represents the minimum number of nodes that the node pool can be scaled down to. - MinNodes *int `pulumi:"minNodes"` - // A name for the node pool. - Name string `pulumi:"name"` - // The number of Droplet instances in the node pool. If auto-scaling is enabled, this should only be set if the desired result is to explicitly reset the number of nodes to this value. If auto-scaling is enabled, and the node count is outside of the given min/max range, it will use the min nodes value. - NodeCount *int `pulumi:"nodeCount"` - // A list of nodes in the pool. Each node exports the following attributes: - Nodes []KubernetesClusterNodePoolNode `pulumi:"nodes"` - // The slug identifier for the type of Droplet to be used as workers in the node pool. - Size string `pulumi:"size"` - // A list of tag names to be applied to the Kubernetes cluster. - Tags []string `pulumi:"tags"` - // A block representing a taint applied to all nodes in the pool. Each taint exports the following attributes (taints must be unique by key and effect pair): - Taints []KubernetesClusterNodePoolTaint `pulumi:"taints"` +type AppSpecWorkerGitlab struct { + // The name of the branch to use. + Branch *string `pulumi:"branch"` + // Whether to automatically deploy new commits made to the repo. + DeployOnPush *bool `pulumi:"deployOnPush"` + // The name of the repo in the format `owner/repo`. + Repo *string `pulumi:"repo"` } -// KubernetesClusterNodePoolInput is an input type that accepts KubernetesClusterNodePoolArgs and KubernetesClusterNodePoolOutput values. -// You can construct a concrete instance of `KubernetesClusterNodePoolInput` via: +// AppSpecWorkerGitlabInput is an input type that accepts AppSpecWorkerGitlabArgs and AppSpecWorkerGitlabOutput values. +// You can construct a concrete instance of `AppSpecWorkerGitlabInput` via: // -// KubernetesClusterNodePoolArgs{...} -type KubernetesClusterNodePoolInput interface { +// AppSpecWorkerGitlabArgs{...} +type AppSpecWorkerGitlabInput interface { pulumi.Input - ToKubernetesClusterNodePoolOutput() KubernetesClusterNodePoolOutput - ToKubernetesClusterNodePoolOutputWithContext(context.Context) KubernetesClusterNodePoolOutput + ToAppSpecWorkerGitlabOutput() AppSpecWorkerGitlabOutput + ToAppSpecWorkerGitlabOutputWithContext(context.Context) AppSpecWorkerGitlabOutput } -type KubernetesClusterNodePoolArgs struct { - // A computed field representing the actual number of nodes in the node pool, which is especially useful when auto-scaling is enabled. - ActualNodeCount pulumi.IntPtrInput `pulumi:"actualNodeCount"` - // Enable auto-scaling of the number of nodes in the node pool within the given min/max range. - AutoScale pulumi.BoolPtrInput `pulumi:"autoScale"` - // A unique ID that can be used to identify and reference the node. - Id pulumi.StringPtrInput `pulumi:"id"` - // A map of key/value pairs to apply to nodes in the pool. The labels are exposed in the Kubernetes API as labels in the metadata of the corresponding [Node resources](https://kubernetes.io/docs/concepts/architecture/nodes/). - Labels pulumi.StringMapInput `pulumi:"labels"` - // If auto-scaling is enabled, this represents the maximum number of nodes that the node pool can be scaled up to. - MaxNodes pulumi.IntPtrInput `pulumi:"maxNodes"` - // If auto-scaling is enabled, this represents the minimum number of nodes that the node pool can be scaled down to. - MinNodes pulumi.IntPtrInput `pulumi:"minNodes"` - // A name for the node pool. - Name pulumi.StringInput `pulumi:"name"` - // The number of Droplet instances in the node pool. If auto-scaling is enabled, this should only be set if the desired result is to explicitly reset the number of nodes to this value. If auto-scaling is enabled, and the node count is outside of the given min/max range, it will use the min nodes value. - NodeCount pulumi.IntPtrInput `pulumi:"nodeCount"` - // A list of nodes in the pool. Each node exports the following attributes: - Nodes KubernetesClusterNodePoolNodeArrayInput `pulumi:"nodes"` - // The slug identifier for the type of Droplet to be used as workers in the node pool. - Size pulumi.StringInput `pulumi:"size"` - // A list of tag names to be applied to the Kubernetes cluster. - Tags pulumi.StringArrayInput `pulumi:"tags"` - // A block representing a taint applied to all nodes in the pool. Each taint exports the following attributes (taints must be unique by key and effect pair): - Taints KubernetesClusterNodePoolTaintArrayInput `pulumi:"taints"` +type AppSpecWorkerGitlabArgs struct { + // The name of the branch to use. + Branch pulumi.StringPtrInput `pulumi:"branch"` + // Whether to automatically deploy new commits made to the repo. + DeployOnPush pulumi.BoolPtrInput `pulumi:"deployOnPush"` + // The name of the repo in the format `owner/repo`. + Repo pulumi.StringPtrInput `pulumi:"repo"` } -func (KubernetesClusterNodePoolArgs) ElementType() reflect.Type { - return reflect.TypeOf((*KubernetesClusterNodePool)(nil)).Elem() +func (AppSpecWorkerGitlabArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecWorkerGitlab)(nil)).Elem() } -func (i KubernetesClusterNodePoolArgs) ToKubernetesClusterNodePoolOutput() KubernetesClusterNodePoolOutput { - return i.ToKubernetesClusterNodePoolOutputWithContext(context.Background()) +func (i AppSpecWorkerGitlabArgs) ToAppSpecWorkerGitlabOutput() AppSpecWorkerGitlabOutput { + return i.ToAppSpecWorkerGitlabOutputWithContext(context.Background()) } -func (i KubernetesClusterNodePoolArgs) ToKubernetesClusterNodePoolOutputWithContext(ctx context.Context) KubernetesClusterNodePoolOutput { - return pulumi.ToOutputWithContext(ctx, i).(KubernetesClusterNodePoolOutput) +func (i AppSpecWorkerGitlabArgs) ToAppSpecWorkerGitlabOutputWithContext(ctx context.Context) AppSpecWorkerGitlabOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecWorkerGitlabOutput) } -func (i KubernetesClusterNodePoolArgs) ToKubernetesClusterNodePoolPtrOutput() KubernetesClusterNodePoolPtrOutput { - return i.ToKubernetesClusterNodePoolPtrOutputWithContext(context.Background()) +func (i AppSpecWorkerGitlabArgs) ToAppSpecWorkerGitlabPtrOutput() AppSpecWorkerGitlabPtrOutput { + return i.ToAppSpecWorkerGitlabPtrOutputWithContext(context.Background()) } -func (i KubernetesClusterNodePoolArgs) ToKubernetesClusterNodePoolPtrOutputWithContext(ctx context.Context) KubernetesClusterNodePoolPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(KubernetesClusterNodePoolOutput).ToKubernetesClusterNodePoolPtrOutputWithContext(ctx) +func (i AppSpecWorkerGitlabArgs) ToAppSpecWorkerGitlabPtrOutputWithContext(ctx context.Context) AppSpecWorkerGitlabPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecWorkerGitlabOutput).ToAppSpecWorkerGitlabPtrOutputWithContext(ctx) } -// KubernetesClusterNodePoolPtrInput is an input type that accepts KubernetesClusterNodePoolArgs, KubernetesClusterNodePoolPtr and KubernetesClusterNodePoolPtrOutput values. -// You can construct a concrete instance of `KubernetesClusterNodePoolPtrInput` via: +// AppSpecWorkerGitlabPtrInput is an input type that accepts AppSpecWorkerGitlabArgs, AppSpecWorkerGitlabPtr and AppSpecWorkerGitlabPtrOutput values. +// You can construct a concrete instance of `AppSpecWorkerGitlabPtrInput` via: // -// KubernetesClusterNodePoolArgs{...} +// AppSpecWorkerGitlabArgs{...} // // or: // // nil -type KubernetesClusterNodePoolPtrInput interface { +type AppSpecWorkerGitlabPtrInput interface { pulumi.Input - ToKubernetesClusterNodePoolPtrOutput() KubernetesClusterNodePoolPtrOutput - ToKubernetesClusterNodePoolPtrOutputWithContext(context.Context) KubernetesClusterNodePoolPtrOutput + ToAppSpecWorkerGitlabPtrOutput() AppSpecWorkerGitlabPtrOutput + ToAppSpecWorkerGitlabPtrOutputWithContext(context.Context) AppSpecWorkerGitlabPtrOutput } -type kubernetesClusterNodePoolPtrType KubernetesClusterNodePoolArgs +type appSpecWorkerGitlabPtrType AppSpecWorkerGitlabArgs -func KubernetesClusterNodePoolPtr(v *KubernetesClusterNodePoolArgs) KubernetesClusterNodePoolPtrInput { - return (*kubernetesClusterNodePoolPtrType)(v) +func AppSpecWorkerGitlabPtr(v *AppSpecWorkerGitlabArgs) AppSpecWorkerGitlabPtrInput { + return (*appSpecWorkerGitlabPtrType)(v) } -func (*kubernetesClusterNodePoolPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**KubernetesClusterNodePool)(nil)).Elem() +func (*appSpecWorkerGitlabPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecWorkerGitlab)(nil)).Elem() } -func (i *kubernetesClusterNodePoolPtrType) ToKubernetesClusterNodePoolPtrOutput() KubernetesClusterNodePoolPtrOutput { - return i.ToKubernetesClusterNodePoolPtrOutputWithContext(context.Background()) +func (i *appSpecWorkerGitlabPtrType) ToAppSpecWorkerGitlabPtrOutput() AppSpecWorkerGitlabPtrOutput { + return i.ToAppSpecWorkerGitlabPtrOutputWithContext(context.Background()) } -func (i *kubernetesClusterNodePoolPtrType) ToKubernetesClusterNodePoolPtrOutputWithContext(ctx context.Context) KubernetesClusterNodePoolPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(KubernetesClusterNodePoolPtrOutput) +func (i *appSpecWorkerGitlabPtrType) ToAppSpecWorkerGitlabPtrOutputWithContext(ctx context.Context) AppSpecWorkerGitlabPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecWorkerGitlabPtrOutput) } -type KubernetesClusterNodePoolOutput struct{ *pulumi.OutputState } +type AppSpecWorkerGitlabOutput struct{ *pulumi.OutputState } -func (KubernetesClusterNodePoolOutput) ElementType() reflect.Type { - return reflect.TypeOf((*KubernetesClusterNodePool)(nil)).Elem() +func (AppSpecWorkerGitlabOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecWorkerGitlab)(nil)).Elem() } -func (o KubernetesClusterNodePoolOutput) ToKubernetesClusterNodePoolOutput() KubernetesClusterNodePoolOutput { +func (o AppSpecWorkerGitlabOutput) ToAppSpecWorkerGitlabOutput() AppSpecWorkerGitlabOutput { return o } -func (o KubernetesClusterNodePoolOutput) ToKubernetesClusterNodePoolOutputWithContext(ctx context.Context) KubernetesClusterNodePoolOutput { +func (o AppSpecWorkerGitlabOutput) ToAppSpecWorkerGitlabOutputWithContext(ctx context.Context) AppSpecWorkerGitlabOutput { return o } -func (o KubernetesClusterNodePoolOutput) ToKubernetesClusterNodePoolPtrOutput() KubernetesClusterNodePoolPtrOutput { - return o.ToKubernetesClusterNodePoolPtrOutputWithContext(context.Background()) +func (o AppSpecWorkerGitlabOutput) ToAppSpecWorkerGitlabPtrOutput() AppSpecWorkerGitlabPtrOutput { + return o.ToAppSpecWorkerGitlabPtrOutputWithContext(context.Background()) } -func (o KubernetesClusterNodePoolOutput) ToKubernetesClusterNodePoolPtrOutputWithContext(ctx context.Context) KubernetesClusterNodePoolPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v KubernetesClusterNodePool) *KubernetesClusterNodePool { +func (o AppSpecWorkerGitlabOutput) ToAppSpecWorkerGitlabPtrOutputWithContext(ctx context.Context) AppSpecWorkerGitlabPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AppSpecWorkerGitlab) *AppSpecWorkerGitlab { return &v - }).(KubernetesClusterNodePoolPtrOutput) + }).(AppSpecWorkerGitlabPtrOutput) } -// A computed field representing the actual number of nodes in the node pool, which is especially useful when auto-scaling is enabled. -func (o KubernetesClusterNodePoolOutput) ActualNodeCount() pulumi.IntPtrOutput { - return o.ApplyT(func(v KubernetesClusterNodePool) *int { return v.ActualNodeCount }).(pulumi.IntPtrOutput) +// The name of the branch to use. +func (o AppSpecWorkerGitlabOutput) Branch() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecWorkerGitlab) *string { return v.Branch }).(pulumi.StringPtrOutput) } -// Enable auto-scaling of the number of nodes in the node pool within the given min/max range. -func (o KubernetesClusterNodePoolOutput) AutoScale() pulumi.BoolPtrOutput { - return o.ApplyT(func(v KubernetesClusterNodePool) *bool { return v.AutoScale }).(pulumi.BoolPtrOutput) +// Whether to automatically deploy new commits made to the repo. +func (o AppSpecWorkerGitlabOutput) DeployOnPush() pulumi.BoolPtrOutput { + return o.ApplyT(func(v AppSpecWorkerGitlab) *bool { return v.DeployOnPush }).(pulumi.BoolPtrOutput) } -// A unique ID that can be used to identify and reference the node. -func (o KubernetesClusterNodePoolOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v KubernetesClusterNodePool) *string { return v.Id }).(pulumi.StringPtrOutput) +// The name of the repo in the format `owner/repo`. +func (o AppSpecWorkerGitlabOutput) Repo() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecWorkerGitlab) *string { return v.Repo }).(pulumi.StringPtrOutput) } -// A map of key/value pairs to apply to nodes in the pool. The labels are exposed in the Kubernetes API as labels in the metadata of the corresponding [Node resources](https://kubernetes.io/docs/concepts/architecture/nodes/). -func (o KubernetesClusterNodePoolOutput) Labels() pulumi.StringMapOutput { - return o.ApplyT(func(v KubernetesClusterNodePool) map[string]string { return v.Labels }).(pulumi.StringMapOutput) -} +type AppSpecWorkerGitlabPtrOutput struct{ *pulumi.OutputState } -// If auto-scaling is enabled, this represents the maximum number of nodes that the node pool can be scaled up to. -func (o KubernetesClusterNodePoolOutput) MaxNodes() pulumi.IntPtrOutput { - return o.ApplyT(func(v KubernetesClusterNodePool) *int { return v.MaxNodes }).(pulumi.IntPtrOutput) +func (AppSpecWorkerGitlabPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecWorkerGitlab)(nil)).Elem() } -// If auto-scaling is enabled, this represents the minimum number of nodes that the node pool can be scaled down to. -func (o KubernetesClusterNodePoolOutput) MinNodes() pulumi.IntPtrOutput { - return o.ApplyT(func(v KubernetesClusterNodePool) *int { return v.MinNodes }).(pulumi.IntPtrOutput) +func (o AppSpecWorkerGitlabPtrOutput) ToAppSpecWorkerGitlabPtrOutput() AppSpecWorkerGitlabPtrOutput { + return o } -// A name for the node pool. -func (o KubernetesClusterNodePoolOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v KubernetesClusterNodePool) string { return v.Name }).(pulumi.StringOutput) +func (o AppSpecWorkerGitlabPtrOutput) ToAppSpecWorkerGitlabPtrOutputWithContext(ctx context.Context) AppSpecWorkerGitlabPtrOutput { + return o } -// The number of Droplet instances in the node pool. If auto-scaling is enabled, this should only be set if the desired result is to explicitly reset the number of nodes to this value. If auto-scaling is enabled, and the node count is outside of the given min/max range, it will use the min nodes value. -func (o KubernetesClusterNodePoolOutput) NodeCount() pulumi.IntPtrOutput { - return o.ApplyT(func(v KubernetesClusterNodePool) *int { return v.NodeCount }).(pulumi.IntPtrOutput) +func (o AppSpecWorkerGitlabPtrOutput) Elem() AppSpecWorkerGitlabOutput { + return o.ApplyT(func(v *AppSpecWorkerGitlab) AppSpecWorkerGitlab { + if v != nil { + return *v + } + var ret AppSpecWorkerGitlab + return ret + }).(AppSpecWorkerGitlabOutput) } -// A list of nodes in the pool. Each node exports the following attributes: -func (o KubernetesClusterNodePoolOutput) Nodes() KubernetesClusterNodePoolNodeArrayOutput { - return o.ApplyT(func(v KubernetesClusterNodePool) []KubernetesClusterNodePoolNode { return v.Nodes }).(KubernetesClusterNodePoolNodeArrayOutput) -} - -// The slug identifier for the type of Droplet to be used as workers in the node pool. -func (o KubernetesClusterNodePoolOutput) Size() pulumi.StringOutput { - return o.ApplyT(func(v KubernetesClusterNodePool) string { return v.Size }).(pulumi.StringOutput) -} - -// A list of tag names to be applied to the Kubernetes cluster. -func (o KubernetesClusterNodePoolOutput) Tags() pulumi.StringArrayOutput { - return o.ApplyT(func(v KubernetesClusterNodePool) []string { return v.Tags }).(pulumi.StringArrayOutput) -} - -// A block representing a taint applied to all nodes in the pool. Each taint exports the following attributes (taints must be unique by key and effect pair): -func (o KubernetesClusterNodePoolOutput) Taints() KubernetesClusterNodePoolTaintArrayOutput { - return o.ApplyT(func(v KubernetesClusterNodePool) []KubernetesClusterNodePoolTaint { return v.Taints }).(KubernetesClusterNodePoolTaintArrayOutput) -} - -type KubernetesClusterNodePoolPtrOutput struct{ *pulumi.OutputState } - -func (KubernetesClusterNodePoolPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**KubernetesClusterNodePool)(nil)).Elem() -} - -func (o KubernetesClusterNodePoolPtrOutput) ToKubernetesClusterNodePoolPtrOutput() KubernetesClusterNodePoolPtrOutput { - return o -} - -func (o KubernetesClusterNodePoolPtrOutput) ToKubernetesClusterNodePoolPtrOutputWithContext(ctx context.Context) KubernetesClusterNodePoolPtrOutput { - return o -} - -func (o KubernetesClusterNodePoolPtrOutput) Elem() KubernetesClusterNodePoolOutput { - return o.ApplyT(func(v *KubernetesClusterNodePool) KubernetesClusterNodePool { - if v != nil { - return *v - } - var ret KubernetesClusterNodePool - return ret - }).(KubernetesClusterNodePoolOutput) -} - -// A computed field representing the actual number of nodes in the node pool, which is especially useful when auto-scaling is enabled. -func (o KubernetesClusterNodePoolPtrOutput) ActualNodeCount() pulumi.IntPtrOutput { - return o.ApplyT(func(v *KubernetesClusterNodePool) *int { +// The name of the branch to use. +func (o AppSpecWorkerGitlabPtrOutput) Branch() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecWorkerGitlab) *string { if v == nil { return nil } - return v.ActualNodeCount - }).(pulumi.IntPtrOutput) + return v.Branch + }).(pulumi.StringPtrOutput) } -// Enable auto-scaling of the number of nodes in the node pool within the given min/max range. -func (o KubernetesClusterNodePoolPtrOutput) AutoScale() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *KubernetesClusterNodePool) *bool { +// Whether to automatically deploy new commits made to the repo. +func (o AppSpecWorkerGitlabPtrOutput) DeployOnPush() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *AppSpecWorkerGitlab) *bool { if v == nil { return nil } - return v.AutoScale + return v.DeployOnPush }).(pulumi.BoolPtrOutput) } -// A unique ID that can be used to identify and reference the node. -func (o KubernetesClusterNodePoolPtrOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v *KubernetesClusterNodePool) *string { +// The name of the repo in the format `owner/repo`. +func (o AppSpecWorkerGitlabPtrOutput) Repo() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecWorkerGitlab) *string { if v == nil { return nil } - return v.Id + return v.Repo }).(pulumi.StringPtrOutput) } -// A map of key/value pairs to apply to nodes in the pool. The labels are exposed in the Kubernetes API as labels in the metadata of the corresponding [Node resources](https://kubernetes.io/docs/concepts/architecture/nodes/). -func (o KubernetesClusterNodePoolPtrOutput) Labels() pulumi.StringMapOutput { - return o.ApplyT(func(v *KubernetesClusterNodePool) map[string]string { - if v == nil { - return nil - } - return v.Labels - }).(pulumi.StringMapOutput) -} - -// If auto-scaling is enabled, this represents the maximum number of nodes that the node pool can be scaled up to. -func (o KubernetesClusterNodePoolPtrOutput) MaxNodes() pulumi.IntPtrOutput { - return o.ApplyT(func(v *KubernetesClusterNodePool) *int { - if v == nil { - return nil - } - return v.MaxNodes - }).(pulumi.IntPtrOutput) +type AppSpecWorkerImage struct { + // The registry name. Must be left empty for the `DOCR` registry type. Required for the `DOCKER_HUB` registry type. + Registry *string `pulumi:"registry"` + // The registry type. One of `DOCR` (DigitalOcean container registry) or `DOCKER_HUB`. + RegistryType string `pulumi:"registryType"` + // The repository name. + Repository string `pulumi:"repository"` + // The repository tag. Defaults to `latest` if not provided. + Tag *string `pulumi:"tag"` } -// If auto-scaling is enabled, this represents the minimum number of nodes that the node pool can be scaled down to. -func (o KubernetesClusterNodePoolPtrOutput) MinNodes() pulumi.IntPtrOutput { - return o.ApplyT(func(v *KubernetesClusterNodePool) *int { - if v == nil { - return nil - } - return v.MinNodes - }).(pulumi.IntPtrOutput) -} +// AppSpecWorkerImageInput is an input type that accepts AppSpecWorkerImageArgs and AppSpecWorkerImageOutput values. +// You can construct a concrete instance of `AppSpecWorkerImageInput` via: +// +// AppSpecWorkerImageArgs{...} +type AppSpecWorkerImageInput interface { + pulumi.Input -// A name for the node pool. -func (o KubernetesClusterNodePoolPtrOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v *KubernetesClusterNodePool) *string { - if v == nil { - return nil - } - return &v.Name - }).(pulumi.StringPtrOutput) + ToAppSpecWorkerImageOutput() AppSpecWorkerImageOutput + ToAppSpecWorkerImageOutputWithContext(context.Context) AppSpecWorkerImageOutput } -// The number of Droplet instances in the node pool. If auto-scaling is enabled, this should only be set if the desired result is to explicitly reset the number of nodes to this value. If auto-scaling is enabled, and the node count is outside of the given min/max range, it will use the min nodes value. -func (o KubernetesClusterNodePoolPtrOutput) NodeCount() pulumi.IntPtrOutput { - return o.ApplyT(func(v *KubernetesClusterNodePool) *int { - if v == nil { - return nil - } - return v.NodeCount - }).(pulumi.IntPtrOutput) +type AppSpecWorkerImageArgs struct { + // The registry name. Must be left empty for the `DOCR` registry type. Required for the `DOCKER_HUB` registry type. + Registry pulumi.StringPtrInput `pulumi:"registry"` + // The registry type. One of `DOCR` (DigitalOcean container registry) or `DOCKER_HUB`. + RegistryType pulumi.StringInput `pulumi:"registryType"` + // The repository name. + Repository pulumi.StringInput `pulumi:"repository"` + // The repository tag. Defaults to `latest` if not provided. + Tag pulumi.StringPtrInput `pulumi:"tag"` } -// A list of nodes in the pool. Each node exports the following attributes: -func (o KubernetesClusterNodePoolPtrOutput) Nodes() KubernetesClusterNodePoolNodeArrayOutput { - return o.ApplyT(func(v *KubernetesClusterNodePool) []KubernetesClusterNodePoolNode { - if v == nil { - return nil - } - return v.Nodes - }).(KubernetesClusterNodePoolNodeArrayOutput) +func (AppSpecWorkerImageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecWorkerImage)(nil)).Elem() } -// The slug identifier for the type of Droplet to be used as workers in the node pool. -func (o KubernetesClusterNodePoolPtrOutput) Size() pulumi.StringPtrOutput { - return o.ApplyT(func(v *KubernetesClusterNodePool) *string { - if v == nil { - return nil - } - return &v.Size - }).(pulumi.StringPtrOutput) +func (i AppSpecWorkerImageArgs) ToAppSpecWorkerImageOutput() AppSpecWorkerImageOutput { + return i.ToAppSpecWorkerImageOutputWithContext(context.Background()) } -// A list of tag names to be applied to the Kubernetes cluster. -func (o KubernetesClusterNodePoolPtrOutput) Tags() pulumi.StringArrayOutput { - return o.ApplyT(func(v *KubernetesClusterNodePool) []string { - if v == nil { - return nil - } - return v.Tags - }).(pulumi.StringArrayOutput) +func (i AppSpecWorkerImageArgs) ToAppSpecWorkerImageOutputWithContext(ctx context.Context) AppSpecWorkerImageOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecWorkerImageOutput) } -// A block representing a taint applied to all nodes in the pool. Each taint exports the following attributes (taints must be unique by key and effect pair): -func (o KubernetesClusterNodePoolPtrOutput) Taints() KubernetesClusterNodePoolTaintArrayOutput { - return o.ApplyT(func(v *KubernetesClusterNodePool) []KubernetesClusterNodePoolTaint { - if v == nil { - return nil - } - return v.Taints - }).(KubernetesClusterNodePoolTaintArrayOutput) +func (i AppSpecWorkerImageArgs) ToAppSpecWorkerImagePtrOutput() AppSpecWorkerImagePtrOutput { + return i.ToAppSpecWorkerImagePtrOutputWithContext(context.Background()) } -type KubernetesClusterNodePoolNode struct { - // The date and time when the node was created. - CreatedAt *string `pulumi:"createdAt"` - // The id of the node's droplet - DropletId *string `pulumi:"dropletId"` - // A unique ID that can be used to identify and reference the node. - Id *string `pulumi:"id"` - // A name for the node pool. - Name *string `pulumi:"name"` - // A string indicating the current status of the individual node. - Status *string `pulumi:"status"` - // The date and time when the node was last updated. - UpdatedAt *string `pulumi:"updatedAt"` +func (i AppSpecWorkerImageArgs) ToAppSpecWorkerImagePtrOutputWithContext(ctx context.Context) AppSpecWorkerImagePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecWorkerImageOutput).ToAppSpecWorkerImagePtrOutputWithContext(ctx) } -// KubernetesClusterNodePoolNodeInput is an input type that accepts KubernetesClusterNodePoolNodeArgs and KubernetesClusterNodePoolNodeOutput values. -// You can construct a concrete instance of `KubernetesClusterNodePoolNodeInput` via: +// AppSpecWorkerImagePtrInput is an input type that accepts AppSpecWorkerImageArgs, AppSpecWorkerImagePtr and AppSpecWorkerImagePtrOutput values. +// You can construct a concrete instance of `AppSpecWorkerImagePtrInput` via: // -// KubernetesClusterNodePoolNodeArgs{...} -type KubernetesClusterNodePoolNodeInput interface { +// AppSpecWorkerImageArgs{...} +// +// or: +// +// nil +type AppSpecWorkerImagePtrInput interface { pulumi.Input - ToKubernetesClusterNodePoolNodeOutput() KubernetesClusterNodePoolNodeOutput - ToKubernetesClusterNodePoolNodeOutputWithContext(context.Context) KubernetesClusterNodePoolNodeOutput + ToAppSpecWorkerImagePtrOutput() AppSpecWorkerImagePtrOutput + ToAppSpecWorkerImagePtrOutputWithContext(context.Context) AppSpecWorkerImagePtrOutput } -type KubernetesClusterNodePoolNodeArgs struct { - // The date and time when the node was created. - CreatedAt pulumi.StringPtrInput `pulumi:"createdAt"` - // The id of the node's droplet - DropletId pulumi.StringPtrInput `pulumi:"dropletId"` - // A unique ID that can be used to identify and reference the node. - Id pulumi.StringPtrInput `pulumi:"id"` - // A name for the node pool. - Name pulumi.StringPtrInput `pulumi:"name"` - // A string indicating the current status of the individual node. - Status pulumi.StringPtrInput `pulumi:"status"` - // The date and time when the node was last updated. - UpdatedAt pulumi.StringPtrInput `pulumi:"updatedAt"` -} +type appSpecWorkerImagePtrType AppSpecWorkerImageArgs -func (KubernetesClusterNodePoolNodeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*KubernetesClusterNodePoolNode)(nil)).Elem() +func AppSpecWorkerImagePtr(v *AppSpecWorkerImageArgs) AppSpecWorkerImagePtrInput { + return (*appSpecWorkerImagePtrType)(v) } -func (i KubernetesClusterNodePoolNodeArgs) ToKubernetesClusterNodePoolNodeOutput() KubernetesClusterNodePoolNodeOutput { - return i.ToKubernetesClusterNodePoolNodeOutputWithContext(context.Background()) +func (*appSpecWorkerImagePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecWorkerImage)(nil)).Elem() } -func (i KubernetesClusterNodePoolNodeArgs) ToKubernetesClusterNodePoolNodeOutputWithContext(ctx context.Context) KubernetesClusterNodePoolNodeOutput { - return pulumi.ToOutputWithContext(ctx, i).(KubernetesClusterNodePoolNodeOutput) +func (i *appSpecWorkerImagePtrType) ToAppSpecWorkerImagePtrOutput() AppSpecWorkerImagePtrOutput { + return i.ToAppSpecWorkerImagePtrOutputWithContext(context.Background()) } -// KubernetesClusterNodePoolNodeArrayInput is an input type that accepts KubernetesClusterNodePoolNodeArray and KubernetesClusterNodePoolNodeArrayOutput values. -// You can construct a concrete instance of `KubernetesClusterNodePoolNodeArrayInput` via: -// -// KubernetesClusterNodePoolNodeArray{ KubernetesClusterNodePoolNodeArgs{...} } -type KubernetesClusterNodePoolNodeArrayInput interface { - pulumi.Input - - ToKubernetesClusterNodePoolNodeArrayOutput() KubernetesClusterNodePoolNodeArrayOutput - ToKubernetesClusterNodePoolNodeArrayOutputWithContext(context.Context) KubernetesClusterNodePoolNodeArrayOutput +func (i *appSpecWorkerImagePtrType) ToAppSpecWorkerImagePtrOutputWithContext(ctx context.Context) AppSpecWorkerImagePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecWorkerImagePtrOutput) } -type KubernetesClusterNodePoolNodeArray []KubernetesClusterNodePoolNodeInput +type AppSpecWorkerImageOutput struct{ *pulumi.OutputState } -func (KubernetesClusterNodePoolNodeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]KubernetesClusterNodePoolNode)(nil)).Elem() +func (AppSpecWorkerImageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecWorkerImage)(nil)).Elem() } -func (i KubernetesClusterNodePoolNodeArray) ToKubernetesClusterNodePoolNodeArrayOutput() KubernetesClusterNodePoolNodeArrayOutput { - return i.ToKubernetesClusterNodePoolNodeArrayOutputWithContext(context.Background()) +func (o AppSpecWorkerImageOutput) ToAppSpecWorkerImageOutput() AppSpecWorkerImageOutput { + return o } -func (i KubernetesClusterNodePoolNodeArray) ToKubernetesClusterNodePoolNodeArrayOutputWithContext(ctx context.Context) KubernetesClusterNodePoolNodeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(KubernetesClusterNodePoolNodeArrayOutput) +func (o AppSpecWorkerImageOutput) ToAppSpecWorkerImageOutputWithContext(ctx context.Context) AppSpecWorkerImageOutput { + return o } -type KubernetesClusterNodePoolNodeOutput struct{ *pulumi.OutputState } - -func (KubernetesClusterNodePoolNodeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*KubernetesClusterNodePoolNode)(nil)).Elem() +func (o AppSpecWorkerImageOutput) ToAppSpecWorkerImagePtrOutput() AppSpecWorkerImagePtrOutput { + return o.ToAppSpecWorkerImagePtrOutputWithContext(context.Background()) } -func (o KubernetesClusterNodePoolNodeOutput) ToKubernetesClusterNodePoolNodeOutput() KubernetesClusterNodePoolNodeOutput { - return o +func (o AppSpecWorkerImageOutput) ToAppSpecWorkerImagePtrOutputWithContext(ctx context.Context) AppSpecWorkerImagePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AppSpecWorkerImage) *AppSpecWorkerImage { + return &v + }).(AppSpecWorkerImagePtrOutput) } -func (o KubernetesClusterNodePoolNodeOutput) ToKubernetesClusterNodePoolNodeOutputWithContext(ctx context.Context) KubernetesClusterNodePoolNodeOutput { - return o +// The registry name. Must be left empty for the `DOCR` registry type. Required for the `DOCKER_HUB` registry type. +func (o AppSpecWorkerImageOutput) Registry() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecWorkerImage) *string { return v.Registry }).(pulumi.StringPtrOutput) } -// The date and time when the node was created. -func (o KubernetesClusterNodePoolNodeOutput) CreatedAt() pulumi.StringPtrOutput { - return o.ApplyT(func(v KubernetesClusterNodePoolNode) *string { return v.CreatedAt }).(pulumi.StringPtrOutput) +// The registry type. One of `DOCR` (DigitalOcean container registry) or `DOCKER_HUB`. +func (o AppSpecWorkerImageOutput) RegistryType() pulumi.StringOutput { + return o.ApplyT(func(v AppSpecWorkerImage) string { return v.RegistryType }).(pulumi.StringOutput) } -// The id of the node's droplet -func (o KubernetesClusterNodePoolNodeOutput) DropletId() pulumi.StringPtrOutput { - return o.ApplyT(func(v KubernetesClusterNodePoolNode) *string { return v.DropletId }).(pulumi.StringPtrOutput) +// The repository name. +func (o AppSpecWorkerImageOutput) Repository() pulumi.StringOutput { + return o.ApplyT(func(v AppSpecWorkerImage) string { return v.Repository }).(pulumi.StringOutput) } -// A unique ID that can be used to identify and reference the node. -func (o KubernetesClusterNodePoolNodeOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v KubernetesClusterNodePoolNode) *string { return v.Id }).(pulumi.StringPtrOutput) +// The repository tag. Defaults to `latest` if not provided. +func (o AppSpecWorkerImageOutput) Tag() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecWorkerImage) *string { return v.Tag }).(pulumi.StringPtrOutput) } -// A name for the node pool. -func (o KubernetesClusterNodePoolNodeOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v KubernetesClusterNodePoolNode) *string { return v.Name }).(pulumi.StringPtrOutput) +type AppSpecWorkerImagePtrOutput struct{ *pulumi.OutputState } + +func (AppSpecWorkerImagePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecWorkerImage)(nil)).Elem() } -// A string indicating the current status of the individual node. -func (o KubernetesClusterNodePoolNodeOutput) Status() pulumi.StringPtrOutput { - return o.ApplyT(func(v KubernetesClusterNodePoolNode) *string { return v.Status }).(pulumi.StringPtrOutput) +func (o AppSpecWorkerImagePtrOutput) ToAppSpecWorkerImagePtrOutput() AppSpecWorkerImagePtrOutput { + return o } -// The date and time when the node was last updated. -func (o KubernetesClusterNodePoolNodeOutput) UpdatedAt() pulumi.StringPtrOutput { - return o.ApplyT(func(v KubernetesClusterNodePoolNode) *string { return v.UpdatedAt }).(pulumi.StringPtrOutput) +func (o AppSpecWorkerImagePtrOutput) ToAppSpecWorkerImagePtrOutputWithContext(ctx context.Context) AppSpecWorkerImagePtrOutput { + return o } -type KubernetesClusterNodePoolNodeArrayOutput struct{ *pulumi.OutputState } +func (o AppSpecWorkerImagePtrOutput) Elem() AppSpecWorkerImageOutput { + return o.ApplyT(func(v *AppSpecWorkerImage) AppSpecWorkerImage { + if v != nil { + return *v + } + var ret AppSpecWorkerImage + return ret + }).(AppSpecWorkerImageOutput) +} -func (KubernetesClusterNodePoolNodeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]KubernetesClusterNodePoolNode)(nil)).Elem() +// The registry name. Must be left empty for the `DOCR` registry type. Required for the `DOCKER_HUB` registry type. +func (o AppSpecWorkerImagePtrOutput) Registry() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecWorkerImage) *string { + if v == nil { + return nil + } + return v.Registry + }).(pulumi.StringPtrOutput) } -func (o KubernetesClusterNodePoolNodeArrayOutput) ToKubernetesClusterNodePoolNodeArrayOutput() KubernetesClusterNodePoolNodeArrayOutput { - return o +// The registry type. One of `DOCR` (DigitalOcean container registry) or `DOCKER_HUB`. +func (o AppSpecWorkerImagePtrOutput) RegistryType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecWorkerImage) *string { + if v == nil { + return nil + } + return &v.RegistryType + }).(pulumi.StringPtrOutput) } -func (o KubernetesClusterNodePoolNodeArrayOutput) ToKubernetesClusterNodePoolNodeArrayOutputWithContext(ctx context.Context) KubernetesClusterNodePoolNodeArrayOutput { - return o +// The repository name. +func (o AppSpecWorkerImagePtrOutput) Repository() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecWorkerImage) *string { + if v == nil { + return nil + } + return &v.Repository + }).(pulumi.StringPtrOutput) } -func (o KubernetesClusterNodePoolNodeArrayOutput) Index(i pulumi.IntInput) KubernetesClusterNodePoolNodeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) KubernetesClusterNodePoolNode { - return vs[0].([]KubernetesClusterNodePoolNode)[vs[1].(int)] - }).(KubernetesClusterNodePoolNodeOutput) +// The repository tag. Defaults to `latest` if not provided. +func (o AppSpecWorkerImagePtrOutput) Tag() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecWorkerImage) *string { + if v == nil { + return nil + } + return v.Tag + }).(pulumi.StringPtrOutput) } -type KubernetesClusterNodePoolTaint struct { - // How the node reacts to pods that it won't tolerate. Available effect values are: "NoSchedule", "PreferNoSchedule", "NoExecute". - Effect string `pulumi:"effect"` - // An arbitrary string. The "key" and "value" fields of the "taint" object form a key-value pair. - Key string `pulumi:"key"` - // An arbitrary string. The "key" and "value" fields of the "taint" object form a key-value pair. - Value string `pulumi:"value"` +type AppSpecWorkerLogDestination struct { + // Datadog configuration. + Datadog *AppSpecWorkerLogDestinationDatadog `pulumi:"datadog"` + // Logtail configuration. + Logtail *AppSpecWorkerLogDestinationLogtail `pulumi:"logtail"` + // The name of the component. + Name string `pulumi:"name"` + // Papertrail configuration. + Papertrail *AppSpecWorkerLogDestinationPapertrail `pulumi:"papertrail"` } -// KubernetesClusterNodePoolTaintInput is an input type that accepts KubernetesClusterNodePoolTaintArgs and KubernetesClusterNodePoolTaintOutput values. -// You can construct a concrete instance of `KubernetesClusterNodePoolTaintInput` via: +// AppSpecWorkerLogDestinationInput is an input type that accepts AppSpecWorkerLogDestinationArgs and AppSpecWorkerLogDestinationOutput values. +// You can construct a concrete instance of `AppSpecWorkerLogDestinationInput` via: // -// KubernetesClusterNodePoolTaintArgs{...} -type KubernetesClusterNodePoolTaintInput interface { +// AppSpecWorkerLogDestinationArgs{...} +type AppSpecWorkerLogDestinationInput interface { pulumi.Input - ToKubernetesClusterNodePoolTaintOutput() KubernetesClusterNodePoolTaintOutput - ToKubernetesClusterNodePoolTaintOutputWithContext(context.Context) KubernetesClusterNodePoolTaintOutput + ToAppSpecWorkerLogDestinationOutput() AppSpecWorkerLogDestinationOutput + ToAppSpecWorkerLogDestinationOutputWithContext(context.Context) AppSpecWorkerLogDestinationOutput } -type KubernetesClusterNodePoolTaintArgs struct { - // How the node reacts to pods that it won't tolerate. Available effect values are: "NoSchedule", "PreferNoSchedule", "NoExecute". - Effect pulumi.StringInput `pulumi:"effect"` - // An arbitrary string. The "key" and "value" fields of the "taint" object form a key-value pair. - Key pulumi.StringInput `pulumi:"key"` - // An arbitrary string. The "key" and "value" fields of the "taint" object form a key-value pair. - Value pulumi.StringInput `pulumi:"value"` +type AppSpecWorkerLogDestinationArgs struct { + // Datadog configuration. + Datadog AppSpecWorkerLogDestinationDatadogPtrInput `pulumi:"datadog"` + // Logtail configuration. + Logtail AppSpecWorkerLogDestinationLogtailPtrInput `pulumi:"logtail"` + // The name of the component. + Name pulumi.StringInput `pulumi:"name"` + // Papertrail configuration. + Papertrail AppSpecWorkerLogDestinationPapertrailPtrInput `pulumi:"papertrail"` } -func (KubernetesClusterNodePoolTaintArgs) ElementType() reflect.Type { - return reflect.TypeOf((*KubernetesClusterNodePoolTaint)(nil)).Elem() +func (AppSpecWorkerLogDestinationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecWorkerLogDestination)(nil)).Elem() } -func (i KubernetesClusterNodePoolTaintArgs) ToKubernetesClusterNodePoolTaintOutput() KubernetesClusterNodePoolTaintOutput { - return i.ToKubernetesClusterNodePoolTaintOutputWithContext(context.Background()) +func (i AppSpecWorkerLogDestinationArgs) ToAppSpecWorkerLogDestinationOutput() AppSpecWorkerLogDestinationOutput { + return i.ToAppSpecWorkerLogDestinationOutputWithContext(context.Background()) } -func (i KubernetesClusterNodePoolTaintArgs) ToKubernetesClusterNodePoolTaintOutputWithContext(ctx context.Context) KubernetesClusterNodePoolTaintOutput { - return pulumi.ToOutputWithContext(ctx, i).(KubernetesClusterNodePoolTaintOutput) +func (i AppSpecWorkerLogDestinationArgs) ToAppSpecWorkerLogDestinationOutputWithContext(ctx context.Context) AppSpecWorkerLogDestinationOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecWorkerLogDestinationOutput) } -// KubernetesClusterNodePoolTaintArrayInput is an input type that accepts KubernetesClusterNodePoolTaintArray and KubernetesClusterNodePoolTaintArrayOutput values. -// You can construct a concrete instance of `KubernetesClusterNodePoolTaintArrayInput` via: +// AppSpecWorkerLogDestinationArrayInput is an input type that accepts AppSpecWorkerLogDestinationArray and AppSpecWorkerLogDestinationArrayOutput values. +// You can construct a concrete instance of `AppSpecWorkerLogDestinationArrayInput` via: // -// KubernetesClusterNodePoolTaintArray{ KubernetesClusterNodePoolTaintArgs{...} } -type KubernetesClusterNodePoolTaintArrayInput interface { +// AppSpecWorkerLogDestinationArray{ AppSpecWorkerLogDestinationArgs{...} } +type AppSpecWorkerLogDestinationArrayInput interface { pulumi.Input - ToKubernetesClusterNodePoolTaintArrayOutput() KubernetesClusterNodePoolTaintArrayOutput - ToKubernetesClusterNodePoolTaintArrayOutputWithContext(context.Context) KubernetesClusterNodePoolTaintArrayOutput + ToAppSpecWorkerLogDestinationArrayOutput() AppSpecWorkerLogDestinationArrayOutput + ToAppSpecWorkerLogDestinationArrayOutputWithContext(context.Context) AppSpecWorkerLogDestinationArrayOutput } -type KubernetesClusterNodePoolTaintArray []KubernetesClusterNodePoolTaintInput +type AppSpecWorkerLogDestinationArray []AppSpecWorkerLogDestinationInput -func (KubernetesClusterNodePoolTaintArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]KubernetesClusterNodePoolTaint)(nil)).Elem() +func (AppSpecWorkerLogDestinationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]AppSpecWorkerLogDestination)(nil)).Elem() } -func (i KubernetesClusterNodePoolTaintArray) ToKubernetesClusterNodePoolTaintArrayOutput() KubernetesClusterNodePoolTaintArrayOutput { - return i.ToKubernetesClusterNodePoolTaintArrayOutputWithContext(context.Background()) +func (i AppSpecWorkerLogDestinationArray) ToAppSpecWorkerLogDestinationArrayOutput() AppSpecWorkerLogDestinationArrayOutput { + return i.ToAppSpecWorkerLogDestinationArrayOutputWithContext(context.Background()) } -func (i KubernetesClusterNodePoolTaintArray) ToKubernetesClusterNodePoolTaintArrayOutputWithContext(ctx context.Context) KubernetesClusterNodePoolTaintArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(KubernetesClusterNodePoolTaintArrayOutput) +func (i AppSpecWorkerLogDestinationArray) ToAppSpecWorkerLogDestinationArrayOutputWithContext(ctx context.Context) AppSpecWorkerLogDestinationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecWorkerLogDestinationArrayOutput) } -type KubernetesClusterNodePoolTaintOutput struct{ *pulumi.OutputState } +type AppSpecWorkerLogDestinationOutput struct{ *pulumi.OutputState } -func (KubernetesClusterNodePoolTaintOutput) ElementType() reflect.Type { - return reflect.TypeOf((*KubernetesClusterNodePoolTaint)(nil)).Elem() +func (AppSpecWorkerLogDestinationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecWorkerLogDestination)(nil)).Elem() } -func (o KubernetesClusterNodePoolTaintOutput) ToKubernetesClusterNodePoolTaintOutput() KubernetesClusterNodePoolTaintOutput { +func (o AppSpecWorkerLogDestinationOutput) ToAppSpecWorkerLogDestinationOutput() AppSpecWorkerLogDestinationOutput { return o } -func (o KubernetesClusterNodePoolTaintOutput) ToKubernetesClusterNodePoolTaintOutputWithContext(ctx context.Context) KubernetesClusterNodePoolTaintOutput { +func (o AppSpecWorkerLogDestinationOutput) ToAppSpecWorkerLogDestinationOutputWithContext(ctx context.Context) AppSpecWorkerLogDestinationOutput { return o } -// How the node reacts to pods that it won't tolerate. Available effect values are: "NoSchedule", "PreferNoSchedule", "NoExecute". -func (o KubernetesClusterNodePoolTaintOutput) Effect() pulumi.StringOutput { - return o.ApplyT(func(v KubernetesClusterNodePoolTaint) string { return v.Effect }).(pulumi.StringOutput) +// Datadog configuration. +func (o AppSpecWorkerLogDestinationOutput) Datadog() AppSpecWorkerLogDestinationDatadogPtrOutput { + return o.ApplyT(func(v AppSpecWorkerLogDestination) *AppSpecWorkerLogDestinationDatadog { return v.Datadog }).(AppSpecWorkerLogDestinationDatadogPtrOutput) } -// An arbitrary string. The "key" and "value" fields of the "taint" object form a key-value pair. -func (o KubernetesClusterNodePoolTaintOutput) Key() pulumi.StringOutput { - return o.ApplyT(func(v KubernetesClusterNodePoolTaint) string { return v.Key }).(pulumi.StringOutput) +// Logtail configuration. +func (o AppSpecWorkerLogDestinationOutput) Logtail() AppSpecWorkerLogDestinationLogtailPtrOutput { + return o.ApplyT(func(v AppSpecWorkerLogDestination) *AppSpecWorkerLogDestinationLogtail { return v.Logtail }).(AppSpecWorkerLogDestinationLogtailPtrOutput) } -// An arbitrary string. The "key" and "value" fields of the "taint" object form a key-value pair. -func (o KubernetesClusterNodePoolTaintOutput) Value() pulumi.StringOutput { - return o.ApplyT(func(v KubernetesClusterNodePoolTaint) string { return v.Value }).(pulumi.StringOutput) +// The name of the component. +func (o AppSpecWorkerLogDestinationOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v AppSpecWorkerLogDestination) string { return v.Name }).(pulumi.StringOutput) } -type KubernetesClusterNodePoolTaintArrayOutput struct{ *pulumi.OutputState } +// Papertrail configuration. +func (o AppSpecWorkerLogDestinationOutput) Papertrail() AppSpecWorkerLogDestinationPapertrailPtrOutput { + return o.ApplyT(func(v AppSpecWorkerLogDestination) *AppSpecWorkerLogDestinationPapertrail { return v.Papertrail }).(AppSpecWorkerLogDestinationPapertrailPtrOutput) +} -func (KubernetesClusterNodePoolTaintArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]KubernetesClusterNodePoolTaint)(nil)).Elem() +type AppSpecWorkerLogDestinationArrayOutput struct{ *pulumi.OutputState } + +func (AppSpecWorkerLogDestinationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]AppSpecWorkerLogDestination)(nil)).Elem() } -func (o KubernetesClusterNodePoolTaintArrayOutput) ToKubernetesClusterNodePoolTaintArrayOutput() KubernetesClusterNodePoolTaintArrayOutput { +func (o AppSpecWorkerLogDestinationArrayOutput) ToAppSpecWorkerLogDestinationArrayOutput() AppSpecWorkerLogDestinationArrayOutput { return o } -func (o KubernetesClusterNodePoolTaintArrayOutput) ToKubernetesClusterNodePoolTaintArrayOutputWithContext(ctx context.Context) KubernetesClusterNodePoolTaintArrayOutput { +func (o AppSpecWorkerLogDestinationArrayOutput) ToAppSpecWorkerLogDestinationArrayOutputWithContext(ctx context.Context) AppSpecWorkerLogDestinationArrayOutput { return o } -func (o KubernetesClusterNodePoolTaintArrayOutput) Index(i pulumi.IntInput) KubernetesClusterNodePoolTaintOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) KubernetesClusterNodePoolTaint { - return vs[0].([]KubernetesClusterNodePoolTaint)[vs[1].(int)] - }).(KubernetesClusterNodePoolTaintOutput) +func (o AppSpecWorkerLogDestinationArrayOutput) Index(i pulumi.IntInput) AppSpecWorkerLogDestinationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) AppSpecWorkerLogDestination { + return vs[0].([]AppSpecWorkerLogDestination)[vs[1].(int)] + }).(AppSpecWorkerLogDestinationOutput) } -type KubernetesNodePoolNode struct { - // The date and time when the node was created. - CreatedAt *string `pulumi:"createdAt"` - // The id of the node's droplet - DropletId *string `pulumi:"dropletId"` - // A unique ID that can be used to identify and reference the node. - Id *string `pulumi:"id"` - // A name for the node pool. - Name *string `pulumi:"name"` - // A string indicating the current status of the individual node. - Status *string `pulumi:"status"` - // The date and time when the node was last updated. - UpdatedAt *string `pulumi:"updatedAt"` +type AppSpecWorkerLogDestinationDatadog struct { + // Datadog API key. + ApiKey string `pulumi:"apiKey"` + // Datadog HTTP log intake endpoint. + Endpoint *string `pulumi:"endpoint"` } -// KubernetesNodePoolNodeInput is an input type that accepts KubernetesNodePoolNodeArgs and KubernetesNodePoolNodeOutput values. -// You can construct a concrete instance of `KubernetesNodePoolNodeInput` via: +// AppSpecWorkerLogDestinationDatadogInput is an input type that accepts AppSpecWorkerLogDestinationDatadogArgs and AppSpecWorkerLogDestinationDatadogOutput values. +// You can construct a concrete instance of `AppSpecWorkerLogDestinationDatadogInput` via: // -// KubernetesNodePoolNodeArgs{...} -type KubernetesNodePoolNodeInput interface { +// AppSpecWorkerLogDestinationDatadogArgs{...} +type AppSpecWorkerLogDestinationDatadogInput interface { pulumi.Input - ToKubernetesNodePoolNodeOutput() KubernetesNodePoolNodeOutput - ToKubernetesNodePoolNodeOutputWithContext(context.Context) KubernetesNodePoolNodeOutput + ToAppSpecWorkerLogDestinationDatadogOutput() AppSpecWorkerLogDestinationDatadogOutput + ToAppSpecWorkerLogDestinationDatadogOutputWithContext(context.Context) AppSpecWorkerLogDestinationDatadogOutput } -type KubernetesNodePoolNodeArgs struct { - // The date and time when the node was created. - CreatedAt pulumi.StringPtrInput `pulumi:"createdAt"` - // The id of the node's droplet - DropletId pulumi.StringPtrInput `pulumi:"dropletId"` - // A unique ID that can be used to identify and reference the node. - Id pulumi.StringPtrInput `pulumi:"id"` - // A name for the node pool. - Name pulumi.StringPtrInput `pulumi:"name"` - // A string indicating the current status of the individual node. - Status pulumi.StringPtrInput `pulumi:"status"` - // The date and time when the node was last updated. - UpdatedAt pulumi.StringPtrInput `pulumi:"updatedAt"` +type AppSpecWorkerLogDestinationDatadogArgs struct { + // Datadog API key. + ApiKey pulumi.StringInput `pulumi:"apiKey"` + // Datadog HTTP log intake endpoint. + Endpoint pulumi.StringPtrInput `pulumi:"endpoint"` } -func (KubernetesNodePoolNodeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*KubernetesNodePoolNode)(nil)).Elem() +func (AppSpecWorkerLogDestinationDatadogArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecWorkerLogDestinationDatadog)(nil)).Elem() } -func (i KubernetesNodePoolNodeArgs) ToKubernetesNodePoolNodeOutput() KubernetesNodePoolNodeOutput { - return i.ToKubernetesNodePoolNodeOutputWithContext(context.Background()) +func (i AppSpecWorkerLogDestinationDatadogArgs) ToAppSpecWorkerLogDestinationDatadogOutput() AppSpecWorkerLogDestinationDatadogOutput { + return i.ToAppSpecWorkerLogDestinationDatadogOutputWithContext(context.Background()) } -func (i KubernetesNodePoolNodeArgs) ToKubernetesNodePoolNodeOutputWithContext(ctx context.Context) KubernetesNodePoolNodeOutput { - return pulumi.ToOutputWithContext(ctx, i).(KubernetesNodePoolNodeOutput) +func (i AppSpecWorkerLogDestinationDatadogArgs) ToAppSpecWorkerLogDestinationDatadogOutputWithContext(ctx context.Context) AppSpecWorkerLogDestinationDatadogOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecWorkerLogDestinationDatadogOutput) } -// KubernetesNodePoolNodeArrayInput is an input type that accepts KubernetesNodePoolNodeArray and KubernetesNodePoolNodeArrayOutput values. -// You can construct a concrete instance of `KubernetesNodePoolNodeArrayInput` via: +func (i AppSpecWorkerLogDestinationDatadogArgs) ToAppSpecWorkerLogDestinationDatadogPtrOutput() AppSpecWorkerLogDestinationDatadogPtrOutput { + return i.ToAppSpecWorkerLogDestinationDatadogPtrOutputWithContext(context.Background()) +} + +func (i AppSpecWorkerLogDestinationDatadogArgs) ToAppSpecWorkerLogDestinationDatadogPtrOutputWithContext(ctx context.Context) AppSpecWorkerLogDestinationDatadogPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecWorkerLogDestinationDatadogOutput).ToAppSpecWorkerLogDestinationDatadogPtrOutputWithContext(ctx) +} + +// AppSpecWorkerLogDestinationDatadogPtrInput is an input type that accepts AppSpecWorkerLogDestinationDatadogArgs, AppSpecWorkerLogDestinationDatadogPtr and AppSpecWorkerLogDestinationDatadogPtrOutput values. +// You can construct a concrete instance of `AppSpecWorkerLogDestinationDatadogPtrInput` via: // -// KubernetesNodePoolNodeArray{ KubernetesNodePoolNodeArgs{...} } -type KubernetesNodePoolNodeArrayInput interface { +// AppSpecWorkerLogDestinationDatadogArgs{...} +// +// or: +// +// nil +type AppSpecWorkerLogDestinationDatadogPtrInput interface { pulumi.Input - ToKubernetesNodePoolNodeArrayOutput() KubernetesNodePoolNodeArrayOutput - ToKubernetesNodePoolNodeArrayOutputWithContext(context.Context) KubernetesNodePoolNodeArrayOutput + ToAppSpecWorkerLogDestinationDatadogPtrOutput() AppSpecWorkerLogDestinationDatadogPtrOutput + ToAppSpecWorkerLogDestinationDatadogPtrOutputWithContext(context.Context) AppSpecWorkerLogDestinationDatadogPtrOutput } -type KubernetesNodePoolNodeArray []KubernetesNodePoolNodeInput +type appSpecWorkerLogDestinationDatadogPtrType AppSpecWorkerLogDestinationDatadogArgs -func (KubernetesNodePoolNodeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]KubernetesNodePoolNode)(nil)).Elem() +func AppSpecWorkerLogDestinationDatadogPtr(v *AppSpecWorkerLogDestinationDatadogArgs) AppSpecWorkerLogDestinationDatadogPtrInput { + return (*appSpecWorkerLogDestinationDatadogPtrType)(v) } -func (i KubernetesNodePoolNodeArray) ToKubernetesNodePoolNodeArrayOutput() KubernetesNodePoolNodeArrayOutput { - return i.ToKubernetesNodePoolNodeArrayOutputWithContext(context.Background()) +func (*appSpecWorkerLogDestinationDatadogPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecWorkerLogDestinationDatadog)(nil)).Elem() } -func (i KubernetesNodePoolNodeArray) ToKubernetesNodePoolNodeArrayOutputWithContext(ctx context.Context) KubernetesNodePoolNodeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(KubernetesNodePoolNodeArrayOutput) +func (i *appSpecWorkerLogDestinationDatadogPtrType) ToAppSpecWorkerLogDestinationDatadogPtrOutput() AppSpecWorkerLogDestinationDatadogPtrOutput { + return i.ToAppSpecWorkerLogDestinationDatadogPtrOutputWithContext(context.Background()) } -type KubernetesNodePoolNodeOutput struct{ *pulumi.OutputState } +func (i *appSpecWorkerLogDestinationDatadogPtrType) ToAppSpecWorkerLogDestinationDatadogPtrOutputWithContext(ctx context.Context) AppSpecWorkerLogDestinationDatadogPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecWorkerLogDestinationDatadogPtrOutput) +} -func (KubernetesNodePoolNodeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*KubernetesNodePoolNode)(nil)).Elem() +type AppSpecWorkerLogDestinationDatadogOutput struct{ *pulumi.OutputState } + +func (AppSpecWorkerLogDestinationDatadogOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecWorkerLogDestinationDatadog)(nil)).Elem() } -func (o KubernetesNodePoolNodeOutput) ToKubernetesNodePoolNodeOutput() KubernetesNodePoolNodeOutput { +func (o AppSpecWorkerLogDestinationDatadogOutput) ToAppSpecWorkerLogDestinationDatadogOutput() AppSpecWorkerLogDestinationDatadogOutput { return o } -func (o KubernetesNodePoolNodeOutput) ToKubernetesNodePoolNodeOutputWithContext(ctx context.Context) KubernetesNodePoolNodeOutput { +func (o AppSpecWorkerLogDestinationDatadogOutput) ToAppSpecWorkerLogDestinationDatadogOutputWithContext(ctx context.Context) AppSpecWorkerLogDestinationDatadogOutput { return o } -// The date and time when the node was created. -func (o KubernetesNodePoolNodeOutput) CreatedAt() pulumi.StringPtrOutput { - return o.ApplyT(func(v KubernetesNodePoolNode) *string { return v.CreatedAt }).(pulumi.StringPtrOutput) +func (o AppSpecWorkerLogDestinationDatadogOutput) ToAppSpecWorkerLogDestinationDatadogPtrOutput() AppSpecWorkerLogDestinationDatadogPtrOutput { + return o.ToAppSpecWorkerLogDestinationDatadogPtrOutputWithContext(context.Background()) } -// The id of the node's droplet -func (o KubernetesNodePoolNodeOutput) DropletId() pulumi.StringPtrOutput { - return o.ApplyT(func(v KubernetesNodePoolNode) *string { return v.DropletId }).(pulumi.StringPtrOutput) +func (o AppSpecWorkerLogDestinationDatadogOutput) ToAppSpecWorkerLogDestinationDatadogPtrOutputWithContext(ctx context.Context) AppSpecWorkerLogDestinationDatadogPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AppSpecWorkerLogDestinationDatadog) *AppSpecWorkerLogDestinationDatadog { + return &v + }).(AppSpecWorkerLogDestinationDatadogPtrOutput) } -// A unique ID that can be used to identify and reference the node. -func (o KubernetesNodePoolNodeOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v KubernetesNodePoolNode) *string { return v.Id }).(pulumi.StringPtrOutput) +// Datadog API key. +func (o AppSpecWorkerLogDestinationDatadogOutput) ApiKey() pulumi.StringOutput { + return o.ApplyT(func(v AppSpecWorkerLogDestinationDatadog) string { return v.ApiKey }).(pulumi.StringOutput) } -// A name for the node pool. -func (o KubernetesNodePoolNodeOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v KubernetesNodePoolNode) *string { return v.Name }).(pulumi.StringPtrOutput) +// Datadog HTTP log intake endpoint. +func (o AppSpecWorkerLogDestinationDatadogOutput) Endpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppSpecWorkerLogDestinationDatadog) *string { return v.Endpoint }).(pulumi.StringPtrOutput) } -// A string indicating the current status of the individual node. -func (o KubernetesNodePoolNodeOutput) Status() pulumi.StringPtrOutput { - return o.ApplyT(func(v KubernetesNodePoolNode) *string { return v.Status }).(pulumi.StringPtrOutput) -} +type AppSpecWorkerLogDestinationDatadogPtrOutput struct{ *pulumi.OutputState } -// The date and time when the node was last updated. -func (o KubernetesNodePoolNodeOutput) UpdatedAt() pulumi.StringPtrOutput { - return o.ApplyT(func(v KubernetesNodePoolNode) *string { return v.UpdatedAt }).(pulumi.StringPtrOutput) +func (AppSpecWorkerLogDestinationDatadogPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecWorkerLogDestinationDatadog)(nil)).Elem() } -type KubernetesNodePoolNodeArrayOutput struct{ *pulumi.OutputState } - -func (KubernetesNodePoolNodeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]KubernetesNodePoolNode)(nil)).Elem() +func (o AppSpecWorkerLogDestinationDatadogPtrOutput) ToAppSpecWorkerLogDestinationDatadogPtrOutput() AppSpecWorkerLogDestinationDatadogPtrOutput { + return o } -func (o KubernetesNodePoolNodeArrayOutput) ToKubernetesNodePoolNodeArrayOutput() KubernetesNodePoolNodeArrayOutput { +func (o AppSpecWorkerLogDestinationDatadogPtrOutput) ToAppSpecWorkerLogDestinationDatadogPtrOutputWithContext(ctx context.Context) AppSpecWorkerLogDestinationDatadogPtrOutput { return o } -func (o KubernetesNodePoolNodeArrayOutput) ToKubernetesNodePoolNodeArrayOutputWithContext(ctx context.Context) KubernetesNodePoolNodeArrayOutput { - return o +func (o AppSpecWorkerLogDestinationDatadogPtrOutput) Elem() AppSpecWorkerLogDestinationDatadogOutput { + return o.ApplyT(func(v *AppSpecWorkerLogDestinationDatadog) AppSpecWorkerLogDestinationDatadog { + if v != nil { + return *v + } + var ret AppSpecWorkerLogDestinationDatadog + return ret + }).(AppSpecWorkerLogDestinationDatadogOutput) } -func (o KubernetesNodePoolNodeArrayOutput) Index(i pulumi.IntInput) KubernetesNodePoolNodeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) KubernetesNodePoolNode { - return vs[0].([]KubernetesNodePoolNode)[vs[1].(int)] - }).(KubernetesNodePoolNodeOutput) +// Datadog API key. +func (o AppSpecWorkerLogDestinationDatadogPtrOutput) ApiKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecWorkerLogDestinationDatadog) *string { + if v == nil { + return nil + } + return &v.ApiKey + }).(pulumi.StringPtrOutput) } -type KubernetesNodePoolTaint struct { - // How the node reacts to pods that it won't tolerate. Available effect values are: "NoSchedule", "PreferNoSchedule", "NoExecute". - Effect string `pulumi:"effect"` - // An arbitrary string. The "key" and "value" fields of the "taint" object form a key-value pair. - Key string `pulumi:"key"` - // An arbitrary string. The "key" and "value" fields of the "taint" object form a key-value pair. - Value string `pulumi:"value"` +// Datadog HTTP log intake endpoint. +func (o AppSpecWorkerLogDestinationDatadogPtrOutput) Endpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecWorkerLogDestinationDatadog) *string { + if v == nil { + return nil + } + return v.Endpoint + }).(pulumi.StringPtrOutput) } -// KubernetesNodePoolTaintInput is an input type that accepts KubernetesNodePoolTaintArgs and KubernetesNodePoolTaintOutput values. -// You can construct a concrete instance of `KubernetesNodePoolTaintInput` via: +type AppSpecWorkerLogDestinationLogtail struct { + // Logtail token. + Token string `pulumi:"token"` +} + +// AppSpecWorkerLogDestinationLogtailInput is an input type that accepts AppSpecWorkerLogDestinationLogtailArgs and AppSpecWorkerLogDestinationLogtailOutput values. +// You can construct a concrete instance of `AppSpecWorkerLogDestinationLogtailInput` via: // -// KubernetesNodePoolTaintArgs{...} -type KubernetesNodePoolTaintInput interface { +// AppSpecWorkerLogDestinationLogtailArgs{...} +type AppSpecWorkerLogDestinationLogtailInput interface { pulumi.Input - ToKubernetesNodePoolTaintOutput() KubernetesNodePoolTaintOutput - ToKubernetesNodePoolTaintOutputWithContext(context.Context) KubernetesNodePoolTaintOutput + ToAppSpecWorkerLogDestinationLogtailOutput() AppSpecWorkerLogDestinationLogtailOutput + ToAppSpecWorkerLogDestinationLogtailOutputWithContext(context.Context) AppSpecWorkerLogDestinationLogtailOutput } -type KubernetesNodePoolTaintArgs struct { - // How the node reacts to pods that it won't tolerate. Available effect values are: "NoSchedule", "PreferNoSchedule", "NoExecute". - Effect pulumi.StringInput `pulumi:"effect"` - // An arbitrary string. The "key" and "value" fields of the "taint" object form a key-value pair. - Key pulumi.StringInput `pulumi:"key"` - // An arbitrary string. The "key" and "value" fields of the "taint" object form a key-value pair. - Value pulumi.StringInput `pulumi:"value"` +type AppSpecWorkerLogDestinationLogtailArgs struct { + // Logtail token. + Token pulumi.StringInput `pulumi:"token"` } -func (KubernetesNodePoolTaintArgs) ElementType() reflect.Type { - return reflect.TypeOf((*KubernetesNodePoolTaint)(nil)).Elem() +func (AppSpecWorkerLogDestinationLogtailArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecWorkerLogDestinationLogtail)(nil)).Elem() } -func (i KubernetesNodePoolTaintArgs) ToKubernetesNodePoolTaintOutput() KubernetesNodePoolTaintOutput { - return i.ToKubernetesNodePoolTaintOutputWithContext(context.Background()) +func (i AppSpecWorkerLogDestinationLogtailArgs) ToAppSpecWorkerLogDestinationLogtailOutput() AppSpecWorkerLogDestinationLogtailOutput { + return i.ToAppSpecWorkerLogDestinationLogtailOutputWithContext(context.Background()) } -func (i KubernetesNodePoolTaintArgs) ToKubernetesNodePoolTaintOutputWithContext(ctx context.Context) KubernetesNodePoolTaintOutput { - return pulumi.ToOutputWithContext(ctx, i).(KubernetesNodePoolTaintOutput) +func (i AppSpecWorkerLogDestinationLogtailArgs) ToAppSpecWorkerLogDestinationLogtailOutputWithContext(ctx context.Context) AppSpecWorkerLogDestinationLogtailOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecWorkerLogDestinationLogtailOutput) } -// KubernetesNodePoolTaintArrayInput is an input type that accepts KubernetesNodePoolTaintArray and KubernetesNodePoolTaintArrayOutput values. -// You can construct a concrete instance of `KubernetesNodePoolTaintArrayInput` via: +func (i AppSpecWorkerLogDestinationLogtailArgs) ToAppSpecWorkerLogDestinationLogtailPtrOutput() AppSpecWorkerLogDestinationLogtailPtrOutput { + return i.ToAppSpecWorkerLogDestinationLogtailPtrOutputWithContext(context.Background()) +} + +func (i AppSpecWorkerLogDestinationLogtailArgs) ToAppSpecWorkerLogDestinationLogtailPtrOutputWithContext(ctx context.Context) AppSpecWorkerLogDestinationLogtailPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecWorkerLogDestinationLogtailOutput).ToAppSpecWorkerLogDestinationLogtailPtrOutputWithContext(ctx) +} + +// AppSpecWorkerLogDestinationLogtailPtrInput is an input type that accepts AppSpecWorkerLogDestinationLogtailArgs, AppSpecWorkerLogDestinationLogtailPtr and AppSpecWorkerLogDestinationLogtailPtrOutput values. +// You can construct a concrete instance of `AppSpecWorkerLogDestinationLogtailPtrInput` via: // -// KubernetesNodePoolTaintArray{ KubernetesNodePoolTaintArgs{...} } -type KubernetesNodePoolTaintArrayInput interface { +// AppSpecWorkerLogDestinationLogtailArgs{...} +// +// or: +// +// nil +type AppSpecWorkerLogDestinationLogtailPtrInput interface { pulumi.Input - ToKubernetesNodePoolTaintArrayOutput() KubernetesNodePoolTaintArrayOutput - ToKubernetesNodePoolTaintArrayOutputWithContext(context.Context) KubernetesNodePoolTaintArrayOutput + ToAppSpecWorkerLogDestinationLogtailPtrOutput() AppSpecWorkerLogDestinationLogtailPtrOutput + ToAppSpecWorkerLogDestinationLogtailPtrOutputWithContext(context.Context) AppSpecWorkerLogDestinationLogtailPtrOutput } -type KubernetesNodePoolTaintArray []KubernetesNodePoolTaintInput +type appSpecWorkerLogDestinationLogtailPtrType AppSpecWorkerLogDestinationLogtailArgs -func (KubernetesNodePoolTaintArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]KubernetesNodePoolTaint)(nil)).Elem() +func AppSpecWorkerLogDestinationLogtailPtr(v *AppSpecWorkerLogDestinationLogtailArgs) AppSpecWorkerLogDestinationLogtailPtrInput { + return (*appSpecWorkerLogDestinationLogtailPtrType)(v) } -func (i KubernetesNodePoolTaintArray) ToKubernetesNodePoolTaintArrayOutput() KubernetesNodePoolTaintArrayOutput { - return i.ToKubernetesNodePoolTaintArrayOutputWithContext(context.Background()) +func (*appSpecWorkerLogDestinationLogtailPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecWorkerLogDestinationLogtail)(nil)).Elem() } -func (i KubernetesNodePoolTaintArray) ToKubernetesNodePoolTaintArrayOutputWithContext(ctx context.Context) KubernetesNodePoolTaintArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(KubernetesNodePoolTaintArrayOutput) +func (i *appSpecWorkerLogDestinationLogtailPtrType) ToAppSpecWorkerLogDestinationLogtailPtrOutput() AppSpecWorkerLogDestinationLogtailPtrOutput { + return i.ToAppSpecWorkerLogDestinationLogtailPtrOutputWithContext(context.Background()) } -type KubernetesNodePoolTaintOutput struct{ *pulumi.OutputState } +func (i *appSpecWorkerLogDestinationLogtailPtrType) ToAppSpecWorkerLogDestinationLogtailPtrOutputWithContext(ctx context.Context) AppSpecWorkerLogDestinationLogtailPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecWorkerLogDestinationLogtailPtrOutput) +} -func (KubernetesNodePoolTaintOutput) ElementType() reflect.Type { - return reflect.TypeOf((*KubernetesNodePoolTaint)(nil)).Elem() +type AppSpecWorkerLogDestinationLogtailOutput struct{ *pulumi.OutputState } + +func (AppSpecWorkerLogDestinationLogtailOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecWorkerLogDestinationLogtail)(nil)).Elem() } -func (o KubernetesNodePoolTaintOutput) ToKubernetesNodePoolTaintOutput() KubernetesNodePoolTaintOutput { +func (o AppSpecWorkerLogDestinationLogtailOutput) ToAppSpecWorkerLogDestinationLogtailOutput() AppSpecWorkerLogDestinationLogtailOutput { return o } -func (o KubernetesNodePoolTaintOutput) ToKubernetesNodePoolTaintOutputWithContext(ctx context.Context) KubernetesNodePoolTaintOutput { +func (o AppSpecWorkerLogDestinationLogtailOutput) ToAppSpecWorkerLogDestinationLogtailOutputWithContext(ctx context.Context) AppSpecWorkerLogDestinationLogtailOutput { return o } -// How the node reacts to pods that it won't tolerate. Available effect values are: "NoSchedule", "PreferNoSchedule", "NoExecute". -func (o KubernetesNodePoolTaintOutput) Effect() pulumi.StringOutput { - return o.ApplyT(func(v KubernetesNodePoolTaint) string { return v.Effect }).(pulumi.StringOutput) +func (o AppSpecWorkerLogDestinationLogtailOutput) ToAppSpecWorkerLogDestinationLogtailPtrOutput() AppSpecWorkerLogDestinationLogtailPtrOutput { + return o.ToAppSpecWorkerLogDestinationLogtailPtrOutputWithContext(context.Background()) } -// An arbitrary string. The "key" and "value" fields of the "taint" object form a key-value pair. -func (o KubernetesNodePoolTaintOutput) Key() pulumi.StringOutput { - return o.ApplyT(func(v KubernetesNodePoolTaint) string { return v.Key }).(pulumi.StringOutput) +func (o AppSpecWorkerLogDestinationLogtailOutput) ToAppSpecWorkerLogDestinationLogtailPtrOutputWithContext(ctx context.Context) AppSpecWorkerLogDestinationLogtailPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AppSpecWorkerLogDestinationLogtail) *AppSpecWorkerLogDestinationLogtail { + return &v + }).(AppSpecWorkerLogDestinationLogtailPtrOutput) } -// An arbitrary string. The "key" and "value" fields of the "taint" object form a key-value pair. -func (o KubernetesNodePoolTaintOutput) Value() pulumi.StringOutput { - return o.ApplyT(func(v KubernetesNodePoolTaint) string { return v.Value }).(pulumi.StringOutput) +// Logtail token. +func (o AppSpecWorkerLogDestinationLogtailOutput) Token() pulumi.StringOutput { + return o.ApplyT(func(v AppSpecWorkerLogDestinationLogtail) string { return v.Token }).(pulumi.StringOutput) } -type KubernetesNodePoolTaintArrayOutput struct{ *pulumi.OutputState } +type AppSpecWorkerLogDestinationLogtailPtrOutput struct{ *pulumi.OutputState } -func (KubernetesNodePoolTaintArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]KubernetesNodePoolTaint)(nil)).Elem() +func (AppSpecWorkerLogDestinationLogtailPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecWorkerLogDestinationLogtail)(nil)).Elem() } -func (o KubernetesNodePoolTaintArrayOutput) ToKubernetesNodePoolTaintArrayOutput() KubernetesNodePoolTaintArrayOutput { +func (o AppSpecWorkerLogDestinationLogtailPtrOutput) ToAppSpecWorkerLogDestinationLogtailPtrOutput() AppSpecWorkerLogDestinationLogtailPtrOutput { return o } -func (o KubernetesNodePoolTaintArrayOutput) ToKubernetesNodePoolTaintArrayOutputWithContext(ctx context.Context) KubernetesNodePoolTaintArrayOutput { +func (o AppSpecWorkerLogDestinationLogtailPtrOutput) ToAppSpecWorkerLogDestinationLogtailPtrOutputWithContext(ctx context.Context) AppSpecWorkerLogDestinationLogtailPtrOutput { return o } -func (o KubernetesNodePoolTaintArrayOutput) Index(i pulumi.IntInput) KubernetesNodePoolTaintOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) KubernetesNodePoolTaint { - return vs[0].([]KubernetesNodePoolTaint)[vs[1].(int)] - }).(KubernetesNodePoolTaintOutput) +func (o AppSpecWorkerLogDestinationLogtailPtrOutput) Elem() AppSpecWorkerLogDestinationLogtailOutput { + return o.ApplyT(func(v *AppSpecWorkerLogDestinationLogtail) AppSpecWorkerLogDestinationLogtail { + if v != nil { + return *v + } + var ret AppSpecWorkerLogDestinationLogtail + return ret + }).(AppSpecWorkerLogDestinationLogtailOutput) } -type LoadBalancerForwardingRule struct { - // **Deprecated** The ID of the TLS certificate to be used for SSL termination. - // - // Deprecated: Certificate IDs may change, for example when a Let's Encrypt certificate is auto-renewed. Please specify 'certificate_name' instead. - CertificateId *string `pulumi:"certificateId"` - // The unique name of the TLS certificate to be used for SSL termination. - CertificateName *string `pulumi:"certificateName"` - // An integer representing the port on which the Load Balancer instance will listen. - EntryPort int `pulumi:"entryPort"` - // The protocol used for traffic to the Load Balancer. The possible values are: `http`, `https`, `http2` or `tcp`. - EntryProtocol string `pulumi:"entryProtocol"` - // An integer representing the port on the backend Droplets to which the Load Balancer will send traffic. - TargetPort int `pulumi:"targetPort"` - // The protocol used for traffic from the Load Balancer to the backend Droplets. The possible values are: `http`, `https`, `http2` or `tcp`. - TargetProtocol string `pulumi:"targetProtocol"` - // A boolean value indicating whether SSL encrypted traffic will be passed through to the backend Droplets. The default value is `false`. - TlsPassthrough *bool `pulumi:"tlsPassthrough"` +// Logtail token. +func (o AppSpecWorkerLogDestinationLogtailPtrOutput) Token() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecWorkerLogDestinationLogtail) *string { + if v == nil { + return nil + } + return &v.Token + }).(pulumi.StringPtrOutput) } -// LoadBalancerForwardingRuleInput is an input type that accepts LoadBalancerForwardingRuleArgs and LoadBalancerForwardingRuleOutput values. -// You can construct a concrete instance of `LoadBalancerForwardingRuleInput` via: +type AppSpecWorkerLogDestinationPapertrail struct { + // Datadog HTTP log intake endpoint. + Endpoint string `pulumi:"endpoint"` +} + +// AppSpecWorkerLogDestinationPapertrailInput is an input type that accepts AppSpecWorkerLogDestinationPapertrailArgs and AppSpecWorkerLogDestinationPapertrailOutput values. +// You can construct a concrete instance of `AppSpecWorkerLogDestinationPapertrailInput` via: // -// LoadBalancerForwardingRuleArgs{...} -type LoadBalancerForwardingRuleInput interface { +// AppSpecWorkerLogDestinationPapertrailArgs{...} +type AppSpecWorkerLogDestinationPapertrailInput interface { pulumi.Input - ToLoadBalancerForwardingRuleOutput() LoadBalancerForwardingRuleOutput - ToLoadBalancerForwardingRuleOutputWithContext(context.Context) LoadBalancerForwardingRuleOutput + ToAppSpecWorkerLogDestinationPapertrailOutput() AppSpecWorkerLogDestinationPapertrailOutput + ToAppSpecWorkerLogDestinationPapertrailOutputWithContext(context.Context) AppSpecWorkerLogDestinationPapertrailOutput } -type LoadBalancerForwardingRuleArgs struct { - // **Deprecated** The ID of the TLS certificate to be used for SSL termination. - // - // Deprecated: Certificate IDs may change, for example when a Let's Encrypt certificate is auto-renewed. Please specify 'certificate_name' instead. - CertificateId pulumi.StringPtrInput `pulumi:"certificateId"` - // The unique name of the TLS certificate to be used for SSL termination. - CertificateName pulumi.StringPtrInput `pulumi:"certificateName"` - // An integer representing the port on which the Load Balancer instance will listen. - EntryPort pulumi.IntInput `pulumi:"entryPort"` - // The protocol used for traffic to the Load Balancer. The possible values are: `http`, `https`, `http2` or `tcp`. - EntryProtocol pulumi.StringInput `pulumi:"entryProtocol"` - // An integer representing the port on the backend Droplets to which the Load Balancer will send traffic. - TargetPort pulumi.IntInput `pulumi:"targetPort"` - // The protocol used for traffic from the Load Balancer to the backend Droplets. The possible values are: `http`, `https`, `http2` or `tcp`. - TargetProtocol pulumi.StringInput `pulumi:"targetProtocol"` - // A boolean value indicating whether SSL encrypted traffic will be passed through to the backend Droplets. The default value is `false`. - TlsPassthrough pulumi.BoolPtrInput `pulumi:"tlsPassthrough"` +type AppSpecWorkerLogDestinationPapertrailArgs struct { + // Datadog HTTP log intake endpoint. + Endpoint pulumi.StringInput `pulumi:"endpoint"` } -func (LoadBalancerForwardingRuleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LoadBalancerForwardingRule)(nil)).Elem() +func (AppSpecWorkerLogDestinationPapertrailArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecWorkerLogDestinationPapertrail)(nil)).Elem() } -func (i LoadBalancerForwardingRuleArgs) ToLoadBalancerForwardingRuleOutput() LoadBalancerForwardingRuleOutput { - return i.ToLoadBalancerForwardingRuleOutputWithContext(context.Background()) +func (i AppSpecWorkerLogDestinationPapertrailArgs) ToAppSpecWorkerLogDestinationPapertrailOutput() AppSpecWorkerLogDestinationPapertrailOutput { + return i.ToAppSpecWorkerLogDestinationPapertrailOutputWithContext(context.Background()) } -func (i LoadBalancerForwardingRuleArgs) ToLoadBalancerForwardingRuleOutputWithContext(ctx context.Context) LoadBalancerForwardingRuleOutput { - return pulumi.ToOutputWithContext(ctx, i).(LoadBalancerForwardingRuleOutput) +func (i AppSpecWorkerLogDestinationPapertrailArgs) ToAppSpecWorkerLogDestinationPapertrailOutputWithContext(ctx context.Context) AppSpecWorkerLogDestinationPapertrailOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecWorkerLogDestinationPapertrailOutput) } -// LoadBalancerForwardingRuleArrayInput is an input type that accepts LoadBalancerForwardingRuleArray and LoadBalancerForwardingRuleArrayOutput values. -// You can construct a concrete instance of `LoadBalancerForwardingRuleArrayInput` via: +func (i AppSpecWorkerLogDestinationPapertrailArgs) ToAppSpecWorkerLogDestinationPapertrailPtrOutput() AppSpecWorkerLogDestinationPapertrailPtrOutput { + return i.ToAppSpecWorkerLogDestinationPapertrailPtrOutputWithContext(context.Background()) +} + +func (i AppSpecWorkerLogDestinationPapertrailArgs) ToAppSpecWorkerLogDestinationPapertrailPtrOutputWithContext(ctx context.Context) AppSpecWorkerLogDestinationPapertrailPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecWorkerLogDestinationPapertrailOutput).ToAppSpecWorkerLogDestinationPapertrailPtrOutputWithContext(ctx) +} + +// AppSpecWorkerLogDestinationPapertrailPtrInput is an input type that accepts AppSpecWorkerLogDestinationPapertrailArgs, AppSpecWorkerLogDestinationPapertrailPtr and AppSpecWorkerLogDestinationPapertrailPtrOutput values. +// You can construct a concrete instance of `AppSpecWorkerLogDestinationPapertrailPtrInput` via: // -// LoadBalancerForwardingRuleArray{ LoadBalancerForwardingRuleArgs{...} } -type LoadBalancerForwardingRuleArrayInput interface { +// AppSpecWorkerLogDestinationPapertrailArgs{...} +// +// or: +// +// nil +type AppSpecWorkerLogDestinationPapertrailPtrInput interface { pulumi.Input - ToLoadBalancerForwardingRuleArrayOutput() LoadBalancerForwardingRuleArrayOutput - ToLoadBalancerForwardingRuleArrayOutputWithContext(context.Context) LoadBalancerForwardingRuleArrayOutput + ToAppSpecWorkerLogDestinationPapertrailPtrOutput() AppSpecWorkerLogDestinationPapertrailPtrOutput + ToAppSpecWorkerLogDestinationPapertrailPtrOutputWithContext(context.Context) AppSpecWorkerLogDestinationPapertrailPtrOutput } -type LoadBalancerForwardingRuleArray []LoadBalancerForwardingRuleInput +type appSpecWorkerLogDestinationPapertrailPtrType AppSpecWorkerLogDestinationPapertrailArgs -func (LoadBalancerForwardingRuleArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]LoadBalancerForwardingRule)(nil)).Elem() +func AppSpecWorkerLogDestinationPapertrailPtr(v *AppSpecWorkerLogDestinationPapertrailArgs) AppSpecWorkerLogDestinationPapertrailPtrInput { + return (*appSpecWorkerLogDestinationPapertrailPtrType)(v) } -func (i LoadBalancerForwardingRuleArray) ToLoadBalancerForwardingRuleArrayOutput() LoadBalancerForwardingRuleArrayOutput { - return i.ToLoadBalancerForwardingRuleArrayOutputWithContext(context.Background()) +func (*appSpecWorkerLogDestinationPapertrailPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecWorkerLogDestinationPapertrail)(nil)).Elem() } -func (i LoadBalancerForwardingRuleArray) ToLoadBalancerForwardingRuleArrayOutputWithContext(ctx context.Context) LoadBalancerForwardingRuleArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(LoadBalancerForwardingRuleArrayOutput) +func (i *appSpecWorkerLogDestinationPapertrailPtrType) ToAppSpecWorkerLogDestinationPapertrailPtrOutput() AppSpecWorkerLogDestinationPapertrailPtrOutput { + return i.ToAppSpecWorkerLogDestinationPapertrailPtrOutputWithContext(context.Background()) } -type LoadBalancerForwardingRuleOutput struct{ *pulumi.OutputState } +func (i *appSpecWorkerLogDestinationPapertrailPtrType) ToAppSpecWorkerLogDestinationPapertrailPtrOutputWithContext(ctx context.Context) AppSpecWorkerLogDestinationPapertrailPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppSpecWorkerLogDestinationPapertrailPtrOutput) +} -func (LoadBalancerForwardingRuleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LoadBalancerForwardingRule)(nil)).Elem() +type AppSpecWorkerLogDestinationPapertrailOutput struct{ *pulumi.OutputState } + +func (AppSpecWorkerLogDestinationPapertrailOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppSpecWorkerLogDestinationPapertrail)(nil)).Elem() } -func (o LoadBalancerForwardingRuleOutput) ToLoadBalancerForwardingRuleOutput() LoadBalancerForwardingRuleOutput { +func (o AppSpecWorkerLogDestinationPapertrailOutput) ToAppSpecWorkerLogDestinationPapertrailOutput() AppSpecWorkerLogDestinationPapertrailOutput { return o } -func (o LoadBalancerForwardingRuleOutput) ToLoadBalancerForwardingRuleOutputWithContext(ctx context.Context) LoadBalancerForwardingRuleOutput { +func (o AppSpecWorkerLogDestinationPapertrailOutput) ToAppSpecWorkerLogDestinationPapertrailOutputWithContext(ctx context.Context) AppSpecWorkerLogDestinationPapertrailOutput { return o } -// **Deprecated** The ID of the TLS certificate to be used for SSL termination. -// -// Deprecated: Certificate IDs may change, for example when a Let's Encrypt certificate is auto-renewed. Please specify 'certificate_name' instead. -func (o LoadBalancerForwardingRuleOutput) CertificateId() pulumi.StringPtrOutput { - return o.ApplyT(func(v LoadBalancerForwardingRule) *string { return v.CertificateId }).(pulumi.StringPtrOutput) +func (o AppSpecWorkerLogDestinationPapertrailOutput) ToAppSpecWorkerLogDestinationPapertrailPtrOutput() AppSpecWorkerLogDestinationPapertrailPtrOutput { + return o.ToAppSpecWorkerLogDestinationPapertrailPtrOutputWithContext(context.Background()) } -// The unique name of the TLS certificate to be used for SSL termination. -func (o LoadBalancerForwardingRuleOutput) CertificateName() pulumi.StringPtrOutput { - return o.ApplyT(func(v LoadBalancerForwardingRule) *string { return v.CertificateName }).(pulumi.StringPtrOutput) +func (o AppSpecWorkerLogDestinationPapertrailOutput) ToAppSpecWorkerLogDestinationPapertrailPtrOutputWithContext(ctx context.Context) AppSpecWorkerLogDestinationPapertrailPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AppSpecWorkerLogDestinationPapertrail) *AppSpecWorkerLogDestinationPapertrail { + return &v + }).(AppSpecWorkerLogDestinationPapertrailPtrOutput) } -// An integer representing the port on which the Load Balancer instance will listen. -func (o LoadBalancerForwardingRuleOutput) EntryPort() pulumi.IntOutput { - return o.ApplyT(func(v LoadBalancerForwardingRule) int { return v.EntryPort }).(pulumi.IntOutput) +// Datadog HTTP log intake endpoint. +func (o AppSpecWorkerLogDestinationPapertrailOutput) Endpoint() pulumi.StringOutput { + return o.ApplyT(func(v AppSpecWorkerLogDestinationPapertrail) string { return v.Endpoint }).(pulumi.StringOutput) } -// The protocol used for traffic to the Load Balancer. The possible values are: `http`, `https`, `http2` or `tcp`. -func (o LoadBalancerForwardingRuleOutput) EntryProtocol() pulumi.StringOutput { - return o.ApplyT(func(v LoadBalancerForwardingRule) string { return v.EntryProtocol }).(pulumi.StringOutput) -} +type AppSpecWorkerLogDestinationPapertrailPtrOutput struct{ *pulumi.OutputState } -// An integer representing the port on the backend Droplets to which the Load Balancer will send traffic. -func (o LoadBalancerForwardingRuleOutput) TargetPort() pulumi.IntOutput { - return o.ApplyT(func(v LoadBalancerForwardingRule) int { return v.TargetPort }).(pulumi.IntOutput) +func (AppSpecWorkerLogDestinationPapertrailPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AppSpecWorkerLogDestinationPapertrail)(nil)).Elem() } -// The protocol used for traffic from the Load Balancer to the backend Droplets. The possible values are: `http`, `https`, `http2` or `tcp`. -func (o LoadBalancerForwardingRuleOutput) TargetProtocol() pulumi.StringOutput { - return o.ApplyT(func(v LoadBalancerForwardingRule) string { return v.TargetProtocol }).(pulumi.StringOutput) +func (o AppSpecWorkerLogDestinationPapertrailPtrOutput) ToAppSpecWorkerLogDestinationPapertrailPtrOutput() AppSpecWorkerLogDestinationPapertrailPtrOutput { + return o } -// A boolean value indicating whether SSL encrypted traffic will be passed through to the backend Droplets. The default value is `false`. -func (o LoadBalancerForwardingRuleOutput) TlsPassthrough() pulumi.BoolPtrOutput { - return o.ApplyT(func(v LoadBalancerForwardingRule) *bool { return v.TlsPassthrough }).(pulumi.BoolPtrOutput) +func (o AppSpecWorkerLogDestinationPapertrailPtrOutput) ToAppSpecWorkerLogDestinationPapertrailPtrOutputWithContext(ctx context.Context) AppSpecWorkerLogDestinationPapertrailPtrOutput { + return o } -type LoadBalancerForwardingRuleArrayOutput struct{ *pulumi.OutputState } - -func (LoadBalancerForwardingRuleArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]LoadBalancerForwardingRule)(nil)).Elem() +func (o AppSpecWorkerLogDestinationPapertrailPtrOutput) Elem() AppSpecWorkerLogDestinationPapertrailOutput { + return o.ApplyT(func(v *AppSpecWorkerLogDestinationPapertrail) AppSpecWorkerLogDestinationPapertrail { + if v != nil { + return *v + } + var ret AppSpecWorkerLogDestinationPapertrail + return ret + }).(AppSpecWorkerLogDestinationPapertrailOutput) } -func (o LoadBalancerForwardingRuleArrayOutput) ToLoadBalancerForwardingRuleArrayOutput() LoadBalancerForwardingRuleArrayOutput { - return o +// Datadog HTTP log intake endpoint. +func (o AppSpecWorkerLogDestinationPapertrailPtrOutput) Endpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppSpecWorkerLogDestinationPapertrail) *string { + if v == nil { + return nil + } + return &v.Endpoint + }).(pulumi.StringPtrOutput) } -func (o LoadBalancerForwardingRuleArrayOutput) ToLoadBalancerForwardingRuleArrayOutputWithContext(ctx context.Context) LoadBalancerForwardingRuleArrayOutput { - return o +type DatabaseClusterMaintenanceWindow struct { + // The day of the week on which to apply maintenance updates. + Day string `pulumi:"day"` + // The hour in UTC at which maintenance updates will be applied in 24 hour format. + Hour string `pulumi:"hour"` } -func (o LoadBalancerForwardingRuleArrayOutput) Index(i pulumi.IntInput) LoadBalancerForwardingRuleOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) LoadBalancerForwardingRule { - return vs[0].([]LoadBalancerForwardingRule)[vs[1].(int)] - }).(LoadBalancerForwardingRuleOutput) +// DatabaseClusterMaintenanceWindowInput is an input type that accepts DatabaseClusterMaintenanceWindowArgs and DatabaseClusterMaintenanceWindowOutput values. +// You can construct a concrete instance of `DatabaseClusterMaintenanceWindowInput` via: +// +// DatabaseClusterMaintenanceWindowArgs{...} +type DatabaseClusterMaintenanceWindowInput interface { + pulumi.Input + + ToDatabaseClusterMaintenanceWindowOutput() DatabaseClusterMaintenanceWindowOutput + ToDatabaseClusterMaintenanceWindowOutputWithContext(context.Context) DatabaseClusterMaintenanceWindowOutput } -type LoadBalancerHealthcheck struct { - // The number of seconds between between two consecutive health checks. If not specified, the default value is `10`. - CheckIntervalSeconds *int `pulumi:"checkIntervalSeconds"` - // The number of times a health check must pass for a backend Droplet to be marked "healthy" and be re-added to the pool. If not specified, the default value is `5`. - HealthyThreshold *int `pulumi:"healthyThreshold"` - // The path on the backend Droplets to which the Load Balancer instance will send a request. - Path *string `pulumi:"path"` - // An integer representing the port on the backend Droplets on which the health check will attempt a connection. - Port int `pulumi:"port"` - // The protocol used for health checks sent to the backend Droplets. The possible values are `http`, `https` or `tcp`. - Protocol string `pulumi:"protocol"` - // The number of seconds the Load Balancer instance will wait for a response until marking a health check as failed. If not specified, the default value is `5`. - ResponseTimeoutSeconds *int `pulumi:"responseTimeoutSeconds"` - // The number of times a health check must fail for a backend Droplet to be marked "unhealthy" and be removed from the pool. If not specified, the default value is `3`. - UnhealthyThreshold *int `pulumi:"unhealthyThreshold"` +type DatabaseClusterMaintenanceWindowArgs struct { + // The day of the week on which to apply maintenance updates. + Day pulumi.StringInput `pulumi:"day"` + // The hour in UTC at which maintenance updates will be applied in 24 hour format. + Hour pulumi.StringInput `pulumi:"hour"` } -// LoadBalancerHealthcheckInput is an input type that accepts LoadBalancerHealthcheckArgs and LoadBalancerHealthcheckOutput values. -// You can construct a concrete instance of `LoadBalancerHealthcheckInput` via: -// -// LoadBalancerHealthcheckArgs{...} -type LoadBalancerHealthcheckInput interface { - pulumi.Input - - ToLoadBalancerHealthcheckOutput() LoadBalancerHealthcheckOutput - ToLoadBalancerHealthcheckOutputWithContext(context.Context) LoadBalancerHealthcheckOutput +func (DatabaseClusterMaintenanceWindowArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DatabaseClusterMaintenanceWindow)(nil)).Elem() } -type LoadBalancerHealthcheckArgs struct { - // The number of seconds between between two consecutive health checks. If not specified, the default value is `10`. - CheckIntervalSeconds pulumi.IntPtrInput `pulumi:"checkIntervalSeconds"` - // The number of times a health check must pass for a backend Droplet to be marked "healthy" and be re-added to the pool. If not specified, the default value is `5`. - HealthyThreshold pulumi.IntPtrInput `pulumi:"healthyThreshold"` - // The path on the backend Droplets to which the Load Balancer instance will send a request. - Path pulumi.StringPtrInput `pulumi:"path"` - // An integer representing the port on the backend Droplets on which the health check will attempt a connection. - Port pulumi.IntInput `pulumi:"port"` - // The protocol used for health checks sent to the backend Droplets. The possible values are `http`, `https` or `tcp`. - Protocol pulumi.StringInput `pulumi:"protocol"` - // The number of seconds the Load Balancer instance will wait for a response until marking a health check as failed. If not specified, the default value is `5`. - ResponseTimeoutSeconds pulumi.IntPtrInput `pulumi:"responseTimeoutSeconds"` - // The number of times a health check must fail for a backend Droplet to be marked "unhealthy" and be removed from the pool. If not specified, the default value is `3`. - UnhealthyThreshold pulumi.IntPtrInput `pulumi:"unhealthyThreshold"` +func (i DatabaseClusterMaintenanceWindowArgs) ToDatabaseClusterMaintenanceWindowOutput() DatabaseClusterMaintenanceWindowOutput { + return i.ToDatabaseClusterMaintenanceWindowOutputWithContext(context.Background()) } -func (LoadBalancerHealthcheckArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LoadBalancerHealthcheck)(nil)).Elem() +func (i DatabaseClusterMaintenanceWindowArgs) ToDatabaseClusterMaintenanceWindowOutputWithContext(ctx context.Context) DatabaseClusterMaintenanceWindowOutput { + return pulumi.ToOutputWithContext(ctx, i).(DatabaseClusterMaintenanceWindowOutput) } -func (i LoadBalancerHealthcheckArgs) ToLoadBalancerHealthcheckOutput() LoadBalancerHealthcheckOutput { - return i.ToLoadBalancerHealthcheckOutputWithContext(context.Background()) +// DatabaseClusterMaintenanceWindowArrayInput is an input type that accepts DatabaseClusterMaintenanceWindowArray and DatabaseClusterMaintenanceWindowArrayOutput values. +// You can construct a concrete instance of `DatabaseClusterMaintenanceWindowArrayInput` via: +// +// DatabaseClusterMaintenanceWindowArray{ DatabaseClusterMaintenanceWindowArgs{...} } +type DatabaseClusterMaintenanceWindowArrayInput interface { + pulumi.Input + + ToDatabaseClusterMaintenanceWindowArrayOutput() DatabaseClusterMaintenanceWindowArrayOutput + ToDatabaseClusterMaintenanceWindowArrayOutputWithContext(context.Context) DatabaseClusterMaintenanceWindowArrayOutput } -func (i LoadBalancerHealthcheckArgs) ToLoadBalancerHealthcheckOutputWithContext(ctx context.Context) LoadBalancerHealthcheckOutput { - return pulumi.ToOutputWithContext(ctx, i).(LoadBalancerHealthcheckOutput) +type DatabaseClusterMaintenanceWindowArray []DatabaseClusterMaintenanceWindowInput + +func (DatabaseClusterMaintenanceWindowArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]DatabaseClusterMaintenanceWindow)(nil)).Elem() } -func (i LoadBalancerHealthcheckArgs) ToLoadBalancerHealthcheckPtrOutput() LoadBalancerHealthcheckPtrOutput { - return i.ToLoadBalancerHealthcheckPtrOutputWithContext(context.Background()) +func (i DatabaseClusterMaintenanceWindowArray) ToDatabaseClusterMaintenanceWindowArrayOutput() DatabaseClusterMaintenanceWindowArrayOutput { + return i.ToDatabaseClusterMaintenanceWindowArrayOutputWithContext(context.Background()) } -func (i LoadBalancerHealthcheckArgs) ToLoadBalancerHealthcheckPtrOutputWithContext(ctx context.Context) LoadBalancerHealthcheckPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LoadBalancerHealthcheckOutput).ToLoadBalancerHealthcheckPtrOutputWithContext(ctx) +func (i DatabaseClusterMaintenanceWindowArray) ToDatabaseClusterMaintenanceWindowArrayOutputWithContext(ctx context.Context) DatabaseClusterMaintenanceWindowArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DatabaseClusterMaintenanceWindowArrayOutput) } -// LoadBalancerHealthcheckPtrInput is an input type that accepts LoadBalancerHealthcheckArgs, LoadBalancerHealthcheckPtr and LoadBalancerHealthcheckPtrOutput values. -// You can construct a concrete instance of `LoadBalancerHealthcheckPtrInput` via: -// -// LoadBalancerHealthcheckArgs{...} -// -// or: -// -// nil -type LoadBalancerHealthcheckPtrInput interface { - pulumi.Input +type DatabaseClusterMaintenanceWindowOutput struct{ *pulumi.OutputState } - ToLoadBalancerHealthcheckPtrOutput() LoadBalancerHealthcheckPtrOutput - ToLoadBalancerHealthcheckPtrOutputWithContext(context.Context) LoadBalancerHealthcheckPtrOutput +func (DatabaseClusterMaintenanceWindowOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DatabaseClusterMaintenanceWindow)(nil)).Elem() } -type loadBalancerHealthcheckPtrType LoadBalancerHealthcheckArgs - -func LoadBalancerHealthcheckPtr(v *LoadBalancerHealthcheckArgs) LoadBalancerHealthcheckPtrInput { - return (*loadBalancerHealthcheckPtrType)(v) +func (o DatabaseClusterMaintenanceWindowOutput) ToDatabaseClusterMaintenanceWindowOutput() DatabaseClusterMaintenanceWindowOutput { + return o } -func (*loadBalancerHealthcheckPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**LoadBalancerHealthcheck)(nil)).Elem() +func (o DatabaseClusterMaintenanceWindowOutput) ToDatabaseClusterMaintenanceWindowOutputWithContext(ctx context.Context) DatabaseClusterMaintenanceWindowOutput { + return o } -func (i *loadBalancerHealthcheckPtrType) ToLoadBalancerHealthcheckPtrOutput() LoadBalancerHealthcheckPtrOutput { - return i.ToLoadBalancerHealthcheckPtrOutputWithContext(context.Background()) +// The day of the week on which to apply maintenance updates. +func (o DatabaseClusterMaintenanceWindowOutput) Day() pulumi.StringOutput { + return o.ApplyT(func(v DatabaseClusterMaintenanceWindow) string { return v.Day }).(pulumi.StringOutput) } -func (i *loadBalancerHealthcheckPtrType) ToLoadBalancerHealthcheckPtrOutputWithContext(ctx context.Context) LoadBalancerHealthcheckPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LoadBalancerHealthcheckPtrOutput) +// The hour in UTC at which maintenance updates will be applied in 24 hour format. +func (o DatabaseClusterMaintenanceWindowOutput) Hour() pulumi.StringOutput { + return o.ApplyT(func(v DatabaseClusterMaintenanceWindow) string { return v.Hour }).(pulumi.StringOutput) } -type LoadBalancerHealthcheckOutput struct{ *pulumi.OutputState } +type DatabaseClusterMaintenanceWindowArrayOutput struct{ *pulumi.OutputState } -func (LoadBalancerHealthcheckOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LoadBalancerHealthcheck)(nil)).Elem() +func (DatabaseClusterMaintenanceWindowArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]DatabaseClusterMaintenanceWindow)(nil)).Elem() } -func (o LoadBalancerHealthcheckOutput) ToLoadBalancerHealthcheckOutput() LoadBalancerHealthcheckOutput { +func (o DatabaseClusterMaintenanceWindowArrayOutput) ToDatabaseClusterMaintenanceWindowArrayOutput() DatabaseClusterMaintenanceWindowArrayOutput { return o } -func (o LoadBalancerHealthcheckOutput) ToLoadBalancerHealthcheckOutputWithContext(ctx context.Context) LoadBalancerHealthcheckOutput { +func (o DatabaseClusterMaintenanceWindowArrayOutput) ToDatabaseClusterMaintenanceWindowArrayOutputWithContext(ctx context.Context) DatabaseClusterMaintenanceWindowArrayOutput { return o } -func (o LoadBalancerHealthcheckOutput) ToLoadBalancerHealthcheckPtrOutput() LoadBalancerHealthcheckPtrOutput { - return o.ToLoadBalancerHealthcheckPtrOutputWithContext(context.Background()) +func (o DatabaseClusterMaintenanceWindowArrayOutput) Index(i pulumi.IntInput) DatabaseClusterMaintenanceWindowOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) DatabaseClusterMaintenanceWindow { + return vs[0].([]DatabaseClusterMaintenanceWindow)[vs[1].(int)] + }).(DatabaseClusterMaintenanceWindowOutput) } -func (o LoadBalancerHealthcheckOutput) ToLoadBalancerHealthcheckPtrOutputWithContext(ctx context.Context) LoadBalancerHealthcheckPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LoadBalancerHealthcheck) *LoadBalancerHealthcheck { - return &v - }).(LoadBalancerHealthcheckPtrOutput) +type DatabaseFirewallRule struct { + // The date and time when the firewall rule was created. + CreatedAt *string `pulumi:"createdAt"` + // The type of resource that the firewall rule allows to access the database cluster. The possible values are: `droplet`, `k8s`, `ipAddr`, `tag`, or `app`. + Type string `pulumi:"type"` + // A unique identifier for the firewall rule. + Uuid *string `pulumi:"uuid"` + // The ID of the specific resource, the name of a tag applied to a group of resources, or the IP address that the firewall rule allows to access the database cluster. + Value string `pulumi:"value"` } -// The number of seconds between between two consecutive health checks. If not specified, the default value is `10`. -func (o LoadBalancerHealthcheckOutput) CheckIntervalSeconds() pulumi.IntPtrOutput { - return o.ApplyT(func(v LoadBalancerHealthcheck) *int { return v.CheckIntervalSeconds }).(pulumi.IntPtrOutput) +// DatabaseFirewallRuleInput is an input type that accepts DatabaseFirewallRuleArgs and DatabaseFirewallRuleOutput values. +// You can construct a concrete instance of `DatabaseFirewallRuleInput` via: +// +// DatabaseFirewallRuleArgs{...} +type DatabaseFirewallRuleInput interface { + pulumi.Input + + ToDatabaseFirewallRuleOutput() DatabaseFirewallRuleOutput + ToDatabaseFirewallRuleOutputWithContext(context.Context) DatabaseFirewallRuleOutput } -// The number of times a health check must pass for a backend Droplet to be marked "healthy" and be re-added to the pool. If not specified, the default value is `5`. -func (o LoadBalancerHealthcheckOutput) HealthyThreshold() pulumi.IntPtrOutput { - return o.ApplyT(func(v LoadBalancerHealthcheck) *int { return v.HealthyThreshold }).(pulumi.IntPtrOutput) +type DatabaseFirewallRuleArgs struct { + // The date and time when the firewall rule was created. + CreatedAt pulumi.StringPtrInput `pulumi:"createdAt"` + // The type of resource that the firewall rule allows to access the database cluster. The possible values are: `droplet`, `k8s`, `ipAddr`, `tag`, or `app`. + Type pulumi.StringInput `pulumi:"type"` + // A unique identifier for the firewall rule. + Uuid pulumi.StringPtrInput `pulumi:"uuid"` + // The ID of the specific resource, the name of a tag applied to a group of resources, or the IP address that the firewall rule allows to access the database cluster. + Value pulumi.StringInput `pulumi:"value"` } -// The path on the backend Droplets to which the Load Balancer instance will send a request. -func (o LoadBalancerHealthcheckOutput) Path() pulumi.StringPtrOutput { - return o.ApplyT(func(v LoadBalancerHealthcheck) *string { return v.Path }).(pulumi.StringPtrOutput) +func (DatabaseFirewallRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DatabaseFirewallRule)(nil)).Elem() } -// An integer representing the port on the backend Droplets on which the health check will attempt a connection. -func (o LoadBalancerHealthcheckOutput) Port() pulumi.IntOutput { - return o.ApplyT(func(v LoadBalancerHealthcheck) int { return v.Port }).(pulumi.IntOutput) +func (i DatabaseFirewallRuleArgs) ToDatabaseFirewallRuleOutput() DatabaseFirewallRuleOutput { + return i.ToDatabaseFirewallRuleOutputWithContext(context.Background()) } -// The protocol used for health checks sent to the backend Droplets. The possible values are `http`, `https` or `tcp`. -func (o LoadBalancerHealthcheckOutput) Protocol() pulumi.StringOutput { - return o.ApplyT(func(v LoadBalancerHealthcheck) string { return v.Protocol }).(pulumi.StringOutput) +func (i DatabaseFirewallRuleArgs) ToDatabaseFirewallRuleOutputWithContext(ctx context.Context) DatabaseFirewallRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(DatabaseFirewallRuleOutput) } -// The number of seconds the Load Balancer instance will wait for a response until marking a health check as failed. If not specified, the default value is `5`. -func (o LoadBalancerHealthcheckOutput) ResponseTimeoutSeconds() pulumi.IntPtrOutput { - return o.ApplyT(func(v LoadBalancerHealthcheck) *int { return v.ResponseTimeoutSeconds }).(pulumi.IntPtrOutput) +// DatabaseFirewallRuleArrayInput is an input type that accepts DatabaseFirewallRuleArray and DatabaseFirewallRuleArrayOutput values. +// You can construct a concrete instance of `DatabaseFirewallRuleArrayInput` via: +// +// DatabaseFirewallRuleArray{ DatabaseFirewallRuleArgs{...} } +type DatabaseFirewallRuleArrayInput interface { + pulumi.Input + + ToDatabaseFirewallRuleArrayOutput() DatabaseFirewallRuleArrayOutput + ToDatabaseFirewallRuleArrayOutputWithContext(context.Context) DatabaseFirewallRuleArrayOutput } -// The number of times a health check must fail for a backend Droplet to be marked "unhealthy" and be removed from the pool. If not specified, the default value is `3`. -func (o LoadBalancerHealthcheckOutput) UnhealthyThreshold() pulumi.IntPtrOutput { - return o.ApplyT(func(v LoadBalancerHealthcheck) *int { return v.UnhealthyThreshold }).(pulumi.IntPtrOutput) +type DatabaseFirewallRuleArray []DatabaseFirewallRuleInput + +func (DatabaseFirewallRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]DatabaseFirewallRule)(nil)).Elem() } -type LoadBalancerHealthcheckPtrOutput struct{ *pulumi.OutputState } +func (i DatabaseFirewallRuleArray) ToDatabaseFirewallRuleArrayOutput() DatabaseFirewallRuleArrayOutput { + return i.ToDatabaseFirewallRuleArrayOutputWithContext(context.Background()) +} -func (LoadBalancerHealthcheckPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LoadBalancerHealthcheck)(nil)).Elem() +func (i DatabaseFirewallRuleArray) ToDatabaseFirewallRuleArrayOutputWithContext(ctx context.Context) DatabaseFirewallRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DatabaseFirewallRuleArrayOutput) } -func (o LoadBalancerHealthcheckPtrOutput) ToLoadBalancerHealthcheckPtrOutput() LoadBalancerHealthcheckPtrOutput { - return o +type DatabaseFirewallRuleOutput struct{ *pulumi.OutputState } + +func (DatabaseFirewallRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DatabaseFirewallRule)(nil)).Elem() } -func (o LoadBalancerHealthcheckPtrOutput) ToLoadBalancerHealthcheckPtrOutputWithContext(ctx context.Context) LoadBalancerHealthcheckPtrOutput { +func (o DatabaseFirewallRuleOutput) ToDatabaseFirewallRuleOutput() DatabaseFirewallRuleOutput { return o } -func (o LoadBalancerHealthcheckPtrOutput) Elem() LoadBalancerHealthcheckOutput { - return o.ApplyT(func(v *LoadBalancerHealthcheck) LoadBalancerHealthcheck { - if v != nil { - return *v - } - var ret LoadBalancerHealthcheck - return ret - }).(LoadBalancerHealthcheckOutput) +func (o DatabaseFirewallRuleOutput) ToDatabaseFirewallRuleOutputWithContext(ctx context.Context) DatabaseFirewallRuleOutput { + return o } -// The number of seconds between between two consecutive health checks. If not specified, the default value is `10`. -func (o LoadBalancerHealthcheckPtrOutput) CheckIntervalSeconds() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LoadBalancerHealthcheck) *int { - if v == nil { - return nil - } - return v.CheckIntervalSeconds - }).(pulumi.IntPtrOutput) +// The date and time when the firewall rule was created. +func (o DatabaseFirewallRuleOutput) CreatedAt() pulumi.StringPtrOutput { + return o.ApplyT(func(v DatabaseFirewallRule) *string { return v.CreatedAt }).(pulumi.StringPtrOutput) } -// The number of times a health check must pass for a backend Droplet to be marked "healthy" and be re-added to the pool. If not specified, the default value is `5`. -func (o LoadBalancerHealthcheckPtrOutput) HealthyThreshold() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LoadBalancerHealthcheck) *int { - if v == nil { - return nil - } - return v.HealthyThreshold - }).(pulumi.IntPtrOutput) +// The type of resource that the firewall rule allows to access the database cluster. The possible values are: `droplet`, `k8s`, `ipAddr`, `tag`, or `app`. +func (o DatabaseFirewallRuleOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v DatabaseFirewallRule) string { return v.Type }).(pulumi.StringOutput) } -// The path on the backend Droplets to which the Load Balancer instance will send a request. -func (o LoadBalancerHealthcheckPtrOutput) Path() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LoadBalancerHealthcheck) *string { - if v == nil { - return nil - } - return v.Path - }).(pulumi.StringPtrOutput) +// A unique identifier for the firewall rule. +func (o DatabaseFirewallRuleOutput) Uuid() pulumi.StringPtrOutput { + return o.ApplyT(func(v DatabaseFirewallRule) *string { return v.Uuid }).(pulumi.StringPtrOutput) } -// An integer representing the port on the backend Droplets on which the health check will attempt a connection. -func (o LoadBalancerHealthcheckPtrOutput) Port() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LoadBalancerHealthcheck) *int { - if v == nil { - return nil - } - return &v.Port - }).(pulumi.IntPtrOutput) +// The ID of the specific resource, the name of a tag applied to a group of resources, or the IP address that the firewall rule allows to access the database cluster. +func (o DatabaseFirewallRuleOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v DatabaseFirewallRule) string { return v.Value }).(pulumi.StringOutput) } -// The protocol used for health checks sent to the backend Droplets. The possible values are `http`, `https` or `tcp`. -func (o LoadBalancerHealthcheckPtrOutput) Protocol() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LoadBalancerHealthcheck) *string { - if v == nil { - return nil - } - return &v.Protocol - }).(pulumi.StringPtrOutput) -} +type DatabaseFirewallRuleArrayOutput struct{ *pulumi.OutputState } -// The number of seconds the Load Balancer instance will wait for a response until marking a health check as failed. If not specified, the default value is `5`. -func (o LoadBalancerHealthcheckPtrOutput) ResponseTimeoutSeconds() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LoadBalancerHealthcheck) *int { - if v == nil { - return nil - } - return v.ResponseTimeoutSeconds - }).(pulumi.IntPtrOutput) +func (DatabaseFirewallRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]DatabaseFirewallRule)(nil)).Elem() } -// The number of times a health check must fail for a backend Droplet to be marked "unhealthy" and be removed from the pool. If not specified, the default value is `3`. -func (o LoadBalancerHealthcheckPtrOutput) UnhealthyThreshold() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LoadBalancerHealthcheck) *int { - if v == nil { - return nil - } - return v.UnhealthyThreshold - }).(pulumi.IntPtrOutput) +func (o DatabaseFirewallRuleArrayOutput) ToDatabaseFirewallRuleArrayOutput() DatabaseFirewallRuleArrayOutput { + return o } -type LoadBalancerStickySessions struct { - // The name to be used for the cookie sent to the client. This attribute is required when using `cookies` for the sticky sessions type. - CookieName *string `pulumi:"cookieName"` - // The number of seconds until the cookie set by the Load Balancer expires. This attribute is required when using `cookies` for the sticky sessions type. - CookieTtlSeconds *int `pulumi:"cookieTtlSeconds"` - // An attribute indicating how and if requests from a client will be persistently served by the same backend Droplet. The possible values are `cookies` or `none`. If not specified, the default value is `none`. - Type *string `pulumi:"type"` +func (o DatabaseFirewallRuleArrayOutput) ToDatabaseFirewallRuleArrayOutputWithContext(ctx context.Context) DatabaseFirewallRuleArrayOutput { + return o } -// LoadBalancerStickySessionsInput is an input type that accepts LoadBalancerStickySessionsArgs and LoadBalancerStickySessionsOutput values. -// You can construct a concrete instance of `LoadBalancerStickySessionsInput` via: -// -// LoadBalancerStickySessionsArgs{...} -type LoadBalancerStickySessionsInput interface { - pulumi.Input - - ToLoadBalancerStickySessionsOutput() LoadBalancerStickySessionsOutput - ToLoadBalancerStickySessionsOutputWithContext(context.Context) LoadBalancerStickySessionsOutput +func (o DatabaseFirewallRuleArrayOutput) Index(i pulumi.IntInput) DatabaseFirewallRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) DatabaseFirewallRule { + return vs[0].([]DatabaseFirewallRule)[vs[1].(int)] + }).(DatabaseFirewallRuleOutput) } -type LoadBalancerStickySessionsArgs struct { - // The name to be used for the cookie sent to the client. This attribute is required when using `cookies` for the sticky sessions type. - CookieName pulumi.StringPtrInput `pulumi:"cookieName"` - // The number of seconds until the cookie set by the Load Balancer expires. This attribute is required when using `cookies` for the sticky sessions type. - CookieTtlSeconds pulumi.IntPtrInput `pulumi:"cookieTtlSeconds"` - // An attribute indicating how and if requests from a client will be persistently served by the same backend Droplet. The possible values are `cookies` or `none`. If not specified, the default value is `none`. - Type pulumi.StringPtrInput `pulumi:"type"` +type FirewallInboundRule struct { + // The ports on which traffic will be allowed + // specified as a string containing a single port, a range (e.g. "8000-9000"), + // or "1-65535" to open all ports for a protocol. Required for when protocol is + // `tcp` or `udp`. + PortRange *string `pulumi:"portRange"` + // The type of traffic to be allowed. + // This may be one of "tcp", "udp", or "icmp". + Protocol string `pulumi:"protocol"` + // An array of strings containing the IPv4 + // addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs from which the + // inbound traffic will be accepted. + SourceAddresses []string `pulumi:"sourceAddresses"` + // An array containing the IDs of + // the Droplets from which the inbound traffic will be accepted. + SourceDropletIds []int `pulumi:"sourceDropletIds"` + // An array containing the IDs of + // the Kubernetes clusters from which the inbound traffic will be accepted. + SourceKubernetesIds []string `pulumi:"sourceKubernetesIds"` + // An array containing the IDs + // of the Load Balancers from which the inbound traffic will be accepted. + SourceLoadBalancerUids []string `pulumi:"sourceLoadBalancerUids"` + // An array containing the names of Tags + // corresponding to groups of Droplets from which the inbound traffic + // will be accepted. + SourceTags []string `pulumi:"sourceTags"` } -func (LoadBalancerStickySessionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LoadBalancerStickySessions)(nil)).Elem() +// FirewallInboundRuleInput is an input type that accepts FirewallInboundRuleArgs and FirewallInboundRuleOutput values. +// You can construct a concrete instance of `FirewallInboundRuleInput` via: +// +// FirewallInboundRuleArgs{...} +type FirewallInboundRuleInput interface { + pulumi.Input + + ToFirewallInboundRuleOutput() FirewallInboundRuleOutput + ToFirewallInboundRuleOutputWithContext(context.Context) FirewallInboundRuleOutput } -func (i LoadBalancerStickySessionsArgs) ToLoadBalancerStickySessionsOutput() LoadBalancerStickySessionsOutput { - return i.ToLoadBalancerStickySessionsOutputWithContext(context.Background()) +type FirewallInboundRuleArgs struct { + // The ports on which traffic will be allowed + // specified as a string containing a single port, a range (e.g. "8000-9000"), + // or "1-65535" to open all ports for a protocol. Required for when protocol is + // `tcp` or `udp`. + PortRange pulumi.StringPtrInput `pulumi:"portRange"` + // The type of traffic to be allowed. + // This may be one of "tcp", "udp", or "icmp". + Protocol pulumi.StringInput `pulumi:"protocol"` + // An array of strings containing the IPv4 + // addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs from which the + // inbound traffic will be accepted. + SourceAddresses pulumi.StringArrayInput `pulumi:"sourceAddresses"` + // An array containing the IDs of + // the Droplets from which the inbound traffic will be accepted. + SourceDropletIds pulumi.IntArrayInput `pulumi:"sourceDropletIds"` + // An array containing the IDs of + // the Kubernetes clusters from which the inbound traffic will be accepted. + SourceKubernetesIds pulumi.StringArrayInput `pulumi:"sourceKubernetesIds"` + // An array containing the IDs + // of the Load Balancers from which the inbound traffic will be accepted. + SourceLoadBalancerUids pulumi.StringArrayInput `pulumi:"sourceLoadBalancerUids"` + // An array containing the names of Tags + // corresponding to groups of Droplets from which the inbound traffic + // will be accepted. + SourceTags pulumi.StringArrayInput `pulumi:"sourceTags"` } -func (i LoadBalancerStickySessionsArgs) ToLoadBalancerStickySessionsOutputWithContext(ctx context.Context) LoadBalancerStickySessionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(LoadBalancerStickySessionsOutput) +func (FirewallInboundRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FirewallInboundRule)(nil)).Elem() } -func (i LoadBalancerStickySessionsArgs) ToLoadBalancerStickySessionsPtrOutput() LoadBalancerStickySessionsPtrOutput { - return i.ToLoadBalancerStickySessionsPtrOutputWithContext(context.Background()) +func (i FirewallInboundRuleArgs) ToFirewallInboundRuleOutput() FirewallInboundRuleOutput { + return i.ToFirewallInboundRuleOutputWithContext(context.Background()) } -func (i LoadBalancerStickySessionsArgs) ToLoadBalancerStickySessionsPtrOutputWithContext(ctx context.Context) LoadBalancerStickySessionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LoadBalancerStickySessionsOutput).ToLoadBalancerStickySessionsPtrOutputWithContext(ctx) +func (i FirewallInboundRuleArgs) ToFirewallInboundRuleOutputWithContext(ctx context.Context) FirewallInboundRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(FirewallInboundRuleOutput) } -// LoadBalancerStickySessionsPtrInput is an input type that accepts LoadBalancerStickySessionsArgs, LoadBalancerStickySessionsPtr and LoadBalancerStickySessionsPtrOutput values. -// You can construct a concrete instance of `LoadBalancerStickySessionsPtrInput` via: -// -// LoadBalancerStickySessionsArgs{...} -// -// or: +// FirewallInboundRuleArrayInput is an input type that accepts FirewallInboundRuleArray and FirewallInboundRuleArrayOutput values. +// You can construct a concrete instance of `FirewallInboundRuleArrayInput` via: // -// nil -type LoadBalancerStickySessionsPtrInput interface { +// FirewallInboundRuleArray{ FirewallInboundRuleArgs{...} } +type FirewallInboundRuleArrayInput interface { pulumi.Input - ToLoadBalancerStickySessionsPtrOutput() LoadBalancerStickySessionsPtrOutput - ToLoadBalancerStickySessionsPtrOutputWithContext(context.Context) LoadBalancerStickySessionsPtrOutput + ToFirewallInboundRuleArrayOutput() FirewallInboundRuleArrayOutput + ToFirewallInboundRuleArrayOutputWithContext(context.Context) FirewallInboundRuleArrayOutput } -type loadBalancerStickySessionsPtrType LoadBalancerStickySessionsArgs - -func LoadBalancerStickySessionsPtr(v *LoadBalancerStickySessionsArgs) LoadBalancerStickySessionsPtrInput { - return (*loadBalancerStickySessionsPtrType)(v) -} +type FirewallInboundRuleArray []FirewallInboundRuleInput -func (*loadBalancerStickySessionsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**LoadBalancerStickySessions)(nil)).Elem() +func (FirewallInboundRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]FirewallInboundRule)(nil)).Elem() } -func (i *loadBalancerStickySessionsPtrType) ToLoadBalancerStickySessionsPtrOutput() LoadBalancerStickySessionsPtrOutput { - return i.ToLoadBalancerStickySessionsPtrOutputWithContext(context.Background()) +func (i FirewallInboundRuleArray) ToFirewallInboundRuleArrayOutput() FirewallInboundRuleArrayOutput { + return i.ToFirewallInboundRuleArrayOutputWithContext(context.Background()) } -func (i *loadBalancerStickySessionsPtrType) ToLoadBalancerStickySessionsPtrOutputWithContext(ctx context.Context) LoadBalancerStickySessionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LoadBalancerStickySessionsPtrOutput) +func (i FirewallInboundRuleArray) ToFirewallInboundRuleArrayOutputWithContext(ctx context.Context) FirewallInboundRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(FirewallInboundRuleArrayOutput) } -type LoadBalancerStickySessionsOutput struct{ *pulumi.OutputState } +type FirewallInboundRuleOutput struct{ *pulumi.OutputState } -func (LoadBalancerStickySessionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LoadBalancerStickySessions)(nil)).Elem() +func (FirewallInboundRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FirewallInboundRule)(nil)).Elem() } -func (o LoadBalancerStickySessionsOutput) ToLoadBalancerStickySessionsOutput() LoadBalancerStickySessionsOutput { +func (o FirewallInboundRuleOutput) ToFirewallInboundRuleOutput() FirewallInboundRuleOutput { return o } -func (o LoadBalancerStickySessionsOutput) ToLoadBalancerStickySessionsOutputWithContext(ctx context.Context) LoadBalancerStickySessionsOutput { +func (o FirewallInboundRuleOutput) ToFirewallInboundRuleOutputWithContext(ctx context.Context) FirewallInboundRuleOutput { return o } -func (o LoadBalancerStickySessionsOutput) ToLoadBalancerStickySessionsPtrOutput() LoadBalancerStickySessionsPtrOutput { - return o.ToLoadBalancerStickySessionsPtrOutputWithContext(context.Background()) +// The ports on which traffic will be allowed +// specified as a string containing a single port, a range (e.g. "8000-9000"), +// or "1-65535" to open all ports for a protocol. Required for when protocol is +// `tcp` or `udp`. +func (o FirewallInboundRuleOutput) PortRange() pulumi.StringPtrOutput { + return o.ApplyT(func(v FirewallInboundRule) *string { return v.PortRange }).(pulumi.StringPtrOutput) } -func (o LoadBalancerStickySessionsOutput) ToLoadBalancerStickySessionsPtrOutputWithContext(ctx context.Context) LoadBalancerStickySessionsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LoadBalancerStickySessions) *LoadBalancerStickySessions { - return &v - }).(LoadBalancerStickySessionsPtrOutput) +// The type of traffic to be allowed. +// This may be one of "tcp", "udp", or "icmp". +func (o FirewallInboundRuleOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v FirewallInboundRule) string { return v.Protocol }).(pulumi.StringOutput) } -// The name to be used for the cookie sent to the client. This attribute is required when using `cookies` for the sticky sessions type. -func (o LoadBalancerStickySessionsOutput) CookieName() pulumi.StringPtrOutput { - return o.ApplyT(func(v LoadBalancerStickySessions) *string { return v.CookieName }).(pulumi.StringPtrOutput) +// An array of strings containing the IPv4 +// addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs from which the +// inbound traffic will be accepted. +func (o FirewallInboundRuleOutput) SourceAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v FirewallInboundRule) []string { return v.SourceAddresses }).(pulumi.StringArrayOutput) } -// The number of seconds until the cookie set by the Load Balancer expires. This attribute is required when using `cookies` for the sticky sessions type. -func (o LoadBalancerStickySessionsOutput) CookieTtlSeconds() pulumi.IntPtrOutput { - return o.ApplyT(func(v LoadBalancerStickySessions) *int { return v.CookieTtlSeconds }).(pulumi.IntPtrOutput) +// An array containing the IDs of +// the Droplets from which the inbound traffic will be accepted. +func (o FirewallInboundRuleOutput) SourceDropletIds() pulumi.IntArrayOutput { + return o.ApplyT(func(v FirewallInboundRule) []int { return v.SourceDropletIds }).(pulumi.IntArrayOutput) } -// An attribute indicating how and if requests from a client will be persistently served by the same backend Droplet. The possible values are `cookies` or `none`. If not specified, the default value is `none`. -func (o LoadBalancerStickySessionsOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v LoadBalancerStickySessions) *string { return v.Type }).(pulumi.StringPtrOutput) +// An array containing the IDs of +// the Kubernetes clusters from which the inbound traffic will be accepted. +func (o FirewallInboundRuleOutput) SourceKubernetesIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v FirewallInboundRule) []string { return v.SourceKubernetesIds }).(pulumi.StringArrayOutput) } -type LoadBalancerStickySessionsPtrOutput struct{ *pulumi.OutputState } +// An array containing the IDs +// of the Load Balancers from which the inbound traffic will be accepted. +func (o FirewallInboundRuleOutput) SourceLoadBalancerUids() pulumi.StringArrayOutput { + return o.ApplyT(func(v FirewallInboundRule) []string { return v.SourceLoadBalancerUids }).(pulumi.StringArrayOutput) +} -func (LoadBalancerStickySessionsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LoadBalancerStickySessions)(nil)).Elem() +// An array containing the names of Tags +// corresponding to groups of Droplets from which the inbound traffic +// will be accepted. +func (o FirewallInboundRuleOutput) SourceTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v FirewallInboundRule) []string { return v.SourceTags }).(pulumi.StringArrayOutput) } -func (o LoadBalancerStickySessionsPtrOutput) ToLoadBalancerStickySessionsPtrOutput() LoadBalancerStickySessionsPtrOutput { +type FirewallInboundRuleArrayOutput struct{ *pulumi.OutputState } + +func (FirewallInboundRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]FirewallInboundRule)(nil)).Elem() +} + +func (o FirewallInboundRuleArrayOutput) ToFirewallInboundRuleArrayOutput() FirewallInboundRuleArrayOutput { return o } -func (o LoadBalancerStickySessionsPtrOutput) ToLoadBalancerStickySessionsPtrOutputWithContext(ctx context.Context) LoadBalancerStickySessionsPtrOutput { +func (o FirewallInboundRuleArrayOutput) ToFirewallInboundRuleArrayOutputWithContext(ctx context.Context) FirewallInboundRuleArrayOutput { return o } -func (o LoadBalancerStickySessionsPtrOutput) Elem() LoadBalancerStickySessionsOutput { - return o.ApplyT(func(v *LoadBalancerStickySessions) LoadBalancerStickySessions { - if v != nil { - return *v - } - var ret LoadBalancerStickySessions - return ret - }).(LoadBalancerStickySessionsOutput) +func (o FirewallInboundRuleArrayOutput) Index(i pulumi.IntInput) FirewallInboundRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) FirewallInboundRule { + return vs[0].([]FirewallInboundRule)[vs[1].(int)] + }).(FirewallInboundRuleOutput) } -// The name to be used for the cookie sent to the client. This attribute is required when using `cookies` for the sticky sessions type. -func (o LoadBalancerStickySessionsPtrOutput) CookieName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LoadBalancerStickySessions) *string { - if v == nil { - return nil - } - return v.CookieName - }).(pulumi.StringPtrOutput) +type FirewallOutboundRule struct { + // An array of strings containing the IPv4 + // addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the + // outbound traffic will be allowed. + DestinationAddresses []string `pulumi:"destinationAddresses"` + // An array containing the IDs of + // the Droplets to which the outbound traffic will be allowed. + DestinationDropletIds []int `pulumi:"destinationDropletIds"` + // An array containing the IDs of + // the Kubernetes clusters to which the outbound traffic will be allowed. + DestinationKubernetesIds []string `pulumi:"destinationKubernetesIds"` + // An array containing the IDs + // of the Load Balancers to which the outbound traffic will be allowed. + DestinationLoadBalancerUids []string `pulumi:"destinationLoadBalancerUids"` + // An array containing the names of Tags + // corresponding to groups of Droplets to which the outbound traffic will + // be allowed. + DestinationTags []string `pulumi:"destinationTags"` + // The ports on which traffic will be allowed + // specified as a string containing a single port, a range (e.g. "8000-9000"), + // or "1-65535" to open all ports for a protocol. Required for when protocol is + // `tcp` or `udp`. + PortRange *string `pulumi:"portRange"` + // The type of traffic to be allowed. + // This may be one of "tcp", "udp", or "icmp". + Protocol string `pulumi:"protocol"` } -// The number of seconds until the cookie set by the Load Balancer expires. This attribute is required when using `cookies` for the sticky sessions type. -func (o LoadBalancerStickySessionsPtrOutput) CookieTtlSeconds() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LoadBalancerStickySessions) *int { - if v == nil { - return nil - } - return v.CookieTtlSeconds - }).(pulumi.IntPtrOutput) +// FirewallOutboundRuleInput is an input type that accepts FirewallOutboundRuleArgs and FirewallOutboundRuleOutput values. +// You can construct a concrete instance of `FirewallOutboundRuleInput` via: +// +// FirewallOutboundRuleArgs{...} +type FirewallOutboundRuleInput interface { + pulumi.Input + + ToFirewallOutboundRuleOutput() FirewallOutboundRuleOutput + ToFirewallOutboundRuleOutputWithContext(context.Context) FirewallOutboundRuleOutput } -// An attribute indicating how and if requests from a client will be persistently served by the same backend Droplet. The possible values are `cookies` or `none`. If not specified, the default value is `none`. -func (o LoadBalancerStickySessionsPtrOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LoadBalancerStickySessions) *string { - if v == nil { - return nil - } - return v.Type - }).(pulumi.StringPtrOutput) +type FirewallOutboundRuleArgs struct { + // An array of strings containing the IPv4 + // addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the + // outbound traffic will be allowed. + DestinationAddresses pulumi.StringArrayInput `pulumi:"destinationAddresses"` + // An array containing the IDs of + // the Droplets to which the outbound traffic will be allowed. + DestinationDropletIds pulumi.IntArrayInput `pulumi:"destinationDropletIds"` + // An array containing the IDs of + // the Kubernetes clusters to which the outbound traffic will be allowed. + DestinationKubernetesIds pulumi.StringArrayInput `pulumi:"destinationKubernetesIds"` + // An array containing the IDs + // of the Load Balancers to which the outbound traffic will be allowed. + DestinationLoadBalancerUids pulumi.StringArrayInput `pulumi:"destinationLoadBalancerUids"` + // An array containing the names of Tags + // corresponding to groups of Droplets to which the outbound traffic will + // be allowed. + DestinationTags pulumi.StringArrayInput `pulumi:"destinationTags"` + // The ports on which traffic will be allowed + // specified as a string containing a single port, a range (e.g. "8000-9000"), + // or "1-65535" to open all ports for a protocol. Required for when protocol is + // `tcp` or `udp`. + PortRange pulumi.StringPtrInput `pulumi:"portRange"` + // The type of traffic to be allowed. + // This may be one of "tcp", "udp", or "icmp". + Protocol pulumi.StringInput `pulumi:"protocol"` } -type MonitorAlertAlerts struct { - Emails []string `pulumi:"emails"` - Slacks []MonitorAlertAlertsSlack `pulumi:"slacks"` +func (FirewallOutboundRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FirewallOutboundRule)(nil)).Elem() } -// MonitorAlertAlertsInput is an input type that accepts MonitorAlertAlertsArgs and MonitorAlertAlertsOutput values. -// You can construct a concrete instance of `MonitorAlertAlertsInput` via: +func (i FirewallOutboundRuleArgs) ToFirewallOutboundRuleOutput() FirewallOutboundRuleOutput { + return i.ToFirewallOutboundRuleOutputWithContext(context.Background()) +} + +func (i FirewallOutboundRuleArgs) ToFirewallOutboundRuleOutputWithContext(ctx context.Context) FirewallOutboundRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(FirewallOutboundRuleOutput) +} + +// FirewallOutboundRuleArrayInput is an input type that accepts FirewallOutboundRuleArray and FirewallOutboundRuleArrayOutput values. +// You can construct a concrete instance of `FirewallOutboundRuleArrayInput` via: // -// MonitorAlertAlertsArgs{...} -type MonitorAlertAlertsInput interface { +// FirewallOutboundRuleArray{ FirewallOutboundRuleArgs{...} } +type FirewallOutboundRuleArrayInput interface { pulumi.Input - ToMonitorAlertAlertsOutput() MonitorAlertAlertsOutput - ToMonitorAlertAlertsOutputWithContext(context.Context) MonitorAlertAlertsOutput + ToFirewallOutboundRuleArrayOutput() FirewallOutboundRuleArrayOutput + ToFirewallOutboundRuleArrayOutputWithContext(context.Context) FirewallOutboundRuleArrayOutput } -type MonitorAlertAlertsArgs struct { - Emails pulumi.StringArrayInput `pulumi:"emails"` - Slacks MonitorAlertAlertsSlackArrayInput `pulumi:"slacks"` +type FirewallOutboundRuleArray []FirewallOutboundRuleInput + +func (FirewallOutboundRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]FirewallOutboundRule)(nil)).Elem() } -func (MonitorAlertAlertsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*MonitorAlertAlerts)(nil)).Elem() +func (i FirewallOutboundRuleArray) ToFirewallOutboundRuleArrayOutput() FirewallOutboundRuleArrayOutput { + return i.ToFirewallOutboundRuleArrayOutputWithContext(context.Background()) } -func (i MonitorAlertAlertsArgs) ToMonitorAlertAlertsOutput() MonitorAlertAlertsOutput { - return i.ToMonitorAlertAlertsOutputWithContext(context.Background()) +func (i FirewallOutboundRuleArray) ToFirewallOutboundRuleArrayOutputWithContext(ctx context.Context) FirewallOutboundRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(FirewallOutboundRuleArrayOutput) } -func (i MonitorAlertAlertsArgs) ToMonitorAlertAlertsOutputWithContext(ctx context.Context) MonitorAlertAlertsOutput { - return pulumi.ToOutputWithContext(ctx, i).(MonitorAlertAlertsOutput) +type FirewallOutboundRuleOutput struct{ *pulumi.OutputState } + +func (FirewallOutboundRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FirewallOutboundRule)(nil)).Elem() } -func (i MonitorAlertAlertsArgs) ToMonitorAlertAlertsPtrOutput() MonitorAlertAlertsPtrOutput { - return i.ToMonitorAlertAlertsPtrOutputWithContext(context.Background()) +func (o FirewallOutboundRuleOutput) ToFirewallOutboundRuleOutput() FirewallOutboundRuleOutput { + return o } -func (i MonitorAlertAlertsArgs) ToMonitorAlertAlertsPtrOutputWithContext(ctx context.Context) MonitorAlertAlertsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(MonitorAlertAlertsOutput).ToMonitorAlertAlertsPtrOutputWithContext(ctx) +func (o FirewallOutboundRuleOutput) ToFirewallOutboundRuleOutputWithContext(ctx context.Context) FirewallOutboundRuleOutput { + return o } -// MonitorAlertAlertsPtrInput is an input type that accepts MonitorAlertAlertsArgs, MonitorAlertAlertsPtr and MonitorAlertAlertsPtrOutput values. -// You can construct a concrete instance of `MonitorAlertAlertsPtrInput` via: -// -// MonitorAlertAlertsArgs{...} -// -// or: -// -// nil -type MonitorAlertAlertsPtrInput interface { - pulumi.Input +// An array of strings containing the IPv4 +// addresses, IPv6 addresses, IPv4 CIDRs, and/or IPv6 CIDRs to which the +// outbound traffic will be allowed. +func (o FirewallOutboundRuleOutput) DestinationAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v FirewallOutboundRule) []string { return v.DestinationAddresses }).(pulumi.StringArrayOutput) +} - ToMonitorAlertAlertsPtrOutput() MonitorAlertAlertsPtrOutput - ToMonitorAlertAlertsPtrOutputWithContext(context.Context) MonitorAlertAlertsPtrOutput +// An array containing the IDs of +// the Droplets to which the outbound traffic will be allowed. +func (o FirewallOutboundRuleOutput) DestinationDropletIds() pulumi.IntArrayOutput { + return o.ApplyT(func(v FirewallOutboundRule) []int { return v.DestinationDropletIds }).(pulumi.IntArrayOutput) } -type monitorAlertAlertsPtrType MonitorAlertAlertsArgs +// An array containing the IDs of +// the Kubernetes clusters to which the outbound traffic will be allowed. +func (o FirewallOutboundRuleOutput) DestinationKubernetesIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v FirewallOutboundRule) []string { return v.DestinationKubernetesIds }).(pulumi.StringArrayOutput) +} -func MonitorAlertAlertsPtr(v *MonitorAlertAlertsArgs) MonitorAlertAlertsPtrInput { - return (*monitorAlertAlertsPtrType)(v) +// An array containing the IDs +// of the Load Balancers to which the outbound traffic will be allowed. +func (o FirewallOutboundRuleOutput) DestinationLoadBalancerUids() pulumi.StringArrayOutput { + return o.ApplyT(func(v FirewallOutboundRule) []string { return v.DestinationLoadBalancerUids }).(pulumi.StringArrayOutput) } -func (*monitorAlertAlertsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**MonitorAlertAlerts)(nil)).Elem() +// An array containing the names of Tags +// corresponding to groups of Droplets to which the outbound traffic will +// be allowed. +func (o FirewallOutboundRuleOutput) DestinationTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v FirewallOutboundRule) []string { return v.DestinationTags }).(pulumi.StringArrayOutput) } -func (i *monitorAlertAlertsPtrType) ToMonitorAlertAlertsPtrOutput() MonitorAlertAlertsPtrOutput { - return i.ToMonitorAlertAlertsPtrOutputWithContext(context.Background()) +// The ports on which traffic will be allowed +// specified as a string containing a single port, a range (e.g. "8000-9000"), +// or "1-65535" to open all ports for a protocol. Required for when protocol is +// `tcp` or `udp`. +func (o FirewallOutboundRuleOutput) PortRange() pulumi.StringPtrOutput { + return o.ApplyT(func(v FirewallOutboundRule) *string { return v.PortRange }).(pulumi.StringPtrOutput) } -func (i *monitorAlertAlertsPtrType) ToMonitorAlertAlertsPtrOutputWithContext(ctx context.Context) MonitorAlertAlertsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(MonitorAlertAlertsPtrOutput) +// The type of traffic to be allowed. +// This may be one of "tcp", "udp", or "icmp". +func (o FirewallOutboundRuleOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v FirewallOutboundRule) string { return v.Protocol }).(pulumi.StringOutput) } -type MonitorAlertAlertsOutput struct{ *pulumi.OutputState } +type FirewallOutboundRuleArrayOutput struct{ *pulumi.OutputState } -func (MonitorAlertAlertsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*MonitorAlertAlerts)(nil)).Elem() +func (FirewallOutboundRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]FirewallOutboundRule)(nil)).Elem() } -func (o MonitorAlertAlertsOutput) ToMonitorAlertAlertsOutput() MonitorAlertAlertsOutput { +func (o FirewallOutboundRuleArrayOutput) ToFirewallOutboundRuleArrayOutput() FirewallOutboundRuleArrayOutput { return o } -func (o MonitorAlertAlertsOutput) ToMonitorAlertAlertsOutputWithContext(ctx context.Context) MonitorAlertAlertsOutput { +func (o FirewallOutboundRuleArrayOutput) ToFirewallOutboundRuleArrayOutputWithContext(ctx context.Context) FirewallOutboundRuleArrayOutput { return o } -func (o MonitorAlertAlertsOutput) ToMonitorAlertAlertsPtrOutput() MonitorAlertAlertsPtrOutput { - return o.ToMonitorAlertAlertsPtrOutputWithContext(context.Background()) +func (o FirewallOutboundRuleArrayOutput) Index(i pulumi.IntInput) FirewallOutboundRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) FirewallOutboundRule { + return vs[0].([]FirewallOutboundRule)[vs[1].(int)] + }).(FirewallOutboundRuleOutput) } -func (o MonitorAlertAlertsOutput) ToMonitorAlertAlertsPtrOutputWithContext(ctx context.Context) MonitorAlertAlertsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v MonitorAlertAlerts) *MonitorAlertAlerts { - return &v - }).(MonitorAlertAlertsPtrOutput) +type FirewallPendingChange struct { + DropletId *int `pulumi:"dropletId"` + Removing *bool `pulumi:"removing"` + // A status string indicating the current state of the Firewall. + // This can be "waiting", "succeeded", or "failed". + Status *string `pulumi:"status"` } -func (o MonitorAlertAlertsOutput) Emails() pulumi.StringArrayOutput { - return o.ApplyT(func(v MonitorAlertAlerts) []string { return v.Emails }).(pulumi.StringArrayOutput) -} +// FirewallPendingChangeInput is an input type that accepts FirewallPendingChangeArgs and FirewallPendingChangeOutput values. +// You can construct a concrete instance of `FirewallPendingChangeInput` via: +// +// FirewallPendingChangeArgs{...} +type FirewallPendingChangeInput interface { + pulumi.Input -func (o MonitorAlertAlertsOutput) Slacks() MonitorAlertAlertsSlackArrayOutput { - return o.ApplyT(func(v MonitorAlertAlerts) []MonitorAlertAlertsSlack { return v.Slacks }).(MonitorAlertAlertsSlackArrayOutput) + ToFirewallPendingChangeOutput() FirewallPendingChangeOutput + ToFirewallPendingChangeOutputWithContext(context.Context) FirewallPendingChangeOutput } -type MonitorAlertAlertsPtrOutput struct{ *pulumi.OutputState } +type FirewallPendingChangeArgs struct { + DropletId pulumi.IntPtrInput `pulumi:"dropletId"` + Removing pulumi.BoolPtrInput `pulumi:"removing"` + // A status string indicating the current state of the Firewall. + // This can be "waiting", "succeeded", or "failed". + Status pulumi.StringPtrInput `pulumi:"status"` +} -func (MonitorAlertAlertsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**MonitorAlertAlerts)(nil)).Elem() +func (FirewallPendingChangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FirewallPendingChange)(nil)).Elem() } -func (o MonitorAlertAlertsPtrOutput) ToMonitorAlertAlertsPtrOutput() MonitorAlertAlertsPtrOutput { - return o +func (i FirewallPendingChangeArgs) ToFirewallPendingChangeOutput() FirewallPendingChangeOutput { + return i.ToFirewallPendingChangeOutputWithContext(context.Background()) } -func (o MonitorAlertAlertsPtrOutput) ToMonitorAlertAlertsPtrOutputWithContext(ctx context.Context) MonitorAlertAlertsPtrOutput { - return o -} - -func (o MonitorAlertAlertsPtrOutput) Elem() MonitorAlertAlertsOutput { - return o.ApplyT(func(v *MonitorAlertAlerts) MonitorAlertAlerts { - if v != nil { - return *v - } - var ret MonitorAlertAlerts - return ret - }).(MonitorAlertAlertsOutput) -} - -func (o MonitorAlertAlertsPtrOutput) Emails() pulumi.StringArrayOutput { - return o.ApplyT(func(v *MonitorAlertAlerts) []string { - if v == nil { - return nil - } - return v.Emails - }).(pulumi.StringArrayOutput) -} - -func (o MonitorAlertAlertsPtrOutput) Slacks() MonitorAlertAlertsSlackArrayOutput { - return o.ApplyT(func(v *MonitorAlertAlerts) []MonitorAlertAlertsSlack { - if v == nil { - return nil - } - return v.Slacks - }).(MonitorAlertAlertsSlackArrayOutput) -} - -type MonitorAlertAlertsSlack struct { - Channel string `pulumi:"channel"` - Url string `pulumi:"url"` +func (i FirewallPendingChangeArgs) ToFirewallPendingChangeOutputWithContext(ctx context.Context) FirewallPendingChangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(FirewallPendingChangeOutput) } -// MonitorAlertAlertsSlackInput is an input type that accepts MonitorAlertAlertsSlackArgs and MonitorAlertAlertsSlackOutput values. -// You can construct a concrete instance of `MonitorAlertAlertsSlackInput` via: +// FirewallPendingChangeArrayInput is an input type that accepts FirewallPendingChangeArray and FirewallPendingChangeArrayOutput values. +// You can construct a concrete instance of `FirewallPendingChangeArrayInput` via: // -// MonitorAlertAlertsSlackArgs{...} -type MonitorAlertAlertsSlackInput interface { +// FirewallPendingChangeArray{ FirewallPendingChangeArgs{...} } +type FirewallPendingChangeArrayInput interface { pulumi.Input - ToMonitorAlertAlertsSlackOutput() MonitorAlertAlertsSlackOutput - ToMonitorAlertAlertsSlackOutputWithContext(context.Context) MonitorAlertAlertsSlackOutput -} - -type MonitorAlertAlertsSlackArgs struct { - Channel pulumi.StringInput `pulumi:"channel"` - Url pulumi.StringInput `pulumi:"url"` -} - -func (MonitorAlertAlertsSlackArgs) ElementType() reflect.Type { - return reflect.TypeOf((*MonitorAlertAlertsSlack)(nil)).Elem() + ToFirewallPendingChangeArrayOutput() FirewallPendingChangeArrayOutput + ToFirewallPendingChangeArrayOutputWithContext(context.Context) FirewallPendingChangeArrayOutput } -func (i MonitorAlertAlertsSlackArgs) ToMonitorAlertAlertsSlackOutput() MonitorAlertAlertsSlackOutput { - return i.ToMonitorAlertAlertsSlackOutputWithContext(context.Background()) -} +type FirewallPendingChangeArray []FirewallPendingChangeInput -func (i MonitorAlertAlertsSlackArgs) ToMonitorAlertAlertsSlackOutputWithContext(ctx context.Context) MonitorAlertAlertsSlackOutput { - return pulumi.ToOutputWithContext(ctx, i).(MonitorAlertAlertsSlackOutput) +func (FirewallPendingChangeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]FirewallPendingChange)(nil)).Elem() } -// MonitorAlertAlertsSlackArrayInput is an input type that accepts MonitorAlertAlertsSlackArray and MonitorAlertAlertsSlackArrayOutput values. -// You can construct a concrete instance of `MonitorAlertAlertsSlackArrayInput` via: -// -// MonitorAlertAlertsSlackArray{ MonitorAlertAlertsSlackArgs{...} } -type MonitorAlertAlertsSlackArrayInput interface { - pulumi.Input - - ToMonitorAlertAlertsSlackArrayOutput() MonitorAlertAlertsSlackArrayOutput - ToMonitorAlertAlertsSlackArrayOutputWithContext(context.Context) MonitorAlertAlertsSlackArrayOutput +func (i FirewallPendingChangeArray) ToFirewallPendingChangeArrayOutput() FirewallPendingChangeArrayOutput { + return i.ToFirewallPendingChangeArrayOutputWithContext(context.Background()) } -type MonitorAlertAlertsSlackArray []MonitorAlertAlertsSlackInput - -func (MonitorAlertAlertsSlackArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]MonitorAlertAlertsSlack)(nil)).Elem() +func (i FirewallPendingChangeArray) ToFirewallPendingChangeArrayOutputWithContext(ctx context.Context) FirewallPendingChangeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(FirewallPendingChangeArrayOutput) } -func (i MonitorAlertAlertsSlackArray) ToMonitorAlertAlertsSlackArrayOutput() MonitorAlertAlertsSlackArrayOutput { - return i.ToMonitorAlertAlertsSlackArrayOutputWithContext(context.Background()) -} +type FirewallPendingChangeOutput struct{ *pulumi.OutputState } -func (i MonitorAlertAlertsSlackArray) ToMonitorAlertAlertsSlackArrayOutputWithContext(ctx context.Context) MonitorAlertAlertsSlackArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(MonitorAlertAlertsSlackArrayOutput) +func (FirewallPendingChangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FirewallPendingChange)(nil)).Elem() } -type MonitorAlertAlertsSlackOutput struct{ *pulumi.OutputState } - -func (MonitorAlertAlertsSlackOutput) ElementType() reflect.Type { - return reflect.TypeOf((*MonitorAlertAlertsSlack)(nil)).Elem() +func (o FirewallPendingChangeOutput) ToFirewallPendingChangeOutput() FirewallPendingChangeOutput { + return o } -func (o MonitorAlertAlertsSlackOutput) ToMonitorAlertAlertsSlackOutput() MonitorAlertAlertsSlackOutput { +func (o FirewallPendingChangeOutput) ToFirewallPendingChangeOutputWithContext(ctx context.Context) FirewallPendingChangeOutput { return o } -func (o MonitorAlertAlertsSlackOutput) ToMonitorAlertAlertsSlackOutputWithContext(ctx context.Context) MonitorAlertAlertsSlackOutput { - return o +func (o FirewallPendingChangeOutput) DropletId() pulumi.IntPtrOutput { + return o.ApplyT(func(v FirewallPendingChange) *int { return v.DropletId }).(pulumi.IntPtrOutput) } -func (o MonitorAlertAlertsSlackOutput) Channel() pulumi.StringOutput { - return o.ApplyT(func(v MonitorAlertAlertsSlack) string { return v.Channel }).(pulumi.StringOutput) +func (o FirewallPendingChangeOutput) Removing() pulumi.BoolPtrOutput { + return o.ApplyT(func(v FirewallPendingChange) *bool { return v.Removing }).(pulumi.BoolPtrOutput) } -func (o MonitorAlertAlertsSlackOutput) Url() pulumi.StringOutput { - return o.ApplyT(func(v MonitorAlertAlertsSlack) string { return v.Url }).(pulumi.StringOutput) +// A status string indicating the current state of the Firewall. +// This can be "waiting", "succeeded", or "failed". +func (o FirewallPendingChangeOutput) Status() pulumi.StringPtrOutput { + return o.ApplyT(func(v FirewallPendingChange) *string { return v.Status }).(pulumi.StringPtrOutput) } -type MonitorAlertAlertsSlackArrayOutput struct{ *pulumi.OutputState } +type FirewallPendingChangeArrayOutput struct{ *pulumi.OutputState } -func (MonitorAlertAlertsSlackArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]MonitorAlertAlertsSlack)(nil)).Elem() +func (FirewallPendingChangeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]FirewallPendingChange)(nil)).Elem() } -func (o MonitorAlertAlertsSlackArrayOutput) ToMonitorAlertAlertsSlackArrayOutput() MonitorAlertAlertsSlackArrayOutput { +func (o FirewallPendingChangeArrayOutput) ToFirewallPendingChangeArrayOutput() FirewallPendingChangeArrayOutput { return o } -func (o MonitorAlertAlertsSlackArrayOutput) ToMonitorAlertAlertsSlackArrayOutputWithContext(ctx context.Context) MonitorAlertAlertsSlackArrayOutput { +func (o FirewallPendingChangeArrayOutput) ToFirewallPendingChangeArrayOutputWithContext(ctx context.Context) FirewallPendingChangeArrayOutput { return o } -func (o MonitorAlertAlertsSlackArrayOutput) Index(i pulumi.IntInput) MonitorAlertAlertsSlackOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) MonitorAlertAlertsSlack { - return vs[0].([]MonitorAlertAlertsSlack)[vs[1].(int)] - }).(MonitorAlertAlertsSlackOutput) +func (o FirewallPendingChangeArrayOutput) Index(i pulumi.IntInput) FirewallPendingChangeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) FirewallPendingChange { + return vs[0].([]FirewallPendingChange)[vs[1].(int)] + }).(FirewallPendingChangeOutput) } -type SpacesBucketCorsRule struct { - // A list of headers that will be included in the CORS preflight request's `Access-Control-Request-Headers`. A header may contain one wildcard (e.g. `x-amz-*`). - AllowedHeaders []string `pulumi:"allowedHeaders"` - // A list of HTTP methods (e.g. `GET`) which are allowed from the specified origin. - AllowedMethods []string `pulumi:"allowedMethods"` - // A list of hosts from which requests using the specified methods are allowed. A host may contain one wildcard (e.g. http://*.example.com). - AllowedOrigins []string `pulumi:"allowedOrigins"` - // The time in seconds that browser can cache the response for a preflight request. - MaxAgeSeconds *int `pulumi:"maxAgeSeconds"` +type KubernetesClusterKubeConfig struct { + // The base64 encoded public certificate used by clients to access the cluster. Only available if token authentication is not supported on your cluster. + ClientCertificate *string `pulumi:"clientCertificate"` + // The base64 encoded private key used by clients to access the cluster. Only available if token authentication is not supported on your cluster. + ClientKey *string `pulumi:"clientKey"` + // The base64 encoded public certificate for the cluster's certificate authority. + ClusterCaCertificate *string `pulumi:"clusterCaCertificate"` + // The date and time when the credentials will expire and need to be regenerated. + ExpiresAt *string `pulumi:"expiresAt"` + // The URL of the API server on the Kubernetes master node. + Host *string `pulumi:"host"` + // The full contents of the Kubernetes cluster's kubeconfig file. + RawConfig *string `pulumi:"rawConfig"` + // The DigitalOcean API access token used by clients to access the cluster. + Token *string `pulumi:"token"` } -// SpacesBucketCorsRuleInput is an input type that accepts SpacesBucketCorsRuleArgs and SpacesBucketCorsRuleOutput values. -// You can construct a concrete instance of `SpacesBucketCorsRuleInput` via: +// KubernetesClusterKubeConfigInput is an input type that accepts KubernetesClusterKubeConfigArgs and KubernetesClusterKubeConfigOutput values. +// You can construct a concrete instance of `KubernetesClusterKubeConfigInput` via: // -// SpacesBucketCorsRuleArgs{...} -type SpacesBucketCorsRuleInput interface { +// KubernetesClusterKubeConfigArgs{...} +type KubernetesClusterKubeConfigInput interface { pulumi.Input - ToSpacesBucketCorsRuleOutput() SpacesBucketCorsRuleOutput - ToSpacesBucketCorsRuleOutputWithContext(context.Context) SpacesBucketCorsRuleOutput + ToKubernetesClusterKubeConfigOutput() KubernetesClusterKubeConfigOutput + ToKubernetesClusterKubeConfigOutputWithContext(context.Context) KubernetesClusterKubeConfigOutput } -type SpacesBucketCorsRuleArgs struct { - // A list of headers that will be included in the CORS preflight request's `Access-Control-Request-Headers`. A header may contain one wildcard (e.g. `x-amz-*`). - AllowedHeaders pulumi.StringArrayInput `pulumi:"allowedHeaders"` - // A list of HTTP methods (e.g. `GET`) which are allowed from the specified origin. - AllowedMethods pulumi.StringArrayInput `pulumi:"allowedMethods"` - // A list of hosts from which requests using the specified methods are allowed. A host may contain one wildcard (e.g. http://*.example.com). - AllowedOrigins pulumi.StringArrayInput `pulumi:"allowedOrigins"` - // The time in seconds that browser can cache the response for a preflight request. - MaxAgeSeconds pulumi.IntPtrInput `pulumi:"maxAgeSeconds"` +type KubernetesClusterKubeConfigArgs struct { + // The base64 encoded public certificate used by clients to access the cluster. Only available if token authentication is not supported on your cluster. + ClientCertificate pulumi.StringPtrInput `pulumi:"clientCertificate"` + // The base64 encoded private key used by clients to access the cluster. Only available if token authentication is not supported on your cluster. + ClientKey pulumi.StringPtrInput `pulumi:"clientKey"` + // The base64 encoded public certificate for the cluster's certificate authority. + ClusterCaCertificate pulumi.StringPtrInput `pulumi:"clusterCaCertificate"` + // The date and time when the credentials will expire and need to be regenerated. + ExpiresAt pulumi.StringPtrInput `pulumi:"expiresAt"` + // The URL of the API server on the Kubernetes master node. + Host pulumi.StringPtrInput `pulumi:"host"` + // The full contents of the Kubernetes cluster's kubeconfig file. + RawConfig pulumi.StringPtrInput `pulumi:"rawConfig"` + // The DigitalOcean API access token used by clients to access the cluster. + Token pulumi.StringPtrInput `pulumi:"token"` } -func (SpacesBucketCorsRuleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SpacesBucketCorsRule)(nil)).Elem() +func (KubernetesClusterKubeConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*KubernetesClusterKubeConfig)(nil)).Elem() } -func (i SpacesBucketCorsRuleArgs) ToSpacesBucketCorsRuleOutput() SpacesBucketCorsRuleOutput { - return i.ToSpacesBucketCorsRuleOutputWithContext(context.Background()) +func (i KubernetesClusterKubeConfigArgs) ToKubernetesClusterKubeConfigOutput() KubernetesClusterKubeConfigOutput { + return i.ToKubernetesClusterKubeConfigOutputWithContext(context.Background()) } -func (i SpacesBucketCorsRuleArgs) ToSpacesBucketCorsRuleOutputWithContext(ctx context.Context) SpacesBucketCorsRuleOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpacesBucketCorsRuleOutput) +func (i KubernetesClusterKubeConfigArgs) ToKubernetesClusterKubeConfigOutputWithContext(ctx context.Context) KubernetesClusterKubeConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(KubernetesClusterKubeConfigOutput) } -// SpacesBucketCorsRuleArrayInput is an input type that accepts SpacesBucketCorsRuleArray and SpacesBucketCorsRuleArrayOutput values. -// You can construct a concrete instance of `SpacesBucketCorsRuleArrayInput` via: +// KubernetesClusterKubeConfigArrayInput is an input type that accepts KubernetesClusterKubeConfigArray and KubernetesClusterKubeConfigArrayOutput values. +// You can construct a concrete instance of `KubernetesClusterKubeConfigArrayInput` via: // -// SpacesBucketCorsRuleArray{ SpacesBucketCorsRuleArgs{...} } -type SpacesBucketCorsRuleArrayInput interface { +// KubernetesClusterKubeConfigArray{ KubernetesClusterKubeConfigArgs{...} } +type KubernetesClusterKubeConfigArrayInput interface { pulumi.Input - ToSpacesBucketCorsRuleArrayOutput() SpacesBucketCorsRuleArrayOutput - ToSpacesBucketCorsRuleArrayOutputWithContext(context.Context) SpacesBucketCorsRuleArrayOutput + ToKubernetesClusterKubeConfigArrayOutput() KubernetesClusterKubeConfigArrayOutput + ToKubernetesClusterKubeConfigArrayOutputWithContext(context.Context) KubernetesClusterKubeConfigArrayOutput } -type SpacesBucketCorsRuleArray []SpacesBucketCorsRuleInput +type KubernetesClusterKubeConfigArray []KubernetesClusterKubeConfigInput -func (SpacesBucketCorsRuleArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]SpacesBucketCorsRule)(nil)).Elem() +func (KubernetesClusterKubeConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]KubernetesClusterKubeConfig)(nil)).Elem() } -func (i SpacesBucketCorsRuleArray) ToSpacesBucketCorsRuleArrayOutput() SpacesBucketCorsRuleArrayOutput { - return i.ToSpacesBucketCorsRuleArrayOutputWithContext(context.Background()) +func (i KubernetesClusterKubeConfigArray) ToKubernetesClusterKubeConfigArrayOutput() KubernetesClusterKubeConfigArrayOutput { + return i.ToKubernetesClusterKubeConfigArrayOutputWithContext(context.Background()) } -func (i SpacesBucketCorsRuleArray) ToSpacesBucketCorsRuleArrayOutputWithContext(ctx context.Context) SpacesBucketCorsRuleArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpacesBucketCorsRuleArrayOutput) +func (i KubernetesClusterKubeConfigArray) ToKubernetesClusterKubeConfigArrayOutputWithContext(ctx context.Context) KubernetesClusterKubeConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(KubernetesClusterKubeConfigArrayOutput) } -type SpacesBucketCorsRuleOutput struct{ *pulumi.OutputState } +type KubernetesClusterKubeConfigOutput struct{ *pulumi.OutputState } -func (SpacesBucketCorsRuleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SpacesBucketCorsRule)(nil)).Elem() +func (KubernetesClusterKubeConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*KubernetesClusterKubeConfig)(nil)).Elem() } -func (o SpacesBucketCorsRuleOutput) ToSpacesBucketCorsRuleOutput() SpacesBucketCorsRuleOutput { +func (o KubernetesClusterKubeConfigOutput) ToKubernetesClusterKubeConfigOutput() KubernetesClusterKubeConfigOutput { return o } -func (o SpacesBucketCorsRuleOutput) ToSpacesBucketCorsRuleOutputWithContext(ctx context.Context) SpacesBucketCorsRuleOutput { +func (o KubernetesClusterKubeConfigOutput) ToKubernetesClusterKubeConfigOutputWithContext(ctx context.Context) KubernetesClusterKubeConfigOutput { return o } -// A list of headers that will be included in the CORS preflight request's `Access-Control-Request-Headers`. A header may contain one wildcard (e.g. `x-amz-*`). -func (o SpacesBucketCorsRuleOutput) AllowedHeaders() pulumi.StringArrayOutput { - return o.ApplyT(func(v SpacesBucketCorsRule) []string { return v.AllowedHeaders }).(pulumi.StringArrayOutput) -} - -// A list of HTTP methods (e.g. `GET`) which are allowed from the specified origin. -func (o SpacesBucketCorsRuleOutput) AllowedMethods() pulumi.StringArrayOutput { - return o.ApplyT(func(v SpacesBucketCorsRule) []string { return v.AllowedMethods }).(pulumi.StringArrayOutput) +// The base64 encoded public certificate used by clients to access the cluster. Only available if token authentication is not supported on your cluster. +func (o KubernetesClusterKubeConfigOutput) ClientCertificate() pulumi.StringPtrOutput { + return o.ApplyT(func(v KubernetesClusterKubeConfig) *string { return v.ClientCertificate }).(pulumi.StringPtrOutput) } -// A list of hosts from which requests using the specified methods are allowed. A host may contain one wildcard (e.g. http://*.example.com). -func (o SpacesBucketCorsRuleOutput) AllowedOrigins() pulumi.StringArrayOutput { - return o.ApplyT(func(v SpacesBucketCorsRule) []string { return v.AllowedOrigins }).(pulumi.StringArrayOutput) +// The base64 encoded private key used by clients to access the cluster. Only available if token authentication is not supported on your cluster. +func (o KubernetesClusterKubeConfigOutput) ClientKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v KubernetesClusterKubeConfig) *string { return v.ClientKey }).(pulumi.StringPtrOutput) } -// The time in seconds that browser can cache the response for a preflight request. -func (o SpacesBucketCorsRuleOutput) MaxAgeSeconds() pulumi.IntPtrOutput { - return o.ApplyT(func(v SpacesBucketCorsRule) *int { return v.MaxAgeSeconds }).(pulumi.IntPtrOutput) -} - -type SpacesBucketCorsRuleArrayOutput struct{ *pulumi.OutputState } - -func (SpacesBucketCorsRuleArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]SpacesBucketCorsRule)(nil)).Elem() +// The base64 encoded public certificate for the cluster's certificate authority. +func (o KubernetesClusterKubeConfigOutput) ClusterCaCertificate() pulumi.StringPtrOutput { + return o.ApplyT(func(v KubernetesClusterKubeConfig) *string { return v.ClusterCaCertificate }).(pulumi.StringPtrOutput) } -func (o SpacesBucketCorsRuleArrayOutput) ToSpacesBucketCorsRuleArrayOutput() SpacesBucketCorsRuleArrayOutput { - return o +// The date and time when the credentials will expire and need to be regenerated. +func (o KubernetesClusterKubeConfigOutput) ExpiresAt() pulumi.StringPtrOutput { + return o.ApplyT(func(v KubernetesClusterKubeConfig) *string { return v.ExpiresAt }).(pulumi.StringPtrOutput) } -func (o SpacesBucketCorsRuleArrayOutput) ToSpacesBucketCorsRuleArrayOutputWithContext(ctx context.Context) SpacesBucketCorsRuleArrayOutput { - return o +// The URL of the API server on the Kubernetes master node. +func (o KubernetesClusterKubeConfigOutput) Host() pulumi.StringPtrOutput { + return o.ApplyT(func(v KubernetesClusterKubeConfig) *string { return v.Host }).(pulumi.StringPtrOutput) } -func (o SpacesBucketCorsRuleArrayOutput) Index(i pulumi.IntInput) SpacesBucketCorsRuleOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) SpacesBucketCorsRule { - return vs[0].([]SpacesBucketCorsRule)[vs[1].(int)] - }).(SpacesBucketCorsRuleOutput) +// The full contents of the Kubernetes cluster's kubeconfig file. +func (o KubernetesClusterKubeConfigOutput) RawConfig() pulumi.StringPtrOutput { + return o.ApplyT(func(v KubernetesClusterKubeConfig) *string { return v.RawConfig }).(pulumi.StringPtrOutput) } -type SpacesBucketLifecycleRule struct { - // Specifies the number of days after initiating a multipart - // upload when the multipart upload must be completed or else Spaces will abort the upload. - AbortIncompleteMultipartUploadDays *int `pulumi:"abortIncompleteMultipartUploadDays"` - // Specifies lifecycle rule status. - Enabled bool `pulumi:"enabled"` - // Specifies a time period after which applicable objects expire (documented below). - Expiration *SpacesBucketLifecycleRuleExpiration `pulumi:"expiration"` - // Unique identifier for the rule. - Id *string `pulumi:"id"` - // Specifies when non-current object versions expire (documented below). - NoncurrentVersionExpiration *SpacesBucketLifecycleRuleNoncurrentVersionExpiration `pulumi:"noncurrentVersionExpiration"` - // Object key prefix identifying one or more objects to which the rule applies. - Prefix *string `pulumi:"prefix"` +// The DigitalOcean API access token used by clients to access the cluster. +func (o KubernetesClusterKubeConfigOutput) Token() pulumi.StringPtrOutput { + return o.ApplyT(func(v KubernetesClusterKubeConfig) *string { return v.Token }).(pulumi.StringPtrOutput) } -// SpacesBucketLifecycleRuleInput is an input type that accepts SpacesBucketLifecycleRuleArgs and SpacesBucketLifecycleRuleOutput values. -// You can construct a concrete instance of `SpacesBucketLifecycleRuleInput` via: -// -// SpacesBucketLifecycleRuleArgs{...} -type SpacesBucketLifecycleRuleInput interface { - pulumi.Input +type KubernetesClusterKubeConfigArrayOutput struct{ *pulumi.OutputState } - ToSpacesBucketLifecycleRuleOutput() SpacesBucketLifecycleRuleOutput - ToSpacesBucketLifecycleRuleOutputWithContext(context.Context) SpacesBucketLifecycleRuleOutput +func (KubernetesClusterKubeConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]KubernetesClusterKubeConfig)(nil)).Elem() } -type SpacesBucketLifecycleRuleArgs struct { - // Specifies the number of days after initiating a multipart - // upload when the multipart upload must be completed or else Spaces will abort the upload. - AbortIncompleteMultipartUploadDays pulumi.IntPtrInput `pulumi:"abortIncompleteMultipartUploadDays"` - // Specifies lifecycle rule status. - Enabled pulumi.BoolInput `pulumi:"enabled"` - // Specifies a time period after which applicable objects expire (documented below). - Expiration SpacesBucketLifecycleRuleExpirationPtrInput `pulumi:"expiration"` - // Unique identifier for the rule. - Id pulumi.StringPtrInput `pulumi:"id"` - // Specifies when non-current object versions expire (documented below). - NoncurrentVersionExpiration SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrInput `pulumi:"noncurrentVersionExpiration"` - // Object key prefix identifying one or more objects to which the rule applies. - Prefix pulumi.StringPtrInput `pulumi:"prefix"` +func (o KubernetesClusterKubeConfigArrayOutput) ToKubernetesClusterKubeConfigArrayOutput() KubernetesClusterKubeConfigArrayOutput { + return o } -func (SpacesBucketLifecycleRuleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SpacesBucketLifecycleRule)(nil)).Elem() +func (o KubernetesClusterKubeConfigArrayOutput) ToKubernetesClusterKubeConfigArrayOutputWithContext(ctx context.Context) KubernetesClusterKubeConfigArrayOutput { + return o } -func (i SpacesBucketLifecycleRuleArgs) ToSpacesBucketLifecycleRuleOutput() SpacesBucketLifecycleRuleOutput { - return i.ToSpacesBucketLifecycleRuleOutputWithContext(context.Background()) +func (o KubernetesClusterKubeConfigArrayOutput) Index(i pulumi.IntInput) KubernetesClusterKubeConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) KubernetesClusterKubeConfig { + return vs[0].([]KubernetesClusterKubeConfig)[vs[1].(int)] + }).(KubernetesClusterKubeConfigOutput) } -func (i SpacesBucketLifecycleRuleArgs) ToSpacesBucketLifecycleRuleOutputWithContext(ctx context.Context) SpacesBucketLifecycleRuleOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpacesBucketLifecycleRuleOutput) +type KubernetesClusterMaintenancePolicy struct { + // The day of the maintenance window policy. May be one of "monday" through "sunday", or "any" to indicate an arbitrary week day. + Day *string `pulumi:"day"` + Duration *string `pulumi:"duration"` + // The start time in UTC of the maintenance window policy in 24-hour clock format / HH:MM notation (e.g., 15:00). + StartTime *string `pulumi:"startTime"` } -// SpacesBucketLifecycleRuleArrayInput is an input type that accepts SpacesBucketLifecycleRuleArray and SpacesBucketLifecycleRuleArrayOutput values. -// You can construct a concrete instance of `SpacesBucketLifecycleRuleArrayInput` via: +// KubernetesClusterMaintenancePolicyInput is an input type that accepts KubernetesClusterMaintenancePolicyArgs and KubernetesClusterMaintenancePolicyOutput values. +// You can construct a concrete instance of `KubernetesClusterMaintenancePolicyInput` via: // -// SpacesBucketLifecycleRuleArray{ SpacesBucketLifecycleRuleArgs{...} } -type SpacesBucketLifecycleRuleArrayInput interface { +// KubernetesClusterMaintenancePolicyArgs{...} +type KubernetesClusterMaintenancePolicyInput interface { pulumi.Input - ToSpacesBucketLifecycleRuleArrayOutput() SpacesBucketLifecycleRuleArrayOutput - ToSpacesBucketLifecycleRuleArrayOutputWithContext(context.Context) SpacesBucketLifecycleRuleArrayOutput + ToKubernetesClusterMaintenancePolicyOutput() KubernetesClusterMaintenancePolicyOutput + ToKubernetesClusterMaintenancePolicyOutputWithContext(context.Context) KubernetesClusterMaintenancePolicyOutput } -type SpacesBucketLifecycleRuleArray []SpacesBucketLifecycleRuleInput - -func (SpacesBucketLifecycleRuleArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]SpacesBucketLifecycleRule)(nil)).Elem() +type KubernetesClusterMaintenancePolicyArgs struct { + // The day of the maintenance window policy. May be one of "monday" through "sunday", or "any" to indicate an arbitrary week day. + Day pulumi.StringPtrInput `pulumi:"day"` + Duration pulumi.StringPtrInput `pulumi:"duration"` + // The start time in UTC of the maintenance window policy in 24-hour clock format / HH:MM notation (e.g., 15:00). + StartTime pulumi.StringPtrInput `pulumi:"startTime"` } -func (i SpacesBucketLifecycleRuleArray) ToSpacesBucketLifecycleRuleArrayOutput() SpacesBucketLifecycleRuleArrayOutput { - return i.ToSpacesBucketLifecycleRuleArrayOutputWithContext(context.Background()) +func (KubernetesClusterMaintenancePolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*KubernetesClusterMaintenancePolicy)(nil)).Elem() } -func (i SpacesBucketLifecycleRuleArray) ToSpacesBucketLifecycleRuleArrayOutputWithContext(ctx context.Context) SpacesBucketLifecycleRuleArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpacesBucketLifecycleRuleArrayOutput) +func (i KubernetesClusterMaintenancePolicyArgs) ToKubernetesClusterMaintenancePolicyOutput() KubernetesClusterMaintenancePolicyOutput { + return i.ToKubernetesClusterMaintenancePolicyOutputWithContext(context.Background()) } -type SpacesBucketLifecycleRuleOutput struct{ *pulumi.OutputState } - -func (SpacesBucketLifecycleRuleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SpacesBucketLifecycleRule)(nil)).Elem() +func (i KubernetesClusterMaintenancePolicyArgs) ToKubernetesClusterMaintenancePolicyOutputWithContext(ctx context.Context) KubernetesClusterMaintenancePolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(KubernetesClusterMaintenancePolicyOutput) } -func (o SpacesBucketLifecycleRuleOutput) ToSpacesBucketLifecycleRuleOutput() SpacesBucketLifecycleRuleOutput { - return o +func (i KubernetesClusterMaintenancePolicyArgs) ToKubernetesClusterMaintenancePolicyPtrOutput() KubernetesClusterMaintenancePolicyPtrOutput { + return i.ToKubernetesClusterMaintenancePolicyPtrOutputWithContext(context.Background()) } -func (o SpacesBucketLifecycleRuleOutput) ToSpacesBucketLifecycleRuleOutputWithContext(ctx context.Context) SpacesBucketLifecycleRuleOutput { - return o +func (i KubernetesClusterMaintenancePolicyArgs) ToKubernetesClusterMaintenancePolicyPtrOutputWithContext(ctx context.Context) KubernetesClusterMaintenancePolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(KubernetesClusterMaintenancePolicyOutput).ToKubernetesClusterMaintenancePolicyPtrOutputWithContext(ctx) } -// Specifies the number of days after initiating a multipart -// upload when the multipart upload must be completed or else Spaces will abort the upload. -func (o SpacesBucketLifecycleRuleOutput) AbortIncompleteMultipartUploadDays() pulumi.IntPtrOutput { - return o.ApplyT(func(v SpacesBucketLifecycleRule) *int { return v.AbortIncompleteMultipartUploadDays }).(pulumi.IntPtrOutput) -} +// KubernetesClusterMaintenancePolicyPtrInput is an input type that accepts KubernetesClusterMaintenancePolicyArgs, KubernetesClusterMaintenancePolicyPtr and KubernetesClusterMaintenancePolicyPtrOutput values. +// You can construct a concrete instance of `KubernetesClusterMaintenancePolicyPtrInput` via: +// +// KubernetesClusterMaintenancePolicyArgs{...} +// +// or: +// +// nil +type KubernetesClusterMaintenancePolicyPtrInput interface { + pulumi.Input -// Specifies lifecycle rule status. -func (o SpacesBucketLifecycleRuleOutput) Enabled() pulumi.BoolOutput { - return o.ApplyT(func(v SpacesBucketLifecycleRule) bool { return v.Enabled }).(pulumi.BoolOutput) + ToKubernetesClusterMaintenancePolicyPtrOutput() KubernetesClusterMaintenancePolicyPtrOutput + ToKubernetesClusterMaintenancePolicyPtrOutputWithContext(context.Context) KubernetesClusterMaintenancePolicyPtrOutput } -// Specifies a time period after which applicable objects expire (documented below). -func (o SpacesBucketLifecycleRuleOutput) Expiration() SpacesBucketLifecycleRuleExpirationPtrOutput { - return o.ApplyT(func(v SpacesBucketLifecycleRule) *SpacesBucketLifecycleRuleExpiration { return v.Expiration }).(SpacesBucketLifecycleRuleExpirationPtrOutput) +type kubernetesClusterMaintenancePolicyPtrType KubernetesClusterMaintenancePolicyArgs + +func KubernetesClusterMaintenancePolicyPtr(v *KubernetesClusterMaintenancePolicyArgs) KubernetesClusterMaintenancePolicyPtrInput { + return (*kubernetesClusterMaintenancePolicyPtrType)(v) } -// Unique identifier for the rule. -func (o SpacesBucketLifecycleRuleOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpacesBucketLifecycleRule) *string { return v.Id }).(pulumi.StringPtrOutput) +func (*kubernetesClusterMaintenancePolicyPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**KubernetesClusterMaintenancePolicy)(nil)).Elem() } -// Specifies when non-current object versions expire (documented below). -func (o SpacesBucketLifecycleRuleOutput) NoncurrentVersionExpiration() SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput { - return o.ApplyT(func(v SpacesBucketLifecycleRule) *SpacesBucketLifecycleRuleNoncurrentVersionExpiration { - return v.NoncurrentVersionExpiration - }).(SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput) +func (i *kubernetesClusterMaintenancePolicyPtrType) ToKubernetesClusterMaintenancePolicyPtrOutput() KubernetesClusterMaintenancePolicyPtrOutput { + return i.ToKubernetesClusterMaintenancePolicyPtrOutputWithContext(context.Background()) } -// Object key prefix identifying one or more objects to which the rule applies. -func (o SpacesBucketLifecycleRuleOutput) Prefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpacesBucketLifecycleRule) *string { return v.Prefix }).(pulumi.StringPtrOutput) +func (i *kubernetesClusterMaintenancePolicyPtrType) ToKubernetesClusterMaintenancePolicyPtrOutputWithContext(ctx context.Context) KubernetesClusterMaintenancePolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(KubernetesClusterMaintenancePolicyPtrOutput) } -type SpacesBucketLifecycleRuleArrayOutput struct{ *pulumi.OutputState } +type KubernetesClusterMaintenancePolicyOutput struct{ *pulumi.OutputState } -func (SpacesBucketLifecycleRuleArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]SpacesBucketLifecycleRule)(nil)).Elem() +func (KubernetesClusterMaintenancePolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*KubernetesClusterMaintenancePolicy)(nil)).Elem() } -func (o SpacesBucketLifecycleRuleArrayOutput) ToSpacesBucketLifecycleRuleArrayOutput() SpacesBucketLifecycleRuleArrayOutput { +func (o KubernetesClusterMaintenancePolicyOutput) ToKubernetesClusterMaintenancePolicyOutput() KubernetesClusterMaintenancePolicyOutput { return o } -func (o SpacesBucketLifecycleRuleArrayOutput) ToSpacesBucketLifecycleRuleArrayOutputWithContext(ctx context.Context) SpacesBucketLifecycleRuleArrayOutput { +func (o KubernetesClusterMaintenancePolicyOutput) ToKubernetesClusterMaintenancePolicyOutputWithContext(ctx context.Context) KubernetesClusterMaintenancePolicyOutput { return o } -func (o SpacesBucketLifecycleRuleArrayOutput) Index(i pulumi.IntInput) SpacesBucketLifecycleRuleOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) SpacesBucketLifecycleRule { - return vs[0].([]SpacesBucketLifecycleRule)[vs[1].(int)] - }).(SpacesBucketLifecycleRuleOutput) +func (o KubernetesClusterMaintenancePolicyOutput) ToKubernetesClusterMaintenancePolicyPtrOutput() KubernetesClusterMaintenancePolicyPtrOutput { + return o.ToKubernetesClusterMaintenancePolicyPtrOutputWithContext(context.Background()) } -type SpacesBucketLifecycleRuleExpiration struct { - // Specifies the date/time after which you want applicable objects to expire. The argument uses - // RFC3339 format, e.g. "2020-03-22T15:03:55Z" or parts thereof e.g. "2019-02-28". - Date *string `pulumi:"date"` - // Specifies the number of days after object creation when the applicable objects will expire. - Days *int `pulumi:"days"` - // On a versioned bucket (versioning-enabled or versioning-suspended - // bucket), setting this to true directs Spaces to delete expired object delete markers. - ExpiredObjectDeleteMarker *bool `pulumi:"expiredObjectDeleteMarker"` +func (o KubernetesClusterMaintenancePolicyOutput) ToKubernetesClusterMaintenancePolicyPtrOutputWithContext(ctx context.Context) KubernetesClusterMaintenancePolicyPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v KubernetesClusterMaintenancePolicy) *KubernetesClusterMaintenancePolicy { + return &v + }).(KubernetesClusterMaintenancePolicyPtrOutput) } -// SpacesBucketLifecycleRuleExpirationInput is an input type that accepts SpacesBucketLifecycleRuleExpirationArgs and SpacesBucketLifecycleRuleExpirationOutput values. -// You can construct a concrete instance of `SpacesBucketLifecycleRuleExpirationInput` via: -// -// SpacesBucketLifecycleRuleExpirationArgs{...} -type SpacesBucketLifecycleRuleExpirationInput interface { - pulumi.Input - - ToSpacesBucketLifecycleRuleExpirationOutput() SpacesBucketLifecycleRuleExpirationOutput - ToSpacesBucketLifecycleRuleExpirationOutputWithContext(context.Context) SpacesBucketLifecycleRuleExpirationOutput +// The day of the maintenance window policy. May be one of "monday" through "sunday", or "any" to indicate an arbitrary week day. +func (o KubernetesClusterMaintenancePolicyOutput) Day() pulumi.StringPtrOutput { + return o.ApplyT(func(v KubernetesClusterMaintenancePolicy) *string { return v.Day }).(pulumi.StringPtrOutput) } -type SpacesBucketLifecycleRuleExpirationArgs struct { - // Specifies the date/time after which you want applicable objects to expire. The argument uses - // RFC3339 format, e.g. "2020-03-22T15:03:55Z" or parts thereof e.g. "2019-02-28". - Date pulumi.StringPtrInput `pulumi:"date"` - // Specifies the number of days after object creation when the applicable objects will expire. - Days pulumi.IntPtrInput `pulumi:"days"` - // On a versioned bucket (versioning-enabled or versioning-suspended - // bucket), setting this to true directs Spaces to delete expired object delete markers. - ExpiredObjectDeleteMarker pulumi.BoolPtrInput `pulumi:"expiredObjectDeleteMarker"` +func (o KubernetesClusterMaintenancePolicyOutput) Duration() pulumi.StringPtrOutput { + return o.ApplyT(func(v KubernetesClusterMaintenancePolicy) *string { return v.Duration }).(pulumi.StringPtrOutput) } -func (SpacesBucketLifecycleRuleExpirationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SpacesBucketLifecycleRuleExpiration)(nil)).Elem() +// The start time in UTC of the maintenance window policy in 24-hour clock format / HH:MM notation (e.g., 15:00). +func (o KubernetesClusterMaintenancePolicyOutput) StartTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v KubernetesClusterMaintenancePolicy) *string { return v.StartTime }).(pulumi.StringPtrOutput) } -func (i SpacesBucketLifecycleRuleExpirationArgs) ToSpacesBucketLifecycleRuleExpirationOutput() SpacesBucketLifecycleRuleExpirationOutput { - return i.ToSpacesBucketLifecycleRuleExpirationOutputWithContext(context.Background()) -} +type KubernetesClusterMaintenancePolicyPtrOutput struct{ *pulumi.OutputState } -func (i SpacesBucketLifecycleRuleExpirationArgs) ToSpacesBucketLifecycleRuleExpirationOutputWithContext(ctx context.Context) SpacesBucketLifecycleRuleExpirationOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpacesBucketLifecycleRuleExpirationOutput) +func (KubernetesClusterMaintenancePolicyPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**KubernetesClusterMaintenancePolicy)(nil)).Elem() } -func (i SpacesBucketLifecycleRuleExpirationArgs) ToSpacesBucketLifecycleRuleExpirationPtrOutput() SpacesBucketLifecycleRuleExpirationPtrOutput { - return i.ToSpacesBucketLifecycleRuleExpirationPtrOutputWithContext(context.Background()) +func (o KubernetesClusterMaintenancePolicyPtrOutput) ToKubernetesClusterMaintenancePolicyPtrOutput() KubernetesClusterMaintenancePolicyPtrOutput { + return o } -func (i SpacesBucketLifecycleRuleExpirationArgs) ToSpacesBucketLifecycleRuleExpirationPtrOutputWithContext(ctx context.Context) SpacesBucketLifecycleRuleExpirationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpacesBucketLifecycleRuleExpirationOutput).ToSpacesBucketLifecycleRuleExpirationPtrOutputWithContext(ctx) +func (o KubernetesClusterMaintenancePolicyPtrOutput) ToKubernetesClusterMaintenancePolicyPtrOutputWithContext(ctx context.Context) KubernetesClusterMaintenancePolicyPtrOutput { + return o } -// SpacesBucketLifecycleRuleExpirationPtrInput is an input type that accepts SpacesBucketLifecycleRuleExpirationArgs, SpacesBucketLifecycleRuleExpirationPtr and SpacesBucketLifecycleRuleExpirationPtrOutput values. -// You can construct a concrete instance of `SpacesBucketLifecycleRuleExpirationPtrInput` via: -// -// SpacesBucketLifecycleRuleExpirationArgs{...} -// -// or: -// -// nil -type SpacesBucketLifecycleRuleExpirationPtrInput interface { - pulumi.Input - - ToSpacesBucketLifecycleRuleExpirationPtrOutput() SpacesBucketLifecycleRuleExpirationPtrOutput - ToSpacesBucketLifecycleRuleExpirationPtrOutputWithContext(context.Context) SpacesBucketLifecycleRuleExpirationPtrOutput -} - -type spacesBucketLifecycleRuleExpirationPtrType SpacesBucketLifecycleRuleExpirationArgs - -func SpacesBucketLifecycleRuleExpirationPtr(v *SpacesBucketLifecycleRuleExpirationArgs) SpacesBucketLifecycleRuleExpirationPtrInput { - return (*spacesBucketLifecycleRuleExpirationPtrType)(v) -} - -func (*spacesBucketLifecycleRuleExpirationPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SpacesBucketLifecycleRuleExpiration)(nil)).Elem() -} - -func (i *spacesBucketLifecycleRuleExpirationPtrType) ToSpacesBucketLifecycleRuleExpirationPtrOutput() SpacesBucketLifecycleRuleExpirationPtrOutput { - return i.ToSpacesBucketLifecycleRuleExpirationPtrOutputWithContext(context.Background()) -} - -func (i *spacesBucketLifecycleRuleExpirationPtrType) ToSpacesBucketLifecycleRuleExpirationPtrOutputWithContext(ctx context.Context) SpacesBucketLifecycleRuleExpirationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpacesBucketLifecycleRuleExpirationPtrOutput) -} - -type SpacesBucketLifecycleRuleExpirationOutput struct{ *pulumi.OutputState } - -func (SpacesBucketLifecycleRuleExpirationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SpacesBucketLifecycleRuleExpiration)(nil)).Elem() -} - -func (o SpacesBucketLifecycleRuleExpirationOutput) ToSpacesBucketLifecycleRuleExpirationOutput() SpacesBucketLifecycleRuleExpirationOutput { - return o -} - -func (o SpacesBucketLifecycleRuleExpirationOutput) ToSpacesBucketLifecycleRuleExpirationOutputWithContext(ctx context.Context) SpacesBucketLifecycleRuleExpirationOutput { - return o -} - -func (o SpacesBucketLifecycleRuleExpirationOutput) ToSpacesBucketLifecycleRuleExpirationPtrOutput() SpacesBucketLifecycleRuleExpirationPtrOutput { - return o.ToSpacesBucketLifecycleRuleExpirationPtrOutputWithContext(context.Background()) -} - -func (o SpacesBucketLifecycleRuleExpirationOutput) ToSpacesBucketLifecycleRuleExpirationPtrOutputWithContext(ctx context.Context) SpacesBucketLifecycleRuleExpirationPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SpacesBucketLifecycleRuleExpiration) *SpacesBucketLifecycleRuleExpiration { - return &v - }).(SpacesBucketLifecycleRuleExpirationPtrOutput) -} - -// Specifies the date/time after which you want applicable objects to expire. The argument uses -// RFC3339 format, e.g. "2020-03-22T15:03:55Z" or parts thereof e.g. "2019-02-28". -func (o SpacesBucketLifecycleRuleExpirationOutput) Date() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpacesBucketLifecycleRuleExpiration) *string { return v.Date }).(pulumi.StringPtrOutput) -} - -// Specifies the number of days after object creation when the applicable objects will expire. -func (o SpacesBucketLifecycleRuleExpirationOutput) Days() pulumi.IntPtrOutput { - return o.ApplyT(func(v SpacesBucketLifecycleRuleExpiration) *int { return v.Days }).(pulumi.IntPtrOutput) -} - -// On a versioned bucket (versioning-enabled or versioning-suspended -// bucket), setting this to true directs Spaces to delete expired object delete markers. -func (o SpacesBucketLifecycleRuleExpirationOutput) ExpiredObjectDeleteMarker() pulumi.BoolPtrOutput { - return o.ApplyT(func(v SpacesBucketLifecycleRuleExpiration) *bool { return v.ExpiredObjectDeleteMarker }).(pulumi.BoolPtrOutput) -} - -type SpacesBucketLifecycleRuleExpirationPtrOutput struct{ *pulumi.OutputState } - -func (SpacesBucketLifecycleRuleExpirationPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SpacesBucketLifecycleRuleExpiration)(nil)).Elem() -} - -func (o SpacesBucketLifecycleRuleExpirationPtrOutput) ToSpacesBucketLifecycleRuleExpirationPtrOutput() SpacesBucketLifecycleRuleExpirationPtrOutput { - return o -} - -func (o SpacesBucketLifecycleRuleExpirationPtrOutput) ToSpacesBucketLifecycleRuleExpirationPtrOutputWithContext(ctx context.Context) SpacesBucketLifecycleRuleExpirationPtrOutput { - return o -} - -func (o SpacesBucketLifecycleRuleExpirationPtrOutput) Elem() SpacesBucketLifecycleRuleExpirationOutput { - return o.ApplyT(func(v *SpacesBucketLifecycleRuleExpiration) SpacesBucketLifecycleRuleExpiration { +func (o KubernetesClusterMaintenancePolicyPtrOutput) Elem() KubernetesClusterMaintenancePolicyOutput { + return o.ApplyT(func(v *KubernetesClusterMaintenancePolicy) KubernetesClusterMaintenancePolicy { if v != nil { return *v } - var ret SpacesBucketLifecycleRuleExpiration + var ret KubernetesClusterMaintenancePolicy return ret - }).(SpacesBucketLifecycleRuleExpirationOutput) + }).(KubernetesClusterMaintenancePolicyOutput) } -// Specifies the date/time after which you want applicable objects to expire. The argument uses -// RFC3339 format, e.g. "2020-03-22T15:03:55Z" or parts thereof e.g. "2019-02-28". -func (o SpacesBucketLifecycleRuleExpirationPtrOutput) Date() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SpacesBucketLifecycleRuleExpiration) *string { +// The day of the maintenance window policy. May be one of "monday" through "sunday", or "any" to indicate an arbitrary week day. +func (o KubernetesClusterMaintenancePolicyPtrOutput) Day() pulumi.StringPtrOutput { + return o.ApplyT(func(v *KubernetesClusterMaintenancePolicy) *string { if v == nil { return nil } - return v.Date + return v.Day }).(pulumi.StringPtrOutput) } -// Specifies the number of days after object creation when the applicable objects will expire. -func (o SpacesBucketLifecycleRuleExpirationPtrOutput) Days() pulumi.IntPtrOutput { - return o.ApplyT(func(v *SpacesBucketLifecycleRuleExpiration) *int { +func (o KubernetesClusterMaintenancePolicyPtrOutput) Duration() pulumi.StringPtrOutput { + return o.ApplyT(func(v *KubernetesClusterMaintenancePolicy) *string { if v == nil { return nil } - return v.Days - }).(pulumi.IntPtrOutput) + return v.Duration + }).(pulumi.StringPtrOutput) } -// On a versioned bucket (versioning-enabled or versioning-suspended -// bucket), setting this to true directs Spaces to delete expired object delete markers. -func (o SpacesBucketLifecycleRuleExpirationPtrOutput) ExpiredObjectDeleteMarker() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *SpacesBucketLifecycleRuleExpiration) *bool { +// The start time in UTC of the maintenance window policy in 24-hour clock format / HH:MM notation (e.g., 15:00). +func (o KubernetesClusterMaintenancePolicyPtrOutput) StartTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v *KubernetesClusterMaintenancePolicy) *string { if v == nil { return nil } - return v.ExpiredObjectDeleteMarker - }).(pulumi.BoolPtrOutput) + return v.StartTime + }).(pulumi.StringPtrOutput) } -type SpacesBucketLifecycleRuleNoncurrentVersionExpiration struct { - // Specifies the number of days after which an object's non-current versions expire. - Days *int `pulumi:"days"` +type KubernetesClusterNodePool struct { + // A computed field representing the actual number of nodes in the node pool, which is especially useful when auto-scaling is enabled. + ActualNodeCount *int `pulumi:"actualNodeCount"` + // Enable auto-scaling of the number of nodes in the node pool within the given min/max range. + AutoScale *bool `pulumi:"autoScale"` + // A unique ID that can be used to identify and reference the node. + Id *string `pulumi:"id"` + // A map of key/value pairs to apply to nodes in the pool. The labels are exposed in the Kubernetes API as labels in the metadata of the corresponding [Node resources](https://kubernetes.io/docs/concepts/architecture/nodes/). + Labels map[string]string `pulumi:"labels"` + // If auto-scaling is enabled, this represents the maximum number of nodes that the node pool can be scaled up to. + MaxNodes *int `pulumi:"maxNodes"` + // If auto-scaling is enabled, this represents the minimum number of nodes that the node pool can be scaled down to. + MinNodes *int `pulumi:"minNodes"` + // A name for the node pool. + Name string `pulumi:"name"` + // The number of Droplet instances in the node pool. If auto-scaling is enabled, this should only be set if the desired result is to explicitly reset the number of nodes to this value. If auto-scaling is enabled, and the node count is outside of the given min/max range, it will use the min nodes value. + NodeCount *int `pulumi:"nodeCount"` + // A list of nodes in the pool. Each node exports the following attributes: + Nodes []KubernetesClusterNodePoolNode `pulumi:"nodes"` + // The slug identifier for the type of Droplet to be used as workers in the node pool. + Size string `pulumi:"size"` + // A list of tag names to be applied to the Kubernetes cluster. + Tags []string `pulumi:"tags"` + // A block representing a taint applied to all nodes in the pool. Each taint exports the following attributes (taints must be unique by key and effect pair): + Taints []KubernetesClusterNodePoolTaint `pulumi:"taints"` } -// SpacesBucketLifecycleRuleNoncurrentVersionExpirationInput is an input type that accepts SpacesBucketLifecycleRuleNoncurrentVersionExpirationArgs and SpacesBucketLifecycleRuleNoncurrentVersionExpirationOutput values. -// You can construct a concrete instance of `SpacesBucketLifecycleRuleNoncurrentVersionExpirationInput` via: +// KubernetesClusterNodePoolInput is an input type that accepts KubernetesClusterNodePoolArgs and KubernetesClusterNodePoolOutput values. +// You can construct a concrete instance of `KubernetesClusterNodePoolInput` via: // -// SpacesBucketLifecycleRuleNoncurrentVersionExpirationArgs{...} -type SpacesBucketLifecycleRuleNoncurrentVersionExpirationInput interface { +// KubernetesClusterNodePoolArgs{...} +type KubernetesClusterNodePoolInput interface { pulumi.Input - ToSpacesBucketLifecycleRuleNoncurrentVersionExpirationOutput() SpacesBucketLifecycleRuleNoncurrentVersionExpirationOutput - ToSpacesBucketLifecycleRuleNoncurrentVersionExpirationOutputWithContext(context.Context) SpacesBucketLifecycleRuleNoncurrentVersionExpirationOutput + ToKubernetesClusterNodePoolOutput() KubernetesClusterNodePoolOutput + ToKubernetesClusterNodePoolOutputWithContext(context.Context) KubernetesClusterNodePoolOutput } -type SpacesBucketLifecycleRuleNoncurrentVersionExpirationArgs struct { - // Specifies the number of days after which an object's non-current versions expire. - Days pulumi.IntPtrInput `pulumi:"days"` +type KubernetesClusterNodePoolArgs struct { + // A computed field representing the actual number of nodes in the node pool, which is especially useful when auto-scaling is enabled. + ActualNodeCount pulumi.IntPtrInput `pulumi:"actualNodeCount"` + // Enable auto-scaling of the number of nodes in the node pool within the given min/max range. + AutoScale pulumi.BoolPtrInput `pulumi:"autoScale"` + // A unique ID that can be used to identify and reference the node. + Id pulumi.StringPtrInput `pulumi:"id"` + // A map of key/value pairs to apply to nodes in the pool. The labels are exposed in the Kubernetes API as labels in the metadata of the corresponding [Node resources](https://kubernetes.io/docs/concepts/architecture/nodes/). + Labels pulumi.StringMapInput `pulumi:"labels"` + // If auto-scaling is enabled, this represents the maximum number of nodes that the node pool can be scaled up to. + MaxNodes pulumi.IntPtrInput `pulumi:"maxNodes"` + // If auto-scaling is enabled, this represents the minimum number of nodes that the node pool can be scaled down to. + MinNodes pulumi.IntPtrInput `pulumi:"minNodes"` + // A name for the node pool. + Name pulumi.StringInput `pulumi:"name"` + // The number of Droplet instances in the node pool. If auto-scaling is enabled, this should only be set if the desired result is to explicitly reset the number of nodes to this value. If auto-scaling is enabled, and the node count is outside of the given min/max range, it will use the min nodes value. + NodeCount pulumi.IntPtrInput `pulumi:"nodeCount"` + // A list of nodes in the pool. Each node exports the following attributes: + Nodes KubernetesClusterNodePoolNodeArrayInput `pulumi:"nodes"` + // The slug identifier for the type of Droplet to be used as workers in the node pool. + Size pulumi.StringInput `pulumi:"size"` + // A list of tag names to be applied to the Kubernetes cluster. + Tags pulumi.StringArrayInput `pulumi:"tags"` + // A block representing a taint applied to all nodes in the pool. Each taint exports the following attributes (taints must be unique by key and effect pair): + Taints KubernetesClusterNodePoolTaintArrayInput `pulumi:"taints"` } -func (SpacesBucketLifecycleRuleNoncurrentVersionExpirationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SpacesBucketLifecycleRuleNoncurrentVersionExpiration)(nil)).Elem() +func (KubernetesClusterNodePoolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*KubernetesClusterNodePool)(nil)).Elem() } -func (i SpacesBucketLifecycleRuleNoncurrentVersionExpirationArgs) ToSpacesBucketLifecycleRuleNoncurrentVersionExpirationOutput() SpacesBucketLifecycleRuleNoncurrentVersionExpirationOutput { - return i.ToSpacesBucketLifecycleRuleNoncurrentVersionExpirationOutputWithContext(context.Background()) +func (i KubernetesClusterNodePoolArgs) ToKubernetesClusterNodePoolOutput() KubernetesClusterNodePoolOutput { + return i.ToKubernetesClusterNodePoolOutputWithContext(context.Background()) } -func (i SpacesBucketLifecycleRuleNoncurrentVersionExpirationArgs) ToSpacesBucketLifecycleRuleNoncurrentVersionExpirationOutputWithContext(ctx context.Context) SpacesBucketLifecycleRuleNoncurrentVersionExpirationOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpacesBucketLifecycleRuleNoncurrentVersionExpirationOutput) +func (i KubernetesClusterNodePoolArgs) ToKubernetesClusterNodePoolOutputWithContext(ctx context.Context) KubernetesClusterNodePoolOutput { + return pulumi.ToOutputWithContext(ctx, i).(KubernetesClusterNodePoolOutput) } -func (i SpacesBucketLifecycleRuleNoncurrentVersionExpirationArgs) ToSpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput() SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput { - return i.ToSpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutputWithContext(context.Background()) +func (i KubernetesClusterNodePoolArgs) ToKubernetesClusterNodePoolPtrOutput() KubernetesClusterNodePoolPtrOutput { + return i.ToKubernetesClusterNodePoolPtrOutputWithContext(context.Background()) } -func (i SpacesBucketLifecycleRuleNoncurrentVersionExpirationArgs) ToSpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutputWithContext(ctx context.Context) SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpacesBucketLifecycleRuleNoncurrentVersionExpirationOutput).ToSpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutputWithContext(ctx) +func (i KubernetesClusterNodePoolArgs) ToKubernetesClusterNodePoolPtrOutputWithContext(ctx context.Context) KubernetesClusterNodePoolPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(KubernetesClusterNodePoolOutput).ToKubernetesClusterNodePoolPtrOutputWithContext(ctx) } -// SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrInput is an input type that accepts SpacesBucketLifecycleRuleNoncurrentVersionExpirationArgs, SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtr and SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput values. -// You can construct a concrete instance of `SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrInput` via: +// KubernetesClusterNodePoolPtrInput is an input type that accepts KubernetesClusterNodePoolArgs, KubernetesClusterNodePoolPtr and KubernetesClusterNodePoolPtrOutput values. +// You can construct a concrete instance of `KubernetesClusterNodePoolPtrInput` via: // -// SpacesBucketLifecycleRuleNoncurrentVersionExpirationArgs{...} +// KubernetesClusterNodePoolArgs{...} // // or: // // nil -type SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrInput interface { +type KubernetesClusterNodePoolPtrInput interface { pulumi.Input - ToSpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput() SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput - ToSpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutputWithContext(context.Context) SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput + ToKubernetesClusterNodePoolPtrOutput() KubernetesClusterNodePoolPtrOutput + ToKubernetesClusterNodePoolPtrOutputWithContext(context.Context) KubernetesClusterNodePoolPtrOutput } -type spacesBucketLifecycleRuleNoncurrentVersionExpirationPtrType SpacesBucketLifecycleRuleNoncurrentVersionExpirationArgs +type kubernetesClusterNodePoolPtrType KubernetesClusterNodePoolArgs -func SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtr(v *SpacesBucketLifecycleRuleNoncurrentVersionExpirationArgs) SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrInput { - return (*spacesBucketLifecycleRuleNoncurrentVersionExpirationPtrType)(v) +func KubernetesClusterNodePoolPtr(v *KubernetesClusterNodePoolArgs) KubernetesClusterNodePoolPtrInput { + return (*kubernetesClusterNodePoolPtrType)(v) } -func (*spacesBucketLifecycleRuleNoncurrentVersionExpirationPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SpacesBucketLifecycleRuleNoncurrentVersionExpiration)(nil)).Elem() +func (*kubernetesClusterNodePoolPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**KubernetesClusterNodePool)(nil)).Elem() } -func (i *spacesBucketLifecycleRuleNoncurrentVersionExpirationPtrType) ToSpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput() SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput { - return i.ToSpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutputWithContext(context.Background()) +func (i *kubernetesClusterNodePoolPtrType) ToKubernetesClusterNodePoolPtrOutput() KubernetesClusterNodePoolPtrOutput { + return i.ToKubernetesClusterNodePoolPtrOutputWithContext(context.Background()) } -func (i *spacesBucketLifecycleRuleNoncurrentVersionExpirationPtrType) ToSpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutputWithContext(ctx context.Context) SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput) +func (i *kubernetesClusterNodePoolPtrType) ToKubernetesClusterNodePoolPtrOutputWithContext(ctx context.Context) KubernetesClusterNodePoolPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(KubernetesClusterNodePoolPtrOutput) } -type SpacesBucketLifecycleRuleNoncurrentVersionExpirationOutput struct{ *pulumi.OutputState } +type KubernetesClusterNodePoolOutput struct{ *pulumi.OutputState } -func (SpacesBucketLifecycleRuleNoncurrentVersionExpirationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SpacesBucketLifecycleRuleNoncurrentVersionExpiration)(nil)).Elem() +func (KubernetesClusterNodePoolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*KubernetesClusterNodePool)(nil)).Elem() } -func (o SpacesBucketLifecycleRuleNoncurrentVersionExpirationOutput) ToSpacesBucketLifecycleRuleNoncurrentVersionExpirationOutput() SpacesBucketLifecycleRuleNoncurrentVersionExpirationOutput { +func (o KubernetesClusterNodePoolOutput) ToKubernetesClusterNodePoolOutput() KubernetesClusterNodePoolOutput { return o } -func (o SpacesBucketLifecycleRuleNoncurrentVersionExpirationOutput) ToSpacesBucketLifecycleRuleNoncurrentVersionExpirationOutputWithContext(ctx context.Context) SpacesBucketLifecycleRuleNoncurrentVersionExpirationOutput { +func (o KubernetesClusterNodePoolOutput) ToKubernetesClusterNodePoolOutputWithContext(ctx context.Context) KubernetesClusterNodePoolOutput { return o } -func (o SpacesBucketLifecycleRuleNoncurrentVersionExpirationOutput) ToSpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput() SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput { - return o.ToSpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutputWithContext(context.Background()) +func (o KubernetesClusterNodePoolOutput) ToKubernetesClusterNodePoolPtrOutput() KubernetesClusterNodePoolPtrOutput { + return o.ToKubernetesClusterNodePoolPtrOutputWithContext(context.Background()) } -func (o SpacesBucketLifecycleRuleNoncurrentVersionExpirationOutput) ToSpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutputWithContext(ctx context.Context) SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SpacesBucketLifecycleRuleNoncurrentVersionExpiration) *SpacesBucketLifecycleRuleNoncurrentVersionExpiration { - return &v - }).(SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput) -} - -// Specifies the number of days after which an object's non-current versions expire. -func (o SpacesBucketLifecycleRuleNoncurrentVersionExpirationOutput) Days() pulumi.IntPtrOutput { - return o.ApplyT(func(v SpacesBucketLifecycleRuleNoncurrentVersionExpiration) *int { return v.Days }).(pulumi.IntPtrOutput) -} - -type SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput struct{ *pulumi.OutputState } - -func (SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SpacesBucketLifecycleRuleNoncurrentVersionExpiration)(nil)).Elem() -} - -func (o SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput) ToSpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput() SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput { - return o +func (o KubernetesClusterNodePoolOutput) ToKubernetesClusterNodePoolPtrOutputWithContext(ctx context.Context) KubernetesClusterNodePoolPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v KubernetesClusterNodePool) *KubernetesClusterNodePool { + return &v + }).(KubernetesClusterNodePoolPtrOutput) } -func (o SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput) ToSpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutputWithContext(ctx context.Context) SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput { - return o +// A computed field representing the actual number of nodes in the node pool, which is especially useful when auto-scaling is enabled. +func (o KubernetesClusterNodePoolOutput) ActualNodeCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v KubernetesClusterNodePool) *int { return v.ActualNodeCount }).(pulumi.IntPtrOutput) } -func (o SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput) Elem() SpacesBucketLifecycleRuleNoncurrentVersionExpirationOutput { - return o.ApplyT(func(v *SpacesBucketLifecycleRuleNoncurrentVersionExpiration) SpacesBucketLifecycleRuleNoncurrentVersionExpiration { - if v != nil { - return *v - } - var ret SpacesBucketLifecycleRuleNoncurrentVersionExpiration - return ret - }).(SpacesBucketLifecycleRuleNoncurrentVersionExpirationOutput) +// Enable auto-scaling of the number of nodes in the node pool within the given min/max range. +func (o KubernetesClusterNodePoolOutput) AutoScale() pulumi.BoolPtrOutput { + return o.ApplyT(func(v KubernetesClusterNodePool) *bool { return v.AutoScale }).(pulumi.BoolPtrOutput) } -// Specifies the number of days after which an object's non-current versions expire. -func (o SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput) Days() pulumi.IntPtrOutput { - return o.ApplyT(func(v *SpacesBucketLifecycleRuleNoncurrentVersionExpiration) *int { - if v == nil { - return nil - } - return v.Days - }).(pulumi.IntPtrOutput) +// A unique ID that can be used to identify and reference the node. +func (o KubernetesClusterNodePoolOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v KubernetesClusterNodePool) *string { return v.Id }).(pulumi.StringPtrOutput) } -type SpacesBucketVersioning struct { - // Enable versioning. Once you version-enable a bucket, it can never return to an unversioned - // state. You can, however, suspend versioning on that bucket. - Enabled *bool `pulumi:"enabled"` +// A map of key/value pairs to apply to nodes in the pool. The labels are exposed in the Kubernetes API as labels in the metadata of the corresponding [Node resources](https://kubernetes.io/docs/concepts/architecture/nodes/). +func (o KubernetesClusterNodePoolOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v KubernetesClusterNodePool) map[string]string { return v.Labels }).(pulumi.StringMapOutput) } -// SpacesBucketVersioningInput is an input type that accepts SpacesBucketVersioningArgs and SpacesBucketVersioningOutput values. -// You can construct a concrete instance of `SpacesBucketVersioningInput` via: -// -// SpacesBucketVersioningArgs{...} -type SpacesBucketVersioningInput interface { - pulumi.Input - - ToSpacesBucketVersioningOutput() SpacesBucketVersioningOutput - ToSpacesBucketVersioningOutputWithContext(context.Context) SpacesBucketVersioningOutput +// If auto-scaling is enabled, this represents the maximum number of nodes that the node pool can be scaled up to. +func (o KubernetesClusterNodePoolOutput) MaxNodes() pulumi.IntPtrOutput { + return o.ApplyT(func(v KubernetesClusterNodePool) *int { return v.MaxNodes }).(pulumi.IntPtrOutput) } -type SpacesBucketVersioningArgs struct { - // Enable versioning. Once you version-enable a bucket, it can never return to an unversioned - // state. You can, however, suspend versioning on that bucket. - Enabled pulumi.BoolPtrInput `pulumi:"enabled"` +// If auto-scaling is enabled, this represents the minimum number of nodes that the node pool can be scaled down to. +func (o KubernetesClusterNodePoolOutput) MinNodes() pulumi.IntPtrOutput { + return o.ApplyT(func(v KubernetesClusterNodePool) *int { return v.MinNodes }).(pulumi.IntPtrOutput) } -func (SpacesBucketVersioningArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SpacesBucketVersioning)(nil)).Elem() +// A name for the node pool. +func (o KubernetesClusterNodePoolOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v KubernetesClusterNodePool) string { return v.Name }).(pulumi.StringOutput) } -func (i SpacesBucketVersioningArgs) ToSpacesBucketVersioningOutput() SpacesBucketVersioningOutput { - return i.ToSpacesBucketVersioningOutputWithContext(context.Background()) +// The number of Droplet instances in the node pool. If auto-scaling is enabled, this should only be set if the desired result is to explicitly reset the number of nodes to this value. If auto-scaling is enabled, and the node count is outside of the given min/max range, it will use the min nodes value. +func (o KubernetesClusterNodePoolOutput) NodeCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v KubernetesClusterNodePool) *int { return v.NodeCount }).(pulumi.IntPtrOutput) } -func (i SpacesBucketVersioningArgs) ToSpacesBucketVersioningOutputWithContext(ctx context.Context) SpacesBucketVersioningOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpacesBucketVersioningOutput) +// A list of nodes in the pool. Each node exports the following attributes: +func (o KubernetesClusterNodePoolOutput) Nodes() KubernetesClusterNodePoolNodeArrayOutput { + return o.ApplyT(func(v KubernetesClusterNodePool) []KubernetesClusterNodePoolNode { return v.Nodes }).(KubernetesClusterNodePoolNodeArrayOutput) } -func (i SpacesBucketVersioningArgs) ToSpacesBucketVersioningPtrOutput() SpacesBucketVersioningPtrOutput { - return i.ToSpacesBucketVersioningPtrOutputWithContext(context.Background()) +// The slug identifier for the type of Droplet to be used as workers in the node pool. +func (o KubernetesClusterNodePoolOutput) Size() pulumi.StringOutput { + return o.ApplyT(func(v KubernetesClusterNodePool) string { return v.Size }).(pulumi.StringOutput) } -func (i SpacesBucketVersioningArgs) ToSpacesBucketVersioningPtrOutputWithContext(ctx context.Context) SpacesBucketVersioningPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpacesBucketVersioningOutput).ToSpacesBucketVersioningPtrOutputWithContext(ctx) +// A list of tag names to be applied to the Kubernetes cluster. +func (o KubernetesClusterNodePoolOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v KubernetesClusterNodePool) []string { return v.Tags }).(pulumi.StringArrayOutput) } -// SpacesBucketVersioningPtrInput is an input type that accepts SpacesBucketVersioningArgs, SpacesBucketVersioningPtr and SpacesBucketVersioningPtrOutput values. -// You can construct a concrete instance of `SpacesBucketVersioningPtrInput` via: -// -// SpacesBucketVersioningArgs{...} -// -// or: -// -// nil -type SpacesBucketVersioningPtrInput interface { - pulumi.Input - - ToSpacesBucketVersioningPtrOutput() SpacesBucketVersioningPtrOutput - ToSpacesBucketVersioningPtrOutputWithContext(context.Context) SpacesBucketVersioningPtrOutput +// A block representing a taint applied to all nodes in the pool. Each taint exports the following attributes (taints must be unique by key and effect pair): +func (o KubernetesClusterNodePoolOutput) Taints() KubernetesClusterNodePoolTaintArrayOutput { + return o.ApplyT(func(v KubernetesClusterNodePool) []KubernetesClusterNodePoolTaint { return v.Taints }).(KubernetesClusterNodePoolTaintArrayOutput) } -type spacesBucketVersioningPtrType SpacesBucketVersioningArgs - -func SpacesBucketVersioningPtr(v *SpacesBucketVersioningArgs) SpacesBucketVersioningPtrInput { - return (*spacesBucketVersioningPtrType)(v) -} +type KubernetesClusterNodePoolPtrOutput struct{ *pulumi.OutputState } -func (*spacesBucketVersioningPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SpacesBucketVersioning)(nil)).Elem() +func (KubernetesClusterNodePoolPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**KubernetesClusterNodePool)(nil)).Elem() } -func (i *spacesBucketVersioningPtrType) ToSpacesBucketVersioningPtrOutput() SpacesBucketVersioningPtrOutput { - return i.ToSpacesBucketVersioningPtrOutputWithContext(context.Background()) +func (o KubernetesClusterNodePoolPtrOutput) ToKubernetesClusterNodePoolPtrOutput() KubernetesClusterNodePoolPtrOutput { + return o } -func (i *spacesBucketVersioningPtrType) ToSpacesBucketVersioningPtrOutputWithContext(ctx context.Context) SpacesBucketVersioningPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpacesBucketVersioningPtrOutput) +func (o KubernetesClusterNodePoolPtrOutput) ToKubernetesClusterNodePoolPtrOutputWithContext(ctx context.Context) KubernetesClusterNodePoolPtrOutput { + return o } -type SpacesBucketVersioningOutput struct{ *pulumi.OutputState } - -func (SpacesBucketVersioningOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SpacesBucketVersioning)(nil)).Elem() +func (o KubernetesClusterNodePoolPtrOutput) Elem() KubernetesClusterNodePoolOutput { + return o.ApplyT(func(v *KubernetesClusterNodePool) KubernetesClusterNodePool { + if v != nil { + return *v + } + var ret KubernetesClusterNodePool + return ret + }).(KubernetesClusterNodePoolOutput) } -func (o SpacesBucketVersioningOutput) ToSpacesBucketVersioningOutput() SpacesBucketVersioningOutput { - return o +// A computed field representing the actual number of nodes in the node pool, which is especially useful when auto-scaling is enabled. +func (o KubernetesClusterNodePoolPtrOutput) ActualNodeCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *KubernetesClusterNodePool) *int { + if v == nil { + return nil + } + return v.ActualNodeCount + }).(pulumi.IntPtrOutput) } -func (o SpacesBucketVersioningOutput) ToSpacesBucketVersioningOutputWithContext(ctx context.Context) SpacesBucketVersioningOutput { - return o +// Enable auto-scaling of the number of nodes in the node pool within the given min/max range. +func (o KubernetesClusterNodePoolPtrOutput) AutoScale() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *KubernetesClusterNodePool) *bool { + if v == nil { + return nil + } + return v.AutoScale + }).(pulumi.BoolPtrOutput) } -func (o SpacesBucketVersioningOutput) ToSpacesBucketVersioningPtrOutput() SpacesBucketVersioningPtrOutput { - return o.ToSpacesBucketVersioningPtrOutputWithContext(context.Background()) +// A unique ID that can be used to identify and reference the node. +func (o KubernetesClusterNodePoolPtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *KubernetesClusterNodePool) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) } -func (o SpacesBucketVersioningOutput) ToSpacesBucketVersioningPtrOutputWithContext(ctx context.Context) SpacesBucketVersioningPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SpacesBucketVersioning) *SpacesBucketVersioning { - return &v - }).(SpacesBucketVersioningPtrOutput) +// A map of key/value pairs to apply to nodes in the pool. The labels are exposed in the Kubernetes API as labels in the metadata of the corresponding [Node resources](https://kubernetes.io/docs/concepts/architecture/nodes/). +func (o KubernetesClusterNodePoolPtrOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v *KubernetesClusterNodePool) map[string]string { + if v == nil { + return nil + } + return v.Labels + }).(pulumi.StringMapOutput) } -// Enable versioning. Once you version-enable a bucket, it can never return to an unversioned -// state. You can, however, suspend versioning on that bucket. -func (o SpacesBucketVersioningOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v SpacesBucketVersioning) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +// If auto-scaling is enabled, this represents the maximum number of nodes that the node pool can be scaled up to. +func (o KubernetesClusterNodePoolPtrOutput) MaxNodes() pulumi.IntPtrOutput { + return o.ApplyT(func(v *KubernetesClusterNodePool) *int { + if v == nil { + return nil + } + return v.MaxNodes + }).(pulumi.IntPtrOutput) } -type SpacesBucketVersioningPtrOutput struct{ *pulumi.OutputState } - -func (SpacesBucketVersioningPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SpacesBucketVersioning)(nil)).Elem() +// If auto-scaling is enabled, this represents the minimum number of nodes that the node pool can be scaled down to. +func (o KubernetesClusterNodePoolPtrOutput) MinNodes() pulumi.IntPtrOutput { + return o.ApplyT(func(v *KubernetesClusterNodePool) *int { + if v == nil { + return nil + } + return v.MinNodes + }).(pulumi.IntPtrOutput) } -func (o SpacesBucketVersioningPtrOutput) ToSpacesBucketVersioningPtrOutput() SpacesBucketVersioningPtrOutput { - return o +// A name for the node pool. +func (o KubernetesClusterNodePoolPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *KubernetesClusterNodePool) *string { + if v == nil { + return nil + } + return &v.Name + }).(pulumi.StringPtrOutput) } -func (o SpacesBucketVersioningPtrOutput) ToSpacesBucketVersioningPtrOutputWithContext(ctx context.Context) SpacesBucketVersioningPtrOutput { - return o +// The number of Droplet instances in the node pool. If auto-scaling is enabled, this should only be set if the desired result is to explicitly reset the number of nodes to this value. If auto-scaling is enabled, and the node count is outside of the given min/max range, it will use the min nodes value. +func (o KubernetesClusterNodePoolPtrOutput) NodeCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *KubernetesClusterNodePool) *int { + if v == nil { + return nil + } + return v.NodeCount + }).(pulumi.IntPtrOutput) } -func (o SpacesBucketVersioningPtrOutput) Elem() SpacesBucketVersioningOutput { - return o.ApplyT(func(v *SpacesBucketVersioning) SpacesBucketVersioning { - if v != nil { - return *v +// A list of nodes in the pool. Each node exports the following attributes: +func (o KubernetesClusterNodePoolPtrOutput) Nodes() KubernetesClusterNodePoolNodeArrayOutput { + return o.ApplyT(func(v *KubernetesClusterNodePool) []KubernetesClusterNodePoolNode { + if v == nil { + return nil } - var ret SpacesBucketVersioning - return ret - }).(SpacesBucketVersioningOutput) + return v.Nodes + }).(KubernetesClusterNodePoolNodeArrayOutput) } -// Enable versioning. Once you version-enable a bucket, it can never return to an unversioned -// state. You can, however, suspend versioning on that bucket. -func (o SpacesBucketVersioningPtrOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *SpacesBucketVersioning) *bool { +// The slug identifier for the type of Droplet to be used as workers in the node pool. +func (o KubernetesClusterNodePoolPtrOutput) Size() pulumi.StringPtrOutput { + return o.ApplyT(func(v *KubernetesClusterNodePool) *string { if v == nil { return nil } - return v.Enabled - }).(pulumi.BoolPtrOutput) + return &v.Size + }).(pulumi.StringPtrOutput) } -type GetAppSpec struct { - Databases []GetAppSpecDatabase `pulumi:"databases"` - // Deprecated: This attribute has been replaced by `domain` which supports additional functionality. - Domains []string `pulumi:"domains"` - // Describes an environment variable made available to an app competent. - Envs []GetAppSpecEnv `pulumi:"envs"` - Jobs []GetAppSpecJob `pulumi:"jobs"` - // The name of the component. - Name string `pulumi:"name"` - Region *string `pulumi:"region"` - Services []GetAppSpecService `pulumi:"services"` - StaticSites []GetAppSpecStaticSite `pulumi:"staticSites"` - Workers []GetAppSpecWorker `pulumi:"workers"` +// A list of tag names to be applied to the Kubernetes cluster. +func (o KubernetesClusterNodePoolPtrOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *KubernetesClusterNodePool) []string { + if v == nil { + return nil + } + return v.Tags + }).(pulumi.StringArrayOutput) } -// GetAppSpecInput is an input type that accepts GetAppSpecArgs and GetAppSpecOutput values. -// You can construct a concrete instance of `GetAppSpecInput` via: +// A block representing a taint applied to all nodes in the pool. Each taint exports the following attributes (taints must be unique by key and effect pair): +func (o KubernetesClusterNodePoolPtrOutput) Taints() KubernetesClusterNodePoolTaintArrayOutput { + return o.ApplyT(func(v *KubernetesClusterNodePool) []KubernetesClusterNodePoolTaint { + if v == nil { + return nil + } + return v.Taints + }).(KubernetesClusterNodePoolTaintArrayOutput) +} + +type KubernetesClusterNodePoolNode struct { + // The date and time when the node was created. + CreatedAt *string `pulumi:"createdAt"` + // The id of the node's droplet + DropletId *string `pulumi:"dropletId"` + // A unique ID that can be used to identify and reference the node. + Id *string `pulumi:"id"` + // A name for the node pool. + Name *string `pulumi:"name"` + // A string indicating the current status of the individual node. + Status *string `pulumi:"status"` + // The date and time when the node was last updated. + UpdatedAt *string `pulumi:"updatedAt"` +} + +// KubernetesClusterNodePoolNodeInput is an input type that accepts KubernetesClusterNodePoolNodeArgs and KubernetesClusterNodePoolNodeOutput values. +// You can construct a concrete instance of `KubernetesClusterNodePoolNodeInput` via: // -// GetAppSpecArgs{...} -type GetAppSpecInput interface { +// KubernetesClusterNodePoolNodeArgs{...} +type KubernetesClusterNodePoolNodeInput interface { pulumi.Input - ToGetAppSpecOutput() GetAppSpecOutput - ToGetAppSpecOutputWithContext(context.Context) GetAppSpecOutput + ToKubernetesClusterNodePoolNodeOutput() KubernetesClusterNodePoolNodeOutput + ToKubernetesClusterNodePoolNodeOutputWithContext(context.Context) KubernetesClusterNodePoolNodeOutput } -type GetAppSpecArgs struct { - Databases GetAppSpecDatabaseArrayInput `pulumi:"databases"` - // Deprecated: This attribute has been replaced by `domain` which supports additional functionality. - Domains pulumi.StringArrayInput `pulumi:"domains"` - // Describes an environment variable made available to an app competent. - Envs GetAppSpecEnvArrayInput `pulumi:"envs"` - Jobs GetAppSpecJobArrayInput `pulumi:"jobs"` - // The name of the component. - Name pulumi.StringInput `pulumi:"name"` - Region pulumi.StringPtrInput `pulumi:"region"` - Services GetAppSpecServiceArrayInput `pulumi:"services"` - StaticSites GetAppSpecStaticSiteArrayInput `pulumi:"staticSites"` - Workers GetAppSpecWorkerArrayInput `pulumi:"workers"` +type KubernetesClusterNodePoolNodeArgs struct { + // The date and time when the node was created. + CreatedAt pulumi.StringPtrInput `pulumi:"createdAt"` + // The id of the node's droplet + DropletId pulumi.StringPtrInput `pulumi:"dropletId"` + // A unique ID that can be used to identify and reference the node. + Id pulumi.StringPtrInput `pulumi:"id"` + // A name for the node pool. + Name pulumi.StringPtrInput `pulumi:"name"` + // A string indicating the current status of the individual node. + Status pulumi.StringPtrInput `pulumi:"status"` + // The date and time when the node was last updated. + UpdatedAt pulumi.StringPtrInput `pulumi:"updatedAt"` } -func (GetAppSpecArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpec)(nil)).Elem() +func (KubernetesClusterNodePoolNodeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*KubernetesClusterNodePoolNode)(nil)).Elem() } -func (i GetAppSpecArgs) ToGetAppSpecOutput() GetAppSpecOutput { - return i.ToGetAppSpecOutputWithContext(context.Background()) +func (i KubernetesClusterNodePoolNodeArgs) ToKubernetesClusterNodePoolNodeOutput() KubernetesClusterNodePoolNodeOutput { + return i.ToKubernetesClusterNodePoolNodeOutputWithContext(context.Background()) } -func (i GetAppSpecArgs) ToGetAppSpecOutputWithContext(ctx context.Context) GetAppSpecOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecOutput) +func (i KubernetesClusterNodePoolNodeArgs) ToKubernetesClusterNodePoolNodeOutputWithContext(ctx context.Context) KubernetesClusterNodePoolNodeOutput { + return pulumi.ToOutputWithContext(ctx, i).(KubernetesClusterNodePoolNodeOutput) } -// GetAppSpecArrayInput is an input type that accepts GetAppSpecArray and GetAppSpecArrayOutput values. -// You can construct a concrete instance of `GetAppSpecArrayInput` via: +// KubernetesClusterNodePoolNodeArrayInput is an input type that accepts KubernetesClusterNodePoolNodeArray and KubernetesClusterNodePoolNodeArrayOutput values. +// You can construct a concrete instance of `KubernetesClusterNodePoolNodeArrayInput` via: // -// GetAppSpecArray{ GetAppSpecArgs{...} } -type GetAppSpecArrayInput interface { +// KubernetesClusterNodePoolNodeArray{ KubernetesClusterNodePoolNodeArgs{...} } +type KubernetesClusterNodePoolNodeArrayInput interface { pulumi.Input - ToGetAppSpecArrayOutput() GetAppSpecArrayOutput - ToGetAppSpecArrayOutputWithContext(context.Context) GetAppSpecArrayOutput + ToKubernetesClusterNodePoolNodeArrayOutput() KubernetesClusterNodePoolNodeArrayOutput + ToKubernetesClusterNodePoolNodeArrayOutputWithContext(context.Context) KubernetesClusterNodePoolNodeArrayOutput } -type GetAppSpecArray []GetAppSpecInput +type KubernetesClusterNodePoolNodeArray []KubernetesClusterNodePoolNodeInput -func (GetAppSpecArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetAppSpec)(nil)).Elem() +func (KubernetesClusterNodePoolNodeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]KubernetesClusterNodePoolNode)(nil)).Elem() } -func (i GetAppSpecArray) ToGetAppSpecArrayOutput() GetAppSpecArrayOutput { - return i.ToGetAppSpecArrayOutputWithContext(context.Background()) +func (i KubernetesClusterNodePoolNodeArray) ToKubernetesClusterNodePoolNodeArrayOutput() KubernetesClusterNodePoolNodeArrayOutput { + return i.ToKubernetesClusterNodePoolNodeArrayOutputWithContext(context.Background()) } -func (i GetAppSpecArray) ToGetAppSpecArrayOutputWithContext(ctx context.Context) GetAppSpecArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecArrayOutput) +func (i KubernetesClusterNodePoolNodeArray) ToKubernetesClusterNodePoolNodeArrayOutputWithContext(ctx context.Context) KubernetesClusterNodePoolNodeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(KubernetesClusterNodePoolNodeArrayOutput) } -type GetAppSpecOutput struct{ *pulumi.OutputState } +type KubernetesClusterNodePoolNodeOutput struct{ *pulumi.OutputState } -func (GetAppSpecOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpec)(nil)).Elem() +func (KubernetesClusterNodePoolNodeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*KubernetesClusterNodePoolNode)(nil)).Elem() } -func (o GetAppSpecOutput) ToGetAppSpecOutput() GetAppSpecOutput { +func (o KubernetesClusterNodePoolNodeOutput) ToKubernetesClusterNodePoolNodeOutput() KubernetesClusterNodePoolNodeOutput { return o } -func (o GetAppSpecOutput) ToGetAppSpecOutputWithContext(ctx context.Context) GetAppSpecOutput { +func (o KubernetesClusterNodePoolNodeOutput) ToKubernetesClusterNodePoolNodeOutputWithContext(ctx context.Context) KubernetesClusterNodePoolNodeOutput { return o } -func (o GetAppSpecOutput) Databases() GetAppSpecDatabaseArrayOutput { - return o.ApplyT(func(v GetAppSpec) []GetAppSpecDatabase { return v.Databases }).(GetAppSpecDatabaseArrayOutput) -} - -// Deprecated: This attribute has been replaced by `domain` which supports additional functionality. -func (o GetAppSpecOutput) Domains() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetAppSpec) []string { return v.Domains }).(pulumi.StringArrayOutput) -} - -// Describes an environment variable made available to an app competent. -func (o GetAppSpecOutput) Envs() GetAppSpecEnvArrayOutput { - return o.ApplyT(func(v GetAppSpec) []GetAppSpecEnv { return v.Envs }).(GetAppSpecEnvArrayOutput) -} - -func (o GetAppSpecOutput) Jobs() GetAppSpecJobArrayOutput { - return o.ApplyT(func(v GetAppSpec) []GetAppSpecJob { return v.Jobs }).(GetAppSpecJobArrayOutput) +// The date and time when the node was created. +func (o KubernetesClusterNodePoolNodeOutput) CreatedAt() pulumi.StringPtrOutput { + return o.ApplyT(func(v KubernetesClusterNodePoolNode) *string { return v.CreatedAt }).(pulumi.StringPtrOutput) } -// The name of the component. -func (o GetAppSpecOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetAppSpec) string { return v.Name }).(pulumi.StringOutput) +// The id of the node's droplet +func (o KubernetesClusterNodePoolNodeOutput) DropletId() pulumi.StringPtrOutput { + return o.ApplyT(func(v KubernetesClusterNodePoolNode) *string { return v.DropletId }).(pulumi.StringPtrOutput) } -func (o GetAppSpecOutput) Region() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpec) *string { return v.Region }).(pulumi.StringPtrOutput) +// A unique ID that can be used to identify and reference the node. +func (o KubernetesClusterNodePoolNodeOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v KubernetesClusterNodePoolNode) *string { return v.Id }).(pulumi.StringPtrOutput) } -func (o GetAppSpecOutput) Services() GetAppSpecServiceArrayOutput { - return o.ApplyT(func(v GetAppSpec) []GetAppSpecService { return v.Services }).(GetAppSpecServiceArrayOutput) +// A name for the node pool. +func (o KubernetesClusterNodePoolNodeOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v KubernetesClusterNodePoolNode) *string { return v.Name }).(pulumi.StringPtrOutput) } -func (o GetAppSpecOutput) StaticSites() GetAppSpecStaticSiteArrayOutput { - return o.ApplyT(func(v GetAppSpec) []GetAppSpecStaticSite { return v.StaticSites }).(GetAppSpecStaticSiteArrayOutput) +// A string indicating the current status of the individual node. +func (o KubernetesClusterNodePoolNodeOutput) Status() pulumi.StringPtrOutput { + return o.ApplyT(func(v KubernetesClusterNodePoolNode) *string { return v.Status }).(pulumi.StringPtrOutput) } -func (o GetAppSpecOutput) Workers() GetAppSpecWorkerArrayOutput { - return o.ApplyT(func(v GetAppSpec) []GetAppSpecWorker { return v.Workers }).(GetAppSpecWorkerArrayOutput) +// The date and time when the node was last updated. +func (o KubernetesClusterNodePoolNodeOutput) UpdatedAt() pulumi.StringPtrOutput { + return o.ApplyT(func(v KubernetesClusterNodePoolNode) *string { return v.UpdatedAt }).(pulumi.StringPtrOutput) } -type GetAppSpecArrayOutput struct{ *pulumi.OutputState } +type KubernetesClusterNodePoolNodeArrayOutput struct{ *pulumi.OutputState } -func (GetAppSpecArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetAppSpec)(nil)).Elem() +func (KubernetesClusterNodePoolNodeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]KubernetesClusterNodePoolNode)(nil)).Elem() } -func (o GetAppSpecArrayOutput) ToGetAppSpecArrayOutput() GetAppSpecArrayOutput { +func (o KubernetesClusterNodePoolNodeArrayOutput) ToKubernetesClusterNodePoolNodeArrayOutput() KubernetesClusterNodePoolNodeArrayOutput { return o } -func (o GetAppSpecArrayOutput) ToGetAppSpecArrayOutputWithContext(ctx context.Context) GetAppSpecArrayOutput { +func (o KubernetesClusterNodePoolNodeArrayOutput) ToKubernetesClusterNodePoolNodeArrayOutputWithContext(ctx context.Context) KubernetesClusterNodePoolNodeArrayOutput { return o } -func (o GetAppSpecArrayOutput) Index(i pulumi.IntInput) GetAppSpecOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAppSpec { - return vs[0].([]GetAppSpec)[vs[1].(int)] - }).(GetAppSpecOutput) +func (o KubernetesClusterNodePoolNodeArrayOutput) Index(i pulumi.IntInput) KubernetesClusterNodePoolNodeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) KubernetesClusterNodePoolNode { + return vs[0].([]KubernetesClusterNodePoolNode)[vs[1].(int)] + }).(KubernetesClusterNodePoolNodeOutput) } -type GetAppSpecDatabase struct { - // The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if `clusterName` is not set, a new cluster will be provisioned. - ClusterName *string `pulumi:"clusterName"` - // The name of the MySQL or PostgreSQL database to configure. - DbName *string `pulumi:"dbName"` - // The name of the MySQL or PostgreSQL user to configure. - DbUser *string `pulumi:"dbUser"` - // The database engine to use (`MYSQL`, `PG`, `REDIS`, or `MONGODB`). - Engine *string `pulumi:"engine"` - // The name of the component. - Name *string `pulumi:"name"` - // Whether this is a production or dev database. - Production *bool `pulumi:"production"` - // The version of the database engine. - Version *string `pulumi:"version"` +type KubernetesClusterNodePoolTaint struct { + // How the node reacts to pods that it won't tolerate. Available effect values are: "NoSchedule", "PreferNoSchedule", "NoExecute". + Effect string `pulumi:"effect"` + // An arbitrary string. The "key" and "value" fields of the "taint" object form a key-value pair. + Key string `pulumi:"key"` + // An arbitrary string. The "key" and "value" fields of the "taint" object form a key-value pair. + Value string `pulumi:"value"` } -// GetAppSpecDatabaseInput is an input type that accepts GetAppSpecDatabaseArgs and GetAppSpecDatabaseOutput values. -// You can construct a concrete instance of `GetAppSpecDatabaseInput` via: +// KubernetesClusterNodePoolTaintInput is an input type that accepts KubernetesClusterNodePoolTaintArgs and KubernetesClusterNodePoolTaintOutput values. +// You can construct a concrete instance of `KubernetesClusterNodePoolTaintInput` via: // -// GetAppSpecDatabaseArgs{...} -type GetAppSpecDatabaseInput interface { +// KubernetesClusterNodePoolTaintArgs{...} +type KubernetesClusterNodePoolTaintInput interface { pulumi.Input - ToGetAppSpecDatabaseOutput() GetAppSpecDatabaseOutput - ToGetAppSpecDatabaseOutputWithContext(context.Context) GetAppSpecDatabaseOutput + ToKubernetesClusterNodePoolTaintOutput() KubernetesClusterNodePoolTaintOutput + ToKubernetesClusterNodePoolTaintOutputWithContext(context.Context) KubernetesClusterNodePoolTaintOutput } -type GetAppSpecDatabaseArgs struct { - // The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if `clusterName` is not set, a new cluster will be provisioned. - ClusterName pulumi.StringPtrInput `pulumi:"clusterName"` - // The name of the MySQL or PostgreSQL database to configure. - DbName pulumi.StringPtrInput `pulumi:"dbName"` - // The name of the MySQL or PostgreSQL user to configure. - DbUser pulumi.StringPtrInput `pulumi:"dbUser"` - // The database engine to use (`MYSQL`, `PG`, `REDIS`, or `MONGODB`). - Engine pulumi.StringPtrInput `pulumi:"engine"` - // The name of the component. - Name pulumi.StringPtrInput `pulumi:"name"` - // Whether this is a production or dev database. - Production pulumi.BoolPtrInput `pulumi:"production"` - // The version of the database engine. - Version pulumi.StringPtrInput `pulumi:"version"` +type KubernetesClusterNodePoolTaintArgs struct { + // How the node reacts to pods that it won't tolerate. Available effect values are: "NoSchedule", "PreferNoSchedule", "NoExecute". + Effect pulumi.StringInput `pulumi:"effect"` + // An arbitrary string. The "key" and "value" fields of the "taint" object form a key-value pair. + Key pulumi.StringInput `pulumi:"key"` + // An arbitrary string. The "key" and "value" fields of the "taint" object form a key-value pair. + Value pulumi.StringInput `pulumi:"value"` } -func (GetAppSpecDatabaseArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecDatabase)(nil)).Elem() +func (KubernetesClusterNodePoolTaintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*KubernetesClusterNodePoolTaint)(nil)).Elem() } -func (i GetAppSpecDatabaseArgs) ToGetAppSpecDatabaseOutput() GetAppSpecDatabaseOutput { - return i.ToGetAppSpecDatabaseOutputWithContext(context.Background()) +func (i KubernetesClusterNodePoolTaintArgs) ToKubernetesClusterNodePoolTaintOutput() KubernetesClusterNodePoolTaintOutput { + return i.ToKubernetesClusterNodePoolTaintOutputWithContext(context.Background()) } -func (i GetAppSpecDatabaseArgs) ToGetAppSpecDatabaseOutputWithContext(ctx context.Context) GetAppSpecDatabaseOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecDatabaseOutput) +func (i KubernetesClusterNodePoolTaintArgs) ToKubernetesClusterNodePoolTaintOutputWithContext(ctx context.Context) KubernetesClusterNodePoolTaintOutput { + return pulumi.ToOutputWithContext(ctx, i).(KubernetesClusterNodePoolTaintOutput) } -// GetAppSpecDatabaseArrayInput is an input type that accepts GetAppSpecDatabaseArray and GetAppSpecDatabaseArrayOutput values. -// You can construct a concrete instance of `GetAppSpecDatabaseArrayInput` via: +// KubernetesClusterNodePoolTaintArrayInput is an input type that accepts KubernetesClusterNodePoolTaintArray and KubernetesClusterNodePoolTaintArrayOutput values. +// You can construct a concrete instance of `KubernetesClusterNodePoolTaintArrayInput` via: // -// GetAppSpecDatabaseArray{ GetAppSpecDatabaseArgs{...} } -type GetAppSpecDatabaseArrayInput interface { +// KubernetesClusterNodePoolTaintArray{ KubernetesClusterNodePoolTaintArgs{...} } +type KubernetesClusterNodePoolTaintArrayInput interface { pulumi.Input - ToGetAppSpecDatabaseArrayOutput() GetAppSpecDatabaseArrayOutput - ToGetAppSpecDatabaseArrayOutputWithContext(context.Context) GetAppSpecDatabaseArrayOutput + ToKubernetesClusterNodePoolTaintArrayOutput() KubernetesClusterNodePoolTaintArrayOutput + ToKubernetesClusterNodePoolTaintArrayOutputWithContext(context.Context) KubernetesClusterNodePoolTaintArrayOutput } -type GetAppSpecDatabaseArray []GetAppSpecDatabaseInput +type KubernetesClusterNodePoolTaintArray []KubernetesClusterNodePoolTaintInput -func (GetAppSpecDatabaseArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetAppSpecDatabase)(nil)).Elem() +func (KubernetesClusterNodePoolTaintArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]KubernetesClusterNodePoolTaint)(nil)).Elem() } -func (i GetAppSpecDatabaseArray) ToGetAppSpecDatabaseArrayOutput() GetAppSpecDatabaseArrayOutput { - return i.ToGetAppSpecDatabaseArrayOutputWithContext(context.Background()) +func (i KubernetesClusterNodePoolTaintArray) ToKubernetesClusterNodePoolTaintArrayOutput() KubernetesClusterNodePoolTaintArrayOutput { + return i.ToKubernetesClusterNodePoolTaintArrayOutputWithContext(context.Background()) } -func (i GetAppSpecDatabaseArray) ToGetAppSpecDatabaseArrayOutputWithContext(ctx context.Context) GetAppSpecDatabaseArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecDatabaseArrayOutput) +func (i KubernetesClusterNodePoolTaintArray) ToKubernetesClusterNodePoolTaintArrayOutputWithContext(ctx context.Context) KubernetesClusterNodePoolTaintArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(KubernetesClusterNodePoolTaintArrayOutput) } -type GetAppSpecDatabaseOutput struct{ *pulumi.OutputState } +type KubernetesClusterNodePoolTaintOutput struct{ *pulumi.OutputState } -func (GetAppSpecDatabaseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecDatabase)(nil)).Elem() +func (KubernetesClusterNodePoolTaintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*KubernetesClusterNodePoolTaint)(nil)).Elem() } -func (o GetAppSpecDatabaseOutput) ToGetAppSpecDatabaseOutput() GetAppSpecDatabaseOutput { +func (o KubernetesClusterNodePoolTaintOutput) ToKubernetesClusterNodePoolTaintOutput() KubernetesClusterNodePoolTaintOutput { return o } -func (o GetAppSpecDatabaseOutput) ToGetAppSpecDatabaseOutputWithContext(ctx context.Context) GetAppSpecDatabaseOutput { +func (o KubernetesClusterNodePoolTaintOutput) ToKubernetesClusterNodePoolTaintOutputWithContext(ctx context.Context) KubernetesClusterNodePoolTaintOutput { return o } -// The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if `clusterName` is not set, a new cluster will be provisioned. -func (o GetAppSpecDatabaseOutput) ClusterName() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecDatabase) *string { return v.ClusterName }).(pulumi.StringPtrOutput) +// How the node reacts to pods that it won't tolerate. Available effect values are: "NoSchedule", "PreferNoSchedule", "NoExecute". +func (o KubernetesClusterNodePoolTaintOutput) Effect() pulumi.StringOutput { + return o.ApplyT(func(v KubernetesClusterNodePoolTaint) string { return v.Effect }).(pulumi.StringOutput) } -// The name of the MySQL or PostgreSQL database to configure. -func (o GetAppSpecDatabaseOutput) DbName() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecDatabase) *string { return v.DbName }).(pulumi.StringPtrOutput) +// An arbitrary string. The "key" and "value" fields of the "taint" object form a key-value pair. +func (o KubernetesClusterNodePoolTaintOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v KubernetesClusterNodePoolTaint) string { return v.Key }).(pulumi.StringOutput) } -// The name of the MySQL or PostgreSQL user to configure. -func (o GetAppSpecDatabaseOutput) DbUser() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecDatabase) *string { return v.DbUser }).(pulumi.StringPtrOutput) +// An arbitrary string. The "key" and "value" fields of the "taint" object form a key-value pair. +func (o KubernetesClusterNodePoolTaintOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v KubernetesClusterNodePoolTaint) string { return v.Value }).(pulumi.StringOutput) } -// The database engine to use (`MYSQL`, `PG`, `REDIS`, or `MONGODB`). -func (o GetAppSpecDatabaseOutput) Engine() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecDatabase) *string { return v.Engine }).(pulumi.StringPtrOutput) +type KubernetesClusterNodePoolTaintArrayOutput struct{ *pulumi.OutputState } + +func (KubernetesClusterNodePoolTaintArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]KubernetesClusterNodePoolTaint)(nil)).Elem() } -// The name of the component. -func (o GetAppSpecDatabaseOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecDatabase) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o KubernetesClusterNodePoolTaintArrayOutput) ToKubernetesClusterNodePoolTaintArrayOutput() KubernetesClusterNodePoolTaintArrayOutput { + return o } -// Whether this is a production or dev database. -func (o GetAppSpecDatabaseOutput) Production() pulumi.BoolPtrOutput { - return o.ApplyT(func(v GetAppSpecDatabase) *bool { return v.Production }).(pulumi.BoolPtrOutput) +func (o KubernetesClusterNodePoolTaintArrayOutput) ToKubernetesClusterNodePoolTaintArrayOutputWithContext(ctx context.Context) KubernetesClusterNodePoolTaintArrayOutput { + return o } -// The version of the database engine. -func (o GetAppSpecDatabaseOutput) Version() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecDatabase) *string { return v.Version }).(pulumi.StringPtrOutput) +func (o KubernetesClusterNodePoolTaintArrayOutput) Index(i pulumi.IntInput) KubernetesClusterNodePoolTaintOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) KubernetesClusterNodePoolTaint { + return vs[0].([]KubernetesClusterNodePoolTaint)[vs[1].(int)] + }).(KubernetesClusterNodePoolTaintOutput) } -type GetAppSpecDatabaseArrayOutput struct{ *pulumi.OutputState } +type KubernetesNodePoolNode struct { + // The date and time when the node was created. + CreatedAt *string `pulumi:"createdAt"` + // The id of the node's droplet + DropletId *string `pulumi:"dropletId"` + // A unique ID that can be used to identify and reference the node. + Id *string `pulumi:"id"` + // A name for the node pool. + Name *string `pulumi:"name"` + // A string indicating the current status of the individual node. + Status *string `pulumi:"status"` + // The date and time when the node was last updated. + UpdatedAt *string `pulumi:"updatedAt"` +} -func (GetAppSpecDatabaseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetAppSpecDatabase)(nil)).Elem() +// KubernetesNodePoolNodeInput is an input type that accepts KubernetesNodePoolNodeArgs and KubernetesNodePoolNodeOutput values. +// You can construct a concrete instance of `KubernetesNodePoolNodeInput` via: +// +// KubernetesNodePoolNodeArgs{...} +type KubernetesNodePoolNodeInput interface { + pulumi.Input + + ToKubernetesNodePoolNodeOutput() KubernetesNodePoolNodeOutput + ToKubernetesNodePoolNodeOutputWithContext(context.Context) KubernetesNodePoolNodeOutput } -func (o GetAppSpecDatabaseArrayOutput) ToGetAppSpecDatabaseArrayOutput() GetAppSpecDatabaseArrayOutput { - return o +type KubernetesNodePoolNodeArgs struct { + // The date and time when the node was created. + CreatedAt pulumi.StringPtrInput `pulumi:"createdAt"` + // The id of the node's droplet + DropletId pulumi.StringPtrInput `pulumi:"dropletId"` + // A unique ID that can be used to identify and reference the node. + Id pulumi.StringPtrInput `pulumi:"id"` + // A name for the node pool. + Name pulumi.StringPtrInput `pulumi:"name"` + // A string indicating the current status of the individual node. + Status pulumi.StringPtrInput `pulumi:"status"` + // The date and time when the node was last updated. + UpdatedAt pulumi.StringPtrInput `pulumi:"updatedAt"` } -func (o GetAppSpecDatabaseArrayOutput) ToGetAppSpecDatabaseArrayOutputWithContext(ctx context.Context) GetAppSpecDatabaseArrayOutput { - return o +func (KubernetesNodePoolNodeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*KubernetesNodePoolNode)(nil)).Elem() } -func (o GetAppSpecDatabaseArrayOutput) Index(i pulumi.IntInput) GetAppSpecDatabaseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAppSpecDatabase { - return vs[0].([]GetAppSpecDatabase)[vs[1].(int)] - }).(GetAppSpecDatabaseOutput) +func (i KubernetesNodePoolNodeArgs) ToKubernetesNodePoolNodeOutput() KubernetesNodePoolNodeOutput { + return i.ToKubernetesNodePoolNodeOutputWithContext(context.Background()) } -type GetAppSpecDomain struct { - // The name of the component. - Name string `pulumi:"name"` - // The type of the environment variable, `GENERAL` or `SECRET`. - Type string `pulumi:"type"` - Wildcard bool `pulumi:"wildcard"` - Zone *string `pulumi:"zone"` +func (i KubernetesNodePoolNodeArgs) ToKubernetesNodePoolNodeOutputWithContext(ctx context.Context) KubernetesNodePoolNodeOutput { + return pulumi.ToOutputWithContext(ctx, i).(KubernetesNodePoolNodeOutput) } -// GetAppSpecDomainInput is an input type that accepts GetAppSpecDomainArgs and GetAppSpecDomainOutput values. -// You can construct a concrete instance of `GetAppSpecDomainInput` via: +// KubernetesNodePoolNodeArrayInput is an input type that accepts KubernetesNodePoolNodeArray and KubernetesNodePoolNodeArrayOutput values. +// You can construct a concrete instance of `KubernetesNodePoolNodeArrayInput` via: // -// GetAppSpecDomainArgs{...} -type GetAppSpecDomainInput interface { +// KubernetesNodePoolNodeArray{ KubernetesNodePoolNodeArgs{...} } +type KubernetesNodePoolNodeArrayInput interface { pulumi.Input - ToGetAppSpecDomainOutput() GetAppSpecDomainOutput - ToGetAppSpecDomainOutputWithContext(context.Context) GetAppSpecDomainOutput + ToKubernetesNodePoolNodeArrayOutput() KubernetesNodePoolNodeArrayOutput + ToKubernetesNodePoolNodeArrayOutputWithContext(context.Context) KubernetesNodePoolNodeArrayOutput } -type GetAppSpecDomainArgs struct { - // The name of the component. - Name pulumi.StringInput `pulumi:"name"` - // The type of the environment variable, `GENERAL` or `SECRET`. - Type pulumi.StringInput `pulumi:"type"` - Wildcard pulumi.BoolInput `pulumi:"wildcard"` - Zone pulumi.StringPtrInput `pulumi:"zone"` -} +type KubernetesNodePoolNodeArray []KubernetesNodePoolNodeInput -func (GetAppSpecDomainArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecDomain)(nil)).Elem() +func (KubernetesNodePoolNodeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]KubernetesNodePoolNode)(nil)).Elem() } -func (i GetAppSpecDomainArgs) ToGetAppSpecDomainOutput() GetAppSpecDomainOutput { - return i.ToGetAppSpecDomainOutputWithContext(context.Background()) +func (i KubernetesNodePoolNodeArray) ToKubernetesNodePoolNodeArrayOutput() KubernetesNodePoolNodeArrayOutput { + return i.ToKubernetesNodePoolNodeArrayOutputWithContext(context.Background()) } -func (i GetAppSpecDomainArgs) ToGetAppSpecDomainOutputWithContext(ctx context.Context) GetAppSpecDomainOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecDomainOutput) +func (i KubernetesNodePoolNodeArray) ToKubernetesNodePoolNodeArrayOutputWithContext(ctx context.Context) KubernetesNodePoolNodeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(KubernetesNodePoolNodeArrayOutput) } -type GetAppSpecDomainOutput struct{ *pulumi.OutputState } +type KubernetesNodePoolNodeOutput struct{ *pulumi.OutputState } -func (GetAppSpecDomainOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecDomain)(nil)).Elem() +func (KubernetesNodePoolNodeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*KubernetesNodePoolNode)(nil)).Elem() } -func (o GetAppSpecDomainOutput) ToGetAppSpecDomainOutput() GetAppSpecDomainOutput { +func (o KubernetesNodePoolNodeOutput) ToKubernetesNodePoolNodeOutput() KubernetesNodePoolNodeOutput { return o } -func (o GetAppSpecDomainOutput) ToGetAppSpecDomainOutputWithContext(ctx context.Context) GetAppSpecDomainOutput { +func (o KubernetesNodePoolNodeOutput) ToKubernetesNodePoolNodeOutputWithContext(ctx context.Context) KubernetesNodePoolNodeOutput { return o } -// The name of the component. -func (o GetAppSpecDomainOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetAppSpecDomain) string { return v.Name }).(pulumi.StringOutput) +// The date and time when the node was created. +func (o KubernetesNodePoolNodeOutput) CreatedAt() pulumi.StringPtrOutput { + return o.ApplyT(func(v KubernetesNodePoolNode) *string { return v.CreatedAt }).(pulumi.StringPtrOutput) } -// The type of the environment variable, `GENERAL` or `SECRET`. -func (o GetAppSpecDomainOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v GetAppSpecDomain) string { return v.Type }).(pulumi.StringOutput) +// The id of the node's droplet +func (o KubernetesNodePoolNodeOutput) DropletId() pulumi.StringPtrOutput { + return o.ApplyT(func(v KubernetesNodePoolNode) *string { return v.DropletId }).(pulumi.StringPtrOutput) } -func (o GetAppSpecDomainOutput) Wildcard() pulumi.BoolOutput { - return o.ApplyT(func(v GetAppSpecDomain) bool { return v.Wildcard }).(pulumi.BoolOutput) +// A unique ID that can be used to identify and reference the node. +func (o KubernetesNodePoolNodeOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v KubernetesNodePoolNode) *string { return v.Id }).(pulumi.StringPtrOutput) } -func (o GetAppSpecDomainOutput) Zone() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecDomain) *string { return v.Zone }).(pulumi.StringPtrOutput) +// A name for the node pool. +func (o KubernetesNodePoolNodeOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v KubernetesNodePoolNode) *string { return v.Name }).(pulumi.StringPtrOutput) } -type GetAppSpecEnv struct { - // The name of the environment variable. - Key *string `pulumi:"key"` - // The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). - Scope *string `pulumi:"scope"` - // The type of the environment variable, `GENERAL` or `SECRET`. - Type string `pulumi:"type"` - // The value of the environment variable. - Value *string `pulumi:"value"` +// A string indicating the current status of the individual node. +func (o KubernetesNodePoolNodeOutput) Status() pulumi.StringPtrOutput { + return o.ApplyT(func(v KubernetesNodePoolNode) *string { return v.Status }).(pulumi.StringPtrOutput) } -// GetAppSpecEnvInput is an input type that accepts GetAppSpecEnvArgs and GetAppSpecEnvOutput values. -// You can construct a concrete instance of `GetAppSpecEnvInput` via: -// -// GetAppSpecEnvArgs{...} -type GetAppSpecEnvInput interface { - pulumi.Input - - ToGetAppSpecEnvOutput() GetAppSpecEnvOutput - ToGetAppSpecEnvOutputWithContext(context.Context) GetAppSpecEnvOutput +// The date and time when the node was last updated. +func (o KubernetesNodePoolNodeOutput) UpdatedAt() pulumi.StringPtrOutput { + return o.ApplyT(func(v KubernetesNodePoolNode) *string { return v.UpdatedAt }).(pulumi.StringPtrOutput) } -type GetAppSpecEnvArgs struct { - // The name of the environment variable. - Key pulumi.StringPtrInput `pulumi:"key"` - // The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). - Scope pulumi.StringPtrInput `pulumi:"scope"` - // The type of the environment variable, `GENERAL` or `SECRET`. - Type pulumi.StringInput `pulumi:"type"` - // The value of the environment variable. - Value pulumi.StringPtrInput `pulumi:"value"` -} +type KubernetesNodePoolNodeArrayOutput struct{ *pulumi.OutputState } -func (GetAppSpecEnvArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecEnv)(nil)).Elem() +func (KubernetesNodePoolNodeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]KubernetesNodePoolNode)(nil)).Elem() } -func (i GetAppSpecEnvArgs) ToGetAppSpecEnvOutput() GetAppSpecEnvOutput { - return i.ToGetAppSpecEnvOutputWithContext(context.Background()) +func (o KubernetesNodePoolNodeArrayOutput) ToKubernetesNodePoolNodeArrayOutput() KubernetesNodePoolNodeArrayOutput { + return o } -func (i GetAppSpecEnvArgs) ToGetAppSpecEnvOutputWithContext(ctx context.Context) GetAppSpecEnvOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecEnvOutput) +func (o KubernetesNodePoolNodeArrayOutput) ToKubernetesNodePoolNodeArrayOutputWithContext(ctx context.Context) KubernetesNodePoolNodeArrayOutput { + return o } -// GetAppSpecEnvArrayInput is an input type that accepts GetAppSpecEnvArray and GetAppSpecEnvArrayOutput values. -// You can construct a concrete instance of `GetAppSpecEnvArrayInput` via: +func (o KubernetesNodePoolNodeArrayOutput) Index(i pulumi.IntInput) KubernetesNodePoolNodeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) KubernetesNodePoolNode { + return vs[0].([]KubernetesNodePoolNode)[vs[1].(int)] + }).(KubernetesNodePoolNodeOutput) +} + +type KubernetesNodePoolTaint struct { + // How the node reacts to pods that it won't tolerate. Available effect values are: "NoSchedule", "PreferNoSchedule", "NoExecute". + Effect string `pulumi:"effect"` + // An arbitrary string. The "key" and "value" fields of the "taint" object form a key-value pair. + Key string `pulumi:"key"` + // An arbitrary string. The "key" and "value" fields of the "taint" object form a key-value pair. + Value string `pulumi:"value"` +} + +// KubernetesNodePoolTaintInput is an input type that accepts KubernetesNodePoolTaintArgs and KubernetesNodePoolTaintOutput values. +// You can construct a concrete instance of `KubernetesNodePoolTaintInput` via: // -// GetAppSpecEnvArray{ GetAppSpecEnvArgs{...} } -type GetAppSpecEnvArrayInput interface { +// KubernetesNodePoolTaintArgs{...} +type KubernetesNodePoolTaintInput interface { pulumi.Input - ToGetAppSpecEnvArrayOutput() GetAppSpecEnvArrayOutput - ToGetAppSpecEnvArrayOutputWithContext(context.Context) GetAppSpecEnvArrayOutput + ToKubernetesNodePoolTaintOutput() KubernetesNodePoolTaintOutput + ToKubernetesNodePoolTaintOutputWithContext(context.Context) KubernetesNodePoolTaintOutput } -type GetAppSpecEnvArray []GetAppSpecEnvInput +type KubernetesNodePoolTaintArgs struct { + // How the node reacts to pods that it won't tolerate. Available effect values are: "NoSchedule", "PreferNoSchedule", "NoExecute". + Effect pulumi.StringInput `pulumi:"effect"` + // An arbitrary string. The "key" and "value" fields of the "taint" object form a key-value pair. + Key pulumi.StringInput `pulumi:"key"` + // An arbitrary string. The "key" and "value" fields of the "taint" object form a key-value pair. + Value pulumi.StringInput `pulumi:"value"` +} -func (GetAppSpecEnvArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetAppSpecEnv)(nil)).Elem() +func (KubernetesNodePoolTaintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*KubernetesNodePoolTaint)(nil)).Elem() } -func (i GetAppSpecEnvArray) ToGetAppSpecEnvArrayOutput() GetAppSpecEnvArrayOutput { - return i.ToGetAppSpecEnvArrayOutputWithContext(context.Background()) +func (i KubernetesNodePoolTaintArgs) ToKubernetesNodePoolTaintOutput() KubernetesNodePoolTaintOutput { + return i.ToKubernetesNodePoolTaintOutputWithContext(context.Background()) } -func (i GetAppSpecEnvArray) ToGetAppSpecEnvArrayOutputWithContext(ctx context.Context) GetAppSpecEnvArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecEnvArrayOutput) +func (i KubernetesNodePoolTaintArgs) ToKubernetesNodePoolTaintOutputWithContext(ctx context.Context) KubernetesNodePoolTaintOutput { + return pulumi.ToOutputWithContext(ctx, i).(KubernetesNodePoolTaintOutput) } -type GetAppSpecEnvOutput struct{ *pulumi.OutputState } +// KubernetesNodePoolTaintArrayInput is an input type that accepts KubernetesNodePoolTaintArray and KubernetesNodePoolTaintArrayOutput values. +// You can construct a concrete instance of `KubernetesNodePoolTaintArrayInput` via: +// +// KubernetesNodePoolTaintArray{ KubernetesNodePoolTaintArgs{...} } +type KubernetesNodePoolTaintArrayInput interface { + pulumi.Input -func (GetAppSpecEnvOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecEnv)(nil)).Elem() + ToKubernetesNodePoolTaintArrayOutput() KubernetesNodePoolTaintArrayOutput + ToKubernetesNodePoolTaintArrayOutputWithContext(context.Context) KubernetesNodePoolTaintArrayOutput } -func (o GetAppSpecEnvOutput) ToGetAppSpecEnvOutput() GetAppSpecEnvOutput { - return o +type KubernetesNodePoolTaintArray []KubernetesNodePoolTaintInput + +func (KubernetesNodePoolTaintArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]KubernetesNodePoolTaint)(nil)).Elem() } -func (o GetAppSpecEnvOutput) ToGetAppSpecEnvOutputWithContext(ctx context.Context) GetAppSpecEnvOutput { +func (i KubernetesNodePoolTaintArray) ToKubernetesNodePoolTaintArrayOutput() KubernetesNodePoolTaintArrayOutput { + return i.ToKubernetesNodePoolTaintArrayOutputWithContext(context.Background()) +} + +func (i KubernetesNodePoolTaintArray) ToKubernetesNodePoolTaintArrayOutputWithContext(ctx context.Context) KubernetesNodePoolTaintArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(KubernetesNodePoolTaintArrayOutput) +} + +type KubernetesNodePoolTaintOutput struct{ *pulumi.OutputState } + +func (KubernetesNodePoolTaintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*KubernetesNodePoolTaint)(nil)).Elem() +} + +func (o KubernetesNodePoolTaintOutput) ToKubernetesNodePoolTaintOutput() KubernetesNodePoolTaintOutput { return o } -// The name of the environment variable. -func (o GetAppSpecEnvOutput) Key() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecEnv) *string { return v.Key }).(pulumi.StringPtrOutput) +func (o KubernetesNodePoolTaintOutput) ToKubernetesNodePoolTaintOutputWithContext(ctx context.Context) KubernetesNodePoolTaintOutput { + return o } -// The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). -func (o GetAppSpecEnvOutput) Scope() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecEnv) *string { return v.Scope }).(pulumi.StringPtrOutput) +// How the node reacts to pods that it won't tolerate. Available effect values are: "NoSchedule", "PreferNoSchedule", "NoExecute". +func (o KubernetesNodePoolTaintOutput) Effect() pulumi.StringOutput { + return o.ApplyT(func(v KubernetesNodePoolTaint) string { return v.Effect }).(pulumi.StringOutput) } -// The type of the environment variable, `GENERAL` or `SECRET`. -func (o GetAppSpecEnvOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v GetAppSpecEnv) string { return v.Type }).(pulumi.StringOutput) +// An arbitrary string. The "key" and "value" fields of the "taint" object form a key-value pair. +func (o KubernetesNodePoolTaintOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v KubernetesNodePoolTaint) string { return v.Key }).(pulumi.StringOutput) } -// The value of the environment variable. -func (o GetAppSpecEnvOutput) Value() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecEnv) *string { return v.Value }).(pulumi.StringPtrOutput) +// An arbitrary string. The "key" and "value" fields of the "taint" object form a key-value pair. +func (o KubernetesNodePoolTaintOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v KubernetesNodePoolTaint) string { return v.Value }).(pulumi.StringOutput) } -type GetAppSpecEnvArrayOutput struct{ *pulumi.OutputState } +type KubernetesNodePoolTaintArrayOutput struct{ *pulumi.OutputState } -func (GetAppSpecEnvArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetAppSpecEnv)(nil)).Elem() +func (KubernetesNodePoolTaintArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]KubernetesNodePoolTaint)(nil)).Elem() } -func (o GetAppSpecEnvArrayOutput) ToGetAppSpecEnvArrayOutput() GetAppSpecEnvArrayOutput { +func (o KubernetesNodePoolTaintArrayOutput) ToKubernetesNodePoolTaintArrayOutput() KubernetesNodePoolTaintArrayOutput { return o } -func (o GetAppSpecEnvArrayOutput) ToGetAppSpecEnvArrayOutputWithContext(ctx context.Context) GetAppSpecEnvArrayOutput { +func (o KubernetesNodePoolTaintArrayOutput) ToKubernetesNodePoolTaintArrayOutputWithContext(ctx context.Context) KubernetesNodePoolTaintArrayOutput { return o } -func (o GetAppSpecEnvArrayOutput) Index(i pulumi.IntInput) GetAppSpecEnvOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAppSpecEnv { - return vs[0].([]GetAppSpecEnv)[vs[1].(int)] - }).(GetAppSpecEnvOutput) +func (o KubernetesNodePoolTaintArrayOutput) Index(i pulumi.IntInput) KubernetesNodePoolTaintOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) KubernetesNodePoolTaint { + return vs[0].([]KubernetesNodePoolTaint)[vs[1].(int)] + }).(KubernetesNodePoolTaintOutput) } -type GetAppSpecJob struct { - // An optional build command to run while building this component from source. - BuildCommand *string `pulumi:"buildCommand"` - // The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. - DockerfilePath *string `pulumi:"dockerfilePath"` - // An environment slug describing the type of this app. - EnvironmentSlug *string `pulumi:"environmentSlug"` - // Describes an environment variable made available to an app competent. - Envs []GetAppSpecJobEnv `pulumi:"envs"` - // A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set. - Git *GetAppSpecJobGit `pulumi:"git"` - // A GitHub repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/github/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. - Github *GetAppSpecJobGithub `pulumi:"github"` - // A Gitlab repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/gitlab/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. - Gitlab *GetAppSpecJobGitlab `pulumi:"gitlab"` - // An image to use as the component's source. Only one of `git`, `github`, `gitlab`, or `image` may be set. - Image *GetAppSpecJobImage `pulumi:"image"` - // The amount of instances that this component should be scaled to. - InstanceCount *int `pulumi:"instanceCount"` - // The instance size to use for this component. - InstanceSizeSlug *string `pulumi:"instanceSizeSlug"` - // The type of job and when it will be run during the deployment process. It may be one of: - // - `UNSPECIFIED`: Default job type, will auto-complete to POST_DEPLOY kind. - // - `PRE_DEPLOY`: Indicates a job that runs before an app deployment. - // - `POST_DEPLOY`: Indicates a job that runs after an app deployment. - // - `FAILED_DEPLOY`: Indicates a job that runs after a component fails to deploy. - Kind *string `pulumi:"kind"` - // The name of the component. - Name string `pulumi:"name"` - // An optional run command to override the component's default. - RunCommand *string `pulumi:"runCommand"` - // An optional path to the working directory to use for the build. - SourceDir *string `pulumi:"sourceDir"` +type LoadBalancerForwardingRule struct { + // **Deprecated** The ID of the TLS certificate to be used for SSL termination. + // + // Deprecated: Certificate IDs may change, for example when a Let's Encrypt certificate is auto-renewed. Please specify 'certificate_name' instead. + CertificateId *string `pulumi:"certificateId"` + // The unique name of the TLS certificate to be used for SSL termination. + CertificateName *string `pulumi:"certificateName"` + // An integer representing the port on which the Load Balancer instance will listen. + EntryPort int `pulumi:"entryPort"` + // The protocol used for traffic to the Load Balancer. The possible values are: `http`, `https`, `http2` or `tcp`. + EntryProtocol string `pulumi:"entryProtocol"` + // An integer representing the port on the backend Droplets to which the Load Balancer will send traffic. + TargetPort int `pulumi:"targetPort"` + // The protocol used for traffic from the Load Balancer to the backend Droplets. The possible values are: `http`, `https`, `http2` or `tcp`. + TargetProtocol string `pulumi:"targetProtocol"` + // A boolean value indicating whether SSL encrypted traffic will be passed through to the backend Droplets. The default value is `false`. + TlsPassthrough *bool `pulumi:"tlsPassthrough"` } -// GetAppSpecJobInput is an input type that accepts GetAppSpecJobArgs and GetAppSpecJobOutput values. -// You can construct a concrete instance of `GetAppSpecJobInput` via: +// LoadBalancerForwardingRuleInput is an input type that accepts LoadBalancerForwardingRuleArgs and LoadBalancerForwardingRuleOutput values. +// You can construct a concrete instance of `LoadBalancerForwardingRuleInput` via: // -// GetAppSpecJobArgs{...} -type GetAppSpecJobInput interface { +// LoadBalancerForwardingRuleArgs{...} +type LoadBalancerForwardingRuleInput interface { pulumi.Input - ToGetAppSpecJobOutput() GetAppSpecJobOutput - ToGetAppSpecJobOutputWithContext(context.Context) GetAppSpecJobOutput + ToLoadBalancerForwardingRuleOutput() LoadBalancerForwardingRuleOutput + ToLoadBalancerForwardingRuleOutputWithContext(context.Context) LoadBalancerForwardingRuleOutput } -type GetAppSpecJobArgs struct { - // An optional build command to run while building this component from source. - BuildCommand pulumi.StringPtrInput `pulumi:"buildCommand"` - // The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. - DockerfilePath pulumi.StringPtrInput `pulumi:"dockerfilePath"` - // An environment slug describing the type of this app. - EnvironmentSlug pulumi.StringPtrInput `pulumi:"environmentSlug"` - // Describes an environment variable made available to an app competent. - Envs GetAppSpecJobEnvArrayInput `pulumi:"envs"` - // A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set. - Git GetAppSpecJobGitPtrInput `pulumi:"git"` - // A GitHub repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/github/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. - Github GetAppSpecJobGithubPtrInput `pulumi:"github"` - // A Gitlab repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/gitlab/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. - Gitlab GetAppSpecJobGitlabPtrInput `pulumi:"gitlab"` - // An image to use as the component's source. Only one of `git`, `github`, `gitlab`, or `image` may be set. - Image GetAppSpecJobImagePtrInput `pulumi:"image"` - // The amount of instances that this component should be scaled to. - InstanceCount pulumi.IntPtrInput `pulumi:"instanceCount"` - // The instance size to use for this component. - InstanceSizeSlug pulumi.StringPtrInput `pulumi:"instanceSizeSlug"` - // The type of job and when it will be run during the deployment process. It may be one of: - // - `UNSPECIFIED`: Default job type, will auto-complete to POST_DEPLOY kind. - // - `PRE_DEPLOY`: Indicates a job that runs before an app deployment. - // - `POST_DEPLOY`: Indicates a job that runs after an app deployment. - // - `FAILED_DEPLOY`: Indicates a job that runs after a component fails to deploy. - Kind pulumi.StringPtrInput `pulumi:"kind"` - // The name of the component. - Name pulumi.StringInput `pulumi:"name"` - // An optional run command to override the component's default. - RunCommand pulumi.StringPtrInput `pulumi:"runCommand"` - // An optional path to the working directory to use for the build. - SourceDir pulumi.StringPtrInput `pulumi:"sourceDir"` +type LoadBalancerForwardingRuleArgs struct { + // **Deprecated** The ID of the TLS certificate to be used for SSL termination. + // + // Deprecated: Certificate IDs may change, for example when a Let's Encrypt certificate is auto-renewed. Please specify 'certificate_name' instead. + CertificateId pulumi.StringPtrInput `pulumi:"certificateId"` + // The unique name of the TLS certificate to be used for SSL termination. + CertificateName pulumi.StringPtrInput `pulumi:"certificateName"` + // An integer representing the port on which the Load Balancer instance will listen. + EntryPort pulumi.IntInput `pulumi:"entryPort"` + // The protocol used for traffic to the Load Balancer. The possible values are: `http`, `https`, `http2` or `tcp`. + EntryProtocol pulumi.StringInput `pulumi:"entryProtocol"` + // An integer representing the port on the backend Droplets to which the Load Balancer will send traffic. + TargetPort pulumi.IntInput `pulumi:"targetPort"` + // The protocol used for traffic from the Load Balancer to the backend Droplets. The possible values are: `http`, `https`, `http2` or `tcp`. + TargetProtocol pulumi.StringInput `pulumi:"targetProtocol"` + // A boolean value indicating whether SSL encrypted traffic will be passed through to the backend Droplets. The default value is `false`. + TlsPassthrough pulumi.BoolPtrInput `pulumi:"tlsPassthrough"` } -func (GetAppSpecJobArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecJob)(nil)).Elem() +func (LoadBalancerForwardingRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LoadBalancerForwardingRule)(nil)).Elem() } -func (i GetAppSpecJobArgs) ToGetAppSpecJobOutput() GetAppSpecJobOutput { - return i.ToGetAppSpecJobOutputWithContext(context.Background()) +func (i LoadBalancerForwardingRuleArgs) ToLoadBalancerForwardingRuleOutput() LoadBalancerForwardingRuleOutput { + return i.ToLoadBalancerForwardingRuleOutputWithContext(context.Background()) } -func (i GetAppSpecJobArgs) ToGetAppSpecJobOutputWithContext(ctx context.Context) GetAppSpecJobOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecJobOutput) +func (i LoadBalancerForwardingRuleArgs) ToLoadBalancerForwardingRuleOutputWithContext(ctx context.Context) LoadBalancerForwardingRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadBalancerForwardingRuleOutput) } -// GetAppSpecJobArrayInput is an input type that accepts GetAppSpecJobArray and GetAppSpecJobArrayOutput values. -// You can construct a concrete instance of `GetAppSpecJobArrayInput` via: +// LoadBalancerForwardingRuleArrayInput is an input type that accepts LoadBalancerForwardingRuleArray and LoadBalancerForwardingRuleArrayOutput values. +// You can construct a concrete instance of `LoadBalancerForwardingRuleArrayInput` via: // -// GetAppSpecJobArray{ GetAppSpecJobArgs{...} } -type GetAppSpecJobArrayInput interface { +// LoadBalancerForwardingRuleArray{ LoadBalancerForwardingRuleArgs{...} } +type LoadBalancerForwardingRuleArrayInput interface { pulumi.Input - ToGetAppSpecJobArrayOutput() GetAppSpecJobArrayOutput - ToGetAppSpecJobArrayOutputWithContext(context.Context) GetAppSpecJobArrayOutput + ToLoadBalancerForwardingRuleArrayOutput() LoadBalancerForwardingRuleArrayOutput + ToLoadBalancerForwardingRuleArrayOutputWithContext(context.Context) LoadBalancerForwardingRuleArrayOutput } -type GetAppSpecJobArray []GetAppSpecJobInput +type LoadBalancerForwardingRuleArray []LoadBalancerForwardingRuleInput -func (GetAppSpecJobArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetAppSpecJob)(nil)).Elem() +func (LoadBalancerForwardingRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]LoadBalancerForwardingRule)(nil)).Elem() } -func (i GetAppSpecJobArray) ToGetAppSpecJobArrayOutput() GetAppSpecJobArrayOutput { - return i.ToGetAppSpecJobArrayOutputWithContext(context.Background()) +func (i LoadBalancerForwardingRuleArray) ToLoadBalancerForwardingRuleArrayOutput() LoadBalancerForwardingRuleArrayOutput { + return i.ToLoadBalancerForwardingRuleArrayOutputWithContext(context.Background()) } -func (i GetAppSpecJobArray) ToGetAppSpecJobArrayOutputWithContext(ctx context.Context) GetAppSpecJobArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecJobArrayOutput) +func (i LoadBalancerForwardingRuleArray) ToLoadBalancerForwardingRuleArrayOutputWithContext(ctx context.Context) LoadBalancerForwardingRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadBalancerForwardingRuleArrayOutput) } -type GetAppSpecJobOutput struct{ *pulumi.OutputState } +type LoadBalancerForwardingRuleOutput struct{ *pulumi.OutputState } -func (GetAppSpecJobOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecJob)(nil)).Elem() +func (LoadBalancerForwardingRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LoadBalancerForwardingRule)(nil)).Elem() } -func (o GetAppSpecJobOutput) ToGetAppSpecJobOutput() GetAppSpecJobOutput { +func (o LoadBalancerForwardingRuleOutput) ToLoadBalancerForwardingRuleOutput() LoadBalancerForwardingRuleOutput { return o } -func (o GetAppSpecJobOutput) ToGetAppSpecJobOutputWithContext(ctx context.Context) GetAppSpecJobOutput { +func (o LoadBalancerForwardingRuleOutput) ToLoadBalancerForwardingRuleOutputWithContext(ctx context.Context) LoadBalancerForwardingRuleOutput { return o } -// An optional build command to run while building this component from source. -func (o GetAppSpecJobOutput) BuildCommand() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecJob) *string { return v.BuildCommand }).(pulumi.StringPtrOutput) +// **Deprecated** The ID of the TLS certificate to be used for SSL termination. +// +// Deprecated: Certificate IDs may change, for example when a Let's Encrypt certificate is auto-renewed. Please specify 'certificate_name' instead. +func (o LoadBalancerForwardingRuleOutput) CertificateId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LoadBalancerForwardingRule) *string { return v.CertificateId }).(pulumi.StringPtrOutput) } -// The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. -func (o GetAppSpecJobOutput) DockerfilePath() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecJob) *string { return v.DockerfilePath }).(pulumi.StringPtrOutput) +// The unique name of the TLS certificate to be used for SSL termination. +func (o LoadBalancerForwardingRuleOutput) CertificateName() pulumi.StringPtrOutput { + return o.ApplyT(func(v LoadBalancerForwardingRule) *string { return v.CertificateName }).(pulumi.StringPtrOutput) } -// An environment slug describing the type of this app. -func (o GetAppSpecJobOutput) EnvironmentSlug() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecJob) *string { return v.EnvironmentSlug }).(pulumi.StringPtrOutput) +// An integer representing the port on which the Load Balancer instance will listen. +func (o LoadBalancerForwardingRuleOutput) EntryPort() pulumi.IntOutput { + return o.ApplyT(func(v LoadBalancerForwardingRule) int { return v.EntryPort }).(pulumi.IntOutput) } -// Describes an environment variable made available to an app competent. -func (o GetAppSpecJobOutput) Envs() GetAppSpecJobEnvArrayOutput { - return o.ApplyT(func(v GetAppSpecJob) []GetAppSpecJobEnv { return v.Envs }).(GetAppSpecJobEnvArrayOutput) +// The protocol used for traffic to the Load Balancer. The possible values are: `http`, `https`, `http2` or `tcp`. +func (o LoadBalancerForwardingRuleOutput) EntryProtocol() pulumi.StringOutput { + return o.ApplyT(func(v LoadBalancerForwardingRule) string { return v.EntryProtocol }).(pulumi.StringOutput) } -// A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set. -func (o GetAppSpecJobOutput) Git() GetAppSpecJobGitPtrOutput { - return o.ApplyT(func(v GetAppSpecJob) *GetAppSpecJobGit { return v.Git }).(GetAppSpecJobGitPtrOutput) +// An integer representing the port on the backend Droplets to which the Load Balancer will send traffic. +func (o LoadBalancerForwardingRuleOutput) TargetPort() pulumi.IntOutput { + return o.ApplyT(func(v LoadBalancerForwardingRule) int { return v.TargetPort }).(pulumi.IntOutput) } -// A GitHub repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/github/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. -func (o GetAppSpecJobOutput) Github() GetAppSpecJobGithubPtrOutput { - return o.ApplyT(func(v GetAppSpecJob) *GetAppSpecJobGithub { return v.Github }).(GetAppSpecJobGithubPtrOutput) +// The protocol used for traffic from the Load Balancer to the backend Droplets. The possible values are: `http`, `https`, `http2` or `tcp`. +func (o LoadBalancerForwardingRuleOutput) TargetProtocol() pulumi.StringOutput { + return o.ApplyT(func(v LoadBalancerForwardingRule) string { return v.TargetProtocol }).(pulumi.StringOutput) } -// A Gitlab repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/gitlab/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. -func (o GetAppSpecJobOutput) Gitlab() GetAppSpecJobGitlabPtrOutput { - return o.ApplyT(func(v GetAppSpecJob) *GetAppSpecJobGitlab { return v.Gitlab }).(GetAppSpecJobGitlabPtrOutput) +// A boolean value indicating whether SSL encrypted traffic will be passed through to the backend Droplets. The default value is `false`. +func (o LoadBalancerForwardingRuleOutput) TlsPassthrough() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LoadBalancerForwardingRule) *bool { return v.TlsPassthrough }).(pulumi.BoolPtrOutput) } -// An image to use as the component's source. Only one of `git`, `github`, `gitlab`, or `image` may be set. -func (o GetAppSpecJobOutput) Image() GetAppSpecJobImagePtrOutput { - return o.ApplyT(func(v GetAppSpecJob) *GetAppSpecJobImage { return v.Image }).(GetAppSpecJobImagePtrOutput) -} +type LoadBalancerForwardingRuleArrayOutput struct{ *pulumi.OutputState } -// The amount of instances that this component should be scaled to. -func (o GetAppSpecJobOutput) InstanceCount() pulumi.IntPtrOutput { - return o.ApplyT(func(v GetAppSpecJob) *int { return v.InstanceCount }).(pulumi.IntPtrOutput) +func (LoadBalancerForwardingRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]LoadBalancerForwardingRule)(nil)).Elem() } -// The instance size to use for this component. -func (o GetAppSpecJobOutput) InstanceSizeSlug() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecJob) *string { return v.InstanceSizeSlug }).(pulumi.StringPtrOutput) +func (o LoadBalancerForwardingRuleArrayOutput) ToLoadBalancerForwardingRuleArrayOutput() LoadBalancerForwardingRuleArrayOutput { + return o } -// The type of job and when it will be run during the deployment process. It may be one of: -// - `UNSPECIFIED`: Default job type, will auto-complete to POST_DEPLOY kind. -// - `PRE_DEPLOY`: Indicates a job that runs before an app deployment. -// - `POST_DEPLOY`: Indicates a job that runs after an app deployment. -// - `FAILED_DEPLOY`: Indicates a job that runs after a component fails to deploy. -func (o GetAppSpecJobOutput) Kind() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecJob) *string { return v.Kind }).(pulumi.StringPtrOutput) +func (o LoadBalancerForwardingRuleArrayOutput) ToLoadBalancerForwardingRuleArrayOutputWithContext(ctx context.Context) LoadBalancerForwardingRuleArrayOutput { + return o } -// The name of the component. -func (o GetAppSpecJobOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetAppSpecJob) string { return v.Name }).(pulumi.StringOutput) +func (o LoadBalancerForwardingRuleArrayOutput) Index(i pulumi.IntInput) LoadBalancerForwardingRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) LoadBalancerForwardingRule { + return vs[0].([]LoadBalancerForwardingRule)[vs[1].(int)] + }).(LoadBalancerForwardingRuleOutput) } -// An optional run command to override the component's default. -func (o GetAppSpecJobOutput) RunCommand() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecJob) *string { return v.RunCommand }).(pulumi.StringPtrOutput) +type LoadBalancerHealthcheck struct { + // The number of seconds between between two consecutive health checks. If not specified, the default value is `10`. + CheckIntervalSeconds *int `pulumi:"checkIntervalSeconds"` + // The number of times a health check must pass for a backend Droplet to be marked "healthy" and be re-added to the pool. If not specified, the default value is `5`. + HealthyThreshold *int `pulumi:"healthyThreshold"` + // The path on the backend Droplets to which the Load Balancer instance will send a request. + Path *string `pulumi:"path"` + // An integer representing the port on the backend Droplets on which the health check will attempt a connection. + Port int `pulumi:"port"` + // The protocol used for health checks sent to the backend Droplets. The possible values are `http`, `https` or `tcp`. + Protocol string `pulumi:"protocol"` + // The number of seconds the Load Balancer instance will wait for a response until marking a health check as failed. If not specified, the default value is `5`. + ResponseTimeoutSeconds *int `pulumi:"responseTimeoutSeconds"` + // The number of times a health check must fail for a backend Droplet to be marked "unhealthy" and be removed from the pool. If not specified, the default value is `3`. + UnhealthyThreshold *int `pulumi:"unhealthyThreshold"` } -// An optional path to the working directory to use for the build. -func (o GetAppSpecJobOutput) SourceDir() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecJob) *string { return v.SourceDir }).(pulumi.StringPtrOutput) +// LoadBalancerHealthcheckInput is an input type that accepts LoadBalancerHealthcheckArgs and LoadBalancerHealthcheckOutput values. +// You can construct a concrete instance of `LoadBalancerHealthcheckInput` via: +// +// LoadBalancerHealthcheckArgs{...} +type LoadBalancerHealthcheckInput interface { + pulumi.Input + + ToLoadBalancerHealthcheckOutput() LoadBalancerHealthcheckOutput + ToLoadBalancerHealthcheckOutputWithContext(context.Context) LoadBalancerHealthcheckOutput } -type GetAppSpecJobArrayOutput struct{ *pulumi.OutputState } +type LoadBalancerHealthcheckArgs struct { + // The number of seconds between between two consecutive health checks. If not specified, the default value is `10`. + CheckIntervalSeconds pulumi.IntPtrInput `pulumi:"checkIntervalSeconds"` + // The number of times a health check must pass for a backend Droplet to be marked "healthy" and be re-added to the pool. If not specified, the default value is `5`. + HealthyThreshold pulumi.IntPtrInput `pulumi:"healthyThreshold"` + // The path on the backend Droplets to which the Load Balancer instance will send a request. + Path pulumi.StringPtrInput `pulumi:"path"` + // An integer representing the port on the backend Droplets on which the health check will attempt a connection. + Port pulumi.IntInput `pulumi:"port"` + // The protocol used for health checks sent to the backend Droplets. The possible values are `http`, `https` or `tcp`. + Protocol pulumi.StringInput `pulumi:"protocol"` + // The number of seconds the Load Balancer instance will wait for a response until marking a health check as failed. If not specified, the default value is `5`. + ResponseTimeoutSeconds pulumi.IntPtrInput `pulumi:"responseTimeoutSeconds"` + // The number of times a health check must fail for a backend Droplet to be marked "unhealthy" and be removed from the pool. If not specified, the default value is `3`. + UnhealthyThreshold pulumi.IntPtrInput `pulumi:"unhealthyThreshold"` +} -func (GetAppSpecJobArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetAppSpecJob)(nil)).Elem() +func (LoadBalancerHealthcheckArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LoadBalancerHealthcheck)(nil)).Elem() } -func (o GetAppSpecJobArrayOutput) ToGetAppSpecJobArrayOutput() GetAppSpecJobArrayOutput { - return o +func (i LoadBalancerHealthcheckArgs) ToLoadBalancerHealthcheckOutput() LoadBalancerHealthcheckOutput { + return i.ToLoadBalancerHealthcheckOutputWithContext(context.Background()) } -func (o GetAppSpecJobArrayOutput) ToGetAppSpecJobArrayOutputWithContext(ctx context.Context) GetAppSpecJobArrayOutput { - return o +func (i LoadBalancerHealthcheckArgs) ToLoadBalancerHealthcheckOutputWithContext(ctx context.Context) LoadBalancerHealthcheckOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadBalancerHealthcheckOutput) } -func (o GetAppSpecJobArrayOutput) Index(i pulumi.IntInput) GetAppSpecJobOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAppSpecJob { - return vs[0].([]GetAppSpecJob)[vs[1].(int)] - }).(GetAppSpecJobOutput) +func (i LoadBalancerHealthcheckArgs) ToLoadBalancerHealthcheckPtrOutput() LoadBalancerHealthcheckPtrOutput { + return i.ToLoadBalancerHealthcheckPtrOutputWithContext(context.Background()) } -type GetAppSpecJobEnv struct { - // The name of the environment variable. - Key *string `pulumi:"key"` - // The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). - Scope *string `pulumi:"scope"` - // The type of the environment variable, `GENERAL` or `SECRET`. - Type string `pulumi:"type"` - // The value of the environment variable. - Value *string `pulumi:"value"` +func (i LoadBalancerHealthcheckArgs) ToLoadBalancerHealthcheckPtrOutputWithContext(ctx context.Context) LoadBalancerHealthcheckPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadBalancerHealthcheckOutput).ToLoadBalancerHealthcheckPtrOutputWithContext(ctx) } -// GetAppSpecJobEnvInput is an input type that accepts GetAppSpecJobEnvArgs and GetAppSpecJobEnvOutput values. -// You can construct a concrete instance of `GetAppSpecJobEnvInput` via: +// LoadBalancerHealthcheckPtrInput is an input type that accepts LoadBalancerHealthcheckArgs, LoadBalancerHealthcheckPtr and LoadBalancerHealthcheckPtrOutput values. +// You can construct a concrete instance of `LoadBalancerHealthcheckPtrInput` via: // -// GetAppSpecJobEnvArgs{...} -type GetAppSpecJobEnvInput interface { +// LoadBalancerHealthcheckArgs{...} +// +// or: +// +// nil +type LoadBalancerHealthcheckPtrInput interface { pulumi.Input - ToGetAppSpecJobEnvOutput() GetAppSpecJobEnvOutput - ToGetAppSpecJobEnvOutputWithContext(context.Context) GetAppSpecJobEnvOutput + ToLoadBalancerHealthcheckPtrOutput() LoadBalancerHealthcheckPtrOutput + ToLoadBalancerHealthcheckPtrOutputWithContext(context.Context) LoadBalancerHealthcheckPtrOutput } -type GetAppSpecJobEnvArgs struct { - // The name of the environment variable. - Key pulumi.StringPtrInput `pulumi:"key"` - // The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). - Scope pulumi.StringPtrInput `pulumi:"scope"` - // The type of the environment variable, `GENERAL` or `SECRET`. - Type pulumi.StringInput `pulumi:"type"` - // The value of the environment variable. - Value pulumi.StringPtrInput `pulumi:"value"` -} +type loadBalancerHealthcheckPtrType LoadBalancerHealthcheckArgs -func (GetAppSpecJobEnvArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecJobEnv)(nil)).Elem() +func LoadBalancerHealthcheckPtr(v *LoadBalancerHealthcheckArgs) LoadBalancerHealthcheckPtrInput { + return (*loadBalancerHealthcheckPtrType)(v) } -func (i GetAppSpecJobEnvArgs) ToGetAppSpecJobEnvOutput() GetAppSpecJobEnvOutput { - return i.ToGetAppSpecJobEnvOutputWithContext(context.Background()) +func (*loadBalancerHealthcheckPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LoadBalancerHealthcheck)(nil)).Elem() } -func (i GetAppSpecJobEnvArgs) ToGetAppSpecJobEnvOutputWithContext(ctx context.Context) GetAppSpecJobEnvOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecJobEnvOutput) +func (i *loadBalancerHealthcheckPtrType) ToLoadBalancerHealthcheckPtrOutput() LoadBalancerHealthcheckPtrOutput { + return i.ToLoadBalancerHealthcheckPtrOutputWithContext(context.Background()) } -// GetAppSpecJobEnvArrayInput is an input type that accepts GetAppSpecJobEnvArray and GetAppSpecJobEnvArrayOutput values. -// You can construct a concrete instance of `GetAppSpecJobEnvArrayInput` via: -// -// GetAppSpecJobEnvArray{ GetAppSpecJobEnvArgs{...} } -type GetAppSpecJobEnvArrayInput interface { - pulumi.Input - - ToGetAppSpecJobEnvArrayOutput() GetAppSpecJobEnvArrayOutput - ToGetAppSpecJobEnvArrayOutputWithContext(context.Context) GetAppSpecJobEnvArrayOutput +func (i *loadBalancerHealthcheckPtrType) ToLoadBalancerHealthcheckPtrOutputWithContext(ctx context.Context) LoadBalancerHealthcheckPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadBalancerHealthcheckPtrOutput) } -type GetAppSpecJobEnvArray []GetAppSpecJobEnvInput +type LoadBalancerHealthcheckOutput struct{ *pulumi.OutputState } -func (GetAppSpecJobEnvArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetAppSpecJobEnv)(nil)).Elem() +func (LoadBalancerHealthcheckOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LoadBalancerHealthcheck)(nil)).Elem() } -func (i GetAppSpecJobEnvArray) ToGetAppSpecJobEnvArrayOutput() GetAppSpecJobEnvArrayOutput { - return i.ToGetAppSpecJobEnvArrayOutputWithContext(context.Background()) +func (o LoadBalancerHealthcheckOutput) ToLoadBalancerHealthcheckOutput() LoadBalancerHealthcheckOutput { + return o } -func (i GetAppSpecJobEnvArray) ToGetAppSpecJobEnvArrayOutputWithContext(ctx context.Context) GetAppSpecJobEnvArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecJobEnvArrayOutput) +func (o LoadBalancerHealthcheckOutput) ToLoadBalancerHealthcheckOutputWithContext(ctx context.Context) LoadBalancerHealthcheckOutput { + return o } -type GetAppSpecJobEnvOutput struct{ *pulumi.OutputState } +func (o LoadBalancerHealthcheckOutput) ToLoadBalancerHealthcheckPtrOutput() LoadBalancerHealthcheckPtrOutput { + return o.ToLoadBalancerHealthcheckPtrOutputWithContext(context.Background()) +} -func (GetAppSpecJobEnvOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecJobEnv)(nil)).Elem() +func (o LoadBalancerHealthcheckOutput) ToLoadBalancerHealthcheckPtrOutputWithContext(ctx context.Context) LoadBalancerHealthcheckPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LoadBalancerHealthcheck) *LoadBalancerHealthcheck { + return &v + }).(LoadBalancerHealthcheckPtrOutput) } -func (o GetAppSpecJobEnvOutput) ToGetAppSpecJobEnvOutput() GetAppSpecJobEnvOutput { - return o +// The number of seconds between between two consecutive health checks. If not specified, the default value is `10`. +func (o LoadBalancerHealthcheckOutput) CheckIntervalSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v LoadBalancerHealthcheck) *int { return v.CheckIntervalSeconds }).(pulumi.IntPtrOutput) } -func (o GetAppSpecJobEnvOutput) ToGetAppSpecJobEnvOutputWithContext(ctx context.Context) GetAppSpecJobEnvOutput { - return o +// The number of times a health check must pass for a backend Droplet to be marked "healthy" and be re-added to the pool. If not specified, the default value is `5`. +func (o LoadBalancerHealthcheckOutput) HealthyThreshold() pulumi.IntPtrOutput { + return o.ApplyT(func(v LoadBalancerHealthcheck) *int { return v.HealthyThreshold }).(pulumi.IntPtrOutput) } -// The name of the environment variable. -func (o GetAppSpecJobEnvOutput) Key() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecJobEnv) *string { return v.Key }).(pulumi.StringPtrOutput) +// The path on the backend Droplets to which the Load Balancer instance will send a request. +func (o LoadBalancerHealthcheckOutput) Path() pulumi.StringPtrOutput { + return o.ApplyT(func(v LoadBalancerHealthcheck) *string { return v.Path }).(pulumi.StringPtrOutput) } -// The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). -func (o GetAppSpecJobEnvOutput) Scope() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecJobEnv) *string { return v.Scope }).(pulumi.StringPtrOutput) +// An integer representing the port on the backend Droplets on which the health check will attempt a connection. +func (o LoadBalancerHealthcheckOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v LoadBalancerHealthcheck) int { return v.Port }).(pulumi.IntOutput) } -// The type of the environment variable, `GENERAL` or `SECRET`. -func (o GetAppSpecJobEnvOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v GetAppSpecJobEnv) string { return v.Type }).(pulumi.StringOutput) +// The protocol used for health checks sent to the backend Droplets. The possible values are `http`, `https` or `tcp`. +func (o LoadBalancerHealthcheckOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v LoadBalancerHealthcheck) string { return v.Protocol }).(pulumi.StringOutput) } -// The value of the environment variable. -func (o GetAppSpecJobEnvOutput) Value() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecJobEnv) *string { return v.Value }).(pulumi.StringPtrOutput) +// The number of seconds the Load Balancer instance will wait for a response until marking a health check as failed. If not specified, the default value is `5`. +func (o LoadBalancerHealthcheckOutput) ResponseTimeoutSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v LoadBalancerHealthcheck) *int { return v.ResponseTimeoutSeconds }).(pulumi.IntPtrOutput) } -type GetAppSpecJobEnvArrayOutput struct{ *pulumi.OutputState } +// The number of times a health check must fail for a backend Droplet to be marked "unhealthy" and be removed from the pool. If not specified, the default value is `3`. +func (o LoadBalancerHealthcheckOutput) UnhealthyThreshold() pulumi.IntPtrOutput { + return o.ApplyT(func(v LoadBalancerHealthcheck) *int { return v.UnhealthyThreshold }).(pulumi.IntPtrOutput) +} -func (GetAppSpecJobEnvArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetAppSpecJobEnv)(nil)).Elem() +type LoadBalancerHealthcheckPtrOutput struct{ *pulumi.OutputState } + +func (LoadBalancerHealthcheckPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LoadBalancerHealthcheck)(nil)).Elem() } -func (o GetAppSpecJobEnvArrayOutput) ToGetAppSpecJobEnvArrayOutput() GetAppSpecJobEnvArrayOutput { +func (o LoadBalancerHealthcheckPtrOutput) ToLoadBalancerHealthcheckPtrOutput() LoadBalancerHealthcheckPtrOutput { return o } -func (o GetAppSpecJobEnvArrayOutput) ToGetAppSpecJobEnvArrayOutputWithContext(ctx context.Context) GetAppSpecJobEnvArrayOutput { +func (o LoadBalancerHealthcheckPtrOutput) ToLoadBalancerHealthcheckPtrOutputWithContext(ctx context.Context) LoadBalancerHealthcheckPtrOutput { return o } -func (o GetAppSpecJobEnvArrayOutput) Index(i pulumi.IntInput) GetAppSpecJobEnvOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAppSpecJobEnv { - return vs[0].([]GetAppSpecJobEnv)[vs[1].(int)] - }).(GetAppSpecJobEnvOutput) +func (o LoadBalancerHealthcheckPtrOutput) Elem() LoadBalancerHealthcheckOutput { + return o.ApplyT(func(v *LoadBalancerHealthcheck) LoadBalancerHealthcheck { + if v != nil { + return *v + } + var ret LoadBalancerHealthcheck + return ret + }).(LoadBalancerHealthcheckOutput) } -type GetAppSpecJobGit struct { - // The name of the branch to use. - Branch *string `pulumi:"branch"` - // The clone URL of the repo. - RepoCloneUrl *string `pulumi:"repoCloneUrl"` +// The number of seconds between between two consecutive health checks. If not specified, the default value is `10`. +func (o LoadBalancerHealthcheckPtrOutput) CheckIntervalSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LoadBalancerHealthcheck) *int { + if v == nil { + return nil + } + return v.CheckIntervalSeconds + }).(pulumi.IntPtrOutput) } -// GetAppSpecJobGitInput is an input type that accepts GetAppSpecJobGitArgs and GetAppSpecJobGitOutput values. -// You can construct a concrete instance of `GetAppSpecJobGitInput` via: +// The number of times a health check must pass for a backend Droplet to be marked "healthy" and be re-added to the pool. If not specified, the default value is `5`. +func (o LoadBalancerHealthcheckPtrOutput) HealthyThreshold() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LoadBalancerHealthcheck) *int { + if v == nil { + return nil + } + return v.HealthyThreshold + }).(pulumi.IntPtrOutput) +} + +// The path on the backend Droplets to which the Load Balancer instance will send a request. +func (o LoadBalancerHealthcheckPtrOutput) Path() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LoadBalancerHealthcheck) *string { + if v == nil { + return nil + } + return v.Path + }).(pulumi.StringPtrOutput) +} + +// An integer representing the port on the backend Droplets on which the health check will attempt a connection. +func (o LoadBalancerHealthcheckPtrOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LoadBalancerHealthcheck) *int { + if v == nil { + return nil + } + return &v.Port + }).(pulumi.IntPtrOutput) +} + +// The protocol used for health checks sent to the backend Droplets. The possible values are `http`, `https` or `tcp`. +func (o LoadBalancerHealthcheckPtrOutput) Protocol() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LoadBalancerHealthcheck) *string { + if v == nil { + return nil + } + return &v.Protocol + }).(pulumi.StringPtrOutput) +} + +// The number of seconds the Load Balancer instance will wait for a response until marking a health check as failed. If not specified, the default value is `5`. +func (o LoadBalancerHealthcheckPtrOutput) ResponseTimeoutSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LoadBalancerHealthcheck) *int { + if v == nil { + return nil + } + return v.ResponseTimeoutSeconds + }).(pulumi.IntPtrOutput) +} + +// The number of times a health check must fail for a backend Droplet to be marked "unhealthy" and be removed from the pool. If not specified, the default value is `3`. +func (o LoadBalancerHealthcheckPtrOutput) UnhealthyThreshold() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LoadBalancerHealthcheck) *int { + if v == nil { + return nil + } + return v.UnhealthyThreshold + }).(pulumi.IntPtrOutput) +} + +type LoadBalancerStickySessions struct { + // The name to be used for the cookie sent to the client. This attribute is required when using `cookies` for the sticky sessions type. + CookieName *string `pulumi:"cookieName"` + // The number of seconds until the cookie set by the Load Balancer expires. This attribute is required when using `cookies` for the sticky sessions type. + CookieTtlSeconds *int `pulumi:"cookieTtlSeconds"` + // An attribute indicating how and if requests from a client will be persistently served by the same backend Droplet. The possible values are `cookies` or `none`. If not specified, the default value is `none`. + Type *string `pulumi:"type"` +} + +// LoadBalancerStickySessionsInput is an input type that accepts LoadBalancerStickySessionsArgs and LoadBalancerStickySessionsOutput values. +// You can construct a concrete instance of `LoadBalancerStickySessionsInput` via: // -// GetAppSpecJobGitArgs{...} -type GetAppSpecJobGitInput interface { +// LoadBalancerStickySessionsArgs{...} +type LoadBalancerStickySessionsInput interface { pulumi.Input - ToGetAppSpecJobGitOutput() GetAppSpecJobGitOutput - ToGetAppSpecJobGitOutputWithContext(context.Context) GetAppSpecJobGitOutput + ToLoadBalancerStickySessionsOutput() LoadBalancerStickySessionsOutput + ToLoadBalancerStickySessionsOutputWithContext(context.Context) LoadBalancerStickySessionsOutput } -type GetAppSpecJobGitArgs struct { - // The name of the branch to use. - Branch pulumi.StringPtrInput `pulumi:"branch"` - // The clone URL of the repo. - RepoCloneUrl pulumi.StringPtrInput `pulumi:"repoCloneUrl"` +type LoadBalancerStickySessionsArgs struct { + // The name to be used for the cookie sent to the client. This attribute is required when using `cookies` for the sticky sessions type. + CookieName pulumi.StringPtrInput `pulumi:"cookieName"` + // The number of seconds until the cookie set by the Load Balancer expires. This attribute is required when using `cookies` for the sticky sessions type. + CookieTtlSeconds pulumi.IntPtrInput `pulumi:"cookieTtlSeconds"` + // An attribute indicating how and if requests from a client will be persistently served by the same backend Droplet. The possible values are `cookies` or `none`. If not specified, the default value is `none`. + Type pulumi.StringPtrInput `pulumi:"type"` } -func (GetAppSpecJobGitArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecJobGit)(nil)).Elem() +func (LoadBalancerStickySessionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LoadBalancerStickySessions)(nil)).Elem() } -func (i GetAppSpecJobGitArgs) ToGetAppSpecJobGitOutput() GetAppSpecJobGitOutput { - return i.ToGetAppSpecJobGitOutputWithContext(context.Background()) +func (i LoadBalancerStickySessionsArgs) ToLoadBalancerStickySessionsOutput() LoadBalancerStickySessionsOutput { + return i.ToLoadBalancerStickySessionsOutputWithContext(context.Background()) } -func (i GetAppSpecJobGitArgs) ToGetAppSpecJobGitOutputWithContext(ctx context.Context) GetAppSpecJobGitOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecJobGitOutput) +func (i LoadBalancerStickySessionsArgs) ToLoadBalancerStickySessionsOutputWithContext(ctx context.Context) LoadBalancerStickySessionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadBalancerStickySessionsOutput) } -func (i GetAppSpecJobGitArgs) ToGetAppSpecJobGitPtrOutput() GetAppSpecJobGitPtrOutput { - return i.ToGetAppSpecJobGitPtrOutputWithContext(context.Background()) +func (i LoadBalancerStickySessionsArgs) ToLoadBalancerStickySessionsPtrOutput() LoadBalancerStickySessionsPtrOutput { + return i.ToLoadBalancerStickySessionsPtrOutputWithContext(context.Background()) } -func (i GetAppSpecJobGitArgs) ToGetAppSpecJobGitPtrOutputWithContext(ctx context.Context) GetAppSpecJobGitPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecJobGitOutput).ToGetAppSpecJobGitPtrOutputWithContext(ctx) +func (i LoadBalancerStickySessionsArgs) ToLoadBalancerStickySessionsPtrOutputWithContext(ctx context.Context) LoadBalancerStickySessionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadBalancerStickySessionsOutput).ToLoadBalancerStickySessionsPtrOutputWithContext(ctx) } -// GetAppSpecJobGitPtrInput is an input type that accepts GetAppSpecJobGitArgs, GetAppSpecJobGitPtr and GetAppSpecJobGitPtrOutput values. -// You can construct a concrete instance of `GetAppSpecJobGitPtrInput` via: +// LoadBalancerStickySessionsPtrInput is an input type that accepts LoadBalancerStickySessionsArgs, LoadBalancerStickySessionsPtr and LoadBalancerStickySessionsPtrOutput values. +// You can construct a concrete instance of `LoadBalancerStickySessionsPtrInput` via: // -// GetAppSpecJobGitArgs{...} +// LoadBalancerStickySessionsArgs{...} // // or: // // nil -type GetAppSpecJobGitPtrInput interface { +type LoadBalancerStickySessionsPtrInput interface { pulumi.Input - ToGetAppSpecJobGitPtrOutput() GetAppSpecJobGitPtrOutput - ToGetAppSpecJobGitPtrOutputWithContext(context.Context) GetAppSpecJobGitPtrOutput + ToLoadBalancerStickySessionsPtrOutput() LoadBalancerStickySessionsPtrOutput + ToLoadBalancerStickySessionsPtrOutputWithContext(context.Context) LoadBalancerStickySessionsPtrOutput } -type getAppSpecJobGitPtrType GetAppSpecJobGitArgs +type loadBalancerStickySessionsPtrType LoadBalancerStickySessionsArgs -func GetAppSpecJobGitPtr(v *GetAppSpecJobGitArgs) GetAppSpecJobGitPtrInput { - return (*getAppSpecJobGitPtrType)(v) +func LoadBalancerStickySessionsPtr(v *LoadBalancerStickySessionsArgs) LoadBalancerStickySessionsPtrInput { + return (*loadBalancerStickySessionsPtrType)(v) } -func (*getAppSpecJobGitPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**GetAppSpecJobGit)(nil)).Elem() +func (*loadBalancerStickySessionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LoadBalancerStickySessions)(nil)).Elem() } -func (i *getAppSpecJobGitPtrType) ToGetAppSpecJobGitPtrOutput() GetAppSpecJobGitPtrOutput { - return i.ToGetAppSpecJobGitPtrOutputWithContext(context.Background()) +func (i *loadBalancerStickySessionsPtrType) ToLoadBalancerStickySessionsPtrOutput() LoadBalancerStickySessionsPtrOutput { + return i.ToLoadBalancerStickySessionsPtrOutputWithContext(context.Background()) } -func (i *getAppSpecJobGitPtrType) ToGetAppSpecJobGitPtrOutputWithContext(ctx context.Context) GetAppSpecJobGitPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecJobGitPtrOutput) +func (i *loadBalancerStickySessionsPtrType) ToLoadBalancerStickySessionsPtrOutputWithContext(ctx context.Context) LoadBalancerStickySessionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadBalancerStickySessionsPtrOutput) } -type GetAppSpecJobGitOutput struct{ *pulumi.OutputState } +type LoadBalancerStickySessionsOutput struct{ *pulumi.OutputState } -func (GetAppSpecJobGitOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecJobGit)(nil)).Elem() +func (LoadBalancerStickySessionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LoadBalancerStickySessions)(nil)).Elem() } -func (o GetAppSpecJobGitOutput) ToGetAppSpecJobGitOutput() GetAppSpecJobGitOutput { +func (o LoadBalancerStickySessionsOutput) ToLoadBalancerStickySessionsOutput() LoadBalancerStickySessionsOutput { return o } -func (o GetAppSpecJobGitOutput) ToGetAppSpecJobGitOutputWithContext(ctx context.Context) GetAppSpecJobGitOutput { +func (o LoadBalancerStickySessionsOutput) ToLoadBalancerStickySessionsOutputWithContext(ctx context.Context) LoadBalancerStickySessionsOutput { return o } -func (o GetAppSpecJobGitOutput) ToGetAppSpecJobGitPtrOutput() GetAppSpecJobGitPtrOutput { - return o.ToGetAppSpecJobGitPtrOutputWithContext(context.Background()) +func (o LoadBalancerStickySessionsOutput) ToLoadBalancerStickySessionsPtrOutput() LoadBalancerStickySessionsPtrOutput { + return o.ToLoadBalancerStickySessionsPtrOutputWithContext(context.Background()) } -func (o GetAppSpecJobGitOutput) ToGetAppSpecJobGitPtrOutputWithContext(ctx context.Context) GetAppSpecJobGitPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecJobGit) *GetAppSpecJobGit { +func (o LoadBalancerStickySessionsOutput) ToLoadBalancerStickySessionsPtrOutputWithContext(ctx context.Context) LoadBalancerStickySessionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LoadBalancerStickySessions) *LoadBalancerStickySessions { return &v - }).(GetAppSpecJobGitPtrOutput) + }).(LoadBalancerStickySessionsPtrOutput) } -// The name of the branch to use. -func (o GetAppSpecJobGitOutput) Branch() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecJobGit) *string { return v.Branch }).(pulumi.StringPtrOutput) +// The name to be used for the cookie sent to the client. This attribute is required when using `cookies` for the sticky sessions type. +func (o LoadBalancerStickySessionsOutput) CookieName() pulumi.StringPtrOutput { + return o.ApplyT(func(v LoadBalancerStickySessions) *string { return v.CookieName }).(pulumi.StringPtrOutput) } -// The clone URL of the repo. -func (o GetAppSpecJobGitOutput) RepoCloneUrl() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecJobGit) *string { return v.RepoCloneUrl }).(pulumi.StringPtrOutput) +// The number of seconds until the cookie set by the Load Balancer expires. This attribute is required when using `cookies` for the sticky sessions type. +func (o LoadBalancerStickySessionsOutput) CookieTtlSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v LoadBalancerStickySessions) *int { return v.CookieTtlSeconds }).(pulumi.IntPtrOutput) } -type GetAppSpecJobGitPtrOutput struct{ *pulumi.OutputState } - -func (GetAppSpecJobGitPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**GetAppSpecJobGit)(nil)).Elem() +// An attribute indicating how and if requests from a client will be persistently served by the same backend Droplet. The possible values are `cookies` or `none`. If not specified, the default value is `none`. +func (o LoadBalancerStickySessionsOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v LoadBalancerStickySessions) *string { return v.Type }).(pulumi.StringPtrOutput) } -func (o GetAppSpecJobGitPtrOutput) ToGetAppSpecJobGitPtrOutput() GetAppSpecJobGitPtrOutput { - return o -} +type LoadBalancerStickySessionsPtrOutput struct{ *pulumi.OutputState } -func (o GetAppSpecJobGitPtrOutput) ToGetAppSpecJobGitPtrOutputWithContext(ctx context.Context) GetAppSpecJobGitPtrOutput { +func (LoadBalancerStickySessionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LoadBalancerStickySessions)(nil)).Elem() +} + +func (o LoadBalancerStickySessionsPtrOutput) ToLoadBalancerStickySessionsPtrOutput() LoadBalancerStickySessionsPtrOutput { return o } -func (o GetAppSpecJobGitPtrOutput) Elem() GetAppSpecJobGitOutput { - return o.ApplyT(func(v *GetAppSpecJobGit) GetAppSpecJobGit { +func (o LoadBalancerStickySessionsPtrOutput) ToLoadBalancerStickySessionsPtrOutputWithContext(ctx context.Context) LoadBalancerStickySessionsPtrOutput { + return o +} + +func (o LoadBalancerStickySessionsPtrOutput) Elem() LoadBalancerStickySessionsOutput { + return o.ApplyT(func(v *LoadBalancerStickySessions) LoadBalancerStickySessions { if v != nil { return *v } - var ret GetAppSpecJobGit + var ret LoadBalancerStickySessions return ret - }).(GetAppSpecJobGitOutput) + }).(LoadBalancerStickySessionsOutput) } -// The name of the branch to use. -func (o GetAppSpecJobGitPtrOutput) Branch() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetAppSpecJobGit) *string { +// The name to be used for the cookie sent to the client. This attribute is required when using `cookies` for the sticky sessions type. +func (o LoadBalancerStickySessionsPtrOutput) CookieName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LoadBalancerStickySessions) *string { if v == nil { return nil } - return v.Branch + return v.CookieName }).(pulumi.StringPtrOutput) } -// The clone URL of the repo. -func (o GetAppSpecJobGitPtrOutput) RepoCloneUrl() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetAppSpecJobGit) *string { +// The number of seconds until the cookie set by the Load Balancer expires. This attribute is required when using `cookies` for the sticky sessions type. +func (o LoadBalancerStickySessionsPtrOutput) CookieTtlSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LoadBalancerStickySessions) *int { if v == nil { return nil } - return v.RepoCloneUrl + return v.CookieTtlSeconds + }).(pulumi.IntPtrOutput) +} + +// An attribute indicating how and if requests from a client will be persistently served by the same backend Droplet. The possible values are `cookies` or `none`. If not specified, the default value is `none`. +func (o LoadBalancerStickySessionsPtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LoadBalancerStickySessions) *string { + if v == nil { + return nil + } + return v.Type }).(pulumi.StringPtrOutput) } -type GetAppSpecJobGithub struct { - // The name of the branch to use. - Branch *string `pulumi:"branch"` - // Whether to automatically deploy new commits made to the repo. - DeployOnPush *bool `pulumi:"deployOnPush"` - // The name of the repo in the format `owner/repo`. - Repo *string `pulumi:"repo"` +type MonitorAlertAlerts struct { + Emails []string `pulumi:"emails"` + Slacks []MonitorAlertAlertsSlack `pulumi:"slacks"` } -// GetAppSpecJobGithubInput is an input type that accepts GetAppSpecJobGithubArgs and GetAppSpecJobGithubOutput values. -// You can construct a concrete instance of `GetAppSpecJobGithubInput` via: +// MonitorAlertAlertsInput is an input type that accepts MonitorAlertAlertsArgs and MonitorAlertAlertsOutput values. +// You can construct a concrete instance of `MonitorAlertAlertsInput` via: // -// GetAppSpecJobGithubArgs{...} -type GetAppSpecJobGithubInput interface { +// MonitorAlertAlertsArgs{...} +type MonitorAlertAlertsInput interface { pulumi.Input - ToGetAppSpecJobGithubOutput() GetAppSpecJobGithubOutput - ToGetAppSpecJobGithubOutputWithContext(context.Context) GetAppSpecJobGithubOutput + ToMonitorAlertAlertsOutput() MonitorAlertAlertsOutput + ToMonitorAlertAlertsOutputWithContext(context.Context) MonitorAlertAlertsOutput } -type GetAppSpecJobGithubArgs struct { - // The name of the branch to use. - Branch pulumi.StringPtrInput `pulumi:"branch"` - // Whether to automatically deploy new commits made to the repo. - DeployOnPush pulumi.BoolPtrInput `pulumi:"deployOnPush"` - // The name of the repo in the format `owner/repo`. - Repo pulumi.StringPtrInput `pulumi:"repo"` +type MonitorAlertAlertsArgs struct { + Emails pulumi.StringArrayInput `pulumi:"emails"` + Slacks MonitorAlertAlertsSlackArrayInput `pulumi:"slacks"` } -func (GetAppSpecJobGithubArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecJobGithub)(nil)).Elem() +func (MonitorAlertAlertsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MonitorAlertAlerts)(nil)).Elem() } -func (i GetAppSpecJobGithubArgs) ToGetAppSpecJobGithubOutput() GetAppSpecJobGithubOutput { - return i.ToGetAppSpecJobGithubOutputWithContext(context.Background()) +func (i MonitorAlertAlertsArgs) ToMonitorAlertAlertsOutput() MonitorAlertAlertsOutput { + return i.ToMonitorAlertAlertsOutputWithContext(context.Background()) } -func (i GetAppSpecJobGithubArgs) ToGetAppSpecJobGithubOutputWithContext(ctx context.Context) GetAppSpecJobGithubOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecJobGithubOutput) +func (i MonitorAlertAlertsArgs) ToMonitorAlertAlertsOutputWithContext(ctx context.Context) MonitorAlertAlertsOutput { + return pulumi.ToOutputWithContext(ctx, i).(MonitorAlertAlertsOutput) } -func (i GetAppSpecJobGithubArgs) ToGetAppSpecJobGithubPtrOutput() GetAppSpecJobGithubPtrOutput { - return i.ToGetAppSpecJobGithubPtrOutputWithContext(context.Background()) +func (i MonitorAlertAlertsArgs) ToMonitorAlertAlertsPtrOutput() MonitorAlertAlertsPtrOutput { + return i.ToMonitorAlertAlertsPtrOutputWithContext(context.Background()) } -func (i GetAppSpecJobGithubArgs) ToGetAppSpecJobGithubPtrOutputWithContext(ctx context.Context) GetAppSpecJobGithubPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecJobGithubOutput).ToGetAppSpecJobGithubPtrOutputWithContext(ctx) +func (i MonitorAlertAlertsArgs) ToMonitorAlertAlertsPtrOutputWithContext(ctx context.Context) MonitorAlertAlertsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MonitorAlertAlertsOutput).ToMonitorAlertAlertsPtrOutputWithContext(ctx) } -// GetAppSpecJobGithubPtrInput is an input type that accepts GetAppSpecJobGithubArgs, GetAppSpecJobGithubPtr and GetAppSpecJobGithubPtrOutput values. -// You can construct a concrete instance of `GetAppSpecJobGithubPtrInput` via: +// MonitorAlertAlertsPtrInput is an input type that accepts MonitorAlertAlertsArgs, MonitorAlertAlertsPtr and MonitorAlertAlertsPtrOutput values. +// You can construct a concrete instance of `MonitorAlertAlertsPtrInput` via: // -// GetAppSpecJobGithubArgs{...} +// MonitorAlertAlertsArgs{...} // // or: // // nil -type GetAppSpecJobGithubPtrInput interface { +type MonitorAlertAlertsPtrInput interface { pulumi.Input - ToGetAppSpecJobGithubPtrOutput() GetAppSpecJobGithubPtrOutput - ToGetAppSpecJobGithubPtrOutputWithContext(context.Context) GetAppSpecJobGithubPtrOutput + ToMonitorAlertAlertsPtrOutput() MonitorAlertAlertsPtrOutput + ToMonitorAlertAlertsPtrOutputWithContext(context.Context) MonitorAlertAlertsPtrOutput } -type getAppSpecJobGithubPtrType GetAppSpecJobGithubArgs +type monitorAlertAlertsPtrType MonitorAlertAlertsArgs -func GetAppSpecJobGithubPtr(v *GetAppSpecJobGithubArgs) GetAppSpecJobGithubPtrInput { - return (*getAppSpecJobGithubPtrType)(v) +func MonitorAlertAlertsPtr(v *MonitorAlertAlertsArgs) MonitorAlertAlertsPtrInput { + return (*monitorAlertAlertsPtrType)(v) } -func (*getAppSpecJobGithubPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**GetAppSpecJobGithub)(nil)).Elem() +func (*monitorAlertAlertsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MonitorAlertAlerts)(nil)).Elem() } -func (i *getAppSpecJobGithubPtrType) ToGetAppSpecJobGithubPtrOutput() GetAppSpecJobGithubPtrOutput { - return i.ToGetAppSpecJobGithubPtrOutputWithContext(context.Background()) +func (i *monitorAlertAlertsPtrType) ToMonitorAlertAlertsPtrOutput() MonitorAlertAlertsPtrOutput { + return i.ToMonitorAlertAlertsPtrOutputWithContext(context.Background()) } -func (i *getAppSpecJobGithubPtrType) ToGetAppSpecJobGithubPtrOutputWithContext(ctx context.Context) GetAppSpecJobGithubPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecJobGithubPtrOutput) +func (i *monitorAlertAlertsPtrType) ToMonitorAlertAlertsPtrOutputWithContext(ctx context.Context) MonitorAlertAlertsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MonitorAlertAlertsPtrOutput) } -type GetAppSpecJobGithubOutput struct{ *pulumi.OutputState } +type MonitorAlertAlertsOutput struct{ *pulumi.OutputState } -func (GetAppSpecJobGithubOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecJobGithub)(nil)).Elem() +func (MonitorAlertAlertsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MonitorAlertAlerts)(nil)).Elem() } -func (o GetAppSpecJobGithubOutput) ToGetAppSpecJobGithubOutput() GetAppSpecJobGithubOutput { +func (o MonitorAlertAlertsOutput) ToMonitorAlertAlertsOutput() MonitorAlertAlertsOutput { return o } -func (o GetAppSpecJobGithubOutput) ToGetAppSpecJobGithubOutputWithContext(ctx context.Context) GetAppSpecJobGithubOutput { +func (o MonitorAlertAlertsOutput) ToMonitorAlertAlertsOutputWithContext(ctx context.Context) MonitorAlertAlertsOutput { return o } -func (o GetAppSpecJobGithubOutput) ToGetAppSpecJobGithubPtrOutput() GetAppSpecJobGithubPtrOutput { - return o.ToGetAppSpecJobGithubPtrOutputWithContext(context.Background()) +func (o MonitorAlertAlertsOutput) ToMonitorAlertAlertsPtrOutput() MonitorAlertAlertsPtrOutput { + return o.ToMonitorAlertAlertsPtrOutputWithContext(context.Background()) } -func (o GetAppSpecJobGithubOutput) ToGetAppSpecJobGithubPtrOutputWithContext(ctx context.Context) GetAppSpecJobGithubPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecJobGithub) *GetAppSpecJobGithub { +func (o MonitorAlertAlertsOutput) ToMonitorAlertAlertsPtrOutputWithContext(ctx context.Context) MonitorAlertAlertsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MonitorAlertAlerts) *MonitorAlertAlerts { return &v - }).(GetAppSpecJobGithubPtrOutput) -} - -// The name of the branch to use. -func (o GetAppSpecJobGithubOutput) Branch() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecJobGithub) *string { return v.Branch }).(pulumi.StringPtrOutput) + }).(MonitorAlertAlertsPtrOutput) } -// Whether to automatically deploy new commits made to the repo. -func (o GetAppSpecJobGithubOutput) DeployOnPush() pulumi.BoolPtrOutput { - return o.ApplyT(func(v GetAppSpecJobGithub) *bool { return v.DeployOnPush }).(pulumi.BoolPtrOutput) +func (o MonitorAlertAlertsOutput) Emails() pulumi.StringArrayOutput { + return o.ApplyT(func(v MonitorAlertAlerts) []string { return v.Emails }).(pulumi.StringArrayOutput) } -// The name of the repo in the format `owner/repo`. -func (o GetAppSpecJobGithubOutput) Repo() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecJobGithub) *string { return v.Repo }).(pulumi.StringPtrOutput) +func (o MonitorAlertAlertsOutput) Slacks() MonitorAlertAlertsSlackArrayOutput { + return o.ApplyT(func(v MonitorAlertAlerts) []MonitorAlertAlertsSlack { return v.Slacks }).(MonitorAlertAlertsSlackArrayOutput) } -type GetAppSpecJobGithubPtrOutput struct{ *pulumi.OutputState } +type MonitorAlertAlertsPtrOutput struct{ *pulumi.OutputState } -func (GetAppSpecJobGithubPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**GetAppSpecJobGithub)(nil)).Elem() +func (MonitorAlertAlertsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MonitorAlertAlerts)(nil)).Elem() } -func (o GetAppSpecJobGithubPtrOutput) ToGetAppSpecJobGithubPtrOutput() GetAppSpecJobGithubPtrOutput { +func (o MonitorAlertAlertsPtrOutput) ToMonitorAlertAlertsPtrOutput() MonitorAlertAlertsPtrOutput { return o } -func (o GetAppSpecJobGithubPtrOutput) ToGetAppSpecJobGithubPtrOutputWithContext(ctx context.Context) GetAppSpecJobGithubPtrOutput { +func (o MonitorAlertAlertsPtrOutput) ToMonitorAlertAlertsPtrOutputWithContext(ctx context.Context) MonitorAlertAlertsPtrOutput { return o } -func (o GetAppSpecJobGithubPtrOutput) Elem() GetAppSpecJobGithubOutput { - return o.ApplyT(func(v *GetAppSpecJobGithub) GetAppSpecJobGithub { +func (o MonitorAlertAlertsPtrOutput) Elem() MonitorAlertAlertsOutput { + return o.ApplyT(func(v *MonitorAlertAlerts) MonitorAlertAlerts { if v != nil { return *v } - var ret GetAppSpecJobGithub + var ret MonitorAlertAlerts return ret - }).(GetAppSpecJobGithubOutput) -} - -// The name of the branch to use. -func (o GetAppSpecJobGithubPtrOutput) Branch() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetAppSpecJobGithub) *string { - if v == nil { - return nil - } - return v.Branch - }).(pulumi.StringPtrOutput) + }).(MonitorAlertAlertsOutput) } -// Whether to automatically deploy new commits made to the repo. -func (o GetAppSpecJobGithubPtrOutput) DeployOnPush() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *GetAppSpecJobGithub) *bool { +func (o MonitorAlertAlertsPtrOutput) Emails() pulumi.StringArrayOutput { + return o.ApplyT(func(v *MonitorAlertAlerts) []string { if v == nil { return nil } - return v.DeployOnPush - }).(pulumi.BoolPtrOutput) + return v.Emails + }).(pulumi.StringArrayOutput) } -// The name of the repo in the format `owner/repo`. -func (o GetAppSpecJobGithubPtrOutput) Repo() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetAppSpecJobGithub) *string { +func (o MonitorAlertAlertsPtrOutput) Slacks() MonitorAlertAlertsSlackArrayOutput { + return o.ApplyT(func(v *MonitorAlertAlerts) []MonitorAlertAlertsSlack { if v == nil { return nil } - return v.Repo - }).(pulumi.StringPtrOutput) + return v.Slacks + }).(MonitorAlertAlertsSlackArrayOutput) } -type GetAppSpecJobGitlab struct { - // The name of the branch to use. - Branch *string `pulumi:"branch"` - // Whether to automatically deploy new commits made to the repo. - DeployOnPush *bool `pulumi:"deployOnPush"` - // The name of the repo in the format `owner/repo`. - Repo *string `pulumi:"repo"` +type MonitorAlertAlertsSlack struct { + Channel string `pulumi:"channel"` + Url string `pulumi:"url"` } -// GetAppSpecJobGitlabInput is an input type that accepts GetAppSpecJobGitlabArgs and GetAppSpecJobGitlabOutput values. -// You can construct a concrete instance of `GetAppSpecJobGitlabInput` via: +// MonitorAlertAlertsSlackInput is an input type that accepts MonitorAlertAlertsSlackArgs and MonitorAlertAlertsSlackOutput values. +// You can construct a concrete instance of `MonitorAlertAlertsSlackInput` via: // -// GetAppSpecJobGitlabArgs{...} -type GetAppSpecJobGitlabInput interface { +// MonitorAlertAlertsSlackArgs{...} +type MonitorAlertAlertsSlackInput interface { pulumi.Input - ToGetAppSpecJobGitlabOutput() GetAppSpecJobGitlabOutput - ToGetAppSpecJobGitlabOutputWithContext(context.Context) GetAppSpecJobGitlabOutput -} - -type GetAppSpecJobGitlabArgs struct { - // The name of the branch to use. - Branch pulumi.StringPtrInput `pulumi:"branch"` - // Whether to automatically deploy new commits made to the repo. - DeployOnPush pulumi.BoolPtrInput `pulumi:"deployOnPush"` - // The name of the repo in the format `owner/repo`. - Repo pulumi.StringPtrInput `pulumi:"repo"` + ToMonitorAlertAlertsSlackOutput() MonitorAlertAlertsSlackOutput + ToMonitorAlertAlertsSlackOutputWithContext(context.Context) MonitorAlertAlertsSlackOutput } -func (GetAppSpecJobGitlabArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecJobGitlab)(nil)).Elem() +type MonitorAlertAlertsSlackArgs struct { + Channel pulumi.StringInput `pulumi:"channel"` + Url pulumi.StringInput `pulumi:"url"` } -func (i GetAppSpecJobGitlabArgs) ToGetAppSpecJobGitlabOutput() GetAppSpecJobGitlabOutput { - return i.ToGetAppSpecJobGitlabOutputWithContext(context.Background()) +func (MonitorAlertAlertsSlackArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MonitorAlertAlertsSlack)(nil)).Elem() } -func (i GetAppSpecJobGitlabArgs) ToGetAppSpecJobGitlabOutputWithContext(ctx context.Context) GetAppSpecJobGitlabOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecJobGitlabOutput) +func (i MonitorAlertAlertsSlackArgs) ToMonitorAlertAlertsSlackOutput() MonitorAlertAlertsSlackOutput { + return i.ToMonitorAlertAlertsSlackOutputWithContext(context.Background()) } -func (i GetAppSpecJobGitlabArgs) ToGetAppSpecJobGitlabPtrOutput() GetAppSpecJobGitlabPtrOutput { - return i.ToGetAppSpecJobGitlabPtrOutputWithContext(context.Background()) +func (i MonitorAlertAlertsSlackArgs) ToMonitorAlertAlertsSlackOutputWithContext(ctx context.Context) MonitorAlertAlertsSlackOutput { + return pulumi.ToOutputWithContext(ctx, i).(MonitorAlertAlertsSlackOutput) } -func (i GetAppSpecJobGitlabArgs) ToGetAppSpecJobGitlabPtrOutputWithContext(ctx context.Context) GetAppSpecJobGitlabPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecJobGitlabOutput).ToGetAppSpecJobGitlabPtrOutputWithContext(ctx) -} - -// GetAppSpecJobGitlabPtrInput is an input type that accepts GetAppSpecJobGitlabArgs, GetAppSpecJobGitlabPtr and GetAppSpecJobGitlabPtrOutput values. -// You can construct a concrete instance of `GetAppSpecJobGitlabPtrInput` via: -// -// GetAppSpecJobGitlabArgs{...} -// -// or: +// MonitorAlertAlertsSlackArrayInput is an input type that accepts MonitorAlertAlertsSlackArray and MonitorAlertAlertsSlackArrayOutput values. +// You can construct a concrete instance of `MonitorAlertAlertsSlackArrayInput` via: // -// nil -type GetAppSpecJobGitlabPtrInput interface { +// MonitorAlertAlertsSlackArray{ MonitorAlertAlertsSlackArgs{...} } +type MonitorAlertAlertsSlackArrayInput interface { pulumi.Input - ToGetAppSpecJobGitlabPtrOutput() GetAppSpecJobGitlabPtrOutput - ToGetAppSpecJobGitlabPtrOutputWithContext(context.Context) GetAppSpecJobGitlabPtrOutput + ToMonitorAlertAlertsSlackArrayOutput() MonitorAlertAlertsSlackArrayOutput + ToMonitorAlertAlertsSlackArrayOutputWithContext(context.Context) MonitorAlertAlertsSlackArrayOutput } -type getAppSpecJobGitlabPtrType GetAppSpecJobGitlabArgs - -func GetAppSpecJobGitlabPtr(v *GetAppSpecJobGitlabArgs) GetAppSpecJobGitlabPtrInput { - return (*getAppSpecJobGitlabPtrType)(v) -} +type MonitorAlertAlertsSlackArray []MonitorAlertAlertsSlackInput -func (*getAppSpecJobGitlabPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**GetAppSpecJobGitlab)(nil)).Elem() +func (MonitorAlertAlertsSlackArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]MonitorAlertAlertsSlack)(nil)).Elem() } -func (i *getAppSpecJobGitlabPtrType) ToGetAppSpecJobGitlabPtrOutput() GetAppSpecJobGitlabPtrOutput { - return i.ToGetAppSpecJobGitlabPtrOutputWithContext(context.Background()) +func (i MonitorAlertAlertsSlackArray) ToMonitorAlertAlertsSlackArrayOutput() MonitorAlertAlertsSlackArrayOutput { + return i.ToMonitorAlertAlertsSlackArrayOutputWithContext(context.Background()) } -func (i *getAppSpecJobGitlabPtrType) ToGetAppSpecJobGitlabPtrOutputWithContext(ctx context.Context) GetAppSpecJobGitlabPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecJobGitlabPtrOutput) +func (i MonitorAlertAlertsSlackArray) ToMonitorAlertAlertsSlackArrayOutputWithContext(ctx context.Context) MonitorAlertAlertsSlackArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(MonitorAlertAlertsSlackArrayOutput) } -type GetAppSpecJobGitlabOutput struct{ *pulumi.OutputState } +type MonitorAlertAlertsSlackOutput struct{ *pulumi.OutputState } -func (GetAppSpecJobGitlabOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecJobGitlab)(nil)).Elem() +func (MonitorAlertAlertsSlackOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MonitorAlertAlertsSlack)(nil)).Elem() } -func (o GetAppSpecJobGitlabOutput) ToGetAppSpecJobGitlabOutput() GetAppSpecJobGitlabOutput { +func (o MonitorAlertAlertsSlackOutput) ToMonitorAlertAlertsSlackOutput() MonitorAlertAlertsSlackOutput { return o } -func (o GetAppSpecJobGitlabOutput) ToGetAppSpecJobGitlabOutputWithContext(ctx context.Context) GetAppSpecJobGitlabOutput { +func (o MonitorAlertAlertsSlackOutput) ToMonitorAlertAlertsSlackOutputWithContext(ctx context.Context) MonitorAlertAlertsSlackOutput { return o } -func (o GetAppSpecJobGitlabOutput) ToGetAppSpecJobGitlabPtrOutput() GetAppSpecJobGitlabPtrOutput { - return o.ToGetAppSpecJobGitlabPtrOutputWithContext(context.Background()) +func (o MonitorAlertAlertsSlackOutput) Channel() pulumi.StringOutput { + return o.ApplyT(func(v MonitorAlertAlertsSlack) string { return v.Channel }).(pulumi.StringOutput) } -func (o GetAppSpecJobGitlabOutput) ToGetAppSpecJobGitlabPtrOutputWithContext(ctx context.Context) GetAppSpecJobGitlabPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecJobGitlab) *GetAppSpecJobGitlab { - return &v - }).(GetAppSpecJobGitlabPtrOutput) +func (o MonitorAlertAlertsSlackOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v MonitorAlertAlertsSlack) string { return v.Url }).(pulumi.StringOutput) } -// The name of the branch to use. -func (o GetAppSpecJobGitlabOutput) Branch() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecJobGitlab) *string { return v.Branch }).(pulumi.StringPtrOutput) -} +type MonitorAlertAlertsSlackArrayOutput struct{ *pulumi.OutputState } -// Whether to automatically deploy new commits made to the repo. -func (o GetAppSpecJobGitlabOutput) DeployOnPush() pulumi.BoolPtrOutput { - return o.ApplyT(func(v GetAppSpecJobGitlab) *bool { return v.DeployOnPush }).(pulumi.BoolPtrOutput) +func (MonitorAlertAlertsSlackArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]MonitorAlertAlertsSlack)(nil)).Elem() } -// The name of the repo in the format `owner/repo`. -func (o GetAppSpecJobGitlabOutput) Repo() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecJobGitlab) *string { return v.Repo }).(pulumi.StringPtrOutput) +func (o MonitorAlertAlertsSlackArrayOutput) ToMonitorAlertAlertsSlackArrayOutput() MonitorAlertAlertsSlackArrayOutput { + return o } -type GetAppSpecJobGitlabPtrOutput struct{ *pulumi.OutputState } - -func (GetAppSpecJobGitlabPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**GetAppSpecJobGitlab)(nil)).Elem() +func (o MonitorAlertAlertsSlackArrayOutput) ToMonitorAlertAlertsSlackArrayOutputWithContext(ctx context.Context) MonitorAlertAlertsSlackArrayOutput { + return o } -func (o GetAppSpecJobGitlabPtrOutput) ToGetAppSpecJobGitlabPtrOutput() GetAppSpecJobGitlabPtrOutput { - return o +func (o MonitorAlertAlertsSlackArrayOutput) Index(i pulumi.IntInput) MonitorAlertAlertsSlackOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) MonitorAlertAlertsSlack { + return vs[0].([]MonitorAlertAlertsSlack)[vs[1].(int)] + }).(MonitorAlertAlertsSlackOutput) } -func (o GetAppSpecJobGitlabPtrOutput) ToGetAppSpecJobGitlabPtrOutputWithContext(ctx context.Context) GetAppSpecJobGitlabPtrOutput { - return o +type SpacesBucketCorsRule struct { + // A list of headers that will be included in the CORS preflight request's `Access-Control-Request-Headers`. A header may contain one wildcard (e.g. `x-amz-*`). + AllowedHeaders []string `pulumi:"allowedHeaders"` + // A list of HTTP methods (e.g. `GET`) which are allowed from the specified origin. + AllowedMethods []string `pulumi:"allowedMethods"` + // A list of hosts from which requests using the specified methods are allowed. A host may contain one wildcard (e.g. http://*.example.com). + AllowedOrigins []string `pulumi:"allowedOrigins"` + // The time in seconds that browser can cache the response for a preflight request. + MaxAgeSeconds *int `pulumi:"maxAgeSeconds"` } -func (o GetAppSpecJobGitlabPtrOutput) Elem() GetAppSpecJobGitlabOutput { - return o.ApplyT(func(v *GetAppSpecJobGitlab) GetAppSpecJobGitlab { - if v != nil { - return *v - } - var ret GetAppSpecJobGitlab - return ret - }).(GetAppSpecJobGitlabOutput) +// SpacesBucketCorsRuleInput is an input type that accepts SpacesBucketCorsRuleArgs and SpacesBucketCorsRuleOutput values. +// You can construct a concrete instance of `SpacesBucketCorsRuleInput` via: +// +// SpacesBucketCorsRuleArgs{...} +type SpacesBucketCorsRuleInput interface { + pulumi.Input + + ToSpacesBucketCorsRuleOutput() SpacesBucketCorsRuleOutput + ToSpacesBucketCorsRuleOutputWithContext(context.Context) SpacesBucketCorsRuleOutput } -// The name of the branch to use. -func (o GetAppSpecJobGitlabPtrOutput) Branch() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetAppSpecJobGitlab) *string { - if v == nil { - return nil - } - return v.Branch - }).(pulumi.StringPtrOutput) +type SpacesBucketCorsRuleArgs struct { + // A list of headers that will be included in the CORS preflight request's `Access-Control-Request-Headers`. A header may contain one wildcard (e.g. `x-amz-*`). + AllowedHeaders pulumi.StringArrayInput `pulumi:"allowedHeaders"` + // A list of HTTP methods (e.g. `GET`) which are allowed from the specified origin. + AllowedMethods pulumi.StringArrayInput `pulumi:"allowedMethods"` + // A list of hosts from which requests using the specified methods are allowed. A host may contain one wildcard (e.g. http://*.example.com). + AllowedOrigins pulumi.StringArrayInput `pulumi:"allowedOrigins"` + // The time in seconds that browser can cache the response for a preflight request. + MaxAgeSeconds pulumi.IntPtrInput `pulumi:"maxAgeSeconds"` } -// Whether to automatically deploy new commits made to the repo. -func (o GetAppSpecJobGitlabPtrOutput) DeployOnPush() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *GetAppSpecJobGitlab) *bool { - if v == nil { - return nil - } - return v.DeployOnPush - }).(pulumi.BoolPtrOutput) +func (SpacesBucketCorsRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpacesBucketCorsRule)(nil)).Elem() } -// The name of the repo in the format `owner/repo`. -func (o GetAppSpecJobGitlabPtrOutput) Repo() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetAppSpecJobGitlab) *string { - if v == nil { - return nil - } - return v.Repo - }).(pulumi.StringPtrOutput) +func (i SpacesBucketCorsRuleArgs) ToSpacesBucketCorsRuleOutput() SpacesBucketCorsRuleOutput { + return i.ToSpacesBucketCorsRuleOutputWithContext(context.Background()) } -type GetAppSpecJobImage struct { - // The registry name. Must be left empty for the `DOCR` registry type. Required for the `DOCKER_HUB` registry type. - Registry *string `pulumi:"registry"` - // The registry type. One of `DOCR` (DigitalOcean container registry) or `DOCKER_HUB`. - RegistryType string `pulumi:"registryType"` - // The repository name. - Repository string `pulumi:"repository"` - // The repository tag. Defaults to `latest` if not provided. - Tag *string `pulumi:"tag"` +func (i SpacesBucketCorsRuleArgs) ToSpacesBucketCorsRuleOutputWithContext(ctx context.Context) SpacesBucketCorsRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpacesBucketCorsRuleOutput) } -// GetAppSpecJobImageInput is an input type that accepts GetAppSpecJobImageArgs and GetAppSpecJobImageOutput values. -// You can construct a concrete instance of `GetAppSpecJobImageInput` via: +// SpacesBucketCorsRuleArrayInput is an input type that accepts SpacesBucketCorsRuleArray and SpacesBucketCorsRuleArrayOutput values. +// You can construct a concrete instance of `SpacesBucketCorsRuleArrayInput` via: // -// GetAppSpecJobImageArgs{...} -type GetAppSpecJobImageInput interface { +// SpacesBucketCorsRuleArray{ SpacesBucketCorsRuleArgs{...} } +type SpacesBucketCorsRuleArrayInput interface { pulumi.Input - ToGetAppSpecJobImageOutput() GetAppSpecJobImageOutput - ToGetAppSpecJobImageOutputWithContext(context.Context) GetAppSpecJobImageOutput + ToSpacesBucketCorsRuleArrayOutput() SpacesBucketCorsRuleArrayOutput + ToSpacesBucketCorsRuleArrayOutputWithContext(context.Context) SpacesBucketCorsRuleArrayOutput } -type GetAppSpecJobImageArgs struct { - // The registry name. Must be left empty for the `DOCR` registry type. Required for the `DOCKER_HUB` registry type. - Registry pulumi.StringPtrInput `pulumi:"registry"` - // The registry type. One of `DOCR` (DigitalOcean container registry) or `DOCKER_HUB`. - RegistryType pulumi.StringInput `pulumi:"registryType"` - // The repository name. - Repository pulumi.StringInput `pulumi:"repository"` - // The repository tag. Defaults to `latest` if not provided. - Tag pulumi.StringPtrInput `pulumi:"tag"` -} +type SpacesBucketCorsRuleArray []SpacesBucketCorsRuleInput -func (GetAppSpecJobImageArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecJobImage)(nil)).Elem() +func (SpacesBucketCorsRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SpacesBucketCorsRule)(nil)).Elem() } -func (i GetAppSpecJobImageArgs) ToGetAppSpecJobImageOutput() GetAppSpecJobImageOutput { - return i.ToGetAppSpecJobImageOutputWithContext(context.Background()) +func (i SpacesBucketCorsRuleArray) ToSpacesBucketCorsRuleArrayOutput() SpacesBucketCorsRuleArrayOutput { + return i.ToSpacesBucketCorsRuleArrayOutputWithContext(context.Background()) } -func (i GetAppSpecJobImageArgs) ToGetAppSpecJobImageOutputWithContext(ctx context.Context) GetAppSpecJobImageOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecJobImageOutput) +func (i SpacesBucketCorsRuleArray) ToSpacesBucketCorsRuleArrayOutputWithContext(ctx context.Context) SpacesBucketCorsRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpacesBucketCorsRuleArrayOutput) } -func (i GetAppSpecJobImageArgs) ToGetAppSpecJobImagePtrOutput() GetAppSpecJobImagePtrOutput { - return i.ToGetAppSpecJobImagePtrOutputWithContext(context.Background()) -} +type SpacesBucketCorsRuleOutput struct{ *pulumi.OutputState } -func (i GetAppSpecJobImageArgs) ToGetAppSpecJobImagePtrOutputWithContext(ctx context.Context) GetAppSpecJobImagePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecJobImageOutput).ToGetAppSpecJobImagePtrOutputWithContext(ctx) +func (SpacesBucketCorsRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpacesBucketCorsRule)(nil)).Elem() } -// GetAppSpecJobImagePtrInput is an input type that accepts GetAppSpecJobImageArgs, GetAppSpecJobImagePtr and GetAppSpecJobImagePtrOutput values. -// You can construct a concrete instance of `GetAppSpecJobImagePtrInput` via: -// -// GetAppSpecJobImageArgs{...} -// -// or: -// -// nil -type GetAppSpecJobImagePtrInput interface { - pulumi.Input - - ToGetAppSpecJobImagePtrOutput() GetAppSpecJobImagePtrOutput - ToGetAppSpecJobImagePtrOutputWithContext(context.Context) GetAppSpecJobImagePtrOutput +func (o SpacesBucketCorsRuleOutput) ToSpacesBucketCorsRuleOutput() SpacesBucketCorsRuleOutput { + return o } -type getAppSpecJobImagePtrType GetAppSpecJobImageArgs +func (o SpacesBucketCorsRuleOutput) ToSpacesBucketCorsRuleOutputWithContext(ctx context.Context) SpacesBucketCorsRuleOutput { + return o +} -func GetAppSpecJobImagePtr(v *GetAppSpecJobImageArgs) GetAppSpecJobImagePtrInput { - return (*getAppSpecJobImagePtrType)(v) +// A list of headers that will be included in the CORS preflight request's `Access-Control-Request-Headers`. A header may contain one wildcard (e.g. `x-amz-*`). +func (o SpacesBucketCorsRuleOutput) AllowedHeaders() pulumi.StringArrayOutput { + return o.ApplyT(func(v SpacesBucketCorsRule) []string { return v.AllowedHeaders }).(pulumi.StringArrayOutput) } -func (*getAppSpecJobImagePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**GetAppSpecJobImage)(nil)).Elem() +// A list of HTTP methods (e.g. `GET`) which are allowed from the specified origin. +func (o SpacesBucketCorsRuleOutput) AllowedMethods() pulumi.StringArrayOutput { + return o.ApplyT(func(v SpacesBucketCorsRule) []string { return v.AllowedMethods }).(pulumi.StringArrayOutput) } -func (i *getAppSpecJobImagePtrType) ToGetAppSpecJobImagePtrOutput() GetAppSpecJobImagePtrOutput { - return i.ToGetAppSpecJobImagePtrOutputWithContext(context.Background()) +// A list of hosts from which requests using the specified methods are allowed. A host may contain one wildcard (e.g. http://*.example.com). +func (o SpacesBucketCorsRuleOutput) AllowedOrigins() pulumi.StringArrayOutput { + return o.ApplyT(func(v SpacesBucketCorsRule) []string { return v.AllowedOrigins }).(pulumi.StringArrayOutput) } -func (i *getAppSpecJobImagePtrType) ToGetAppSpecJobImagePtrOutputWithContext(ctx context.Context) GetAppSpecJobImagePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecJobImagePtrOutput) +// The time in seconds that browser can cache the response for a preflight request. +func (o SpacesBucketCorsRuleOutput) MaxAgeSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v SpacesBucketCorsRule) *int { return v.MaxAgeSeconds }).(pulumi.IntPtrOutput) } -type GetAppSpecJobImageOutput struct{ *pulumi.OutputState } +type SpacesBucketCorsRuleArrayOutput struct{ *pulumi.OutputState } -func (GetAppSpecJobImageOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecJobImage)(nil)).Elem() +func (SpacesBucketCorsRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SpacesBucketCorsRule)(nil)).Elem() } -func (o GetAppSpecJobImageOutput) ToGetAppSpecJobImageOutput() GetAppSpecJobImageOutput { +func (o SpacesBucketCorsRuleArrayOutput) ToSpacesBucketCorsRuleArrayOutput() SpacesBucketCorsRuleArrayOutput { return o } -func (o GetAppSpecJobImageOutput) ToGetAppSpecJobImageOutputWithContext(ctx context.Context) GetAppSpecJobImageOutput { +func (o SpacesBucketCorsRuleArrayOutput) ToSpacesBucketCorsRuleArrayOutputWithContext(ctx context.Context) SpacesBucketCorsRuleArrayOutput { return o } -func (o GetAppSpecJobImageOutput) ToGetAppSpecJobImagePtrOutput() GetAppSpecJobImagePtrOutput { - return o.ToGetAppSpecJobImagePtrOutputWithContext(context.Background()) -} - -func (o GetAppSpecJobImageOutput) ToGetAppSpecJobImagePtrOutputWithContext(ctx context.Context) GetAppSpecJobImagePtrOutput { +func (o SpacesBucketCorsRuleArrayOutput) Index(i pulumi.IntInput) SpacesBucketCorsRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SpacesBucketCorsRule { + return vs[0].([]SpacesBucketCorsRule)[vs[1].(int)] + }).(SpacesBucketCorsRuleOutput) +} + +type SpacesBucketLifecycleRule struct { + // Specifies the number of days after initiating a multipart + // upload when the multipart upload must be completed or else Spaces will abort the upload. + AbortIncompleteMultipartUploadDays *int `pulumi:"abortIncompleteMultipartUploadDays"` + // Specifies lifecycle rule status. + Enabled bool `pulumi:"enabled"` + // Specifies a time period after which applicable objects expire (documented below). + Expiration *SpacesBucketLifecycleRuleExpiration `pulumi:"expiration"` + // Unique identifier for the rule. + Id *string `pulumi:"id"` + // Specifies when non-current object versions expire (documented below). + NoncurrentVersionExpiration *SpacesBucketLifecycleRuleNoncurrentVersionExpiration `pulumi:"noncurrentVersionExpiration"` + // Object key prefix identifying one or more objects to which the rule applies. + Prefix *string `pulumi:"prefix"` +} + +// SpacesBucketLifecycleRuleInput is an input type that accepts SpacesBucketLifecycleRuleArgs and SpacesBucketLifecycleRuleOutput values. +// You can construct a concrete instance of `SpacesBucketLifecycleRuleInput` via: +// +// SpacesBucketLifecycleRuleArgs{...} +type SpacesBucketLifecycleRuleInput interface { + pulumi.Input + + ToSpacesBucketLifecycleRuleOutput() SpacesBucketLifecycleRuleOutput + ToSpacesBucketLifecycleRuleOutputWithContext(context.Context) SpacesBucketLifecycleRuleOutput +} + +type SpacesBucketLifecycleRuleArgs struct { + // Specifies the number of days after initiating a multipart + // upload when the multipart upload must be completed or else Spaces will abort the upload. + AbortIncompleteMultipartUploadDays pulumi.IntPtrInput `pulumi:"abortIncompleteMultipartUploadDays"` + // Specifies lifecycle rule status. + Enabled pulumi.BoolInput `pulumi:"enabled"` + // Specifies a time period after which applicable objects expire (documented below). + Expiration SpacesBucketLifecycleRuleExpirationPtrInput `pulumi:"expiration"` + // Unique identifier for the rule. + Id pulumi.StringPtrInput `pulumi:"id"` + // Specifies when non-current object versions expire (documented below). + NoncurrentVersionExpiration SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrInput `pulumi:"noncurrentVersionExpiration"` + // Object key prefix identifying one or more objects to which the rule applies. + Prefix pulumi.StringPtrInput `pulumi:"prefix"` +} + +func (SpacesBucketLifecycleRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpacesBucketLifecycleRule)(nil)).Elem() +} + +func (i SpacesBucketLifecycleRuleArgs) ToSpacesBucketLifecycleRuleOutput() SpacesBucketLifecycleRuleOutput { + return i.ToSpacesBucketLifecycleRuleOutputWithContext(context.Background()) +} + +func (i SpacesBucketLifecycleRuleArgs) ToSpacesBucketLifecycleRuleOutputWithContext(ctx context.Context) SpacesBucketLifecycleRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpacesBucketLifecycleRuleOutput) +} + +// SpacesBucketLifecycleRuleArrayInput is an input type that accepts SpacesBucketLifecycleRuleArray and SpacesBucketLifecycleRuleArrayOutput values. +// You can construct a concrete instance of `SpacesBucketLifecycleRuleArrayInput` via: +// +// SpacesBucketLifecycleRuleArray{ SpacesBucketLifecycleRuleArgs{...} } +type SpacesBucketLifecycleRuleArrayInput interface { + pulumi.Input + + ToSpacesBucketLifecycleRuleArrayOutput() SpacesBucketLifecycleRuleArrayOutput + ToSpacesBucketLifecycleRuleArrayOutputWithContext(context.Context) SpacesBucketLifecycleRuleArrayOutput +} + +type SpacesBucketLifecycleRuleArray []SpacesBucketLifecycleRuleInput + +func (SpacesBucketLifecycleRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SpacesBucketLifecycleRule)(nil)).Elem() +} + +func (i SpacesBucketLifecycleRuleArray) ToSpacesBucketLifecycleRuleArrayOutput() SpacesBucketLifecycleRuleArrayOutput { + return i.ToSpacesBucketLifecycleRuleArrayOutputWithContext(context.Background()) +} + +func (i SpacesBucketLifecycleRuleArray) ToSpacesBucketLifecycleRuleArrayOutputWithContext(ctx context.Context) SpacesBucketLifecycleRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpacesBucketLifecycleRuleArrayOutput) +} + +type SpacesBucketLifecycleRuleOutput struct{ *pulumi.OutputState } + +func (SpacesBucketLifecycleRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpacesBucketLifecycleRule)(nil)).Elem() +} + +func (o SpacesBucketLifecycleRuleOutput) ToSpacesBucketLifecycleRuleOutput() SpacesBucketLifecycleRuleOutput { + return o +} + +func (o SpacesBucketLifecycleRuleOutput) ToSpacesBucketLifecycleRuleOutputWithContext(ctx context.Context) SpacesBucketLifecycleRuleOutput { + return o +} + +// Specifies the number of days after initiating a multipart +// upload when the multipart upload must be completed or else Spaces will abort the upload. +func (o SpacesBucketLifecycleRuleOutput) AbortIncompleteMultipartUploadDays() pulumi.IntPtrOutput { + return o.ApplyT(func(v SpacesBucketLifecycleRule) *int { return v.AbortIncompleteMultipartUploadDays }).(pulumi.IntPtrOutput) +} + +// Specifies lifecycle rule status. +func (o SpacesBucketLifecycleRuleOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v SpacesBucketLifecycleRule) bool { return v.Enabled }).(pulumi.BoolOutput) +} + +// Specifies a time period after which applicable objects expire (documented below). +func (o SpacesBucketLifecycleRuleOutput) Expiration() SpacesBucketLifecycleRuleExpirationPtrOutput { + return o.ApplyT(func(v SpacesBucketLifecycleRule) *SpacesBucketLifecycleRuleExpiration { return v.Expiration }).(SpacesBucketLifecycleRuleExpirationPtrOutput) +} + +// Unique identifier for the rule. +func (o SpacesBucketLifecycleRuleOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpacesBucketLifecycleRule) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// Specifies when non-current object versions expire (documented below). +func (o SpacesBucketLifecycleRuleOutput) NoncurrentVersionExpiration() SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput { + return o.ApplyT(func(v SpacesBucketLifecycleRule) *SpacesBucketLifecycleRuleNoncurrentVersionExpiration { + return v.NoncurrentVersionExpiration + }).(SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput) +} + +// Object key prefix identifying one or more objects to which the rule applies. +func (o SpacesBucketLifecycleRuleOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpacesBucketLifecycleRule) *string { return v.Prefix }).(pulumi.StringPtrOutput) +} + +type SpacesBucketLifecycleRuleArrayOutput struct{ *pulumi.OutputState } + +func (SpacesBucketLifecycleRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SpacesBucketLifecycleRule)(nil)).Elem() +} + +func (o SpacesBucketLifecycleRuleArrayOutput) ToSpacesBucketLifecycleRuleArrayOutput() SpacesBucketLifecycleRuleArrayOutput { + return o +} + +func (o SpacesBucketLifecycleRuleArrayOutput) ToSpacesBucketLifecycleRuleArrayOutputWithContext(ctx context.Context) SpacesBucketLifecycleRuleArrayOutput { + return o +} + +func (o SpacesBucketLifecycleRuleArrayOutput) Index(i pulumi.IntInput) SpacesBucketLifecycleRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SpacesBucketLifecycleRule { + return vs[0].([]SpacesBucketLifecycleRule)[vs[1].(int)] + }).(SpacesBucketLifecycleRuleOutput) +} + +type SpacesBucketLifecycleRuleExpiration struct { + // Specifies the date/time after which you want applicable objects to expire. The argument uses + // RFC3339 format, e.g. "2020-03-22T15:03:55Z" or parts thereof e.g. "2019-02-28". + Date *string `pulumi:"date"` + // Specifies the number of days after object creation when the applicable objects will expire. + Days *int `pulumi:"days"` + // On a versioned bucket (versioning-enabled or versioning-suspended + // bucket), setting this to true directs Spaces to delete expired object delete markers. + ExpiredObjectDeleteMarker *bool `pulumi:"expiredObjectDeleteMarker"` +} + +// SpacesBucketLifecycleRuleExpirationInput is an input type that accepts SpacesBucketLifecycleRuleExpirationArgs and SpacesBucketLifecycleRuleExpirationOutput values. +// You can construct a concrete instance of `SpacesBucketLifecycleRuleExpirationInput` via: +// +// SpacesBucketLifecycleRuleExpirationArgs{...} +type SpacesBucketLifecycleRuleExpirationInput interface { + pulumi.Input + + ToSpacesBucketLifecycleRuleExpirationOutput() SpacesBucketLifecycleRuleExpirationOutput + ToSpacesBucketLifecycleRuleExpirationOutputWithContext(context.Context) SpacesBucketLifecycleRuleExpirationOutput +} + +type SpacesBucketLifecycleRuleExpirationArgs struct { + // Specifies the date/time after which you want applicable objects to expire. The argument uses + // RFC3339 format, e.g. "2020-03-22T15:03:55Z" or parts thereof e.g. "2019-02-28". + Date pulumi.StringPtrInput `pulumi:"date"` + // Specifies the number of days after object creation when the applicable objects will expire. + Days pulumi.IntPtrInput `pulumi:"days"` + // On a versioned bucket (versioning-enabled or versioning-suspended + // bucket), setting this to true directs Spaces to delete expired object delete markers. + ExpiredObjectDeleteMarker pulumi.BoolPtrInput `pulumi:"expiredObjectDeleteMarker"` +} + +func (SpacesBucketLifecycleRuleExpirationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpacesBucketLifecycleRuleExpiration)(nil)).Elem() +} + +func (i SpacesBucketLifecycleRuleExpirationArgs) ToSpacesBucketLifecycleRuleExpirationOutput() SpacesBucketLifecycleRuleExpirationOutput { + return i.ToSpacesBucketLifecycleRuleExpirationOutputWithContext(context.Background()) +} + +func (i SpacesBucketLifecycleRuleExpirationArgs) ToSpacesBucketLifecycleRuleExpirationOutputWithContext(ctx context.Context) SpacesBucketLifecycleRuleExpirationOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpacesBucketLifecycleRuleExpirationOutput) +} + +func (i SpacesBucketLifecycleRuleExpirationArgs) ToSpacesBucketLifecycleRuleExpirationPtrOutput() SpacesBucketLifecycleRuleExpirationPtrOutput { + return i.ToSpacesBucketLifecycleRuleExpirationPtrOutputWithContext(context.Background()) +} + +func (i SpacesBucketLifecycleRuleExpirationArgs) ToSpacesBucketLifecycleRuleExpirationPtrOutputWithContext(ctx context.Context) SpacesBucketLifecycleRuleExpirationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpacesBucketLifecycleRuleExpirationOutput).ToSpacesBucketLifecycleRuleExpirationPtrOutputWithContext(ctx) +} + +// SpacesBucketLifecycleRuleExpirationPtrInput is an input type that accepts SpacesBucketLifecycleRuleExpirationArgs, SpacesBucketLifecycleRuleExpirationPtr and SpacesBucketLifecycleRuleExpirationPtrOutput values. +// You can construct a concrete instance of `SpacesBucketLifecycleRuleExpirationPtrInput` via: +// +// SpacesBucketLifecycleRuleExpirationArgs{...} +// +// or: +// +// nil +type SpacesBucketLifecycleRuleExpirationPtrInput interface { + pulumi.Input + + ToSpacesBucketLifecycleRuleExpirationPtrOutput() SpacesBucketLifecycleRuleExpirationPtrOutput + ToSpacesBucketLifecycleRuleExpirationPtrOutputWithContext(context.Context) SpacesBucketLifecycleRuleExpirationPtrOutput +} + +type spacesBucketLifecycleRuleExpirationPtrType SpacesBucketLifecycleRuleExpirationArgs + +func SpacesBucketLifecycleRuleExpirationPtr(v *SpacesBucketLifecycleRuleExpirationArgs) SpacesBucketLifecycleRuleExpirationPtrInput { + return (*spacesBucketLifecycleRuleExpirationPtrType)(v) +} + +func (*spacesBucketLifecycleRuleExpirationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SpacesBucketLifecycleRuleExpiration)(nil)).Elem() +} + +func (i *spacesBucketLifecycleRuleExpirationPtrType) ToSpacesBucketLifecycleRuleExpirationPtrOutput() SpacesBucketLifecycleRuleExpirationPtrOutput { + return i.ToSpacesBucketLifecycleRuleExpirationPtrOutputWithContext(context.Background()) +} + +func (i *spacesBucketLifecycleRuleExpirationPtrType) ToSpacesBucketLifecycleRuleExpirationPtrOutputWithContext(ctx context.Context) SpacesBucketLifecycleRuleExpirationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpacesBucketLifecycleRuleExpirationPtrOutput) +} + +type SpacesBucketLifecycleRuleExpirationOutput struct{ *pulumi.OutputState } + +func (SpacesBucketLifecycleRuleExpirationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpacesBucketLifecycleRuleExpiration)(nil)).Elem() +} + +func (o SpacesBucketLifecycleRuleExpirationOutput) ToSpacesBucketLifecycleRuleExpirationOutput() SpacesBucketLifecycleRuleExpirationOutput { + return o +} + +func (o SpacesBucketLifecycleRuleExpirationOutput) ToSpacesBucketLifecycleRuleExpirationOutputWithContext(ctx context.Context) SpacesBucketLifecycleRuleExpirationOutput { + return o +} + +func (o SpacesBucketLifecycleRuleExpirationOutput) ToSpacesBucketLifecycleRuleExpirationPtrOutput() SpacesBucketLifecycleRuleExpirationPtrOutput { + return o.ToSpacesBucketLifecycleRuleExpirationPtrOutputWithContext(context.Background()) +} + +func (o SpacesBucketLifecycleRuleExpirationOutput) ToSpacesBucketLifecycleRuleExpirationPtrOutputWithContext(ctx context.Context) SpacesBucketLifecycleRuleExpirationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SpacesBucketLifecycleRuleExpiration) *SpacesBucketLifecycleRuleExpiration { + return &v + }).(SpacesBucketLifecycleRuleExpirationPtrOutput) +} + +// Specifies the date/time after which you want applicable objects to expire. The argument uses +// RFC3339 format, e.g. "2020-03-22T15:03:55Z" or parts thereof e.g. "2019-02-28". +func (o SpacesBucketLifecycleRuleExpirationOutput) Date() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpacesBucketLifecycleRuleExpiration) *string { return v.Date }).(pulumi.StringPtrOutput) +} + +// Specifies the number of days after object creation when the applicable objects will expire. +func (o SpacesBucketLifecycleRuleExpirationOutput) Days() pulumi.IntPtrOutput { + return o.ApplyT(func(v SpacesBucketLifecycleRuleExpiration) *int { return v.Days }).(pulumi.IntPtrOutput) +} + +// On a versioned bucket (versioning-enabled or versioning-suspended +// bucket), setting this to true directs Spaces to delete expired object delete markers. +func (o SpacesBucketLifecycleRuleExpirationOutput) ExpiredObjectDeleteMarker() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SpacesBucketLifecycleRuleExpiration) *bool { return v.ExpiredObjectDeleteMarker }).(pulumi.BoolPtrOutput) +} + +type SpacesBucketLifecycleRuleExpirationPtrOutput struct{ *pulumi.OutputState } + +func (SpacesBucketLifecycleRuleExpirationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SpacesBucketLifecycleRuleExpiration)(nil)).Elem() +} + +func (o SpacesBucketLifecycleRuleExpirationPtrOutput) ToSpacesBucketLifecycleRuleExpirationPtrOutput() SpacesBucketLifecycleRuleExpirationPtrOutput { + return o +} + +func (o SpacesBucketLifecycleRuleExpirationPtrOutput) ToSpacesBucketLifecycleRuleExpirationPtrOutputWithContext(ctx context.Context) SpacesBucketLifecycleRuleExpirationPtrOutput { + return o +} + +func (o SpacesBucketLifecycleRuleExpirationPtrOutput) Elem() SpacesBucketLifecycleRuleExpirationOutput { + return o.ApplyT(func(v *SpacesBucketLifecycleRuleExpiration) SpacesBucketLifecycleRuleExpiration { + if v != nil { + return *v + } + var ret SpacesBucketLifecycleRuleExpiration + return ret + }).(SpacesBucketLifecycleRuleExpirationOutput) +} + +// Specifies the date/time after which you want applicable objects to expire. The argument uses +// RFC3339 format, e.g. "2020-03-22T15:03:55Z" or parts thereof e.g. "2019-02-28". +func (o SpacesBucketLifecycleRuleExpirationPtrOutput) Date() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SpacesBucketLifecycleRuleExpiration) *string { + if v == nil { + return nil + } + return v.Date + }).(pulumi.StringPtrOutput) +} + +// Specifies the number of days after object creation when the applicable objects will expire. +func (o SpacesBucketLifecycleRuleExpirationPtrOutput) Days() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SpacesBucketLifecycleRuleExpiration) *int { + if v == nil { + return nil + } + return v.Days + }).(pulumi.IntPtrOutput) +} + +// On a versioned bucket (versioning-enabled or versioning-suspended +// bucket), setting this to true directs Spaces to delete expired object delete markers. +func (o SpacesBucketLifecycleRuleExpirationPtrOutput) ExpiredObjectDeleteMarker() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *SpacesBucketLifecycleRuleExpiration) *bool { + if v == nil { + return nil + } + return v.ExpiredObjectDeleteMarker + }).(pulumi.BoolPtrOutput) +} + +type SpacesBucketLifecycleRuleNoncurrentVersionExpiration struct { + // Specifies the number of days after which an object's non-current versions expire. + Days *int `pulumi:"days"` +} + +// SpacesBucketLifecycleRuleNoncurrentVersionExpirationInput is an input type that accepts SpacesBucketLifecycleRuleNoncurrentVersionExpirationArgs and SpacesBucketLifecycleRuleNoncurrentVersionExpirationOutput values. +// You can construct a concrete instance of `SpacesBucketLifecycleRuleNoncurrentVersionExpirationInput` via: +// +// SpacesBucketLifecycleRuleNoncurrentVersionExpirationArgs{...} +type SpacesBucketLifecycleRuleNoncurrentVersionExpirationInput interface { + pulumi.Input + + ToSpacesBucketLifecycleRuleNoncurrentVersionExpirationOutput() SpacesBucketLifecycleRuleNoncurrentVersionExpirationOutput + ToSpacesBucketLifecycleRuleNoncurrentVersionExpirationOutputWithContext(context.Context) SpacesBucketLifecycleRuleNoncurrentVersionExpirationOutput +} + +type SpacesBucketLifecycleRuleNoncurrentVersionExpirationArgs struct { + // Specifies the number of days after which an object's non-current versions expire. + Days pulumi.IntPtrInput `pulumi:"days"` +} + +func (SpacesBucketLifecycleRuleNoncurrentVersionExpirationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpacesBucketLifecycleRuleNoncurrentVersionExpiration)(nil)).Elem() +} + +func (i SpacesBucketLifecycleRuleNoncurrentVersionExpirationArgs) ToSpacesBucketLifecycleRuleNoncurrentVersionExpirationOutput() SpacesBucketLifecycleRuleNoncurrentVersionExpirationOutput { + return i.ToSpacesBucketLifecycleRuleNoncurrentVersionExpirationOutputWithContext(context.Background()) +} + +func (i SpacesBucketLifecycleRuleNoncurrentVersionExpirationArgs) ToSpacesBucketLifecycleRuleNoncurrentVersionExpirationOutputWithContext(ctx context.Context) SpacesBucketLifecycleRuleNoncurrentVersionExpirationOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpacesBucketLifecycleRuleNoncurrentVersionExpirationOutput) +} + +func (i SpacesBucketLifecycleRuleNoncurrentVersionExpirationArgs) ToSpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput() SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput { + return i.ToSpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutputWithContext(context.Background()) +} + +func (i SpacesBucketLifecycleRuleNoncurrentVersionExpirationArgs) ToSpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutputWithContext(ctx context.Context) SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpacesBucketLifecycleRuleNoncurrentVersionExpirationOutput).ToSpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutputWithContext(ctx) +} + +// SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrInput is an input type that accepts SpacesBucketLifecycleRuleNoncurrentVersionExpirationArgs, SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtr and SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput values. +// You can construct a concrete instance of `SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrInput` via: +// +// SpacesBucketLifecycleRuleNoncurrentVersionExpirationArgs{...} +// +// or: +// +// nil +type SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrInput interface { + pulumi.Input + + ToSpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput() SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput + ToSpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutputWithContext(context.Context) SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput +} + +type spacesBucketLifecycleRuleNoncurrentVersionExpirationPtrType SpacesBucketLifecycleRuleNoncurrentVersionExpirationArgs + +func SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtr(v *SpacesBucketLifecycleRuleNoncurrentVersionExpirationArgs) SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrInput { + return (*spacesBucketLifecycleRuleNoncurrentVersionExpirationPtrType)(v) +} + +func (*spacesBucketLifecycleRuleNoncurrentVersionExpirationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SpacesBucketLifecycleRuleNoncurrentVersionExpiration)(nil)).Elem() +} + +func (i *spacesBucketLifecycleRuleNoncurrentVersionExpirationPtrType) ToSpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput() SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput { + return i.ToSpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutputWithContext(context.Background()) +} + +func (i *spacesBucketLifecycleRuleNoncurrentVersionExpirationPtrType) ToSpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutputWithContext(ctx context.Context) SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput) +} + +type SpacesBucketLifecycleRuleNoncurrentVersionExpirationOutput struct{ *pulumi.OutputState } + +func (SpacesBucketLifecycleRuleNoncurrentVersionExpirationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpacesBucketLifecycleRuleNoncurrentVersionExpiration)(nil)).Elem() +} + +func (o SpacesBucketLifecycleRuleNoncurrentVersionExpirationOutput) ToSpacesBucketLifecycleRuleNoncurrentVersionExpirationOutput() SpacesBucketLifecycleRuleNoncurrentVersionExpirationOutput { + return o +} + +func (o SpacesBucketLifecycleRuleNoncurrentVersionExpirationOutput) ToSpacesBucketLifecycleRuleNoncurrentVersionExpirationOutputWithContext(ctx context.Context) SpacesBucketLifecycleRuleNoncurrentVersionExpirationOutput { + return o +} + +func (o SpacesBucketLifecycleRuleNoncurrentVersionExpirationOutput) ToSpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput() SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput { + return o.ToSpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutputWithContext(context.Background()) +} + +func (o SpacesBucketLifecycleRuleNoncurrentVersionExpirationOutput) ToSpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutputWithContext(ctx context.Context) SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SpacesBucketLifecycleRuleNoncurrentVersionExpiration) *SpacesBucketLifecycleRuleNoncurrentVersionExpiration { + return &v + }).(SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput) +} + +// Specifies the number of days after which an object's non-current versions expire. +func (o SpacesBucketLifecycleRuleNoncurrentVersionExpirationOutput) Days() pulumi.IntPtrOutput { + return o.ApplyT(func(v SpacesBucketLifecycleRuleNoncurrentVersionExpiration) *int { return v.Days }).(pulumi.IntPtrOutput) +} + +type SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput struct{ *pulumi.OutputState } + +func (SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SpacesBucketLifecycleRuleNoncurrentVersionExpiration)(nil)).Elem() +} + +func (o SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput) ToSpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput() SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput { + return o +} + +func (o SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput) ToSpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutputWithContext(ctx context.Context) SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput { + return o +} + +func (o SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput) Elem() SpacesBucketLifecycleRuleNoncurrentVersionExpirationOutput { + return o.ApplyT(func(v *SpacesBucketLifecycleRuleNoncurrentVersionExpiration) SpacesBucketLifecycleRuleNoncurrentVersionExpiration { + if v != nil { + return *v + } + var ret SpacesBucketLifecycleRuleNoncurrentVersionExpiration + return ret + }).(SpacesBucketLifecycleRuleNoncurrentVersionExpirationOutput) +} + +// Specifies the number of days after which an object's non-current versions expire. +func (o SpacesBucketLifecycleRuleNoncurrentVersionExpirationPtrOutput) Days() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SpacesBucketLifecycleRuleNoncurrentVersionExpiration) *int { + if v == nil { + return nil + } + return v.Days + }).(pulumi.IntPtrOutput) +} + +type SpacesBucketVersioning struct { + // Enable versioning. Once you version-enable a bucket, it can never return to an unversioned + // state. You can, however, suspend versioning on that bucket. + Enabled *bool `pulumi:"enabled"` +} + +// SpacesBucketVersioningInput is an input type that accepts SpacesBucketVersioningArgs and SpacesBucketVersioningOutput values. +// You can construct a concrete instance of `SpacesBucketVersioningInput` via: +// +// SpacesBucketVersioningArgs{...} +type SpacesBucketVersioningInput interface { + pulumi.Input + + ToSpacesBucketVersioningOutput() SpacesBucketVersioningOutput + ToSpacesBucketVersioningOutputWithContext(context.Context) SpacesBucketVersioningOutput +} + +type SpacesBucketVersioningArgs struct { + // Enable versioning. Once you version-enable a bucket, it can never return to an unversioned + // state. You can, however, suspend versioning on that bucket. + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` +} + +func (SpacesBucketVersioningArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpacesBucketVersioning)(nil)).Elem() +} + +func (i SpacesBucketVersioningArgs) ToSpacesBucketVersioningOutput() SpacesBucketVersioningOutput { + return i.ToSpacesBucketVersioningOutputWithContext(context.Background()) +} + +func (i SpacesBucketVersioningArgs) ToSpacesBucketVersioningOutputWithContext(ctx context.Context) SpacesBucketVersioningOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpacesBucketVersioningOutput) +} + +func (i SpacesBucketVersioningArgs) ToSpacesBucketVersioningPtrOutput() SpacesBucketVersioningPtrOutput { + return i.ToSpacesBucketVersioningPtrOutputWithContext(context.Background()) +} + +func (i SpacesBucketVersioningArgs) ToSpacesBucketVersioningPtrOutputWithContext(ctx context.Context) SpacesBucketVersioningPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpacesBucketVersioningOutput).ToSpacesBucketVersioningPtrOutputWithContext(ctx) +} + +// SpacesBucketVersioningPtrInput is an input type that accepts SpacesBucketVersioningArgs, SpacesBucketVersioningPtr and SpacesBucketVersioningPtrOutput values. +// You can construct a concrete instance of `SpacesBucketVersioningPtrInput` via: +// +// SpacesBucketVersioningArgs{...} +// +// or: +// +// nil +type SpacesBucketVersioningPtrInput interface { + pulumi.Input + + ToSpacesBucketVersioningPtrOutput() SpacesBucketVersioningPtrOutput + ToSpacesBucketVersioningPtrOutputWithContext(context.Context) SpacesBucketVersioningPtrOutput +} + +type spacesBucketVersioningPtrType SpacesBucketVersioningArgs + +func SpacesBucketVersioningPtr(v *SpacesBucketVersioningArgs) SpacesBucketVersioningPtrInput { + return (*spacesBucketVersioningPtrType)(v) +} + +func (*spacesBucketVersioningPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SpacesBucketVersioning)(nil)).Elem() +} + +func (i *spacesBucketVersioningPtrType) ToSpacesBucketVersioningPtrOutput() SpacesBucketVersioningPtrOutput { + return i.ToSpacesBucketVersioningPtrOutputWithContext(context.Background()) +} + +func (i *spacesBucketVersioningPtrType) ToSpacesBucketVersioningPtrOutputWithContext(ctx context.Context) SpacesBucketVersioningPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpacesBucketVersioningPtrOutput) +} + +type SpacesBucketVersioningOutput struct{ *pulumi.OutputState } + +func (SpacesBucketVersioningOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpacesBucketVersioning)(nil)).Elem() +} + +func (o SpacesBucketVersioningOutput) ToSpacesBucketVersioningOutput() SpacesBucketVersioningOutput { + return o +} + +func (o SpacesBucketVersioningOutput) ToSpacesBucketVersioningOutputWithContext(ctx context.Context) SpacesBucketVersioningOutput { + return o +} + +func (o SpacesBucketVersioningOutput) ToSpacesBucketVersioningPtrOutput() SpacesBucketVersioningPtrOutput { + return o.ToSpacesBucketVersioningPtrOutputWithContext(context.Background()) +} + +func (o SpacesBucketVersioningOutput) ToSpacesBucketVersioningPtrOutputWithContext(ctx context.Context) SpacesBucketVersioningPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SpacesBucketVersioning) *SpacesBucketVersioning { + return &v + }).(SpacesBucketVersioningPtrOutput) +} + +// Enable versioning. Once you version-enable a bucket, it can never return to an unversioned +// state. You can, however, suspend versioning on that bucket. +func (o SpacesBucketVersioningOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SpacesBucketVersioning) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +} + +type SpacesBucketVersioningPtrOutput struct{ *pulumi.OutputState } + +func (SpacesBucketVersioningPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SpacesBucketVersioning)(nil)).Elem() +} + +func (o SpacesBucketVersioningPtrOutput) ToSpacesBucketVersioningPtrOutput() SpacesBucketVersioningPtrOutput { + return o +} + +func (o SpacesBucketVersioningPtrOutput) ToSpacesBucketVersioningPtrOutputWithContext(ctx context.Context) SpacesBucketVersioningPtrOutput { + return o +} + +func (o SpacesBucketVersioningPtrOutput) Elem() SpacesBucketVersioningOutput { + return o.ApplyT(func(v *SpacesBucketVersioning) SpacesBucketVersioning { + if v != nil { + return *v + } + var ret SpacesBucketVersioning + return ret + }).(SpacesBucketVersioningOutput) +} + +// Enable versioning. Once you version-enable a bucket, it can never return to an unversioned +// state. You can, however, suspend versioning on that bucket. +func (o SpacesBucketVersioningPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *SpacesBucketVersioning) *bool { + if v == nil { + return nil + } + return v.Enabled + }).(pulumi.BoolPtrOutput) +} + +type GetAppSpec struct { + Alerts []GetAppSpecAlert `pulumi:"alerts"` + Databases []GetAppSpecDatabase `pulumi:"databases"` + // Deprecated: This attribute has been replaced by `domain` which supports additional functionality. + Domains []string `pulumi:"domains"` + // Describes an environment variable made available to an app competent. + Envs []GetAppSpecEnv `pulumi:"envs"` + Jobs []GetAppSpecJob `pulumi:"jobs"` + // The name of the component. + Name string `pulumi:"name"` + Region *string `pulumi:"region"` + Services []GetAppSpecService `pulumi:"services"` + StaticSites []GetAppSpecStaticSite `pulumi:"staticSites"` + Workers []GetAppSpecWorker `pulumi:"workers"` +} + +// GetAppSpecInput is an input type that accepts GetAppSpecArgs and GetAppSpecOutput values. +// You can construct a concrete instance of `GetAppSpecInput` via: +// +// GetAppSpecArgs{...} +type GetAppSpecInput interface { + pulumi.Input + + ToGetAppSpecOutput() GetAppSpecOutput + ToGetAppSpecOutputWithContext(context.Context) GetAppSpecOutput +} + +type GetAppSpecArgs struct { + Alerts GetAppSpecAlertArrayInput `pulumi:"alerts"` + Databases GetAppSpecDatabaseArrayInput `pulumi:"databases"` + // Deprecated: This attribute has been replaced by `domain` which supports additional functionality. + Domains pulumi.StringArrayInput `pulumi:"domains"` + // Describes an environment variable made available to an app competent. + Envs GetAppSpecEnvArrayInput `pulumi:"envs"` + Jobs GetAppSpecJobArrayInput `pulumi:"jobs"` + // The name of the component. + Name pulumi.StringInput `pulumi:"name"` + Region pulumi.StringPtrInput `pulumi:"region"` + Services GetAppSpecServiceArrayInput `pulumi:"services"` + StaticSites GetAppSpecStaticSiteArrayInput `pulumi:"staticSites"` + Workers GetAppSpecWorkerArrayInput `pulumi:"workers"` +} + +func (GetAppSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpec)(nil)).Elem() +} + +func (i GetAppSpecArgs) ToGetAppSpecOutput() GetAppSpecOutput { + return i.ToGetAppSpecOutputWithContext(context.Background()) +} + +func (i GetAppSpecArgs) ToGetAppSpecOutputWithContext(ctx context.Context) GetAppSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecOutput) +} + +// GetAppSpecArrayInput is an input type that accepts GetAppSpecArray and GetAppSpecArrayOutput values. +// You can construct a concrete instance of `GetAppSpecArrayInput` via: +// +// GetAppSpecArray{ GetAppSpecArgs{...} } +type GetAppSpecArrayInput interface { + pulumi.Input + + ToGetAppSpecArrayOutput() GetAppSpecArrayOutput + ToGetAppSpecArrayOutputWithContext(context.Context) GetAppSpecArrayOutput +} + +type GetAppSpecArray []GetAppSpecInput + +func (GetAppSpecArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAppSpec)(nil)).Elem() +} + +func (i GetAppSpecArray) ToGetAppSpecArrayOutput() GetAppSpecArrayOutput { + return i.ToGetAppSpecArrayOutputWithContext(context.Background()) +} + +func (i GetAppSpecArray) ToGetAppSpecArrayOutputWithContext(ctx context.Context) GetAppSpecArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecArrayOutput) +} + +type GetAppSpecOutput struct{ *pulumi.OutputState } + +func (GetAppSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpec)(nil)).Elem() +} + +func (o GetAppSpecOutput) ToGetAppSpecOutput() GetAppSpecOutput { + return o +} + +func (o GetAppSpecOutput) ToGetAppSpecOutputWithContext(ctx context.Context) GetAppSpecOutput { + return o +} + +func (o GetAppSpecOutput) Alerts() GetAppSpecAlertArrayOutput { + return o.ApplyT(func(v GetAppSpec) []GetAppSpecAlert { return v.Alerts }).(GetAppSpecAlertArrayOutput) +} + +func (o GetAppSpecOutput) Databases() GetAppSpecDatabaseArrayOutput { + return o.ApplyT(func(v GetAppSpec) []GetAppSpecDatabase { return v.Databases }).(GetAppSpecDatabaseArrayOutput) +} + +// Deprecated: This attribute has been replaced by `domain` which supports additional functionality. +func (o GetAppSpecOutput) Domains() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetAppSpec) []string { return v.Domains }).(pulumi.StringArrayOutput) +} + +// Describes an environment variable made available to an app competent. +func (o GetAppSpecOutput) Envs() GetAppSpecEnvArrayOutput { + return o.ApplyT(func(v GetAppSpec) []GetAppSpecEnv { return v.Envs }).(GetAppSpecEnvArrayOutput) +} + +func (o GetAppSpecOutput) Jobs() GetAppSpecJobArrayOutput { + return o.ApplyT(func(v GetAppSpec) []GetAppSpecJob { return v.Jobs }).(GetAppSpecJobArrayOutput) +} + +// The name of the component. +func (o GetAppSpecOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetAppSpec) string { return v.Name }).(pulumi.StringOutput) +} + +func (o GetAppSpecOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpec) *string { return v.Region }).(pulumi.StringPtrOutput) +} + +func (o GetAppSpecOutput) Services() GetAppSpecServiceArrayOutput { + return o.ApplyT(func(v GetAppSpec) []GetAppSpecService { return v.Services }).(GetAppSpecServiceArrayOutput) +} + +func (o GetAppSpecOutput) StaticSites() GetAppSpecStaticSiteArrayOutput { + return o.ApplyT(func(v GetAppSpec) []GetAppSpecStaticSite { return v.StaticSites }).(GetAppSpecStaticSiteArrayOutput) +} + +func (o GetAppSpecOutput) Workers() GetAppSpecWorkerArrayOutput { + return o.ApplyT(func(v GetAppSpec) []GetAppSpecWorker { return v.Workers }).(GetAppSpecWorkerArrayOutput) +} + +type GetAppSpecArrayOutput struct{ *pulumi.OutputState } + +func (GetAppSpecArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAppSpec)(nil)).Elem() +} + +func (o GetAppSpecArrayOutput) ToGetAppSpecArrayOutput() GetAppSpecArrayOutput { + return o +} + +func (o GetAppSpecArrayOutput) ToGetAppSpecArrayOutputWithContext(ctx context.Context) GetAppSpecArrayOutput { + return o +} + +func (o GetAppSpecArrayOutput) Index(i pulumi.IntInput) GetAppSpecOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAppSpec { + return vs[0].([]GetAppSpec)[vs[1].(int)] + }).(GetAppSpecOutput) +} + +type GetAppSpecAlert struct { + Disabled *bool `pulumi:"disabled"` + Rule string `pulumi:"rule"` +} + +// GetAppSpecAlertInput is an input type that accepts GetAppSpecAlertArgs and GetAppSpecAlertOutput values. +// You can construct a concrete instance of `GetAppSpecAlertInput` via: +// +// GetAppSpecAlertArgs{...} +type GetAppSpecAlertInput interface { + pulumi.Input + + ToGetAppSpecAlertOutput() GetAppSpecAlertOutput + ToGetAppSpecAlertOutputWithContext(context.Context) GetAppSpecAlertOutput +} + +type GetAppSpecAlertArgs struct { + Disabled pulumi.BoolPtrInput `pulumi:"disabled"` + Rule pulumi.StringInput `pulumi:"rule"` +} + +func (GetAppSpecAlertArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecAlert)(nil)).Elem() +} + +func (i GetAppSpecAlertArgs) ToGetAppSpecAlertOutput() GetAppSpecAlertOutput { + return i.ToGetAppSpecAlertOutputWithContext(context.Background()) +} + +func (i GetAppSpecAlertArgs) ToGetAppSpecAlertOutputWithContext(ctx context.Context) GetAppSpecAlertOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecAlertOutput) +} + +// GetAppSpecAlertArrayInput is an input type that accepts GetAppSpecAlertArray and GetAppSpecAlertArrayOutput values. +// You can construct a concrete instance of `GetAppSpecAlertArrayInput` via: +// +// GetAppSpecAlertArray{ GetAppSpecAlertArgs{...} } +type GetAppSpecAlertArrayInput interface { + pulumi.Input + + ToGetAppSpecAlertArrayOutput() GetAppSpecAlertArrayOutput + ToGetAppSpecAlertArrayOutputWithContext(context.Context) GetAppSpecAlertArrayOutput +} + +type GetAppSpecAlertArray []GetAppSpecAlertInput + +func (GetAppSpecAlertArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAppSpecAlert)(nil)).Elem() +} + +func (i GetAppSpecAlertArray) ToGetAppSpecAlertArrayOutput() GetAppSpecAlertArrayOutput { + return i.ToGetAppSpecAlertArrayOutputWithContext(context.Background()) +} + +func (i GetAppSpecAlertArray) ToGetAppSpecAlertArrayOutputWithContext(ctx context.Context) GetAppSpecAlertArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecAlertArrayOutput) +} + +type GetAppSpecAlertOutput struct{ *pulumi.OutputState } + +func (GetAppSpecAlertOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecAlert)(nil)).Elem() +} + +func (o GetAppSpecAlertOutput) ToGetAppSpecAlertOutput() GetAppSpecAlertOutput { + return o +} + +func (o GetAppSpecAlertOutput) ToGetAppSpecAlertOutputWithContext(ctx context.Context) GetAppSpecAlertOutput { + return o +} + +func (o GetAppSpecAlertOutput) Disabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GetAppSpecAlert) *bool { return v.Disabled }).(pulumi.BoolPtrOutput) +} + +func (o GetAppSpecAlertOutput) Rule() pulumi.StringOutput { + return o.ApplyT(func(v GetAppSpecAlert) string { return v.Rule }).(pulumi.StringOutput) +} + +type GetAppSpecAlertArrayOutput struct{ *pulumi.OutputState } + +func (GetAppSpecAlertArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAppSpecAlert)(nil)).Elem() +} + +func (o GetAppSpecAlertArrayOutput) ToGetAppSpecAlertArrayOutput() GetAppSpecAlertArrayOutput { + return o +} + +func (o GetAppSpecAlertArrayOutput) ToGetAppSpecAlertArrayOutputWithContext(ctx context.Context) GetAppSpecAlertArrayOutput { + return o +} + +func (o GetAppSpecAlertArrayOutput) Index(i pulumi.IntInput) GetAppSpecAlertOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAppSpecAlert { + return vs[0].([]GetAppSpecAlert)[vs[1].(int)] + }).(GetAppSpecAlertOutput) +} + +type GetAppSpecDatabase struct { + // The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if `clusterName` is not set, a new cluster will be provisioned. + ClusterName *string `pulumi:"clusterName"` + // The name of the MySQL or PostgreSQL database to configure. + DbName *string `pulumi:"dbName"` + // The name of the MySQL or PostgreSQL user to configure. + DbUser *string `pulumi:"dbUser"` + // The database engine to use (`MYSQL`, `PG`, `REDIS`, or `MONGODB`). + Engine *string `pulumi:"engine"` + // The name of the component. + Name *string `pulumi:"name"` + // Whether this is a production or dev database. + Production *bool `pulumi:"production"` + // The version of the database engine. + Version *string `pulumi:"version"` +} + +// GetAppSpecDatabaseInput is an input type that accepts GetAppSpecDatabaseArgs and GetAppSpecDatabaseOutput values. +// You can construct a concrete instance of `GetAppSpecDatabaseInput` via: +// +// GetAppSpecDatabaseArgs{...} +type GetAppSpecDatabaseInput interface { + pulumi.Input + + ToGetAppSpecDatabaseOutput() GetAppSpecDatabaseOutput + ToGetAppSpecDatabaseOutputWithContext(context.Context) GetAppSpecDatabaseOutput +} + +type GetAppSpecDatabaseArgs struct { + // The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if `clusterName` is not set, a new cluster will be provisioned. + ClusterName pulumi.StringPtrInput `pulumi:"clusterName"` + // The name of the MySQL or PostgreSQL database to configure. + DbName pulumi.StringPtrInput `pulumi:"dbName"` + // The name of the MySQL or PostgreSQL user to configure. + DbUser pulumi.StringPtrInput `pulumi:"dbUser"` + // The database engine to use (`MYSQL`, `PG`, `REDIS`, or `MONGODB`). + Engine pulumi.StringPtrInput `pulumi:"engine"` + // The name of the component. + Name pulumi.StringPtrInput `pulumi:"name"` + // Whether this is a production or dev database. + Production pulumi.BoolPtrInput `pulumi:"production"` + // The version of the database engine. + Version pulumi.StringPtrInput `pulumi:"version"` +} + +func (GetAppSpecDatabaseArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecDatabase)(nil)).Elem() +} + +func (i GetAppSpecDatabaseArgs) ToGetAppSpecDatabaseOutput() GetAppSpecDatabaseOutput { + return i.ToGetAppSpecDatabaseOutputWithContext(context.Background()) +} + +func (i GetAppSpecDatabaseArgs) ToGetAppSpecDatabaseOutputWithContext(ctx context.Context) GetAppSpecDatabaseOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecDatabaseOutput) +} + +// GetAppSpecDatabaseArrayInput is an input type that accepts GetAppSpecDatabaseArray and GetAppSpecDatabaseArrayOutput values. +// You can construct a concrete instance of `GetAppSpecDatabaseArrayInput` via: +// +// GetAppSpecDatabaseArray{ GetAppSpecDatabaseArgs{...} } +type GetAppSpecDatabaseArrayInput interface { + pulumi.Input + + ToGetAppSpecDatabaseArrayOutput() GetAppSpecDatabaseArrayOutput + ToGetAppSpecDatabaseArrayOutputWithContext(context.Context) GetAppSpecDatabaseArrayOutput +} + +type GetAppSpecDatabaseArray []GetAppSpecDatabaseInput + +func (GetAppSpecDatabaseArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAppSpecDatabase)(nil)).Elem() +} + +func (i GetAppSpecDatabaseArray) ToGetAppSpecDatabaseArrayOutput() GetAppSpecDatabaseArrayOutput { + return i.ToGetAppSpecDatabaseArrayOutputWithContext(context.Background()) +} + +func (i GetAppSpecDatabaseArray) ToGetAppSpecDatabaseArrayOutputWithContext(ctx context.Context) GetAppSpecDatabaseArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecDatabaseArrayOutput) +} + +type GetAppSpecDatabaseOutput struct{ *pulumi.OutputState } + +func (GetAppSpecDatabaseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecDatabase)(nil)).Elem() +} + +func (o GetAppSpecDatabaseOutput) ToGetAppSpecDatabaseOutput() GetAppSpecDatabaseOutput { + return o +} + +func (o GetAppSpecDatabaseOutput) ToGetAppSpecDatabaseOutputWithContext(ctx context.Context) GetAppSpecDatabaseOutput { + return o +} + +// The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if `clusterName` is not set, a new cluster will be provisioned. +func (o GetAppSpecDatabaseOutput) ClusterName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecDatabase) *string { return v.ClusterName }).(pulumi.StringPtrOutput) +} + +// The name of the MySQL or PostgreSQL database to configure. +func (o GetAppSpecDatabaseOutput) DbName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecDatabase) *string { return v.DbName }).(pulumi.StringPtrOutput) +} + +// The name of the MySQL or PostgreSQL user to configure. +func (o GetAppSpecDatabaseOutput) DbUser() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecDatabase) *string { return v.DbUser }).(pulumi.StringPtrOutput) +} + +// The database engine to use (`MYSQL`, `PG`, `REDIS`, or `MONGODB`). +func (o GetAppSpecDatabaseOutput) Engine() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecDatabase) *string { return v.Engine }).(pulumi.StringPtrOutput) +} + +// The name of the component. +func (o GetAppSpecDatabaseOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecDatabase) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Whether this is a production or dev database. +func (o GetAppSpecDatabaseOutput) Production() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GetAppSpecDatabase) *bool { return v.Production }).(pulumi.BoolPtrOutput) +} + +// The version of the database engine. +func (o GetAppSpecDatabaseOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecDatabase) *string { return v.Version }).(pulumi.StringPtrOutput) +} + +type GetAppSpecDatabaseArrayOutput struct{ *pulumi.OutputState } + +func (GetAppSpecDatabaseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAppSpecDatabase)(nil)).Elem() +} + +func (o GetAppSpecDatabaseArrayOutput) ToGetAppSpecDatabaseArrayOutput() GetAppSpecDatabaseArrayOutput { + return o +} + +func (o GetAppSpecDatabaseArrayOutput) ToGetAppSpecDatabaseArrayOutputWithContext(ctx context.Context) GetAppSpecDatabaseArrayOutput { + return o +} + +func (o GetAppSpecDatabaseArrayOutput) Index(i pulumi.IntInput) GetAppSpecDatabaseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAppSpecDatabase { + return vs[0].([]GetAppSpecDatabase)[vs[1].(int)] + }).(GetAppSpecDatabaseOutput) +} + +type GetAppSpecDomain struct { + // The name of the component. + Name string `pulumi:"name"` + // The type of the environment variable, `GENERAL` or `SECRET`. + Type string `pulumi:"type"` + Wildcard bool `pulumi:"wildcard"` + Zone *string `pulumi:"zone"` +} + +// GetAppSpecDomainInput is an input type that accepts GetAppSpecDomainArgs and GetAppSpecDomainOutput values. +// You can construct a concrete instance of `GetAppSpecDomainInput` via: +// +// GetAppSpecDomainArgs{...} +type GetAppSpecDomainInput interface { + pulumi.Input + + ToGetAppSpecDomainOutput() GetAppSpecDomainOutput + ToGetAppSpecDomainOutputWithContext(context.Context) GetAppSpecDomainOutput +} + +type GetAppSpecDomainArgs struct { + // The name of the component. + Name pulumi.StringInput `pulumi:"name"` + // The type of the environment variable, `GENERAL` or `SECRET`. + Type pulumi.StringInput `pulumi:"type"` + Wildcard pulumi.BoolInput `pulumi:"wildcard"` + Zone pulumi.StringPtrInput `pulumi:"zone"` +} + +func (GetAppSpecDomainArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecDomain)(nil)).Elem() +} + +func (i GetAppSpecDomainArgs) ToGetAppSpecDomainOutput() GetAppSpecDomainOutput { + return i.ToGetAppSpecDomainOutputWithContext(context.Background()) +} + +func (i GetAppSpecDomainArgs) ToGetAppSpecDomainOutputWithContext(ctx context.Context) GetAppSpecDomainOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecDomainOutput) +} + +type GetAppSpecDomainOutput struct{ *pulumi.OutputState } + +func (GetAppSpecDomainOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecDomain)(nil)).Elem() +} + +func (o GetAppSpecDomainOutput) ToGetAppSpecDomainOutput() GetAppSpecDomainOutput { + return o +} + +func (o GetAppSpecDomainOutput) ToGetAppSpecDomainOutputWithContext(ctx context.Context) GetAppSpecDomainOutput { + return o +} + +// The name of the component. +func (o GetAppSpecDomainOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetAppSpecDomain) string { return v.Name }).(pulumi.StringOutput) +} + +// The type of the environment variable, `GENERAL` or `SECRET`. +func (o GetAppSpecDomainOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetAppSpecDomain) string { return v.Type }).(pulumi.StringOutput) +} + +func (o GetAppSpecDomainOutput) Wildcard() pulumi.BoolOutput { + return o.ApplyT(func(v GetAppSpecDomain) bool { return v.Wildcard }).(pulumi.BoolOutput) +} + +func (o GetAppSpecDomainOutput) Zone() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecDomain) *string { return v.Zone }).(pulumi.StringPtrOutput) +} + +type GetAppSpecEnv struct { + // The name of the environment variable. + Key *string `pulumi:"key"` + // The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). + Scope *string `pulumi:"scope"` + // The type of the environment variable, `GENERAL` or `SECRET`. + Type string `pulumi:"type"` + // The value of the environment variable. + Value *string `pulumi:"value"` +} + +// GetAppSpecEnvInput is an input type that accepts GetAppSpecEnvArgs and GetAppSpecEnvOutput values. +// You can construct a concrete instance of `GetAppSpecEnvInput` via: +// +// GetAppSpecEnvArgs{...} +type GetAppSpecEnvInput interface { + pulumi.Input + + ToGetAppSpecEnvOutput() GetAppSpecEnvOutput + ToGetAppSpecEnvOutputWithContext(context.Context) GetAppSpecEnvOutput +} + +type GetAppSpecEnvArgs struct { + // The name of the environment variable. + Key pulumi.StringPtrInput `pulumi:"key"` + // The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). + Scope pulumi.StringPtrInput `pulumi:"scope"` + // The type of the environment variable, `GENERAL` or `SECRET`. + Type pulumi.StringInput `pulumi:"type"` + // The value of the environment variable. + Value pulumi.StringPtrInput `pulumi:"value"` +} + +func (GetAppSpecEnvArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecEnv)(nil)).Elem() +} + +func (i GetAppSpecEnvArgs) ToGetAppSpecEnvOutput() GetAppSpecEnvOutput { + return i.ToGetAppSpecEnvOutputWithContext(context.Background()) +} + +func (i GetAppSpecEnvArgs) ToGetAppSpecEnvOutputWithContext(ctx context.Context) GetAppSpecEnvOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecEnvOutput) +} + +// GetAppSpecEnvArrayInput is an input type that accepts GetAppSpecEnvArray and GetAppSpecEnvArrayOutput values. +// You can construct a concrete instance of `GetAppSpecEnvArrayInput` via: +// +// GetAppSpecEnvArray{ GetAppSpecEnvArgs{...} } +type GetAppSpecEnvArrayInput interface { + pulumi.Input + + ToGetAppSpecEnvArrayOutput() GetAppSpecEnvArrayOutput + ToGetAppSpecEnvArrayOutputWithContext(context.Context) GetAppSpecEnvArrayOutput +} + +type GetAppSpecEnvArray []GetAppSpecEnvInput + +func (GetAppSpecEnvArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAppSpecEnv)(nil)).Elem() +} + +func (i GetAppSpecEnvArray) ToGetAppSpecEnvArrayOutput() GetAppSpecEnvArrayOutput { + return i.ToGetAppSpecEnvArrayOutputWithContext(context.Background()) +} + +func (i GetAppSpecEnvArray) ToGetAppSpecEnvArrayOutputWithContext(ctx context.Context) GetAppSpecEnvArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecEnvArrayOutput) +} + +type GetAppSpecEnvOutput struct{ *pulumi.OutputState } + +func (GetAppSpecEnvOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecEnv)(nil)).Elem() +} + +func (o GetAppSpecEnvOutput) ToGetAppSpecEnvOutput() GetAppSpecEnvOutput { + return o +} + +func (o GetAppSpecEnvOutput) ToGetAppSpecEnvOutputWithContext(ctx context.Context) GetAppSpecEnvOutput { + return o +} + +// The name of the environment variable. +func (o GetAppSpecEnvOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecEnv) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). +func (o GetAppSpecEnvOutput) Scope() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecEnv) *string { return v.Scope }).(pulumi.StringPtrOutput) +} + +// The type of the environment variable, `GENERAL` or `SECRET`. +func (o GetAppSpecEnvOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetAppSpecEnv) string { return v.Type }).(pulumi.StringOutput) +} + +// The value of the environment variable. +func (o GetAppSpecEnvOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecEnv) *string { return v.Value }).(pulumi.StringPtrOutput) +} + +type GetAppSpecEnvArrayOutput struct{ *pulumi.OutputState } + +func (GetAppSpecEnvArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAppSpecEnv)(nil)).Elem() +} + +func (o GetAppSpecEnvArrayOutput) ToGetAppSpecEnvArrayOutput() GetAppSpecEnvArrayOutput { + return o +} + +func (o GetAppSpecEnvArrayOutput) ToGetAppSpecEnvArrayOutputWithContext(ctx context.Context) GetAppSpecEnvArrayOutput { + return o +} + +func (o GetAppSpecEnvArrayOutput) Index(i pulumi.IntInput) GetAppSpecEnvOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAppSpecEnv { + return vs[0].([]GetAppSpecEnv)[vs[1].(int)] + }).(GetAppSpecEnvOutput) +} + +type GetAppSpecJob struct { + Alerts []GetAppSpecJobAlert `pulumi:"alerts"` + // An optional build command to run while building this component from source. + BuildCommand *string `pulumi:"buildCommand"` + // The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. + DockerfilePath *string `pulumi:"dockerfilePath"` + // An environment slug describing the type of this app. + EnvironmentSlug *string `pulumi:"environmentSlug"` + // Describes an environment variable made available to an app competent. + Envs []GetAppSpecJobEnv `pulumi:"envs"` + // A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set. + Git *GetAppSpecJobGit `pulumi:"git"` + // A GitHub repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/github/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. + Github *GetAppSpecJobGithub `pulumi:"github"` + // A Gitlab repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/gitlab/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. + Gitlab *GetAppSpecJobGitlab `pulumi:"gitlab"` + // An image to use as the component's source. Only one of `git`, `github`, `gitlab`, or `image` may be set. + Image *GetAppSpecJobImage `pulumi:"image"` + // The amount of instances that this component should be scaled to. + InstanceCount *int `pulumi:"instanceCount"` + // The instance size to use for this component. + InstanceSizeSlug *string `pulumi:"instanceSizeSlug"` + // The type of job and when it will be run during the deployment process. It may be one of: + // - `UNSPECIFIED`: Default job type, will auto-complete to POST_DEPLOY kind. + // - `PRE_DEPLOY`: Indicates a job that runs before an app deployment. + // - `POST_DEPLOY`: Indicates a job that runs after an app deployment. + // - `FAILED_DEPLOY`: Indicates a job that runs after a component fails to deploy. + Kind *string `pulumi:"kind"` + LogDestinations []GetAppSpecJobLogDestination `pulumi:"logDestinations"` + // The name of the component. + Name string `pulumi:"name"` + // An optional run command to override the component's default. + RunCommand *string `pulumi:"runCommand"` + // An optional path to the working directory to use for the build. + SourceDir *string `pulumi:"sourceDir"` +} + +// GetAppSpecJobInput is an input type that accepts GetAppSpecJobArgs and GetAppSpecJobOutput values. +// You can construct a concrete instance of `GetAppSpecJobInput` via: +// +// GetAppSpecJobArgs{...} +type GetAppSpecJobInput interface { + pulumi.Input + + ToGetAppSpecJobOutput() GetAppSpecJobOutput + ToGetAppSpecJobOutputWithContext(context.Context) GetAppSpecJobOutput +} + +type GetAppSpecJobArgs struct { + Alerts GetAppSpecJobAlertArrayInput `pulumi:"alerts"` + // An optional build command to run while building this component from source. + BuildCommand pulumi.StringPtrInput `pulumi:"buildCommand"` + // The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. + DockerfilePath pulumi.StringPtrInput `pulumi:"dockerfilePath"` + // An environment slug describing the type of this app. + EnvironmentSlug pulumi.StringPtrInput `pulumi:"environmentSlug"` + // Describes an environment variable made available to an app competent. + Envs GetAppSpecJobEnvArrayInput `pulumi:"envs"` + // A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set. + Git GetAppSpecJobGitPtrInput `pulumi:"git"` + // A GitHub repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/github/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. + Github GetAppSpecJobGithubPtrInput `pulumi:"github"` + // A Gitlab repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/gitlab/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. + Gitlab GetAppSpecJobGitlabPtrInput `pulumi:"gitlab"` + // An image to use as the component's source. Only one of `git`, `github`, `gitlab`, or `image` may be set. + Image GetAppSpecJobImagePtrInput `pulumi:"image"` + // The amount of instances that this component should be scaled to. + InstanceCount pulumi.IntPtrInput `pulumi:"instanceCount"` + // The instance size to use for this component. + InstanceSizeSlug pulumi.StringPtrInput `pulumi:"instanceSizeSlug"` + // The type of job and when it will be run during the deployment process. It may be one of: + // - `UNSPECIFIED`: Default job type, will auto-complete to POST_DEPLOY kind. + // - `PRE_DEPLOY`: Indicates a job that runs before an app deployment. + // - `POST_DEPLOY`: Indicates a job that runs after an app deployment. + // - `FAILED_DEPLOY`: Indicates a job that runs after a component fails to deploy. + Kind pulumi.StringPtrInput `pulumi:"kind"` + LogDestinations GetAppSpecJobLogDestinationArrayInput `pulumi:"logDestinations"` + // The name of the component. + Name pulumi.StringInput `pulumi:"name"` + // An optional run command to override the component's default. + RunCommand pulumi.StringPtrInput `pulumi:"runCommand"` + // An optional path to the working directory to use for the build. + SourceDir pulumi.StringPtrInput `pulumi:"sourceDir"` +} + +func (GetAppSpecJobArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecJob)(nil)).Elem() +} + +func (i GetAppSpecJobArgs) ToGetAppSpecJobOutput() GetAppSpecJobOutput { + return i.ToGetAppSpecJobOutputWithContext(context.Background()) +} + +func (i GetAppSpecJobArgs) ToGetAppSpecJobOutputWithContext(ctx context.Context) GetAppSpecJobOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecJobOutput) +} + +// GetAppSpecJobArrayInput is an input type that accepts GetAppSpecJobArray and GetAppSpecJobArrayOutput values. +// You can construct a concrete instance of `GetAppSpecJobArrayInput` via: +// +// GetAppSpecJobArray{ GetAppSpecJobArgs{...} } +type GetAppSpecJobArrayInput interface { + pulumi.Input + + ToGetAppSpecJobArrayOutput() GetAppSpecJobArrayOutput + ToGetAppSpecJobArrayOutputWithContext(context.Context) GetAppSpecJobArrayOutput +} + +type GetAppSpecJobArray []GetAppSpecJobInput + +func (GetAppSpecJobArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAppSpecJob)(nil)).Elem() +} + +func (i GetAppSpecJobArray) ToGetAppSpecJobArrayOutput() GetAppSpecJobArrayOutput { + return i.ToGetAppSpecJobArrayOutputWithContext(context.Background()) +} + +func (i GetAppSpecJobArray) ToGetAppSpecJobArrayOutputWithContext(ctx context.Context) GetAppSpecJobArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecJobArrayOutput) +} + +type GetAppSpecJobOutput struct{ *pulumi.OutputState } + +func (GetAppSpecJobOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecJob)(nil)).Elem() +} + +func (o GetAppSpecJobOutput) ToGetAppSpecJobOutput() GetAppSpecJobOutput { + return o +} + +func (o GetAppSpecJobOutput) ToGetAppSpecJobOutputWithContext(ctx context.Context) GetAppSpecJobOutput { + return o +} + +func (o GetAppSpecJobOutput) Alerts() GetAppSpecJobAlertArrayOutput { + return o.ApplyT(func(v GetAppSpecJob) []GetAppSpecJobAlert { return v.Alerts }).(GetAppSpecJobAlertArrayOutput) +} + +// An optional build command to run while building this component from source. +func (o GetAppSpecJobOutput) BuildCommand() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecJob) *string { return v.BuildCommand }).(pulumi.StringPtrOutput) +} + +// The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. +func (o GetAppSpecJobOutput) DockerfilePath() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecJob) *string { return v.DockerfilePath }).(pulumi.StringPtrOutput) +} + +// An environment slug describing the type of this app. +func (o GetAppSpecJobOutput) EnvironmentSlug() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecJob) *string { return v.EnvironmentSlug }).(pulumi.StringPtrOutput) +} + +// Describes an environment variable made available to an app competent. +func (o GetAppSpecJobOutput) Envs() GetAppSpecJobEnvArrayOutput { + return o.ApplyT(func(v GetAppSpecJob) []GetAppSpecJobEnv { return v.Envs }).(GetAppSpecJobEnvArrayOutput) +} + +// A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set. +func (o GetAppSpecJobOutput) Git() GetAppSpecJobGitPtrOutput { + return o.ApplyT(func(v GetAppSpecJob) *GetAppSpecJobGit { return v.Git }).(GetAppSpecJobGitPtrOutput) +} + +// A GitHub repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/github/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. +func (o GetAppSpecJobOutput) Github() GetAppSpecJobGithubPtrOutput { + return o.ApplyT(func(v GetAppSpecJob) *GetAppSpecJobGithub { return v.Github }).(GetAppSpecJobGithubPtrOutput) +} + +// A Gitlab repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/gitlab/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. +func (o GetAppSpecJobOutput) Gitlab() GetAppSpecJobGitlabPtrOutput { + return o.ApplyT(func(v GetAppSpecJob) *GetAppSpecJobGitlab { return v.Gitlab }).(GetAppSpecJobGitlabPtrOutput) +} + +// An image to use as the component's source. Only one of `git`, `github`, `gitlab`, or `image` may be set. +func (o GetAppSpecJobOutput) Image() GetAppSpecJobImagePtrOutput { + return o.ApplyT(func(v GetAppSpecJob) *GetAppSpecJobImage { return v.Image }).(GetAppSpecJobImagePtrOutput) +} + +// The amount of instances that this component should be scaled to. +func (o GetAppSpecJobOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetAppSpecJob) *int { return v.InstanceCount }).(pulumi.IntPtrOutput) +} + +// The instance size to use for this component. +func (o GetAppSpecJobOutput) InstanceSizeSlug() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecJob) *string { return v.InstanceSizeSlug }).(pulumi.StringPtrOutput) +} + +// The type of job and when it will be run during the deployment process. It may be one of: +// - `UNSPECIFIED`: Default job type, will auto-complete to POST_DEPLOY kind. +// - `PRE_DEPLOY`: Indicates a job that runs before an app deployment. +// - `POST_DEPLOY`: Indicates a job that runs after an app deployment. +// - `FAILED_DEPLOY`: Indicates a job that runs after a component fails to deploy. +func (o GetAppSpecJobOutput) Kind() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecJob) *string { return v.Kind }).(pulumi.StringPtrOutput) +} + +func (o GetAppSpecJobOutput) LogDestinations() GetAppSpecJobLogDestinationArrayOutput { + return o.ApplyT(func(v GetAppSpecJob) []GetAppSpecJobLogDestination { return v.LogDestinations }).(GetAppSpecJobLogDestinationArrayOutput) +} + +// The name of the component. +func (o GetAppSpecJobOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetAppSpecJob) string { return v.Name }).(pulumi.StringOutput) +} + +// An optional run command to override the component's default. +func (o GetAppSpecJobOutput) RunCommand() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecJob) *string { return v.RunCommand }).(pulumi.StringPtrOutput) +} + +// An optional path to the working directory to use for the build. +func (o GetAppSpecJobOutput) SourceDir() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecJob) *string { return v.SourceDir }).(pulumi.StringPtrOutput) +} + +type GetAppSpecJobArrayOutput struct{ *pulumi.OutputState } + +func (GetAppSpecJobArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAppSpecJob)(nil)).Elem() +} + +func (o GetAppSpecJobArrayOutput) ToGetAppSpecJobArrayOutput() GetAppSpecJobArrayOutput { + return o +} + +func (o GetAppSpecJobArrayOutput) ToGetAppSpecJobArrayOutputWithContext(ctx context.Context) GetAppSpecJobArrayOutput { + return o +} + +func (o GetAppSpecJobArrayOutput) Index(i pulumi.IntInput) GetAppSpecJobOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAppSpecJob { + return vs[0].([]GetAppSpecJob)[vs[1].(int)] + }).(GetAppSpecJobOutput) +} + +type GetAppSpecJobAlert struct { + Disabled *bool `pulumi:"disabled"` + Operator string `pulumi:"operator"` + Rule string `pulumi:"rule"` + // The value of the environment variable. + Value float64 `pulumi:"value"` + Window string `pulumi:"window"` +} + +// GetAppSpecJobAlertInput is an input type that accepts GetAppSpecJobAlertArgs and GetAppSpecJobAlertOutput values. +// You can construct a concrete instance of `GetAppSpecJobAlertInput` via: +// +// GetAppSpecJobAlertArgs{...} +type GetAppSpecJobAlertInput interface { + pulumi.Input + + ToGetAppSpecJobAlertOutput() GetAppSpecJobAlertOutput + ToGetAppSpecJobAlertOutputWithContext(context.Context) GetAppSpecJobAlertOutput +} + +type GetAppSpecJobAlertArgs struct { + Disabled pulumi.BoolPtrInput `pulumi:"disabled"` + Operator pulumi.StringInput `pulumi:"operator"` + Rule pulumi.StringInput `pulumi:"rule"` + // The value of the environment variable. + Value pulumi.Float64Input `pulumi:"value"` + Window pulumi.StringInput `pulumi:"window"` +} + +func (GetAppSpecJobAlertArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecJobAlert)(nil)).Elem() +} + +func (i GetAppSpecJobAlertArgs) ToGetAppSpecJobAlertOutput() GetAppSpecJobAlertOutput { + return i.ToGetAppSpecJobAlertOutputWithContext(context.Background()) +} + +func (i GetAppSpecJobAlertArgs) ToGetAppSpecJobAlertOutputWithContext(ctx context.Context) GetAppSpecJobAlertOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecJobAlertOutput) +} + +// GetAppSpecJobAlertArrayInput is an input type that accepts GetAppSpecJobAlertArray and GetAppSpecJobAlertArrayOutput values. +// You can construct a concrete instance of `GetAppSpecJobAlertArrayInput` via: +// +// GetAppSpecJobAlertArray{ GetAppSpecJobAlertArgs{...} } +type GetAppSpecJobAlertArrayInput interface { + pulumi.Input + + ToGetAppSpecJobAlertArrayOutput() GetAppSpecJobAlertArrayOutput + ToGetAppSpecJobAlertArrayOutputWithContext(context.Context) GetAppSpecJobAlertArrayOutput +} + +type GetAppSpecJobAlertArray []GetAppSpecJobAlertInput + +func (GetAppSpecJobAlertArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAppSpecJobAlert)(nil)).Elem() +} + +func (i GetAppSpecJobAlertArray) ToGetAppSpecJobAlertArrayOutput() GetAppSpecJobAlertArrayOutput { + return i.ToGetAppSpecJobAlertArrayOutputWithContext(context.Background()) +} + +func (i GetAppSpecJobAlertArray) ToGetAppSpecJobAlertArrayOutputWithContext(ctx context.Context) GetAppSpecJobAlertArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecJobAlertArrayOutput) +} + +type GetAppSpecJobAlertOutput struct{ *pulumi.OutputState } + +func (GetAppSpecJobAlertOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecJobAlert)(nil)).Elem() +} + +func (o GetAppSpecJobAlertOutput) ToGetAppSpecJobAlertOutput() GetAppSpecJobAlertOutput { + return o +} + +func (o GetAppSpecJobAlertOutput) ToGetAppSpecJobAlertOutputWithContext(ctx context.Context) GetAppSpecJobAlertOutput { + return o +} + +func (o GetAppSpecJobAlertOutput) Disabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GetAppSpecJobAlert) *bool { return v.Disabled }).(pulumi.BoolPtrOutput) +} + +func (o GetAppSpecJobAlertOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v GetAppSpecJobAlert) string { return v.Operator }).(pulumi.StringOutput) +} + +func (o GetAppSpecJobAlertOutput) Rule() pulumi.StringOutput { + return o.ApplyT(func(v GetAppSpecJobAlert) string { return v.Rule }).(pulumi.StringOutput) +} + +// The value of the environment variable. +func (o GetAppSpecJobAlertOutput) Value() pulumi.Float64Output { + return o.ApplyT(func(v GetAppSpecJobAlert) float64 { return v.Value }).(pulumi.Float64Output) +} + +func (o GetAppSpecJobAlertOutput) Window() pulumi.StringOutput { + return o.ApplyT(func(v GetAppSpecJobAlert) string { return v.Window }).(pulumi.StringOutput) +} + +type GetAppSpecJobAlertArrayOutput struct{ *pulumi.OutputState } + +func (GetAppSpecJobAlertArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAppSpecJobAlert)(nil)).Elem() +} + +func (o GetAppSpecJobAlertArrayOutput) ToGetAppSpecJobAlertArrayOutput() GetAppSpecJobAlertArrayOutput { + return o +} + +func (o GetAppSpecJobAlertArrayOutput) ToGetAppSpecJobAlertArrayOutputWithContext(ctx context.Context) GetAppSpecJobAlertArrayOutput { + return o +} + +func (o GetAppSpecJobAlertArrayOutput) Index(i pulumi.IntInput) GetAppSpecJobAlertOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAppSpecJobAlert { + return vs[0].([]GetAppSpecJobAlert)[vs[1].(int)] + }).(GetAppSpecJobAlertOutput) +} + +type GetAppSpecJobEnv struct { + // The name of the environment variable. + Key *string `pulumi:"key"` + // The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). + Scope *string `pulumi:"scope"` + // The type of the environment variable, `GENERAL` or `SECRET`. + Type string `pulumi:"type"` + // The value of the environment variable. + Value *string `pulumi:"value"` +} + +// GetAppSpecJobEnvInput is an input type that accepts GetAppSpecJobEnvArgs and GetAppSpecJobEnvOutput values. +// You can construct a concrete instance of `GetAppSpecJobEnvInput` via: +// +// GetAppSpecJobEnvArgs{...} +type GetAppSpecJobEnvInput interface { + pulumi.Input + + ToGetAppSpecJobEnvOutput() GetAppSpecJobEnvOutput + ToGetAppSpecJobEnvOutputWithContext(context.Context) GetAppSpecJobEnvOutput +} + +type GetAppSpecJobEnvArgs struct { + // The name of the environment variable. + Key pulumi.StringPtrInput `pulumi:"key"` + // The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). + Scope pulumi.StringPtrInput `pulumi:"scope"` + // The type of the environment variable, `GENERAL` or `SECRET`. + Type pulumi.StringInput `pulumi:"type"` + // The value of the environment variable. + Value pulumi.StringPtrInput `pulumi:"value"` +} + +func (GetAppSpecJobEnvArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecJobEnv)(nil)).Elem() +} + +func (i GetAppSpecJobEnvArgs) ToGetAppSpecJobEnvOutput() GetAppSpecJobEnvOutput { + return i.ToGetAppSpecJobEnvOutputWithContext(context.Background()) +} + +func (i GetAppSpecJobEnvArgs) ToGetAppSpecJobEnvOutputWithContext(ctx context.Context) GetAppSpecJobEnvOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecJobEnvOutput) +} + +// GetAppSpecJobEnvArrayInput is an input type that accepts GetAppSpecJobEnvArray and GetAppSpecJobEnvArrayOutput values. +// You can construct a concrete instance of `GetAppSpecJobEnvArrayInput` via: +// +// GetAppSpecJobEnvArray{ GetAppSpecJobEnvArgs{...} } +type GetAppSpecJobEnvArrayInput interface { + pulumi.Input + + ToGetAppSpecJobEnvArrayOutput() GetAppSpecJobEnvArrayOutput + ToGetAppSpecJobEnvArrayOutputWithContext(context.Context) GetAppSpecJobEnvArrayOutput +} + +type GetAppSpecJobEnvArray []GetAppSpecJobEnvInput + +func (GetAppSpecJobEnvArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAppSpecJobEnv)(nil)).Elem() +} + +func (i GetAppSpecJobEnvArray) ToGetAppSpecJobEnvArrayOutput() GetAppSpecJobEnvArrayOutput { + return i.ToGetAppSpecJobEnvArrayOutputWithContext(context.Background()) +} + +func (i GetAppSpecJobEnvArray) ToGetAppSpecJobEnvArrayOutputWithContext(ctx context.Context) GetAppSpecJobEnvArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecJobEnvArrayOutput) +} + +type GetAppSpecJobEnvOutput struct{ *pulumi.OutputState } + +func (GetAppSpecJobEnvOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecJobEnv)(nil)).Elem() +} + +func (o GetAppSpecJobEnvOutput) ToGetAppSpecJobEnvOutput() GetAppSpecJobEnvOutput { + return o +} + +func (o GetAppSpecJobEnvOutput) ToGetAppSpecJobEnvOutputWithContext(ctx context.Context) GetAppSpecJobEnvOutput { + return o +} + +// The name of the environment variable. +func (o GetAppSpecJobEnvOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecJobEnv) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). +func (o GetAppSpecJobEnvOutput) Scope() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecJobEnv) *string { return v.Scope }).(pulumi.StringPtrOutput) +} + +// The type of the environment variable, `GENERAL` or `SECRET`. +func (o GetAppSpecJobEnvOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetAppSpecJobEnv) string { return v.Type }).(pulumi.StringOutput) +} + +// The value of the environment variable. +func (o GetAppSpecJobEnvOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecJobEnv) *string { return v.Value }).(pulumi.StringPtrOutput) +} + +type GetAppSpecJobEnvArrayOutput struct{ *pulumi.OutputState } + +func (GetAppSpecJobEnvArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAppSpecJobEnv)(nil)).Elem() +} + +func (o GetAppSpecJobEnvArrayOutput) ToGetAppSpecJobEnvArrayOutput() GetAppSpecJobEnvArrayOutput { + return o +} + +func (o GetAppSpecJobEnvArrayOutput) ToGetAppSpecJobEnvArrayOutputWithContext(ctx context.Context) GetAppSpecJobEnvArrayOutput { + return o +} + +func (o GetAppSpecJobEnvArrayOutput) Index(i pulumi.IntInput) GetAppSpecJobEnvOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAppSpecJobEnv { + return vs[0].([]GetAppSpecJobEnv)[vs[1].(int)] + }).(GetAppSpecJobEnvOutput) +} + +type GetAppSpecJobGit struct { + // The name of the branch to use. + Branch *string `pulumi:"branch"` + // The clone URL of the repo. + RepoCloneUrl *string `pulumi:"repoCloneUrl"` +} + +// GetAppSpecJobGitInput is an input type that accepts GetAppSpecJobGitArgs and GetAppSpecJobGitOutput values. +// You can construct a concrete instance of `GetAppSpecJobGitInput` via: +// +// GetAppSpecJobGitArgs{...} +type GetAppSpecJobGitInput interface { + pulumi.Input + + ToGetAppSpecJobGitOutput() GetAppSpecJobGitOutput + ToGetAppSpecJobGitOutputWithContext(context.Context) GetAppSpecJobGitOutput +} + +type GetAppSpecJobGitArgs struct { + // The name of the branch to use. + Branch pulumi.StringPtrInput `pulumi:"branch"` + // The clone URL of the repo. + RepoCloneUrl pulumi.StringPtrInput `pulumi:"repoCloneUrl"` +} + +func (GetAppSpecJobGitArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecJobGit)(nil)).Elem() +} + +func (i GetAppSpecJobGitArgs) ToGetAppSpecJobGitOutput() GetAppSpecJobGitOutput { + return i.ToGetAppSpecJobGitOutputWithContext(context.Background()) +} + +func (i GetAppSpecJobGitArgs) ToGetAppSpecJobGitOutputWithContext(ctx context.Context) GetAppSpecJobGitOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecJobGitOutput) +} + +func (i GetAppSpecJobGitArgs) ToGetAppSpecJobGitPtrOutput() GetAppSpecJobGitPtrOutput { + return i.ToGetAppSpecJobGitPtrOutputWithContext(context.Background()) +} + +func (i GetAppSpecJobGitArgs) ToGetAppSpecJobGitPtrOutputWithContext(ctx context.Context) GetAppSpecJobGitPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecJobGitOutput).ToGetAppSpecJobGitPtrOutputWithContext(ctx) +} + +// GetAppSpecJobGitPtrInput is an input type that accepts GetAppSpecJobGitArgs, GetAppSpecJobGitPtr and GetAppSpecJobGitPtrOutput values. +// You can construct a concrete instance of `GetAppSpecJobGitPtrInput` via: +// +// GetAppSpecJobGitArgs{...} +// +// or: +// +// nil +type GetAppSpecJobGitPtrInput interface { + pulumi.Input + + ToGetAppSpecJobGitPtrOutput() GetAppSpecJobGitPtrOutput + ToGetAppSpecJobGitPtrOutputWithContext(context.Context) GetAppSpecJobGitPtrOutput +} + +type getAppSpecJobGitPtrType GetAppSpecJobGitArgs + +func GetAppSpecJobGitPtr(v *GetAppSpecJobGitArgs) GetAppSpecJobGitPtrInput { + return (*getAppSpecJobGitPtrType)(v) +} + +func (*getAppSpecJobGitPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecJobGit)(nil)).Elem() +} + +func (i *getAppSpecJobGitPtrType) ToGetAppSpecJobGitPtrOutput() GetAppSpecJobGitPtrOutput { + return i.ToGetAppSpecJobGitPtrOutputWithContext(context.Background()) +} + +func (i *getAppSpecJobGitPtrType) ToGetAppSpecJobGitPtrOutputWithContext(ctx context.Context) GetAppSpecJobGitPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecJobGitPtrOutput) +} + +type GetAppSpecJobGitOutput struct{ *pulumi.OutputState } + +func (GetAppSpecJobGitOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecJobGit)(nil)).Elem() +} + +func (o GetAppSpecJobGitOutput) ToGetAppSpecJobGitOutput() GetAppSpecJobGitOutput { + return o +} + +func (o GetAppSpecJobGitOutput) ToGetAppSpecJobGitOutputWithContext(ctx context.Context) GetAppSpecJobGitOutput { + return o +} + +func (o GetAppSpecJobGitOutput) ToGetAppSpecJobGitPtrOutput() GetAppSpecJobGitPtrOutput { + return o.ToGetAppSpecJobGitPtrOutputWithContext(context.Background()) +} + +func (o GetAppSpecJobGitOutput) ToGetAppSpecJobGitPtrOutputWithContext(ctx context.Context) GetAppSpecJobGitPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecJobGit) *GetAppSpecJobGit { + return &v + }).(GetAppSpecJobGitPtrOutput) +} + +// The name of the branch to use. +func (o GetAppSpecJobGitOutput) Branch() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecJobGit) *string { return v.Branch }).(pulumi.StringPtrOutput) +} + +// The clone URL of the repo. +func (o GetAppSpecJobGitOutput) RepoCloneUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecJobGit) *string { return v.RepoCloneUrl }).(pulumi.StringPtrOutput) +} + +type GetAppSpecJobGitPtrOutput struct{ *pulumi.OutputState } + +func (GetAppSpecJobGitPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecJobGit)(nil)).Elem() +} + +func (o GetAppSpecJobGitPtrOutput) ToGetAppSpecJobGitPtrOutput() GetAppSpecJobGitPtrOutput { + return o +} + +func (o GetAppSpecJobGitPtrOutput) ToGetAppSpecJobGitPtrOutputWithContext(ctx context.Context) GetAppSpecJobGitPtrOutput { + return o +} + +func (o GetAppSpecJobGitPtrOutput) Elem() GetAppSpecJobGitOutput { + return o.ApplyT(func(v *GetAppSpecJobGit) GetAppSpecJobGit { + if v != nil { + return *v + } + var ret GetAppSpecJobGit + return ret + }).(GetAppSpecJobGitOutput) +} + +// The name of the branch to use. +func (o GetAppSpecJobGitPtrOutput) Branch() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecJobGit) *string { + if v == nil { + return nil + } + return v.Branch + }).(pulumi.StringPtrOutput) +} + +// The clone URL of the repo. +func (o GetAppSpecJobGitPtrOutput) RepoCloneUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecJobGit) *string { + if v == nil { + return nil + } + return v.RepoCloneUrl + }).(pulumi.StringPtrOutput) +} + +type GetAppSpecJobGithub struct { + // The name of the branch to use. + Branch *string `pulumi:"branch"` + // Whether to automatically deploy new commits made to the repo. + DeployOnPush *bool `pulumi:"deployOnPush"` + // The name of the repo in the format `owner/repo`. + Repo *string `pulumi:"repo"` +} + +// GetAppSpecJobGithubInput is an input type that accepts GetAppSpecJobGithubArgs and GetAppSpecJobGithubOutput values. +// You can construct a concrete instance of `GetAppSpecJobGithubInput` via: +// +// GetAppSpecJobGithubArgs{...} +type GetAppSpecJobGithubInput interface { + pulumi.Input + + ToGetAppSpecJobGithubOutput() GetAppSpecJobGithubOutput + ToGetAppSpecJobGithubOutputWithContext(context.Context) GetAppSpecJobGithubOutput +} + +type GetAppSpecJobGithubArgs struct { + // The name of the branch to use. + Branch pulumi.StringPtrInput `pulumi:"branch"` + // Whether to automatically deploy new commits made to the repo. + DeployOnPush pulumi.BoolPtrInput `pulumi:"deployOnPush"` + // The name of the repo in the format `owner/repo`. + Repo pulumi.StringPtrInput `pulumi:"repo"` +} + +func (GetAppSpecJobGithubArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecJobGithub)(nil)).Elem() +} + +func (i GetAppSpecJobGithubArgs) ToGetAppSpecJobGithubOutput() GetAppSpecJobGithubOutput { + return i.ToGetAppSpecJobGithubOutputWithContext(context.Background()) +} + +func (i GetAppSpecJobGithubArgs) ToGetAppSpecJobGithubOutputWithContext(ctx context.Context) GetAppSpecJobGithubOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecJobGithubOutput) +} + +func (i GetAppSpecJobGithubArgs) ToGetAppSpecJobGithubPtrOutput() GetAppSpecJobGithubPtrOutput { + return i.ToGetAppSpecJobGithubPtrOutputWithContext(context.Background()) +} + +func (i GetAppSpecJobGithubArgs) ToGetAppSpecJobGithubPtrOutputWithContext(ctx context.Context) GetAppSpecJobGithubPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecJobGithubOutput).ToGetAppSpecJobGithubPtrOutputWithContext(ctx) +} + +// GetAppSpecJobGithubPtrInput is an input type that accepts GetAppSpecJobGithubArgs, GetAppSpecJobGithubPtr and GetAppSpecJobGithubPtrOutput values. +// You can construct a concrete instance of `GetAppSpecJobGithubPtrInput` via: +// +// GetAppSpecJobGithubArgs{...} +// +// or: +// +// nil +type GetAppSpecJobGithubPtrInput interface { + pulumi.Input + + ToGetAppSpecJobGithubPtrOutput() GetAppSpecJobGithubPtrOutput + ToGetAppSpecJobGithubPtrOutputWithContext(context.Context) GetAppSpecJobGithubPtrOutput +} + +type getAppSpecJobGithubPtrType GetAppSpecJobGithubArgs + +func GetAppSpecJobGithubPtr(v *GetAppSpecJobGithubArgs) GetAppSpecJobGithubPtrInput { + return (*getAppSpecJobGithubPtrType)(v) +} + +func (*getAppSpecJobGithubPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecJobGithub)(nil)).Elem() +} + +func (i *getAppSpecJobGithubPtrType) ToGetAppSpecJobGithubPtrOutput() GetAppSpecJobGithubPtrOutput { + return i.ToGetAppSpecJobGithubPtrOutputWithContext(context.Background()) +} + +func (i *getAppSpecJobGithubPtrType) ToGetAppSpecJobGithubPtrOutputWithContext(ctx context.Context) GetAppSpecJobGithubPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecJobGithubPtrOutput) +} + +type GetAppSpecJobGithubOutput struct{ *pulumi.OutputState } + +func (GetAppSpecJobGithubOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecJobGithub)(nil)).Elem() +} + +func (o GetAppSpecJobGithubOutput) ToGetAppSpecJobGithubOutput() GetAppSpecJobGithubOutput { + return o +} + +func (o GetAppSpecJobGithubOutput) ToGetAppSpecJobGithubOutputWithContext(ctx context.Context) GetAppSpecJobGithubOutput { + return o +} + +func (o GetAppSpecJobGithubOutput) ToGetAppSpecJobGithubPtrOutput() GetAppSpecJobGithubPtrOutput { + return o.ToGetAppSpecJobGithubPtrOutputWithContext(context.Background()) +} + +func (o GetAppSpecJobGithubOutput) ToGetAppSpecJobGithubPtrOutputWithContext(ctx context.Context) GetAppSpecJobGithubPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecJobGithub) *GetAppSpecJobGithub { + return &v + }).(GetAppSpecJobGithubPtrOutput) +} + +// The name of the branch to use. +func (o GetAppSpecJobGithubOutput) Branch() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecJobGithub) *string { return v.Branch }).(pulumi.StringPtrOutput) +} + +// Whether to automatically deploy new commits made to the repo. +func (o GetAppSpecJobGithubOutput) DeployOnPush() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GetAppSpecJobGithub) *bool { return v.DeployOnPush }).(pulumi.BoolPtrOutput) +} + +// The name of the repo in the format `owner/repo`. +func (o GetAppSpecJobGithubOutput) Repo() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecJobGithub) *string { return v.Repo }).(pulumi.StringPtrOutput) +} + +type GetAppSpecJobGithubPtrOutput struct{ *pulumi.OutputState } + +func (GetAppSpecJobGithubPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecJobGithub)(nil)).Elem() +} + +func (o GetAppSpecJobGithubPtrOutput) ToGetAppSpecJobGithubPtrOutput() GetAppSpecJobGithubPtrOutput { + return o +} + +func (o GetAppSpecJobGithubPtrOutput) ToGetAppSpecJobGithubPtrOutputWithContext(ctx context.Context) GetAppSpecJobGithubPtrOutput { + return o +} + +func (o GetAppSpecJobGithubPtrOutput) Elem() GetAppSpecJobGithubOutput { + return o.ApplyT(func(v *GetAppSpecJobGithub) GetAppSpecJobGithub { + if v != nil { + return *v + } + var ret GetAppSpecJobGithub + return ret + }).(GetAppSpecJobGithubOutput) +} + +// The name of the branch to use. +func (o GetAppSpecJobGithubPtrOutput) Branch() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecJobGithub) *string { + if v == nil { + return nil + } + return v.Branch + }).(pulumi.StringPtrOutput) +} + +// Whether to automatically deploy new commits made to the repo. +func (o GetAppSpecJobGithubPtrOutput) DeployOnPush() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *GetAppSpecJobGithub) *bool { + if v == nil { + return nil + } + return v.DeployOnPush + }).(pulumi.BoolPtrOutput) +} + +// The name of the repo in the format `owner/repo`. +func (o GetAppSpecJobGithubPtrOutput) Repo() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecJobGithub) *string { + if v == nil { + return nil + } + return v.Repo + }).(pulumi.StringPtrOutput) +} + +type GetAppSpecJobGitlab struct { + // The name of the branch to use. + Branch *string `pulumi:"branch"` + // Whether to automatically deploy new commits made to the repo. + DeployOnPush *bool `pulumi:"deployOnPush"` + // The name of the repo in the format `owner/repo`. + Repo *string `pulumi:"repo"` +} + +// GetAppSpecJobGitlabInput is an input type that accepts GetAppSpecJobGitlabArgs and GetAppSpecJobGitlabOutput values. +// You can construct a concrete instance of `GetAppSpecJobGitlabInput` via: +// +// GetAppSpecJobGitlabArgs{...} +type GetAppSpecJobGitlabInput interface { + pulumi.Input + + ToGetAppSpecJobGitlabOutput() GetAppSpecJobGitlabOutput + ToGetAppSpecJobGitlabOutputWithContext(context.Context) GetAppSpecJobGitlabOutput +} + +type GetAppSpecJobGitlabArgs struct { + // The name of the branch to use. + Branch pulumi.StringPtrInput `pulumi:"branch"` + // Whether to automatically deploy new commits made to the repo. + DeployOnPush pulumi.BoolPtrInput `pulumi:"deployOnPush"` + // The name of the repo in the format `owner/repo`. + Repo pulumi.StringPtrInput `pulumi:"repo"` +} + +func (GetAppSpecJobGitlabArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecJobGitlab)(nil)).Elem() +} + +func (i GetAppSpecJobGitlabArgs) ToGetAppSpecJobGitlabOutput() GetAppSpecJobGitlabOutput { + return i.ToGetAppSpecJobGitlabOutputWithContext(context.Background()) +} + +func (i GetAppSpecJobGitlabArgs) ToGetAppSpecJobGitlabOutputWithContext(ctx context.Context) GetAppSpecJobGitlabOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecJobGitlabOutput) +} + +func (i GetAppSpecJobGitlabArgs) ToGetAppSpecJobGitlabPtrOutput() GetAppSpecJobGitlabPtrOutput { + return i.ToGetAppSpecJobGitlabPtrOutputWithContext(context.Background()) +} + +func (i GetAppSpecJobGitlabArgs) ToGetAppSpecJobGitlabPtrOutputWithContext(ctx context.Context) GetAppSpecJobGitlabPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecJobGitlabOutput).ToGetAppSpecJobGitlabPtrOutputWithContext(ctx) +} + +// GetAppSpecJobGitlabPtrInput is an input type that accepts GetAppSpecJobGitlabArgs, GetAppSpecJobGitlabPtr and GetAppSpecJobGitlabPtrOutput values. +// You can construct a concrete instance of `GetAppSpecJobGitlabPtrInput` via: +// +// GetAppSpecJobGitlabArgs{...} +// +// or: +// +// nil +type GetAppSpecJobGitlabPtrInput interface { + pulumi.Input + + ToGetAppSpecJobGitlabPtrOutput() GetAppSpecJobGitlabPtrOutput + ToGetAppSpecJobGitlabPtrOutputWithContext(context.Context) GetAppSpecJobGitlabPtrOutput +} + +type getAppSpecJobGitlabPtrType GetAppSpecJobGitlabArgs + +func GetAppSpecJobGitlabPtr(v *GetAppSpecJobGitlabArgs) GetAppSpecJobGitlabPtrInput { + return (*getAppSpecJobGitlabPtrType)(v) +} + +func (*getAppSpecJobGitlabPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecJobGitlab)(nil)).Elem() +} + +func (i *getAppSpecJobGitlabPtrType) ToGetAppSpecJobGitlabPtrOutput() GetAppSpecJobGitlabPtrOutput { + return i.ToGetAppSpecJobGitlabPtrOutputWithContext(context.Background()) +} + +func (i *getAppSpecJobGitlabPtrType) ToGetAppSpecJobGitlabPtrOutputWithContext(ctx context.Context) GetAppSpecJobGitlabPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecJobGitlabPtrOutput) +} + +type GetAppSpecJobGitlabOutput struct{ *pulumi.OutputState } + +func (GetAppSpecJobGitlabOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecJobGitlab)(nil)).Elem() +} + +func (o GetAppSpecJobGitlabOutput) ToGetAppSpecJobGitlabOutput() GetAppSpecJobGitlabOutput { + return o +} + +func (o GetAppSpecJobGitlabOutput) ToGetAppSpecJobGitlabOutputWithContext(ctx context.Context) GetAppSpecJobGitlabOutput { + return o +} + +func (o GetAppSpecJobGitlabOutput) ToGetAppSpecJobGitlabPtrOutput() GetAppSpecJobGitlabPtrOutput { + return o.ToGetAppSpecJobGitlabPtrOutputWithContext(context.Background()) +} + +func (o GetAppSpecJobGitlabOutput) ToGetAppSpecJobGitlabPtrOutputWithContext(ctx context.Context) GetAppSpecJobGitlabPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecJobGitlab) *GetAppSpecJobGitlab { + return &v + }).(GetAppSpecJobGitlabPtrOutput) +} + +// The name of the branch to use. +func (o GetAppSpecJobGitlabOutput) Branch() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecJobGitlab) *string { return v.Branch }).(pulumi.StringPtrOutput) +} + +// Whether to automatically deploy new commits made to the repo. +func (o GetAppSpecJobGitlabOutput) DeployOnPush() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GetAppSpecJobGitlab) *bool { return v.DeployOnPush }).(pulumi.BoolPtrOutput) +} + +// The name of the repo in the format `owner/repo`. +func (o GetAppSpecJobGitlabOutput) Repo() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecJobGitlab) *string { return v.Repo }).(pulumi.StringPtrOutput) +} + +type GetAppSpecJobGitlabPtrOutput struct{ *pulumi.OutputState } + +func (GetAppSpecJobGitlabPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecJobGitlab)(nil)).Elem() +} + +func (o GetAppSpecJobGitlabPtrOutput) ToGetAppSpecJobGitlabPtrOutput() GetAppSpecJobGitlabPtrOutput { + return o +} + +func (o GetAppSpecJobGitlabPtrOutput) ToGetAppSpecJobGitlabPtrOutputWithContext(ctx context.Context) GetAppSpecJobGitlabPtrOutput { + return o +} + +func (o GetAppSpecJobGitlabPtrOutput) Elem() GetAppSpecJobGitlabOutput { + return o.ApplyT(func(v *GetAppSpecJobGitlab) GetAppSpecJobGitlab { + if v != nil { + return *v + } + var ret GetAppSpecJobGitlab + return ret + }).(GetAppSpecJobGitlabOutput) +} + +// The name of the branch to use. +func (o GetAppSpecJobGitlabPtrOutput) Branch() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecJobGitlab) *string { + if v == nil { + return nil + } + return v.Branch + }).(pulumi.StringPtrOutput) +} + +// Whether to automatically deploy new commits made to the repo. +func (o GetAppSpecJobGitlabPtrOutput) DeployOnPush() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *GetAppSpecJobGitlab) *bool { + if v == nil { + return nil + } + return v.DeployOnPush + }).(pulumi.BoolPtrOutput) +} + +// The name of the repo in the format `owner/repo`. +func (o GetAppSpecJobGitlabPtrOutput) Repo() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecJobGitlab) *string { + if v == nil { + return nil + } + return v.Repo + }).(pulumi.StringPtrOutput) +} + +type GetAppSpecJobImage struct { + // The registry name. Must be left empty for the `DOCR` registry type. Required for the `DOCKER_HUB` registry type. + Registry *string `pulumi:"registry"` + // The registry type. One of `DOCR` (DigitalOcean container registry) or `DOCKER_HUB`. + RegistryType string `pulumi:"registryType"` + // The repository name. + Repository string `pulumi:"repository"` + // The repository tag. Defaults to `latest` if not provided. + Tag *string `pulumi:"tag"` +} + +// GetAppSpecJobImageInput is an input type that accepts GetAppSpecJobImageArgs and GetAppSpecJobImageOutput values. +// You can construct a concrete instance of `GetAppSpecJobImageInput` via: +// +// GetAppSpecJobImageArgs{...} +type GetAppSpecJobImageInput interface { + pulumi.Input + + ToGetAppSpecJobImageOutput() GetAppSpecJobImageOutput + ToGetAppSpecJobImageOutputWithContext(context.Context) GetAppSpecJobImageOutput +} + +type GetAppSpecJobImageArgs struct { + // The registry name. Must be left empty for the `DOCR` registry type. Required for the `DOCKER_HUB` registry type. + Registry pulumi.StringPtrInput `pulumi:"registry"` + // The registry type. One of `DOCR` (DigitalOcean container registry) or `DOCKER_HUB`. + RegistryType pulumi.StringInput `pulumi:"registryType"` + // The repository name. + Repository pulumi.StringInput `pulumi:"repository"` + // The repository tag. Defaults to `latest` if not provided. + Tag pulumi.StringPtrInput `pulumi:"tag"` +} + +func (GetAppSpecJobImageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecJobImage)(nil)).Elem() +} + +func (i GetAppSpecJobImageArgs) ToGetAppSpecJobImageOutput() GetAppSpecJobImageOutput { + return i.ToGetAppSpecJobImageOutputWithContext(context.Background()) +} + +func (i GetAppSpecJobImageArgs) ToGetAppSpecJobImageOutputWithContext(ctx context.Context) GetAppSpecJobImageOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecJobImageOutput) +} + +func (i GetAppSpecJobImageArgs) ToGetAppSpecJobImagePtrOutput() GetAppSpecJobImagePtrOutput { + return i.ToGetAppSpecJobImagePtrOutputWithContext(context.Background()) +} + +func (i GetAppSpecJobImageArgs) ToGetAppSpecJobImagePtrOutputWithContext(ctx context.Context) GetAppSpecJobImagePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecJobImageOutput).ToGetAppSpecJobImagePtrOutputWithContext(ctx) +} + +// GetAppSpecJobImagePtrInput is an input type that accepts GetAppSpecJobImageArgs, GetAppSpecJobImagePtr and GetAppSpecJobImagePtrOutput values. +// You can construct a concrete instance of `GetAppSpecJobImagePtrInput` via: +// +// GetAppSpecJobImageArgs{...} +// +// or: +// +// nil +type GetAppSpecJobImagePtrInput interface { + pulumi.Input + + ToGetAppSpecJobImagePtrOutput() GetAppSpecJobImagePtrOutput + ToGetAppSpecJobImagePtrOutputWithContext(context.Context) GetAppSpecJobImagePtrOutput +} + +type getAppSpecJobImagePtrType GetAppSpecJobImageArgs + +func GetAppSpecJobImagePtr(v *GetAppSpecJobImageArgs) GetAppSpecJobImagePtrInput { + return (*getAppSpecJobImagePtrType)(v) +} + +func (*getAppSpecJobImagePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecJobImage)(nil)).Elem() +} + +func (i *getAppSpecJobImagePtrType) ToGetAppSpecJobImagePtrOutput() GetAppSpecJobImagePtrOutput { + return i.ToGetAppSpecJobImagePtrOutputWithContext(context.Background()) +} + +func (i *getAppSpecJobImagePtrType) ToGetAppSpecJobImagePtrOutputWithContext(ctx context.Context) GetAppSpecJobImagePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecJobImagePtrOutput) +} + +type GetAppSpecJobImageOutput struct{ *pulumi.OutputState } + +func (GetAppSpecJobImageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecJobImage)(nil)).Elem() +} + +func (o GetAppSpecJobImageOutput) ToGetAppSpecJobImageOutput() GetAppSpecJobImageOutput { + return o +} + +func (o GetAppSpecJobImageOutput) ToGetAppSpecJobImageOutputWithContext(ctx context.Context) GetAppSpecJobImageOutput { + return o +} + +func (o GetAppSpecJobImageOutput) ToGetAppSpecJobImagePtrOutput() GetAppSpecJobImagePtrOutput { + return o.ToGetAppSpecJobImagePtrOutputWithContext(context.Background()) +} + +func (o GetAppSpecJobImageOutput) ToGetAppSpecJobImagePtrOutputWithContext(ctx context.Context) GetAppSpecJobImagePtrOutput { return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecJobImage) *GetAppSpecJobImage { return &v - }).(GetAppSpecJobImagePtrOutput) + }).(GetAppSpecJobImagePtrOutput) +} + +// The registry name. Must be left empty for the `DOCR` registry type. Required for the `DOCKER_HUB` registry type. +func (o GetAppSpecJobImageOutput) Registry() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecJobImage) *string { return v.Registry }).(pulumi.StringPtrOutput) +} + +// The registry type. One of `DOCR` (DigitalOcean container registry) or `DOCKER_HUB`. +func (o GetAppSpecJobImageOutput) RegistryType() pulumi.StringOutput { + return o.ApplyT(func(v GetAppSpecJobImage) string { return v.RegistryType }).(pulumi.StringOutput) +} + +// The repository name. +func (o GetAppSpecJobImageOutput) Repository() pulumi.StringOutput { + return o.ApplyT(func(v GetAppSpecJobImage) string { return v.Repository }).(pulumi.StringOutput) +} + +// The repository tag. Defaults to `latest` if not provided. +func (o GetAppSpecJobImageOutput) Tag() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecJobImage) *string { return v.Tag }).(pulumi.StringPtrOutput) +} + +type GetAppSpecJobImagePtrOutput struct{ *pulumi.OutputState } + +func (GetAppSpecJobImagePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecJobImage)(nil)).Elem() +} + +func (o GetAppSpecJobImagePtrOutput) ToGetAppSpecJobImagePtrOutput() GetAppSpecJobImagePtrOutput { + return o +} + +func (o GetAppSpecJobImagePtrOutput) ToGetAppSpecJobImagePtrOutputWithContext(ctx context.Context) GetAppSpecJobImagePtrOutput { + return o +} + +func (o GetAppSpecJobImagePtrOutput) Elem() GetAppSpecJobImageOutput { + return o.ApplyT(func(v *GetAppSpecJobImage) GetAppSpecJobImage { + if v != nil { + return *v + } + var ret GetAppSpecJobImage + return ret + }).(GetAppSpecJobImageOutput) +} + +// The registry name. Must be left empty for the `DOCR` registry type. Required for the `DOCKER_HUB` registry type. +func (o GetAppSpecJobImagePtrOutput) Registry() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecJobImage) *string { + if v == nil { + return nil + } + return v.Registry + }).(pulumi.StringPtrOutput) +} + +// The registry type. One of `DOCR` (DigitalOcean container registry) or `DOCKER_HUB`. +func (o GetAppSpecJobImagePtrOutput) RegistryType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecJobImage) *string { + if v == nil { + return nil + } + return &v.RegistryType + }).(pulumi.StringPtrOutput) +} + +// The repository name. +func (o GetAppSpecJobImagePtrOutput) Repository() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecJobImage) *string { + if v == nil { + return nil + } + return &v.Repository + }).(pulumi.StringPtrOutput) +} + +// The repository tag. Defaults to `latest` if not provided. +func (o GetAppSpecJobImagePtrOutput) Tag() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecJobImage) *string { + if v == nil { + return nil + } + return v.Tag + }).(pulumi.StringPtrOutput) +} + +type GetAppSpecJobLogDestination struct { + Datadog *GetAppSpecJobLogDestinationDatadog `pulumi:"datadog"` + Logtail *GetAppSpecJobLogDestinationLogtail `pulumi:"logtail"` + // The name of the component. + Name string `pulumi:"name"` + Papertrail *GetAppSpecJobLogDestinationPapertrail `pulumi:"papertrail"` +} + +// GetAppSpecJobLogDestinationInput is an input type that accepts GetAppSpecJobLogDestinationArgs and GetAppSpecJobLogDestinationOutput values. +// You can construct a concrete instance of `GetAppSpecJobLogDestinationInput` via: +// +// GetAppSpecJobLogDestinationArgs{...} +type GetAppSpecJobLogDestinationInput interface { + pulumi.Input + + ToGetAppSpecJobLogDestinationOutput() GetAppSpecJobLogDestinationOutput + ToGetAppSpecJobLogDestinationOutputWithContext(context.Context) GetAppSpecJobLogDestinationOutput +} + +type GetAppSpecJobLogDestinationArgs struct { + Datadog GetAppSpecJobLogDestinationDatadogPtrInput `pulumi:"datadog"` + Logtail GetAppSpecJobLogDestinationLogtailPtrInput `pulumi:"logtail"` + // The name of the component. + Name pulumi.StringInput `pulumi:"name"` + Papertrail GetAppSpecJobLogDestinationPapertrailPtrInput `pulumi:"papertrail"` +} + +func (GetAppSpecJobLogDestinationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecJobLogDestination)(nil)).Elem() +} + +func (i GetAppSpecJobLogDestinationArgs) ToGetAppSpecJobLogDestinationOutput() GetAppSpecJobLogDestinationOutput { + return i.ToGetAppSpecJobLogDestinationOutputWithContext(context.Background()) +} + +func (i GetAppSpecJobLogDestinationArgs) ToGetAppSpecJobLogDestinationOutputWithContext(ctx context.Context) GetAppSpecJobLogDestinationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecJobLogDestinationOutput) +} + +// GetAppSpecJobLogDestinationArrayInput is an input type that accepts GetAppSpecJobLogDestinationArray and GetAppSpecJobLogDestinationArrayOutput values. +// You can construct a concrete instance of `GetAppSpecJobLogDestinationArrayInput` via: +// +// GetAppSpecJobLogDestinationArray{ GetAppSpecJobLogDestinationArgs{...} } +type GetAppSpecJobLogDestinationArrayInput interface { + pulumi.Input + + ToGetAppSpecJobLogDestinationArrayOutput() GetAppSpecJobLogDestinationArrayOutput + ToGetAppSpecJobLogDestinationArrayOutputWithContext(context.Context) GetAppSpecJobLogDestinationArrayOutput +} + +type GetAppSpecJobLogDestinationArray []GetAppSpecJobLogDestinationInput + +func (GetAppSpecJobLogDestinationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAppSpecJobLogDestination)(nil)).Elem() +} + +func (i GetAppSpecJobLogDestinationArray) ToGetAppSpecJobLogDestinationArrayOutput() GetAppSpecJobLogDestinationArrayOutput { + return i.ToGetAppSpecJobLogDestinationArrayOutputWithContext(context.Background()) +} + +func (i GetAppSpecJobLogDestinationArray) ToGetAppSpecJobLogDestinationArrayOutputWithContext(ctx context.Context) GetAppSpecJobLogDestinationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecJobLogDestinationArrayOutput) +} + +type GetAppSpecJobLogDestinationOutput struct{ *pulumi.OutputState } + +func (GetAppSpecJobLogDestinationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecJobLogDestination)(nil)).Elem() +} + +func (o GetAppSpecJobLogDestinationOutput) ToGetAppSpecJobLogDestinationOutput() GetAppSpecJobLogDestinationOutput { + return o +} + +func (o GetAppSpecJobLogDestinationOutput) ToGetAppSpecJobLogDestinationOutputWithContext(ctx context.Context) GetAppSpecJobLogDestinationOutput { + return o +} + +func (o GetAppSpecJobLogDestinationOutput) Datadog() GetAppSpecJobLogDestinationDatadogPtrOutput { + return o.ApplyT(func(v GetAppSpecJobLogDestination) *GetAppSpecJobLogDestinationDatadog { return v.Datadog }).(GetAppSpecJobLogDestinationDatadogPtrOutput) +} + +func (o GetAppSpecJobLogDestinationOutput) Logtail() GetAppSpecJobLogDestinationLogtailPtrOutput { + return o.ApplyT(func(v GetAppSpecJobLogDestination) *GetAppSpecJobLogDestinationLogtail { return v.Logtail }).(GetAppSpecJobLogDestinationLogtailPtrOutput) +} + +// The name of the component. +func (o GetAppSpecJobLogDestinationOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetAppSpecJobLogDestination) string { return v.Name }).(pulumi.StringOutput) +} + +func (o GetAppSpecJobLogDestinationOutput) Papertrail() GetAppSpecJobLogDestinationPapertrailPtrOutput { + return o.ApplyT(func(v GetAppSpecJobLogDestination) *GetAppSpecJobLogDestinationPapertrail { return v.Papertrail }).(GetAppSpecJobLogDestinationPapertrailPtrOutput) +} + +type GetAppSpecJobLogDestinationArrayOutput struct{ *pulumi.OutputState } + +func (GetAppSpecJobLogDestinationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAppSpecJobLogDestination)(nil)).Elem() +} + +func (o GetAppSpecJobLogDestinationArrayOutput) ToGetAppSpecJobLogDestinationArrayOutput() GetAppSpecJobLogDestinationArrayOutput { + return o +} + +func (o GetAppSpecJobLogDestinationArrayOutput) ToGetAppSpecJobLogDestinationArrayOutputWithContext(ctx context.Context) GetAppSpecJobLogDestinationArrayOutput { + return o +} + +func (o GetAppSpecJobLogDestinationArrayOutput) Index(i pulumi.IntInput) GetAppSpecJobLogDestinationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAppSpecJobLogDestination { + return vs[0].([]GetAppSpecJobLogDestination)[vs[1].(int)] + }).(GetAppSpecJobLogDestinationOutput) +} + +type GetAppSpecJobLogDestinationDatadog struct { + ApiKey string `pulumi:"apiKey"` + Endpoint *string `pulumi:"endpoint"` +} + +// GetAppSpecJobLogDestinationDatadogInput is an input type that accepts GetAppSpecJobLogDestinationDatadogArgs and GetAppSpecJobLogDestinationDatadogOutput values. +// You can construct a concrete instance of `GetAppSpecJobLogDestinationDatadogInput` via: +// +// GetAppSpecJobLogDestinationDatadogArgs{...} +type GetAppSpecJobLogDestinationDatadogInput interface { + pulumi.Input + + ToGetAppSpecJobLogDestinationDatadogOutput() GetAppSpecJobLogDestinationDatadogOutput + ToGetAppSpecJobLogDestinationDatadogOutputWithContext(context.Context) GetAppSpecJobLogDestinationDatadogOutput +} + +type GetAppSpecJobLogDestinationDatadogArgs struct { + ApiKey pulumi.StringInput `pulumi:"apiKey"` + Endpoint pulumi.StringPtrInput `pulumi:"endpoint"` +} + +func (GetAppSpecJobLogDestinationDatadogArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecJobLogDestinationDatadog)(nil)).Elem() +} + +func (i GetAppSpecJobLogDestinationDatadogArgs) ToGetAppSpecJobLogDestinationDatadogOutput() GetAppSpecJobLogDestinationDatadogOutput { + return i.ToGetAppSpecJobLogDestinationDatadogOutputWithContext(context.Background()) +} + +func (i GetAppSpecJobLogDestinationDatadogArgs) ToGetAppSpecJobLogDestinationDatadogOutputWithContext(ctx context.Context) GetAppSpecJobLogDestinationDatadogOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecJobLogDestinationDatadogOutput) +} + +func (i GetAppSpecJobLogDestinationDatadogArgs) ToGetAppSpecJobLogDestinationDatadogPtrOutput() GetAppSpecJobLogDestinationDatadogPtrOutput { + return i.ToGetAppSpecJobLogDestinationDatadogPtrOutputWithContext(context.Background()) +} + +func (i GetAppSpecJobLogDestinationDatadogArgs) ToGetAppSpecJobLogDestinationDatadogPtrOutputWithContext(ctx context.Context) GetAppSpecJobLogDestinationDatadogPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecJobLogDestinationDatadogOutput).ToGetAppSpecJobLogDestinationDatadogPtrOutputWithContext(ctx) +} + +// GetAppSpecJobLogDestinationDatadogPtrInput is an input type that accepts GetAppSpecJobLogDestinationDatadogArgs, GetAppSpecJobLogDestinationDatadogPtr and GetAppSpecJobLogDestinationDatadogPtrOutput values. +// You can construct a concrete instance of `GetAppSpecJobLogDestinationDatadogPtrInput` via: +// +// GetAppSpecJobLogDestinationDatadogArgs{...} +// +// or: +// +// nil +type GetAppSpecJobLogDestinationDatadogPtrInput interface { + pulumi.Input + + ToGetAppSpecJobLogDestinationDatadogPtrOutput() GetAppSpecJobLogDestinationDatadogPtrOutput + ToGetAppSpecJobLogDestinationDatadogPtrOutputWithContext(context.Context) GetAppSpecJobLogDestinationDatadogPtrOutput +} + +type getAppSpecJobLogDestinationDatadogPtrType GetAppSpecJobLogDestinationDatadogArgs + +func GetAppSpecJobLogDestinationDatadogPtr(v *GetAppSpecJobLogDestinationDatadogArgs) GetAppSpecJobLogDestinationDatadogPtrInput { + return (*getAppSpecJobLogDestinationDatadogPtrType)(v) +} + +func (*getAppSpecJobLogDestinationDatadogPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecJobLogDestinationDatadog)(nil)).Elem() +} + +func (i *getAppSpecJobLogDestinationDatadogPtrType) ToGetAppSpecJobLogDestinationDatadogPtrOutput() GetAppSpecJobLogDestinationDatadogPtrOutput { + return i.ToGetAppSpecJobLogDestinationDatadogPtrOutputWithContext(context.Background()) +} + +func (i *getAppSpecJobLogDestinationDatadogPtrType) ToGetAppSpecJobLogDestinationDatadogPtrOutputWithContext(ctx context.Context) GetAppSpecJobLogDestinationDatadogPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecJobLogDestinationDatadogPtrOutput) +} + +type GetAppSpecJobLogDestinationDatadogOutput struct{ *pulumi.OutputState } + +func (GetAppSpecJobLogDestinationDatadogOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecJobLogDestinationDatadog)(nil)).Elem() +} + +func (o GetAppSpecJobLogDestinationDatadogOutput) ToGetAppSpecJobLogDestinationDatadogOutput() GetAppSpecJobLogDestinationDatadogOutput { + return o +} + +func (o GetAppSpecJobLogDestinationDatadogOutput) ToGetAppSpecJobLogDestinationDatadogOutputWithContext(ctx context.Context) GetAppSpecJobLogDestinationDatadogOutput { + return o +} + +func (o GetAppSpecJobLogDestinationDatadogOutput) ToGetAppSpecJobLogDestinationDatadogPtrOutput() GetAppSpecJobLogDestinationDatadogPtrOutput { + return o.ToGetAppSpecJobLogDestinationDatadogPtrOutputWithContext(context.Background()) +} + +func (o GetAppSpecJobLogDestinationDatadogOutput) ToGetAppSpecJobLogDestinationDatadogPtrOutputWithContext(ctx context.Context) GetAppSpecJobLogDestinationDatadogPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecJobLogDestinationDatadog) *GetAppSpecJobLogDestinationDatadog { + return &v + }).(GetAppSpecJobLogDestinationDatadogPtrOutput) +} + +func (o GetAppSpecJobLogDestinationDatadogOutput) ApiKey() pulumi.StringOutput { + return o.ApplyT(func(v GetAppSpecJobLogDestinationDatadog) string { return v.ApiKey }).(pulumi.StringOutput) +} + +func (o GetAppSpecJobLogDestinationDatadogOutput) Endpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecJobLogDestinationDatadog) *string { return v.Endpoint }).(pulumi.StringPtrOutput) +} + +type GetAppSpecJobLogDestinationDatadogPtrOutput struct{ *pulumi.OutputState } + +func (GetAppSpecJobLogDestinationDatadogPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecJobLogDestinationDatadog)(nil)).Elem() +} + +func (o GetAppSpecJobLogDestinationDatadogPtrOutput) ToGetAppSpecJobLogDestinationDatadogPtrOutput() GetAppSpecJobLogDestinationDatadogPtrOutput { + return o +} + +func (o GetAppSpecJobLogDestinationDatadogPtrOutput) ToGetAppSpecJobLogDestinationDatadogPtrOutputWithContext(ctx context.Context) GetAppSpecJobLogDestinationDatadogPtrOutput { + return o +} + +func (o GetAppSpecJobLogDestinationDatadogPtrOutput) Elem() GetAppSpecJobLogDestinationDatadogOutput { + return o.ApplyT(func(v *GetAppSpecJobLogDestinationDatadog) GetAppSpecJobLogDestinationDatadog { + if v != nil { + return *v + } + var ret GetAppSpecJobLogDestinationDatadog + return ret + }).(GetAppSpecJobLogDestinationDatadogOutput) +} + +func (o GetAppSpecJobLogDestinationDatadogPtrOutput) ApiKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecJobLogDestinationDatadog) *string { + if v == nil { + return nil + } + return &v.ApiKey + }).(pulumi.StringPtrOutput) +} + +func (o GetAppSpecJobLogDestinationDatadogPtrOutput) Endpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecJobLogDestinationDatadog) *string { + if v == nil { + return nil + } + return v.Endpoint + }).(pulumi.StringPtrOutput) +} + +type GetAppSpecJobLogDestinationLogtail struct { + Token string `pulumi:"token"` +} + +// GetAppSpecJobLogDestinationLogtailInput is an input type that accepts GetAppSpecJobLogDestinationLogtailArgs and GetAppSpecJobLogDestinationLogtailOutput values. +// You can construct a concrete instance of `GetAppSpecJobLogDestinationLogtailInput` via: +// +// GetAppSpecJobLogDestinationLogtailArgs{...} +type GetAppSpecJobLogDestinationLogtailInput interface { + pulumi.Input + + ToGetAppSpecJobLogDestinationLogtailOutput() GetAppSpecJobLogDestinationLogtailOutput + ToGetAppSpecJobLogDestinationLogtailOutputWithContext(context.Context) GetAppSpecJobLogDestinationLogtailOutput +} + +type GetAppSpecJobLogDestinationLogtailArgs struct { + Token pulumi.StringInput `pulumi:"token"` +} + +func (GetAppSpecJobLogDestinationLogtailArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecJobLogDestinationLogtail)(nil)).Elem() +} + +func (i GetAppSpecJobLogDestinationLogtailArgs) ToGetAppSpecJobLogDestinationLogtailOutput() GetAppSpecJobLogDestinationLogtailOutput { + return i.ToGetAppSpecJobLogDestinationLogtailOutputWithContext(context.Background()) +} + +func (i GetAppSpecJobLogDestinationLogtailArgs) ToGetAppSpecJobLogDestinationLogtailOutputWithContext(ctx context.Context) GetAppSpecJobLogDestinationLogtailOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecJobLogDestinationLogtailOutput) +} + +func (i GetAppSpecJobLogDestinationLogtailArgs) ToGetAppSpecJobLogDestinationLogtailPtrOutput() GetAppSpecJobLogDestinationLogtailPtrOutput { + return i.ToGetAppSpecJobLogDestinationLogtailPtrOutputWithContext(context.Background()) +} + +func (i GetAppSpecJobLogDestinationLogtailArgs) ToGetAppSpecJobLogDestinationLogtailPtrOutputWithContext(ctx context.Context) GetAppSpecJobLogDestinationLogtailPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecJobLogDestinationLogtailOutput).ToGetAppSpecJobLogDestinationLogtailPtrOutputWithContext(ctx) +} + +// GetAppSpecJobLogDestinationLogtailPtrInput is an input type that accepts GetAppSpecJobLogDestinationLogtailArgs, GetAppSpecJobLogDestinationLogtailPtr and GetAppSpecJobLogDestinationLogtailPtrOutput values. +// You can construct a concrete instance of `GetAppSpecJobLogDestinationLogtailPtrInput` via: +// +// GetAppSpecJobLogDestinationLogtailArgs{...} +// +// or: +// +// nil +type GetAppSpecJobLogDestinationLogtailPtrInput interface { + pulumi.Input + + ToGetAppSpecJobLogDestinationLogtailPtrOutput() GetAppSpecJobLogDestinationLogtailPtrOutput + ToGetAppSpecJobLogDestinationLogtailPtrOutputWithContext(context.Context) GetAppSpecJobLogDestinationLogtailPtrOutput +} + +type getAppSpecJobLogDestinationLogtailPtrType GetAppSpecJobLogDestinationLogtailArgs + +func GetAppSpecJobLogDestinationLogtailPtr(v *GetAppSpecJobLogDestinationLogtailArgs) GetAppSpecJobLogDestinationLogtailPtrInput { + return (*getAppSpecJobLogDestinationLogtailPtrType)(v) +} + +func (*getAppSpecJobLogDestinationLogtailPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecJobLogDestinationLogtail)(nil)).Elem() +} + +func (i *getAppSpecJobLogDestinationLogtailPtrType) ToGetAppSpecJobLogDestinationLogtailPtrOutput() GetAppSpecJobLogDestinationLogtailPtrOutput { + return i.ToGetAppSpecJobLogDestinationLogtailPtrOutputWithContext(context.Background()) +} + +func (i *getAppSpecJobLogDestinationLogtailPtrType) ToGetAppSpecJobLogDestinationLogtailPtrOutputWithContext(ctx context.Context) GetAppSpecJobLogDestinationLogtailPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecJobLogDestinationLogtailPtrOutput) +} + +type GetAppSpecJobLogDestinationLogtailOutput struct{ *pulumi.OutputState } + +func (GetAppSpecJobLogDestinationLogtailOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecJobLogDestinationLogtail)(nil)).Elem() +} + +func (o GetAppSpecJobLogDestinationLogtailOutput) ToGetAppSpecJobLogDestinationLogtailOutput() GetAppSpecJobLogDestinationLogtailOutput { + return o +} + +func (o GetAppSpecJobLogDestinationLogtailOutput) ToGetAppSpecJobLogDestinationLogtailOutputWithContext(ctx context.Context) GetAppSpecJobLogDestinationLogtailOutput { + return o +} + +func (o GetAppSpecJobLogDestinationLogtailOutput) ToGetAppSpecJobLogDestinationLogtailPtrOutput() GetAppSpecJobLogDestinationLogtailPtrOutput { + return o.ToGetAppSpecJobLogDestinationLogtailPtrOutputWithContext(context.Background()) +} + +func (o GetAppSpecJobLogDestinationLogtailOutput) ToGetAppSpecJobLogDestinationLogtailPtrOutputWithContext(ctx context.Context) GetAppSpecJobLogDestinationLogtailPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecJobLogDestinationLogtail) *GetAppSpecJobLogDestinationLogtail { + return &v + }).(GetAppSpecJobLogDestinationLogtailPtrOutput) +} + +func (o GetAppSpecJobLogDestinationLogtailOutput) Token() pulumi.StringOutput { + return o.ApplyT(func(v GetAppSpecJobLogDestinationLogtail) string { return v.Token }).(pulumi.StringOutput) +} + +type GetAppSpecJobLogDestinationLogtailPtrOutput struct{ *pulumi.OutputState } + +func (GetAppSpecJobLogDestinationLogtailPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecJobLogDestinationLogtail)(nil)).Elem() +} + +func (o GetAppSpecJobLogDestinationLogtailPtrOutput) ToGetAppSpecJobLogDestinationLogtailPtrOutput() GetAppSpecJobLogDestinationLogtailPtrOutput { + return o +} + +func (o GetAppSpecJobLogDestinationLogtailPtrOutput) ToGetAppSpecJobLogDestinationLogtailPtrOutputWithContext(ctx context.Context) GetAppSpecJobLogDestinationLogtailPtrOutput { + return o +} + +func (o GetAppSpecJobLogDestinationLogtailPtrOutput) Elem() GetAppSpecJobLogDestinationLogtailOutput { + return o.ApplyT(func(v *GetAppSpecJobLogDestinationLogtail) GetAppSpecJobLogDestinationLogtail { + if v != nil { + return *v + } + var ret GetAppSpecJobLogDestinationLogtail + return ret + }).(GetAppSpecJobLogDestinationLogtailOutput) +} + +func (o GetAppSpecJobLogDestinationLogtailPtrOutput) Token() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecJobLogDestinationLogtail) *string { + if v == nil { + return nil + } + return &v.Token + }).(pulumi.StringPtrOutput) +} + +type GetAppSpecJobLogDestinationPapertrail struct { + Endpoint string `pulumi:"endpoint"` +} + +// GetAppSpecJobLogDestinationPapertrailInput is an input type that accepts GetAppSpecJobLogDestinationPapertrailArgs and GetAppSpecJobLogDestinationPapertrailOutput values. +// You can construct a concrete instance of `GetAppSpecJobLogDestinationPapertrailInput` via: +// +// GetAppSpecJobLogDestinationPapertrailArgs{...} +type GetAppSpecJobLogDestinationPapertrailInput interface { + pulumi.Input + + ToGetAppSpecJobLogDestinationPapertrailOutput() GetAppSpecJobLogDestinationPapertrailOutput + ToGetAppSpecJobLogDestinationPapertrailOutputWithContext(context.Context) GetAppSpecJobLogDestinationPapertrailOutput +} + +type GetAppSpecJobLogDestinationPapertrailArgs struct { + Endpoint pulumi.StringInput `pulumi:"endpoint"` +} + +func (GetAppSpecJobLogDestinationPapertrailArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecJobLogDestinationPapertrail)(nil)).Elem() +} + +func (i GetAppSpecJobLogDestinationPapertrailArgs) ToGetAppSpecJobLogDestinationPapertrailOutput() GetAppSpecJobLogDestinationPapertrailOutput { + return i.ToGetAppSpecJobLogDestinationPapertrailOutputWithContext(context.Background()) +} + +func (i GetAppSpecJobLogDestinationPapertrailArgs) ToGetAppSpecJobLogDestinationPapertrailOutputWithContext(ctx context.Context) GetAppSpecJobLogDestinationPapertrailOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecJobLogDestinationPapertrailOutput) +} + +func (i GetAppSpecJobLogDestinationPapertrailArgs) ToGetAppSpecJobLogDestinationPapertrailPtrOutput() GetAppSpecJobLogDestinationPapertrailPtrOutput { + return i.ToGetAppSpecJobLogDestinationPapertrailPtrOutputWithContext(context.Background()) +} + +func (i GetAppSpecJobLogDestinationPapertrailArgs) ToGetAppSpecJobLogDestinationPapertrailPtrOutputWithContext(ctx context.Context) GetAppSpecJobLogDestinationPapertrailPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecJobLogDestinationPapertrailOutput).ToGetAppSpecJobLogDestinationPapertrailPtrOutputWithContext(ctx) +} + +// GetAppSpecJobLogDestinationPapertrailPtrInput is an input type that accepts GetAppSpecJobLogDestinationPapertrailArgs, GetAppSpecJobLogDestinationPapertrailPtr and GetAppSpecJobLogDestinationPapertrailPtrOutput values. +// You can construct a concrete instance of `GetAppSpecJobLogDestinationPapertrailPtrInput` via: +// +// GetAppSpecJobLogDestinationPapertrailArgs{...} +// +// or: +// +// nil +type GetAppSpecJobLogDestinationPapertrailPtrInput interface { + pulumi.Input + + ToGetAppSpecJobLogDestinationPapertrailPtrOutput() GetAppSpecJobLogDestinationPapertrailPtrOutput + ToGetAppSpecJobLogDestinationPapertrailPtrOutputWithContext(context.Context) GetAppSpecJobLogDestinationPapertrailPtrOutput +} + +type getAppSpecJobLogDestinationPapertrailPtrType GetAppSpecJobLogDestinationPapertrailArgs + +func GetAppSpecJobLogDestinationPapertrailPtr(v *GetAppSpecJobLogDestinationPapertrailArgs) GetAppSpecJobLogDestinationPapertrailPtrInput { + return (*getAppSpecJobLogDestinationPapertrailPtrType)(v) +} + +func (*getAppSpecJobLogDestinationPapertrailPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecJobLogDestinationPapertrail)(nil)).Elem() +} + +func (i *getAppSpecJobLogDestinationPapertrailPtrType) ToGetAppSpecJobLogDestinationPapertrailPtrOutput() GetAppSpecJobLogDestinationPapertrailPtrOutput { + return i.ToGetAppSpecJobLogDestinationPapertrailPtrOutputWithContext(context.Background()) +} + +func (i *getAppSpecJobLogDestinationPapertrailPtrType) ToGetAppSpecJobLogDestinationPapertrailPtrOutputWithContext(ctx context.Context) GetAppSpecJobLogDestinationPapertrailPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecJobLogDestinationPapertrailPtrOutput) +} + +type GetAppSpecJobLogDestinationPapertrailOutput struct{ *pulumi.OutputState } + +func (GetAppSpecJobLogDestinationPapertrailOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecJobLogDestinationPapertrail)(nil)).Elem() +} + +func (o GetAppSpecJobLogDestinationPapertrailOutput) ToGetAppSpecJobLogDestinationPapertrailOutput() GetAppSpecJobLogDestinationPapertrailOutput { + return o +} + +func (o GetAppSpecJobLogDestinationPapertrailOutput) ToGetAppSpecJobLogDestinationPapertrailOutputWithContext(ctx context.Context) GetAppSpecJobLogDestinationPapertrailOutput { + return o +} + +func (o GetAppSpecJobLogDestinationPapertrailOutput) ToGetAppSpecJobLogDestinationPapertrailPtrOutput() GetAppSpecJobLogDestinationPapertrailPtrOutput { + return o.ToGetAppSpecJobLogDestinationPapertrailPtrOutputWithContext(context.Background()) +} + +func (o GetAppSpecJobLogDestinationPapertrailOutput) ToGetAppSpecJobLogDestinationPapertrailPtrOutputWithContext(ctx context.Context) GetAppSpecJobLogDestinationPapertrailPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecJobLogDestinationPapertrail) *GetAppSpecJobLogDestinationPapertrail { + return &v + }).(GetAppSpecJobLogDestinationPapertrailPtrOutput) +} + +func (o GetAppSpecJobLogDestinationPapertrailOutput) Endpoint() pulumi.StringOutput { + return o.ApplyT(func(v GetAppSpecJobLogDestinationPapertrail) string { return v.Endpoint }).(pulumi.StringOutput) +} + +type GetAppSpecJobLogDestinationPapertrailPtrOutput struct{ *pulumi.OutputState } + +func (GetAppSpecJobLogDestinationPapertrailPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecJobLogDestinationPapertrail)(nil)).Elem() +} + +func (o GetAppSpecJobLogDestinationPapertrailPtrOutput) ToGetAppSpecJobLogDestinationPapertrailPtrOutput() GetAppSpecJobLogDestinationPapertrailPtrOutput { + return o +} + +func (o GetAppSpecJobLogDestinationPapertrailPtrOutput) ToGetAppSpecJobLogDestinationPapertrailPtrOutputWithContext(ctx context.Context) GetAppSpecJobLogDestinationPapertrailPtrOutput { + return o +} + +func (o GetAppSpecJobLogDestinationPapertrailPtrOutput) Elem() GetAppSpecJobLogDestinationPapertrailOutput { + return o.ApplyT(func(v *GetAppSpecJobLogDestinationPapertrail) GetAppSpecJobLogDestinationPapertrail { + if v != nil { + return *v + } + var ret GetAppSpecJobLogDestinationPapertrail + return ret + }).(GetAppSpecJobLogDestinationPapertrailOutput) +} + +func (o GetAppSpecJobLogDestinationPapertrailPtrOutput) Endpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecJobLogDestinationPapertrail) *string { + if v == nil { + return nil + } + return &v.Endpoint + }).(pulumi.StringPtrOutput) +} + +type GetAppSpecService struct { + Alerts []GetAppSpecServiceAlert `pulumi:"alerts"` + // An optional build command to run while building this component from source. + BuildCommand *string `pulumi:"buildCommand"` + Cors *GetAppSpecServiceCors `pulumi:"cors"` + // The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. + DockerfilePath *string `pulumi:"dockerfilePath"` + // An environment slug describing the type of this app. + EnvironmentSlug *string `pulumi:"environmentSlug"` + // Describes an environment variable made available to an app competent. + Envs []GetAppSpecServiceEnv `pulumi:"envs"` + // A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set. + Git *GetAppSpecServiceGit `pulumi:"git"` + // A GitHub repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/github/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. + Github *GetAppSpecServiceGithub `pulumi:"github"` + // A Gitlab repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/gitlab/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. + Gitlab *GetAppSpecServiceGitlab `pulumi:"gitlab"` + // A health check to determine the availability of this component. + HealthCheck *GetAppSpecServiceHealthCheck `pulumi:"healthCheck"` + // The internal port on which this service's run command will listen. + HttpPort int `pulumi:"httpPort"` + // An image to use as the component's source. Only one of `git`, `github`, `gitlab`, or `image` may be set. + Image *GetAppSpecServiceImage `pulumi:"image"` + // The amount of instances that this component should be scaled to. + InstanceCount *int `pulumi:"instanceCount"` + // The instance size to use for this component. + InstanceSizeSlug *string `pulumi:"instanceSizeSlug"` + // A list of ports on which this service will listen for internal traffic. + InternalPorts []int `pulumi:"internalPorts"` + LogDestinations []GetAppSpecServiceLogDestination `pulumi:"logDestinations"` + // The name of the component. + Name string `pulumi:"name"` + Routes []GetAppSpecServiceRoute `pulumi:"routes"` + // An optional run command to override the component's default. + RunCommand string `pulumi:"runCommand"` + // An optional path to the working directory to use for the build. + SourceDir *string `pulumi:"sourceDir"` +} + +// GetAppSpecServiceInput is an input type that accepts GetAppSpecServiceArgs and GetAppSpecServiceOutput values. +// You can construct a concrete instance of `GetAppSpecServiceInput` via: +// +// GetAppSpecServiceArgs{...} +type GetAppSpecServiceInput interface { + pulumi.Input + + ToGetAppSpecServiceOutput() GetAppSpecServiceOutput + ToGetAppSpecServiceOutputWithContext(context.Context) GetAppSpecServiceOutput +} + +type GetAppSpecServiceArgs struct { + Alerts GetAppSpecServiceAlertArrayInput `pulumi:"alerts"` + // An optional build command to run while building this component from source. + BuildCommand pulumi.StringPtrInput `pulumi:"buildCommand"` + Cors GetAppSpecServiceCorsPtrInput `pulumi:"cors"` + // The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. + DockerfilePath pulumi.StringPtrInput `pulumi:"dockerfilePath"` + // An environment slug describing the type of this app. + EnvironmentSlug pulumi.StringPtrInput `pulumi:"environmentSlug"` + // Describes an environment variable made available to an app competent. + Envs GetAppSpecServiceEnvArrayInput `pulumi:"envs"` + // A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set. + Git GetAppSpecServiceGitPtrInput `pulumi:"git"` + // A GitHub repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/github/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. + Github GetAppSpecServiceGithubPtrInput `pulumi:"github"` + // A Gitlab repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/gitlab/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. + Gitlab GetAppSpecServiceGitlabPtrInput `pulumi:"gitlab"` + // A health check to determine the availability of this component. + HealthCheck GetAppSpecServiceHealthCheckPtrInput `pulumi:"healthCheck"` + // The internal port on which this service's run command will listen. + HttpPort pulumi.IntInput `pulumi:"httpPort"` + // An image to use as the component's source. Only one of `git`, `github`, `gitlab`, or `image` may be set. + Image GetAppSpecServiceImagePtrInput `pulumi:"image"` + // The amount of instances that this component should be scaled to. + InstanceCount pulumi.IntPtrInput `pulumi:"instanceCount"` + // The instance size to use for this component. + InstanceSizeSlug pulumi.StringPtrInput `pulumi:"instanceSizeSlug"` + // A list of ports on which this service will listen for internal traffic. + InternalPorts pulumi.IntArrayInput `pulumi:"internalPorts"` + LogDestinations GetAppSpecServiceLogDestinationArrayInput `pulumi:"logDestinations"` + // The name of the component. + Name pulumi.StringInput `pulumi:"name"` + Routes GetAppSpecServiceRouteArrayInput `pulumi:"routes"` + // An optional run command to override the component's default. + RunCommand pulumi.StringInput `pulumi:"runCommand"` + // An optional path to the working directory to use for the build. + SourceDir pulumi.StringPtrInput `pulumi:"sourceDir"` +} + +func (GetAppSpecServiceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecService)(nil)).Elem() +} + +func (i GetAppSpecServiceArgs) ToGetAppSpecServiceOutput() GetAppSpecServiceOutput { + return i.ToGetAppSpecServiceOutputWithContext(context.Background()) +} + +func (i GetAppSpecServiceArgs) ToGetAppSpecServiceOutputWithContext(ctx context.Context) GetAppSpecServiceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceOutput) +} + +// GetAppSpecServiceArrayInput is an input type that accepts GetAppSpecServiceArray and GetAppSpecServiceArrayOutput values. +// You can construct a concrete instance of `GetAppSpecServiceArrayInput` via: +// +// GetAppSpecServiceArray{ GetAppSpecServiceArgs{...} } +type GetAppSpecServiceArrayInput interface { + pulumi.Input + + ToGetAppSpecServiceArrayOutput() GetAppSpecServiceArrayOutput + ToGetAppSpecServiceArrayOutputWithContext(context.Context) GetAppSpecServiceArrayOutput +} + +type GetAppSpecServiceArray []GetAppSpecServiceInput + +func (GetAppSpecServiceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAppSpecService)(nil)).Elem() +} + +func (i GetAppSpecServiceArray) ToGetAppSpecServiceArrayOutput() GetAppSpecServiceArrayOutput { + return i.ToGetAppSpecServiceArrayOutputWithContext(context.Background()) +} + +func (i GetAppSpecServiceArray) ToGetAppSpecServiceArrayOutputWithContext(ctx context.Context) GetAppSpecServiceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceArrayOutput) +} + +type GetAppSpecServiceOutput struct{ *pulumi.OutputState } + +func (GetAppSpecServiceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecService)(nil)).Elem() +} + +func (o GetAppSpecServiceOutput) ToGetAppSpecServiceOutput() GetAppSpecServiceOutput { + return o +} + +func (o GetAppSpecServiceOutput) ToGetAppSpecServiceOutputWithContext(ctx context.Context) GetAppSpecServiceOutput { + return o +} + +func (o GetAppSpecServiceOutput) Alerts() GetAppSpecServiceAlertArrayOutput { + return o.ApplyT(func(v GetAppSpecService) []GetAppSpecServiceAlert { return v.Alerts }).(GetAppSpecServiceAlertArrayOutput) +} + +// An optional build command to run while building this component from source. +func (o GetAppSpecServiceOutput) BuildCommand() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecService) *string { return v.BuildCommand }).(pulumi.StringPtrOutput) +} + +func (o GetAppSpecServiceOutput) Cors() GetAppSpecServiceCorsPtrOutput { + return o.ApplyT(func(v GetAppSpecService) *GetAppSpecServiceCors { return v.Cors }).(GetAppSpecServiceCorsPtrOutput) +} + +// The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. +func (o GetAppSpecServiceOutput) DockerfilePath() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecService) *string { return v.DockerfilePath }).(pulumi.StringPtrOutput) +} + +// An environment slug describing the type of this app. +func (o GetAppSpecServiceOutput) EnvironmentSlug() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecService) *string { return v.EnvironmentSlug }).(pulumi.StringPtrOutput) +} + +// Describes an environment variable made available to an app competent. +func (o GetAppSpecServiceOutput) Envs() GetAppSpecServiceEnvArrayOutput { + return o.ApplyT(func(v GetAppSpecService) []GetAppSpecServiceEnv { return v.Envs }).(GetAppSpecServiceEnvArrayOutput) +} + +// A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set. +func (o GetAppSpecServiceOutput) Git() GetAppSpecServiceGitPtrOutput { + return o.ApplyT(func(v GetAppSpecService) *GetAppSpecServiceGit { return v.Git }).(GetAppSpecServiceGitPtrOutput) +} + +// A GitHub repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/github/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. +func (o GetAppSpecServiceOutput) Github() GetAppSpecServiceGithubPtrOutput { + return o.ApplyT(func(v GetAppSpecService) *GetAppSpecServiceGithub { return v.Github }).(GetAppSpecServiceGithubPtrOutput) +} + +// A Gitlab repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/gitlab/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. +func (o GetAppSpecServiceOutput) Gitlab() GetAppSpecServiceGitlabPtrOutput { + return o.ApplyT(func(v GetAppSpecService) *GetAppSpecServiceGitlab { return v.Gitlab }).(GetAppSpecServiceGitlabPtrOutput) +} + +// A health check to determine the availability of this component. +func (o GetAppSpecServiceOutput) HealthCheck() GetAppSpecServiceHealthCheckPtrOutput { + return o.ApplyT(func(v GetAppSpecService) *GetAppSpecServiceHealthCheck { return v.HealthCheck }).(GetAppSpecServiceHealthCheckPtrOutput) +} + +// The internal port on which this service's run command will listen. +func (o GetAppSpecServiceOutput) HttpPort() pulumi.IntOutput { + return o.ApplyT(func(v GetAppSpecService) int { return v.HttpPort }).(pulumi.IntOutput) +} + +// An image to use as the component's source. Only one of `git`, `github`, `gitlab`, or `image` may be set. +func (o GetAppSpecServiceOutput) Image() GetAppSpecServiceImagePtrOutput { + return o.ApplyT(func(v GetAppSpecService) *GetAppSpecServiceImage { return v.Image }).(GetAppSpecServiceImagePtrOutput) +} + +// The amount of instances that this component should be scaled to. +func (o GetAppSpecServiceOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetAppSpecService) *int { return v.InstanceCount }).(pulumi.IntPtrOutput) +} + +// The instance size to use for this component. +func (o GetAppSpecServiceOutput) InstanceSizeSlug() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecService) *string { return v.InstanceSizeSlug }).(pulumi.StringPtrOutput) +} + +// A list of ports on which this service will listen for internal traffic. +func (o GetAppSpecServiceOutput) InternalPorts() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetAppSpecService) []int { return v.InternalPorts }).(pulumi.IntArrayOutput) +} + +func (o GetAppSpecServiceOutput) LogDestinations() GetAppSpecServiceLogDestinationArrayOutput { + return o.ApplyT(func(v GetAppSpecService) []GetAppSpecServiceLogDestination { return v.LogDestinations }).(GetAppSpecServiceLogDestinationArrayOutput) +} + +// The name of the component. +func (o GetAppSpecServiceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetAppSpecService) string { return v.Name }).(pulumi.StringOutput) +} + +func (o GetAppSpecServiceOutput) Routes() GetAppSpecServiceRouteArrayOutput { + return o.ApplyT(func(v GetAppSpecService) []GetAppSpecServiceRoute { return v.Routes }).(GetAppSpecServiceRouteArrayOutput) +} + +// An optional run command to override the component's default. +func (o GetAppSpecServiceOutput) RunCommand() pulumi.StringOutput { + return o.ApplyT(func(v GetAppSpecService) string { return v.RunCommand }).(pulumi.StringOutput) +} + +// An optional path to the working directory to use for the build. +func (o GetAppSpecServiceOutput) SourceDir() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecService) *string { return v.SourceDir }).(pulumi.StringPtrOutput) +} + +type GetAppSpecServiceArrayOutput struct{ *pulumi.OutputState } + +func (GetAppSpecServiceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAppSpecService)(nil)).Elem() +} + +func (o GetAppSpecServiceArrayOutput) ToGetAppSpecServiceArrayOutput() GetAppSpecServiceArrayOutput { + return o +} + +func (o GetAppSpecServiceArrayOutput) ToGetAppSpecServiceArrayOutputWithContext(ctx context.Context) GetAppSpecServiceArrayOutput { + return o +} + +func (o GetAppSpecServiceArrayOutput) Index(i pulumi.IntInput) GetAppSpecServiceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAppSpecService { + return vs[0].([]GetAppSpecService)[vs[1].(int)] + }).(GetAppSpecServiceOutput) +} + +type GetAppSpecServiceAlert struct { + Disabled *bool `pulumi:"disabled"` + Operator string `pulumi:"operator"` + Rule string `pulumi:"rule"` + // The value of the environment variable. + Value float64 `pulumi:"value"` + Window string `pulumi:"window"` +} + +// GetAppSpecServiceAlertInput is an input type that accepts GetAppSpecServiceAlertArgs and GetAppSpecServiceAlertOutput values. +// You can construct a concrete instance of `GetAppSpecServiceAlertInput` via: +// +// GetAppSpecServiceAlertArgs{...} +type GetAppSpecServiceAlertInput interface { + pulumi.Input + + ToGetAppSpecServiceAlertOutput() GetAppSpecServiceAlertOutput + ToGetAppSpecServiceAlertOutputWithContext(context.Context) GetAppSpecServiceAlertOutput +} + +type GetAppSpecServiceAlertArgs struct { + Disabled pulumi.BoolPtrInput `pulumi:"disabled"` + Operator pulumi.StringInput `pulumi:"operator"` + Rule pulumi.StringInput `pulumi:"rule"` + // The value of the environment variable. + Value pulumi.Float64Input `pulumi:"value"` + Window pulumi.StringInput `pulumi:"window"` +} + +func (GetAppSpecServiceAlertArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecServiceAlert)(nil)).Elem() +} + +func (i GetAppSpecServiceAlertArgs) ToGetAppSpecServiceAlertOutput() GetAppSpecServiceAlertOutput { + return i.ToGetAppSpecServiceAlertOutputWithContext(context.Background()) +} + +func (i GetAppSpecServiceAlertArgs) ToGetAppSpecServiceAlertOutputWithContext(ctx context.Context) GetAppSpecServiceAlertOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceAlertOutput) +} + +// GetAppSpecServiceAlertArrayInput is an input type that accepts GetAppSpecServiceAlertArray and GetAppSpecServiceAlertArrayOutput values. +// You can construct a concrete instance of `GetAppSpecServiceAlertArrayInput` via: +// +// GetAppSpecServiceAlertArray{ GetAppSpecServiceAlertArgs{...} } +type GetAppSpecServiceAlertArrayInput interface { + pulumi.Input + + ToGetAppSpecServiceAlertArrayOutput() GetAppSpecServiceAlertArrayOutput + ToGetAppSpecServiceAlertArrayOutputWithContext(context.Context) GetAppSpecServiceAlertArrayOutput +} + +type GetAppSpecServiceAlertArray []GetAppSpecServiceAlertInput + +func (GetAppSpecServiceAlertArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAppSpecServiceAlert)(nil)).Elem() +} + +func (i GetAppSpecServiceAlertArray) ToGetAppSpecServiceAlertArrayOutput() GetAppSpecServiceAlertArrayOutput { + return i.ToGetAppSpecServiceAlertArrayOutputWithContext(context.Background()) +} + +func (i GetAppSpecServiceAlertArray) ToGetAppSpecServiceAlertArrayOutputWithContext(ctx context.Context) GetAppSpecServiceAlertArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceAlertArrayOutput) +} + +type GetAppSpecServiceAlertOutput struct{ *pulumi.OutputState } + +func (GetAppSpecServiceAlertOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecServiceAlert)(nil)).Elem() +} + +func (o GetAppSpecServiceAlertOutput) ToGetAppSpecServiceAlertOutput() GetAppSpecServiceAlertOutput { + return o +} + +func (o GetAppSpecServiceAlertOutput) ToGetAppSpecServiceAlertOutputWithContext(ctx context.Context) GetAppSpecServiceAlertOutput { + return o +} + +func (o GetAppSpecServiceAlertOutput) Disabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GetAppSpecServiceAlert) *bool { return v.Disabled }).(pulumi.BoolPtrOutput) +} + +func (o GetAppSpecServiceAlertOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v GetAppSpecServiceAlert) string { return v.Operator }).(pulumi.StringOutput) +} + +func (o GetAppSpecServiceAlertOutput) Rule() pulumi.StringOutput { + return o.ApplyT(func(v GetAppSpecServiceAlert) string { return v.Rule }).(pulumi.StringOutput) +} + +// The value of the environment variable. +func (o GetAppSpecServiceAlertOutput) Value() pulumi.Float64Output { + return o.ApplyT(func(v GetAppSpecServiceAlert) float64 { return v.Value }).(pulumi.Float64Output) +} + +func (o GetAppSpecServiceAlertOutput) Window() pulumi.StringOutput { + return o.ApplyT(func(v GetAppSpecServiceAlert) string { return v.Window }).(pulumi.StringOutput) +} + +type GetAppSpecServiceAlertArrayOutput struct{ *pulumi.OutputState } + +func (GetAppSpecServiceAlertArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAppSpecServiceAlert)(nil)).Elem() +} + +func (o GetAppSpecServiceAlertArrayOutput) ToGetAppSpecServiceAlertArrayOutput() GetAppSpecServiceAlertArrayOutput { + return o +} + +func (o GetAppSpecServiceAlertArrayOutput) ToGetAppSpecServiceAlertArrayOutputWithContext(ctx context.Context) GetAppSpecServiceAlertArrayOutput { + return o +} + +func (o GetAppSpecServiceAlertArrayOutput) Index(i pulumi.IntInput) GetAppSpecServiceAlertOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAppSpecServiceAlert { + return vs[0].([]GetAppSpecServiceAlert)[vs[1].(int)] + }).(GetAppSpecServiceAlertOutput) +} + +type GetAppSpecServiceCors struct { + AllowCredentials *bool `pulumi:"allowCredentials"` + AllowHeaders []string `pulumi:"allowHeaders"` + AllowMethods []string `pulumi:"allowMethods"` + AllowOrigins *GetAppSpecServiceCorsAllowOrigins `pulumi:"allowOrigins"` + ExposeHeaders []string `pulumi:"exposeHeaders"` + MaxAge *string `pulumi:"maxAge"` +} + +// GetAppSpecServiceCorsInput is an input type that accepts GetAppSpecServiceCorsArgs and GetAppSpecServiceCorsOutput values. +// You can construct a concrete instance of `GetAppSpecServiceCorsInput` via: +// +// GetAppSpecServiceCorsArgs{...} +type GetAppSpecServiceCorsInput interface { + pulumi.Input + + ToGetAppSpecServiceCorsOutput() GetAppSpecServiceCorsOutput + ToGetAppSpecServiceCorsOutputWithContext(context.Context) GetAppSpecServiceCorsOutput +} + +type GetAppSpecServiceCorsArgs struct { + AllowCredentials pulumi.BoolPtrInput `pulumi:"allowCredentials"` + AllowHeaders pulumi.StringArrayInput `pulumi:"allowHeaders"` + AllowMethods pulumi.StringArrayInput `pulumi:"allowMethods"` + AllowOrigins GetAppSpecServiceCorsAllowOriginsPtrInput `pulumi:"allowOrigins"` + ExposeHeaders pulumi.StringArrayInput `pulumi:"exposeHeaders"` + MaxAge pulumi.StringPtrInput `pulumi:"maxAge"` +} + +func (GetAppSpecServiceCorsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecServiceCors)(nil)).Elem() +} + +func (i GetAppSpecServiceCorsArgs) ToGetAppSpecServiceCorsOutput() GetAppSpecServiceCorsOutput { + return i.ToGetAppSpecServiceCorsOutputWithContext(context.Background()) +} + +func (i GetAppSpecServiceCorsArgs) ToGetAppSpecServiceCorsOutputWithContext(ctx context.Context) GetAppSpecServiceCorsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceCorsOutput) +} + +func (i GetAppSpecServiceCorsArgs) ToGetAppSpecServiceCorsPtrOutput() GetAppSpecServiceCorsPtrOutput { + return i.ToGetAppSpecServiceCorsPtrOutputWithContext(context.Background()) +} + +func (i GetAppSpecServiceCorsArgs) ToGetAppSpecServiceCorsPtrOutputWithContext(ctx context.Context) GetAppSpecServiceCorsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceCorsOutput).ToGetAppSpecServiceCorsPtrOutputWithContext(ctx) +} + +// GetAppSpecServiceCorsPtrInput is an input type that accepts GetAppSpecServiceCorsArgs, GetAppSpecServiceCorsPtr and GetAppSpecServiceCorsPtrOutput values. +// You can construct a concrete instance of `GetAppSpecServiceCorsPtrInput` via: +// +// GetAppSpecServiceCorsArgs{...} +// +// or: +// +// nil +type GetAppSpecServiceCorsPtrInput interface { + pulumi.Input + + ToGetAppSpecServiceCorsPtrOutput() GetAppSpecServiceCorsPtrOutput + ToGetAppSpecServiceCorsPtrOutputWithContext(context.Context) GetAppSpecServiceCorsPtrOutput +} + +type getAppSpecServiceCorsPtrType GetAppSpecServiceCorsArgs + +func GetAppSpecServiceCorsPtr(v *GetAppSpecServiceCorsArgs) GetAppSpecServiceCorsPtrInput { + return (*getAppSpecServiceCorsPtrType)(v) +} + +func (*getAppSpecServiceCorsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecServiceCors)(nil)).Elem() +} + +func (i *getAppSpecServiceCorsPtrType) ToGetAppSpecServiceCorsPtrOutput() GetAppSpecServiceCorsPtrOutput { + return i.ToGetAppSpecServiceCorsPtrOutputWithContext(context.Background()) +} + +func (i *getAppSpecServiceCorsPtrType) ToGetAppSpecServiceCorsPtrOutputWithContext(ctx context.Context) GetAppSpecServiceCorsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceCorsPtrOutput) +} + +type GetAppSpecServiceCorsOutput struct{ *pulumi.OutputState } + +func (GetAppSpecServiceCorsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecServiceCors)(nil)).Elem() +} + +func (o GetAppSpecServiceCorsOutput) ToGetAppSpecServiceCorsOutput() GetAppSpecServiceCorsOutput { + return o +} + +func (o GetAppSpecServiceCorsOutput) ToGetAppSpecServiceCorsOutputWithContext(ctx context.Context) GetAppSpecServiceCorsOutput { + return o +} + +func (o GetAppSpecServiceCorsOutput) ToGetAppSpecServiceCorsPtrOutput() GetAppSpecServiceCorsPtrOutput { + return o.ToGetAppSpecServiceCorsPtrOutputWithContext(context.Background()) +} + +func (o GetAppSpecServiceCorsOutput) ToGetAppSpecServiceCorsPtrOutputWithContext(ctx context.Context) GetAppSpecServiceCorsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecServiceCors) *GetAppSpecServiceCors { + return &v + }).(GetAppSpecServiceCorsPtrOutput) +} + +func (o GetAppSpecServiceCorsOutput) AllowCredentials() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GetAppSpecServiceCors) *bool { return v.AllowCredentials }).(pulumi.BoolPtrOutput) +} + +func (o GetAppSpecServiceCorsOutput) AllowHeaders() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetAppSpecServiceCors) []string { return v.AllowHeaders }).(pulumi.StringArrayOutput) +} + +func (o GetAppSpecServiceCorsOutput) AllowMethods() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetAppSpecServiceCors) []string { return v.AllowMethods }).(pulumi.StringArrayOutput) +} + +func (o GetAppSpecServiceCorsOutput) AllowOrigins() GetAppSpecServiceCorsAllowOriginsPtrOutput { + return o.ApplyT(func(v GetAppSpecServiceCors) *GetAppSpecServiceCorsAllowOrigins { return v.AllowOrigins }).(GetAppSpecServiceCorsAllowOriginsPtrOutput) +} + +func (o GetAppSpecServiceCorsOutput) ExposeHeaders() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetAppSpecServiceCors) []string { return v.ExposeHeaders }).(pulumi.StringArrayOutput) +} + +func (o GetAppSpecServiceCorsOutput) MaxAge() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecServiceCors) *string { return v.MaxAge }).(pulumi.StringPtrOutput) +} + +type GetAppSpecServiceCorsPtrOutput struct{ *pulumi.OutputState } + +func (GetAppSpecServiceCorsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecServiceCors)(nil)).Elem() +} + +func (o GetAppSpecServiceCorsPtrOutput) ToGetAppSpecServiceCorsPtrOutput() GetAppSpecServiceCorsPtrOutput { + return o +} + +func (o GetAppSpecServiceCorsPtrOutput) ToGetAppSpecServiceCorsPtrOutputWithContext(ctx context.Context) GetAppSpecServiceCorsPtrOutput { + return o +} + +func (o GetAppSpecServiceCorsPtrOutput) Elem() GetAppSpecServiceCorsOutput { + return o.ApplyT(func(v *GetAppSpecServiceCors) GetAppSpecServiceCors { + if v != nil { + return *v + } + var ret GetAppSpecServiceCors + return ret + }).(GetAppSpecServiceCorsOutput) +} + +func (o GetAppSpecServiceCorsPtrOutput) AllowCredentials() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *GetAppSpecServiceCors) *bool { + if v == nil { + return nil + } + return v.AllowCredentials + }).(pulumi.BoolPtrOutput) +} + +func (o GetAppSpecServiceCorsPtrOutput) AllowHeaders() pulumi.StringArrayOutput { + return o.ApplyT(func(v *GetAppSpecServiceCors) []string { + if v == nil { + return nil + } + return v.AllowHeaders + }).(pulumi.StringArrayOutput) +} + +func (o GetAppSpecServiceCorsPtrOutput) AllowMethods() pulumi.StringArrayOutput { + return o.ApplyT(func(v *GetAppSpecServiceCors) []string { + if v == nil { + return nil + } + return v.AllowMethods + }).(pulumi.StringArrayOutput) +} + +func (o GetAppSpecServiceCorsPtrOutput) AllowOrigins() GetAppSpecServiceCorsAllowOriginsPtrOutput { + return o.ApplyT(func(v *GetAppSpecServiceCors) *GetAppSpecServiceCorsAllowOrigins { + if v == nil { + return nil + } + return v.AllowOrigins + }).(GetAppSpecServiceCorsAllowOriginsPtrOutput) +} + +func (o GetAppSpecServiceCorsPtrOutput) ExposeHeaders() pulumi.StringArrayOutput { + return o.ApplyT(func(v *GetAppSpecServiceCors) []string { + if v == nil { + return nil + } + return v.ExposeHeaders + }).(pulumi.StringArrayOutput) +} + +func (o GetAppSpecServiceCorsPtrOutput) MaxAge() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecServiceCors) *string { + if v == nil { + return nil + } + return v.MaxAge + }).(pulumi.StringPtrOutput) +} + +type GetAppSpecServiceCorsAllowOrigins struct { + Exact *string `pulumi:"exact"` + Prefix *string `pulumi:"prefix"` + Regex *string `pulumi:"regex"` +} + +// GetAppSpecServiceCorsAllowOriginsInput is an input type that accepts GetAppSpecServiceCorsAllowOriginsArgs and GetAppSpecServiceCorsAllowOriginsOutput values. +// You can construct a concrete instance of `GetAppSpecServiceCorsAllowOriginsInput` via: +// +// GetAppSpecServiceCorsAllowOriginsArgs{...} +type GetAppSpecServiceCorsAllowOriginsInput interface { + pulumi.Input + + ToGetAppSpecServiceCorsAllowOriginsOutput() GetAppSpecServiceCorsAllowOriginsOutput + ToGetAppSpecServiceCorsAllowOriginsOutputWithContext(context.Context) GetAppSpecServiceCorsAllowOriginsOutput +} + +type GetAppSpecServiceCorsAllowOriginsArgs struct { + Exact pulumi.StringPtrInput `pulumi:"exact"` + Prefix pulumi.StringPtrInput `pulumi:"prefix"` + Regex pulumi.StringPtrInput `pulumi:"regex"` +} + +func (GetAppSpecServiceCorsAllowOriginsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecServiceCorsAllowOrigins)(nil)).Elem() +} + +func (i GetAppSpecServiceCorsAllowOriginsArgs) ToGetAppSpecServiceCorsAllowOriginsOutput() GetAppSpecServiceCorsAllowOriginsOutput { + return i.ToGetAppSpecServiceCorsAllowOriginsOutputWithContext(context.Background()) +} + +func (i GetAppSpecServiceCorsAllowOriginsArgs) ToGetAppSpecServiceCorsAllowOriginsOutputWithContext(ctx context.Context) GetAppSpecServiceCorsAllowOriginsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceCorsAllowOriginsOutput) +} + +func (i GetAppSpecServiceCorsAllowOriginsArgs) ToGetAppSpecServiceCorsAllowOriginsPtrOutput() GetAppSpecServiceCorsAllowOriginsPtrOutput { + return i.ToGetAppSpecServiceCorsAllowOriginsPtrOutputWithContext(context.Background()) +} + +func (i GetAppSpecServiceCorsAllowOriginsArgs) ToGetAppSpecServiceCorsAllowOriginsPtrOutputWithContext(ctx context.Context) GetAppSpecServiceCorsAllowOriginsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceCorsAllowOriginsOutput).ToGetAppSpecServiceCorsAllowOriginsPtrOutputWithContext(ctx) +} + +// GetAppSpecServiceCorsAllowOriginsPtrInput is an input type that accepts GetAppSpecServiceCorsAllowOriginsArgs, GetAppSpecServiceCorsAllowOriginsPtr and GetAppSpecServiceCorsAllowOriginsPtrOutput values. +// You can construct a concrete instance of `GetAppSpecServiceCorsAllowOriginsPtrInput` via: +// +// GetAppSpecServiceCorsAllowOriginsArgs{...} +// +// or: +// +// nil +type GetAppSpecServiceCorsAllowOriginsPtrInput interface { + pulumi.Input + + ToGetAppSpecServiceCorsAllowOriginsPtrOutput() GetAppSpecServiceCorsAllowOriginsPtrOutput + ToGetAppSpecServiceCorsAllowOriginsPtrOutputWithContext(context.Context) GetAppSpecServiceCorsAllowOriginsPtrOutput +} + +type getAppSpecServiceCorsAllowOriginsPtrType GetAppSpecServiceCorsAllowOriginsArgs + +func GetAppSpecServiceCorsAllowOriginsPtr(v *GetAppSpecServiceCorsAllowOriginsArgs) GetAppSpecServiceCorsAllowOriginsPtrInput { + return (*getAppSpecServiceCorsAllowOriginsPtrType)(v) +} + +func (*getAppSpecServiceCorsAllowOriginsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecServiceCorsAllowOrigins)(nil)).Elem() +} + +func (i *getAppSpecServiceCorsAllowOriginsPtrType) ToGetAppSpecServiceCorsAllowOriginsPtrOutput() GetAppSpecServiceCorsAllowOriginsPtrOutput { + return i.ToGetAppSpecServiceCorsAllowOriginsPtrOutputWithContext(context.Background()) +} + +func (i *getAppSpecServiceCorsAllowOriginsPtrType) ToGetAppSpecServiceCorsAllowOriginsPtrOutputWithContext(ctx context.Context) GetAppSpecServiceCorsAllowOriginsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceCorsAllowOriginsPtrOutput) +} + +type GetAppSpecServiceCorsAllowOriginsOutput struct{ *pulumi.OutputState } + +func (GetAppSpecServiceCorsAllowOriginsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecServiceCorsAllowOrigins)(nil)).Elem() +} + +func (o GetAppSpecServiceCorsAllowOriginsOutput) ToGetAppSpecServiceCorsAllowOriginsOutput() GetAppSpecServiceCorsAllowOriginsOutput { + return o +} + +func (o GetAppSpecServiceCorsAllowOriginsOutput) ToGetAppSpecServiceCorsAllowOriginsOutputWithContext(ctx context.Context) GetAppSpecServiceCorsAllowOriginsOutput { + return o +} + +func (o GetAppSpecServiceCorsAllowOriginsOutput) ToGetAppSpecServiceCorsAllowOriginsPtrOutput() GetAppSpecServiceCorsAllowOriginsPtrOutput { + return o.ToGetAppSpecServiceCorsAllowOriginsPtrOutputWithContext(context.Background()) +} + +func (o GetAppSpecServiceCorsAllowOriginsOutput) ToGetAppSpecServiceCorsAllowOriginsPtrOutputWithContext(ctx context.Context) GetAppSpecServiceCorsAllowOriginsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecServiceCorsAllowOrigins) *GetAppSpecServiceCorsAllowOrigins { + return &v + }).(GetAppSpecServiceCorsAllowOriginsPtrOutput) +} + +func (o GetAppSpecServiceCorsAllowOriginsOutput) Exact() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecServiceCorsAllowOrigins) *string { return v.Exact }).(pulumi.StringPtrOutput) +} + +func (o GetAppSpecServiceCorsAllowOriginsOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecServiceCorsAllowOrigins) *string { return v.Prefix }).(pulumi.StringPtrOutput) +} + +func (o GetAppSpecServiceCorsAllowOriginsOutput) Regex() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecServiceCorsAllowOrigins) *string { return v.Regex }).(pulumi.StringPtrOutput) +} + +type GetAppSpecServiceCorsAllowOriginsPtrOutput struct{ *pulumi.OutputState } + +func (GetAppSpecServiceCorsAllowOriginsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecServiceCorsAllowOrigins)(nil)).Elem() +} + +func (o GetAppSpecServiceCorsAllowOriginsPtrOutput) ToGetAppSpecServiceCorsAllowOriginsPtrOutput() GetAppSpecServiceCorsAllowOriginsPtrOutput { + return o +} + +func (o GetAppSpecServiceCorsAllowOriginsPtrOutput) ToGetAppSpecServiceCorsAllowOriginsPtrOutputWithContext(ctx context.Context) GetAppSpecServiceCorsAllowOriginsPtrOutput { + return o +} + +func (o GetAppSpecServiceCorsAllowOriginsPtrOutput) Elem() GetAppSpecServiceCorsAllowOriginsOutput { + return o.ApplyT(func(v *GetAppSpecServiceCorsAllowOrigins) GetAppSpecServiceCorsAllowOrigins { + if v != nil { + return *v + } + var ret GetAppSpecServiceCorsAllowOrigins + return ret + }).(GetAppSpecServiceCorsAllowOriginsOutput) +} + +func (o GetAppSpecServiceCorsAllowOriginsPtrOutput) Exact() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecServiceCorsAllowOrigins) *string { + if v == nil { + return nil + } + return v.Exact + }).(pulumi.StringPtrOutput) +} + +func (o GetAppSpecServiceCorsAllowOriginsPtrOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecServiceCorsAllowOrigins) *string { + if v == nil { + return nil + } + return v.Prefix + }).(pulumi.StringPtrOutput) +} + +func (o GetAppSpecServiceCorsAllowOriginsPtrOutput) Regex() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecServiceCorsAllowOrigins) *string { + if v == nil { + return nil + } + return v.Regex + }).(pulumi.StringPtrOutput) +} + +type GetAppSpecServiceEnv struct { + // The name of the environment variable. + Key *string `pulumi:"key"` + // The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). + Scope *string `pulumi:"scope"` + // The type of the environment variable, `GENERAL` or `SECRET`. + Type string `pulumi:"type"` + // The value of the environment variable. + Value *string `pulumi:"value"` +} + +// GetAppSpecServiceEnvInput is an input type that accepts GetAppSpecServiceEnvArgs and GetAppSpecServiceEnvOutput values. +// You can construct a concrete instance of `GetAppSpecServiceEnvInput` via: +// +// GetAppSpecServiceEnvArgs{...} +type GetAppSpecServiceEnvInput interface { + pulumi.Input + + ToGetAppSpecServiceEnvOutput() GetAppSpecServiceEnvOutput + ToGetAppSpecServiceEnvOutputWithContext(context.Context) GetAppSpecServiceEnvOutput +} + +type GetAppSpecServiceEnvArgs struct { + // The name of the environment variable. + Key pulumi.StringPtrInput `pulumi:"key"` + // The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). + Scope pulumi.StringPtrInput `pulumi:"scope"` + // The type of the environment variable, `GENERAL` or `SECRET`. + Type pulumi.StringInput `pulumi:"type"` + // The value of the environment variable. + Value pulumi.StringPtrInput `pulumi:"value"` +} + +func (GetAppSpecServiceEnvArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecServiceEnv)(nil)).Elem() +} + +func (i GetAppSpecServiceEnvArgs) ToGetAppSpecServiceEnvOutput() GetAppSpecServiceEnvOutput { + return i.ToGetAppSpecServiceEnvOutputWithContext(context.Background()) +} + +func (i GetAppSpecServiceEnvArgs) ToGetAppSpecServiceEnvOutputWithContext(ctx context.Context) GetAppSpecServiceEnvOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceEnvOutput) +} + +// GetAppSpecServiceEnvArrayInput is an input type that accepts GetAppSpecServiceEnvArray and GetAppSpecServiceEnvArrayOutput values. +// You can construct a concrete instance of `GetAppSpecServiceEnvArrayInput` via: +// +// GetAppSpecServiceEnvArray{ GetAppSpecServiceEnvArgs{...} } +type GetAppSpecServiceEnvArrayInput interface { + pulumi.Input + + ToGetAppSpecServiceEnvArrayOutput() GetAppSpecServiceEnvArrayOutput + ToGetAppSpecServiceEnvArrayOutputWithContext(context.Context) GetAppSpecServiceEnvArrayOutput +} + +type GetAppSpecServiceEnvArray []GetAppSpecServiceEnvInput + +func (GetAppSpecServiceEnvArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAppSpecServiceEnv)(nil)).Elem() +} + +func (i GetAppSpecServiceEnvArray) ToGetAppSpecServiceEnvArrayOutput() GetAppSpecServiceEnvArrayOutput { + return i.ToGetAppSpecServiceEnvArrayOutputWithContext(context.Background()) +} + +func (i GetAppSpecServiceEnvArray) ToGetAppSpecServiceEnvArrayOutputWithContext(ctx context.Context) GetAppSpecServiceEnvArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceEnvArrayOutput) +} + +type GetAppSpecServiceEnvOutput struct{ *pulumi.OutputState } + +func (GetAppSpecServiceEnvOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecServiceEnv)(nil)).Elem() +} + +func (o GetAppSpecServiceEnvOutput) ToGetAppSpecServiceEnvOutput() GetAppSpecServiceEnvOutput { + return o +} + +func (o GetAppSpecServiceEnvOutput) ToGetAppSpecServiceEnvOutputWithContext(ctx context.Context) GetAppSpecServiceEnvOutput { + return o +} + +// The name of the environment variable. +func (o GetAppSpecServiceEnvOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecServiceEnv) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). +func (o GetAppSpecServiceEnvOutput) Scope() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecServiceEnv) *string { return v.Scope }).(pulumi.StringPtrOutput) +} + +// The type of the environment variable, `GENERAL` or `SECRET`. +func (o GetAppSpecServiceEnvOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetAppSpecServiceEnv) string { return v.Type }).(pulumi.StringOutput) +} + +// The value of the environment variable. +func (o GetAppSpecServiceEnvOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecServiceEnv) *string { return v.Value }).(pulumi.StringPtrOutput) +} + +type GetAppSpecServiceEnvArrayOutput struct{ *pulumi.OutputState } + +func (GetAppSpecServiceEnvArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAppSpecServiceEnv)(nil)).Elem() +} + +func (o GetAppSpecServiceEnvArrayOutput) ToGetAppSpecServiceEnvArrayOutput() GetAppSpecServiceEnvArrayOutput { + return o +} + +func (o GetAppSpecServiceEnvArrayOutput) ToGetAppSpecServiceEnvArrayOutputWithContext(ctx context.Context) GetAppSpecServiceEnvArrayOutput { + return o +} + +func (o GetAppSpecServiceEnvArrayOutput) Index(i pulumi.IntInput) GetAppSpecServiceEnvOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAppSpecServiceEnv { + return vs[0].([]GetAppSpecServiceEnv)[vs[1].(int)] + }).(GetAppSpecServiceEnvOutput) +} + +type GetAppSpecServiceGit struct { + // The name of the branch to use. + Branch *string `pulumi:"branch"` + // The clone URL of the repo. + RepoCloneUrl *string `pulumi:"repoCloneUrl"` +} + +// GetAppSpecServiceGitInput is an input type that accepts GetAppSpecServiceGitArgs and GetAppSpecServiceGitOutput values. +// You can construct a concrete instance of `GetAppSpecServiceGitInput` via: +// +// GetAppSpecServiceGitArgs{...} +type GetAppSpecServiceGitInput interface { + pulumi.Input + + ToGetAppSpecServiceGitOutput() GetAppSpecServiceGitOutput + ToGetAppSpecServiceGitOutputWithContext(context.Context) GetAppSpecServiceGitOutput +} + +type GetAppSpecServiceGitArgs struct { + // The name of the branch to use. + Branch pulumi.StringPtrInput `pulumi:"branch"` + // The clone URL of the repo. + RepoCloneUrl pulumi.StringPtrInput `pulumi:"repoCloneUrl"` +} + +func (GetAppSpecServiceGitArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecServiceGit)(nil)).Elem() +} + +func (i GetAppSpecServiceGitArgs) ToGetAppSpecServiceGitOutput() GetAppSpecServiceGitOutput { + return i.ToGetAppSpecServiceGitOutputWithContext(context.Background()) +} + +func (i GetAppSpecServiceGitArgs) ToGetAppSpecServiceGitOutputWithContext(ctx context.Context) GetAppSpecServiceGitOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceGitOutput) +} + +func (i GetAppSpecServiceGitArgs) ToGetAppSpecServiceGitPtrOutput() GetAppSpecServiceGitPtrOutput { + return i.ToGetAppSpecServiceGitPtrOutputWithContext(context.Background()) +} + +func (i GetAppSpecServiceGitArgs) ToGetAppSpecServiceGitPtrOutputWithContext(ctx context.Context) GetAppSpecServiceGitPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceGitOutput).ToGetAppSpecServiceGitPtrOutputWithContext(ctx) +} + +// GetAppSpecServiceGitPtrInput is an input type that accepts GetAppSpecServiceGitArgs, GetAppSpecServiceGitPtr and GetAppSpecServiceGitPtrOutput values. +// You can construct a concrete instance of `GetAppSpecServiceGitPtrInput` via: +// +// GetAppSpecServiceGitArgs{...} +// +// or: +// +// nil +type GetAppSpecServiceGitPtrInput interface { + pulumi.Input + + ToGetAppSpecServiceGitPtrOutput() GetAppSpecServiceGitPtrOutput + ToGetAppSpecServiceGitPtrOutputWithContext(context.Context) GetAppSpecServiceGitPtrOutput +} + +type getAppSpecServiceGitPtrType GetAppSpecServiceGitArgs + +func GetAppSpecServiceGitPtr(v *GetAppSpecServiceGitArgs) GetAppSpecServiceGitPtrInput { + return (*getAppSpecServiceGitPtrType)(v) +} + +func (*getAppSpecServiceGitPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecServiceGit)(nil)).Elem() +} + +func (i *getAppSpecServiceGitPtrType) ToGetAppSpecServiceGitPtrOutput() GetAppSpecServiceGitPtrOutput { + return i.ToGetAppSpecServiceGitPtrOutputWithContext(context.Background()) +} + +func (i *getAppSpecServiceGitPtrType) ToGetAppSpecServiceGitPtrOutputWithContext(ctx context.Context) GetAppSpecServiceGitPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceGitPtrOutput) +} + +type GetAppSpecServiceGitOutput struct{ *pulumi.OutputState } + +func (GetAppSpecServiceGitOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecServiceGit)(nil)).Elem() +} + +func (o GetAppSpecServiceGitOutput) ToGetAppSpecServiceGitOutput() GetAppSpecServiceGitOutput { + return o +} + +func (o GetAppSpecServiceGitOutput) ToGetAppSpecServiceGitOutputWithContext(ctx context.Context) GetAppSpecServiceGitOutput { + return o +} + +func (o GetAppSpecServiceGitOutput) ToGetAppSpecServiceGitPtrOutput() GetAppSpecServiceGitPtrOutput { + return o.ToGetAppSpecServiceGitPtrOutputWithContext(context.Background()) +} + +func (o GetAppSpecServiceGitOutput) ToGetAppSpecServiceGitPtrOutputWithContext(ctx context.Context) GetAppSpecServiceGitPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecServiceGit) *GetAppSpecServiceGit { + return &v + }).(GetAppSpecServiceGitPtrOutput) +} + +// The name of the branch to use. +func (o GetAppSpecServiceGitOutput) Branch() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecServiceGit) *string { return v.Branch }).(pulumi.StringPtrOutput) +} + +// The clone URL of the repo. +func (o GetAppSpecServiceGitOutput) RepoCloneUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecServiceGit) *string { return v.RepoCloneUrl }).(pulumi.StringPtrOutput) +} + +type GetAppSpecServiceGitPtrOutput struct{ *pulumi.OutputState } + +func (GetAppSpecServiceGitPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecServiceGit)(nil)).Elem() +} + +func (o GetAppSpecServiceGitPtrOutput) ToGetAppSpecServiceGitPtrOutput() GetAppSpecServiceGitPtrOutput { + return o +} + +func (o GetAppSpecServiceGitPtrOutput) ToGetAppSpecServiceGitPtrOutputWithContext(ctx context.Context) GetAppSpecServiceGitPtrOutput { + return o +} + +func (o GetAppSpecServiceGitPtrOutput) Elem() GetAppSpecServiceGitOutput { + return o.ApplyT(func(v *GetAppSpecServiceGit) GetAppSpecServiceGit { + if v != nil { + return *v + } + var ret GetAppSpecServiceGit + return ret + }).(GetAppSpecServiceGitOutput) +} + +// The name of the branch to use. +func (o GetAppSpecServiceGitPtrOutput) Branch() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecServiceGit) *string { + if v == nil { + return nil + } + return v.Branch + }).(pulumi.StringPtrOutput) +} + +// The clone URL of the repo. +func (o GetAppSpecServiceGitPtrOutput) RepoCloneUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecServiceGit) *string { + if v == nil { + return nil + } + return v.RepoCloneUrl + }).(pulumi.StringPtrOutput) +} + +type GetAppSpecServiceGithub struct { + // The name of the branch to use. + Branch *string `pulumi:"branch"` + // Whether to automatically deploy new commits made to the repo. + DeployOnPush *bool `pulumi:"deployOnPush"` + // The name of the repo in the format `owner/repo`. + Repo *string `pulumi:"repo"` +} + +// GetAppSpecServiceGithubInput is an input type that accepts GetAppSpecServiceGithubArgs and GetAppSpecServiceGithubOutput values. +// You can construct a concrete instance of `GetAppSpecServiceGithubInput` via: +// +// GetAppSpecServiceGithubArgs{...} +type GetAppSpecServiceGithubInput interface { + pulumi.Input + + ToGetAppSpecServiceGithubOutput() GetAppSpecServiceGithubOutput + ToGetAppSpecServiceGithubOutputWithContext(context.Context) GetAppSpecServiceGithubOutput +} + +type GetAppSpecServiceGithubArgs struct { + // The name of the branch to use. + Branch pulumi.StringPtrInput `pulumi:"branch"` + // Whether to automatically deploy new commits made to the repo. + DeployOnPush pulumi.BoolPtrInput `pulumi:"deployOnPush"` + // The name of the repo in the format `owner/repo`. + Repo pulumi.StringPtrInput `pulumi:"repo"` +} + +func (GetAppSpecServiceGithubArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecServiceGithub)(nil)).Elem() +} + +func (i GetAppSpecServiceGithubArgs) ToGetAppSpecServiceGithubOutput() GetAppSpecServiceGithubOutput { + return i.ToGetAppSpecServiceGithubOutputWithContext(context.Background()) +} + +func (i GetAppSpecServiceGithubArgs) ToGetAppSpecServiceGithubOutputWithContext(ctx context.Context) GetAppSpecServiceGithubOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceGithubOutput) +} + +func (i GetAppSpecServiceGithubArgs) ToGetAppSpecServiceGithubPtrOutput() GetAppSpecServiceGithubPtrOutput { + return i.ToGetAppSpecServiceGithubPtrOutputWithContext(context.Background()) +} + +func (i GetAppSpecServiceGithubArgs) ToGetAppSpecServiceGithubPtrOutputWithContext(ctx context.Context) GetAppSpecServiceGithubPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceGithubOutput).ToGetAppSpecServiceGithubPtrOutputWithContext(ctx) +} + +// GetAppSpecServiceGithubPtrInput is an input type that accepts GetAppSpecServiceGithubArgs, GetAppSpecServiceGithubPtr and GetAppSpecServiceGithubPtrOutput values. +// You can construct a concrete instance of `GetAppSpecServiceGithubPtrInput` via: +// +// GetAppSpecServiceGithubArgs{...} +// +// or: +// +// nil +type GetAppSpecServiceGithubPtrInput interface { + pulumi.Input + + ToGetAppSpecServiceGithubPtrOutput() GetAppSpecServiceGithubPtrOutput + ToGetAppSpecServiceGithubPtrOutputWithContext(context.Context) GetAppSpecServiceGithubPtrOutput +} + +type getAppSpecServiceGithubPtrType GetAppSpecServiceGithubArgs + +func GetAppSpecServiceGithubPtr(v *GetAppSpecServiceGithubArgs) GetAppSpecServiceGithubPtrInput { + return (*getAppSpecServiceGithubPtrType)(v) +} + +func (*getAppSpecServiceGithubPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecServiceGithub)(nil)).Elem() +} + +func (i *getAppSpecServiceGithubPtrType) ToGetAppSpecServiceGithubPtrOutput() GetAppSpecServiceGithubPtrOutput { + return i.ToGetAppSpecServiceGithubPtrOutputWithContext(context.Background()) +} + +func (i *getAppSpecServiceGithubPtrType) ToGetAppSpecServiceGithubPtrOutputWithContext(ctx context.Context) GetAppSpecServiceGithubPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceGithubPtrOutput) +} + +type GetAppSpecServiceGithubOutput struct{ *pulumi.OutputState } + +func (GetAppSpecServiceGithubOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecServiceGithub)(nil)).Elem() +} + +func (o GetAppSpecServiceGithubOutput) ToGetAppSpecServiceGithubOutput() GetAppSpecServiceGithubOutput { + return o +} + +func (o GetAppSpecServiceGithubOutput) ToGetAppSpecServiceGithubOutputWithContext(ctx context.Context) GetAppSpecServiceGithubOutput { + return o +} + +func (o GetAppSpecServiceGithubOutput) ToGetAppSpecServiceGithubPtrOutput() GetAppSpecServiceGithubPtrOutput { + return o.ToGetAppSpecServiceGithubPtrOutputWithContext(context.Background()) +} + +func (o GetAppSpecServiceGithubOutput) ToGetAppSpecServiceGithubPtrOutputWithContext(ctx context.Context) GetAppSpecServiceGithubPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecServiceGithub) *GetAppSpecServiceGithub { + return &v + }).(GetAppSpecServiceGithubPtrOutput) +} + +// The name of the branch to use. +func (o GetAppSpecServiceGithubOutput) Branch() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecServiceGithub) *string { return v.Branch }).(pulumi.StringPtrOutput) +} + +// Whether to automatically deploy new commits made to the repo. +func (o GetAppSpecServiceGithubOutput) DeployOnPush() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GetAppSpecServiceGithub) *bool { return v.DeployOnPush }).(pulumi.BoolPtrOutput) +} + +// The name of the repo in the format `owner/repo`. +func (o GetAppSpecServiceGithubOutput) Repo() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecServiceGithub) *string { return v.Repo }).(pulumi.StringPtrOutput) +} + +type GetAppSpecServiceGithubPtrOutput struct{ *pulumi.OutputState } + +func (GetAppSpecServiceGithubPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecServiceGithub)(nil)).Elem() +} + +func (o GetAppSpecServiceGithubPtrOutput) ToGetAppSpecServiceGithubPtrOutput() GetAppSpecServiceGithubPtrOutput { + return o +} + +func (o GetAppSpecServiceGithubPtrOutput) ToGetAppSpecServiceGithubPtrOutputWithContext(ctx context.Context) GetAppSpecServiceGithubPtrOutput { + return o +} + +func (o GetAppSpecServiceGithubPtrOutput) Elem() GetAppSpecServiceGithubOutput { + return o.ApplyT(func(v *GetAppSpecServiceGithub) GetAppSpecServiceGithub { + if v != nil { + return *v + } + var ret GetAppSpecServiceGithub + return ret + }).(GetAppSpecServiceGithubOutput) +} + +// The name of the branch to use. +func (o GetAppSpecServiceGithubPtrOutput) Branch() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecServiceGithub) *string { + if v == nil { + return nil + } + return v.Branch + }).(pulumi.StringPtrOutput) +} + +// Whether to automatically deploy new commits made to the repo. +func (o GetAppSpecServiceGithubPtrOutput) DeployOnPush() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *GetAppSpecServiceGithub) *bool { + if v == nil { + return nil + } + return v.DeployOnPush + }).(pulumi.BoolPtrOutput) +} + +// The name of the repo in the format `owner/repo`. +func (o GetAppSpecServiceGithubPtrOutput) Repo() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecServiceGithub) *string { + if v == nil { + return nil + } + return v.Repo + }).(pulumi.StringPtrOutput) +} + +type GetAppSpecServiceGitlab struct { + // The name of the branch to use. + Branch *string `pulumi:"branch"` + // Whether to automatically deploy new commits made to the repo. + DeployOnPush *bool `pulumi:"deployOnPush"` + // The name of the repo in the format `owner/repo`. + Repo *string `pulumi:"repo"` +} + +// GetAppSpecServiceGitlabInput is an input type that accepts GetAppSpecServiceGitlabArgs and GetAppSpecServiceGitlabOutput values. +// You can construct a concrete instance of `GetAppSpecServiceGitlabInput` via: +// +// GetAppSpecServiceGitlabArgs{...} +type GetAppSpecServiceGitlabInput interface { + pulumi.Input + + ToGetAppSpecServiceGitlabOutput() GetAppSpecServiceGitlabOutput + ToGetAppSpecServiceGitlabOutputWithContext(context.Context) GetAppSpecServiceGitlabOutput +} + +type GetAppSpecServiceGitlabArgs struct { + // The name of the branch to use. + Branch pulumi.StringPtrInput `pulumi:"branch"` + // Whether to automatically deploy new commits made to the repo. + DeployOnPush pulumi.BoolPtrInput `pulumi:"deployOnPush"` + // The name of the repo in the format `owner/repo`. + Repo pulumi.StringPtrInput `pulumi:"repo"` +} + +func (GetAppSpecServiceGitlabArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecServiceGitlab)(nil)).Elem() +} + +func (i GetAppSpecServiceGitlabArgs) ToGetAppSpecServiceGitlabOutput() GetAppSpecServiceGitlabOutput { + return i.ToGetAppSpecServiceGitlabOutputWithContext(context.Background()) +} + +func (i GetAppSpecServiceGitlabArgs) ToGetAppSpecServiceGitlabOutputWithContext(ctx context.Context) GetAppSpecServiceGitlabOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceGitlabOutput) +} + +func (i GetAppSpecServiceGitlabArgs) ToGetAppSpecServiceGitlabPtrOutput() GetAppSpecServiceGitlabPtrOutput { + return i.ToGetAppSpecServiceGitlabPtrOutputWithContext(context.Background()) +} + +func (i GetAppSpecServiceGitlabArgs) ToGetAppSpecServiceGitlabPtrOutputWithContext(ctx context.Context) GetAppSpecServiceGitlabPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceGitlabOutput).ToGetAppSpecServiceGitlabPtrOutputWithContext(ctx) +} + +// GetAppSpecServiceGitlabPtrInput is an input type that accepts GetAppSpecServiceGitlabArgs, GetAppSpecServiceGitlabPtr and GetAppSpecServiceGitlabPtrOutput values. +// You can construct a concrete instance of `GetAppSpecServiceGitlabPtrInput` via: +// +// GetAppSpecServiceGitlabArgs{...} +// +// or: +// +// nil +type GetAppSpecServiceGitlabPtrInput interface { + pulumi.Input + + ToGetAppSpecServiceGitlabPtrOutput() GetAppSpecServiceGitlabPtrOutput + ToGetAppSpecServiceGitlabPtrOutputWithContext(context.Context) GetAppSpecServiceGitlabPtrOutput +} + +type getAppSpecServiceGitlabPtrType GetAppSpecServiceGitlabArgs + +func GetAppSpecServiceGitlabPtr(v *GetAppSpecServiceGitlabArgs) GetAppSpecServiceGitlabPtrInput { + return (*getAppSpecServiceGitlabPtrType)(v) +} + +func (*getAppSpecServiceGitlabPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecServiceGitlab)(nil)).Elem() +} + +func (i *getAppSpecServiceGitlabPtrType) ToGetAppSpecServiceGitlabPtrOutput() GetAppSpecServiceGitlabPtrOutput { + return i.ToGetAppSpecServiceGitlabPtrOutputWithContext(context.Background()) +} + +func (i *getAppSpecServiceGitlabPtrType) ToGetAppSpecServiceGitlabPtrOutputWithContext(ctx context.Context) GetAppSpecServiceGitlabPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceGitlabPtrOutput) +} + +type GetAppSpecServiceGitlabOutput struct{ *pulumi.OutputState } + +func (GetAppSpecServiceGitlabOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecServiceGitlab)(nil)).Elem() +} + +func (o GetAppSpecServiceGitlabOutput) ToGetAppSpecServiceGitlabOutput() GetAppSpecServiceGitlabOutput { + return o +} + +func (o GetAppSpecServiceGitlabOutput) ToGetAppSpecServiceGitlabOutputWithContext(ctx context.Context) GetAppSpecServiceGitlabOutput { + return o +} + +func (o GetAppSpecServiceGitlabOutput) ToGetAppSpecServiceGitlabPtrOutput() GetAppSpecServiceGitlabPtrOutput { + return o.ToGetAppSpecServiceGitlabPtrOutputWithContext(context.Background()) +} + +func (o GetAppSpecServiceGitlabOutput) ToGetAppSpecServiceGitlabPtrOutputWithContext(ctx context.Context) GetAppSpecServiceGitlabPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecServiceGitlab) *GetAppSpecServiceGitlab { + return &v + }).(GetAppSpecServiceGitlabPtrOutput) } -// The registry name. Must be left empty for the `DOCR` registry type. Required for the `DOCKER_HUB` registry type. -func (o GetAppSpecJobImageOutput) Registry() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecJobImage) *string { return v.Registry }).(pulumi.StringPtrOutput) +// The name of the branch to use. +func (o GetAppSpecServiceGitlabOutput) Branch() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecServiceGitlab) *string { return v.Branch }).(pulumi.StringPtrOutput) +} + +// Whether to automatically deploy new commits made to the repo. +func (o GetAppSpecServiceGitlabOutput) DeployOnPush() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GetAppSpecServiceGitlab) *bool { return v.DeployOnPush }).(pulumi.BoolPtrOutput) +} + +// The name of the repo in the format `owner/repo`. +func (o GetAppSpecServiceGitlabOutput) Repo() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecServiceGitlab) *string { return v.Repo }).(pulumi.StringPtrOutput) +} + +type GetAppSpecServiceGitlabPtrOutput struct{ *pulumi.OutputState } + +func (GetAppSpecServiceGitlabPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecServiceGitlab)(nil)).Elem() +} + +func (o GetAppSpecServiceGitlabPtrOutput) ToGetAppSpecServiceGitlabPtrOutput() GetAppSpecServiceGitlabPtrOutput { + return o +} + +func (o GetAppSpecServiceGitlabPtrOutput) ToGetAppSpecServiceGitlabPtrOutputWithContext(ctx context.Context) GetAppSpecServiceGitlabPtrOutput { + return o +} + +func (o GetAppSpecServiceGitlabPtrOutput) Elem() GetAppSpecServiceGitlabOutput { + return o.ApplyT(func(v *GetAppSpecServiceGitlab) GetAppSpecServiceGitlab { + if v != nil { + return *v + } + var ret GetAppSpecServiceGitlab + return ret + }).(GetAppSpecServiceGitlabOutput) +} + +// The name of the branch to use. +func (o GetAppSpecServiceGitlabPtrOutput) Branch() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecServiceGitlab) *string { + if v == nil { + return nil + } + return v.Branch + }).(pulumi.StringPtrOutput) +} + +// Whether to automatically deploy new commits made to the repo. +func (o GetAppSpecServiceGitlabPtrOutput) DeployOnPush() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *GetAppSpecServiceGitlab) *bool { + if v == nil { + return nil + } + return v.DeployOnPush + }).(pulumi.BoolPtrOutput) +} + +// The name of the repo in the format `owner/repo`. +func (o GetAppSpecServiceGitlabPtrOutput) Repo() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecServiceGitlab) *string { + if v == nil { + return nil + } + return v.Repo + }).(pulumi.StringPtrOutput) +} + +type GetAppSpecServiceHealthCheck struct { + // The number of failed health checks before considered unhealthy. + FailureThreshold *int `pulumi:"failureThreshold"` + // The route path used for the HTTP health check ping. + HttpPath *string `pulumi:"httpPath"` + // The number of seconds to wait before beginning health checks. + InitialDelaySeconds *int `pulumi:"initialDelaySeconds"` + // The number of seconds to wait between health checks. + PeriodSeconds *int `pulumi:"periodSeconds"` + // The number of successful health checks before considered healthy. + SuccessThreshold *int `pulumi:"successThreshold"` + // The number of seconds after which the check times out. + TimeoutSeconds *int `pulumi:"timeoutSeconds"` +} + +// GetAppSpecServiceHealthCheckInput is an input type that accepts GetAppSpecServiceHealthCheckArgs and GetAppSpecServiceHealthCheckOutput values. +// You can construct a concrete instance of `GetAppSpecServiceHealthCheckInput` via: +// +// GetAppSpecServiceHealthCheckArgs{...} +type GetAppSpecServiceHealthCheckInput interface { + pulumi.Input + + ToGetAppSpecServiceHealthCheckOutput() GetAppSpecServiceHealthCheckOutput + ToGetAppSpecServiceHealthCheckOutputWithContext(context.Context) GetAppSpecServiceHealthCheckOutput +} + +type GetAppSpecServiceHealthCheckArgs struct { + // The number of failed health checks before considered unhealthy. + FailureThreshold pulumi.IntPtrInput `pulumi:"failureThreshold"` + // The route path used for the HTTP health check ping. + HttpPath pulumi.StringPtrInput `pulumi:"httpPath"` + // The number of seconds to wait before beginning health checks. + InitialDelaySeconds pulumi.IntPtrInput `pulumi:"initialDelaySeconds"` + // The number of seconds to wait between health checks. + PeriodSeconds pulumi.IntPtrInput `pulumi:"periodSeconds"` + // The number of successful health checks before considered healthy. + SuccessThreshold pulumi.IntPtrInput `pulumi:"successThreshold"` + // The number of seconds after which the check times out. + TimeoutSeconds pulumi.IntPtrInput `pulumi:"timeoutSeconds"` +} + +func (GetAppSpecServiceHealthCheckArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecServiceHealthCheck)(nil)).Elem() +} + +func (i GetAppSpecServiceHealthCheckArgs) ToGetAppSpecServiceHealthCheckOutput() GetAppSpecServiceHealthCheckOutput { + return i.ToGetAppSpecServiceHealthCheckOutputWithContext(context.Background()) +} + +func (i GetAppSpecServiceHealthCheckArgs) ToGetAppSpecServiceHealthCheckOutputWithContext(ctx context.Context) GetAppSpecServiceHealthCheckOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceHealthCheckOutput) +} + +func (i GetAppSpecServiceHealthCheckArgs) ToGetAppSpecServiceHealthCheckPtrOutput() GetAppSpecServiceHealthCheckPtrOutput { + return i.ToGetAppSpecServiceHealthCheckPtrOutputWithContext(context.Background()) +} + +func (i GetAppSpecServiceHealthCheckArgs) ToGetAppSpecServiceHealthCheckPtrOutputWithContext(ctx context.Context) GetAppSpecServiceHealthCheckPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceHealthCheckOutput).ToGetAppSpecServiceHealthCheckPtrOutputWithContext(ctx) +} + +// GetAppSpecServiceHealthCheckPtrInput is an input type that accepts GetAppSpecServiceHealthCheckArgs, GetAppSpecServiceHealthCheckPtr and GetAppSpecServiceHealthCheckPtrOutput values. +// You can construct a concrete instance of `GetAppSpecServiceHealthCheckPtrInput` via: +// +// GetAppSpecServiceHealthCheckArgs{...} +// +// or: +// +// nil +type GetAppSpecServiceHealthCheckPtrInput interface { + pulumi.Input + + ToGetAppSpecServiceHealthCheckPtrOutput() GetAppSpecServiceHealthCheckPtrOutput + ToGetAppSpecServiceHealthCheckPtrOutputWithContext(context.Context) GetAppSpecServiceHealthCheckPtrOutput +} + +type getAppSpecServiceHealthCheckPtrType GetAppSpecServiceHealthCheckArgs + +func GetAppSpecServiceHealthCheckPtr(v *GetAppSpecServiceHealthCheckArgs) GetAppSpecServiceHealthCheckPtrInput { + return (*getAppSpecServiceHealthCheckPtrType)(v) +} + +func (*getAppSpecServiceHealthCheckPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecServiceHealthCheck)(nil)).Elem() +} + +func (i *getAppSpecServiceHealthCheckPtrType) ToGetAppSpecServiceHealthCheckPtrOutput() GetAppSpecServiceHealthCheckPtrOutput { + return i.ToGetAppSpecServiceHealthCheckPtrOutputWithContext(context.Background()) +} + +func (i *getAppSpecServiceHealthCheckPtrType) ToGetAppSpecServiceHealthCheckPtrOutputWithContext(ctx context.Context) GetAppSpecServiceHealthCheckPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceHealthCheckPtrOutput) +} + +type GetAppSpecServiceHealthCheckOutput struct{ *pulumi.OutputState } + +func (GetAppSpecServiceHealthCheckOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecServiceHealthCheck)(nil)).Elem() +} + +func (o GetAppSpecServiceHealthCheckOutput) ToGetAppSpecServiceHealthCheckOutput() GetAppSpecServiceHealthCheckOutput { + return o +} + +func (o GetAppSpecServiceHealthCheckOutput) ToGetAppSpecServiceHealthCheckOutputWithContext(ctx context.Context) GetAppSpecServiceHealthCheckOutput { + return o +} + +func (o GetAppSpecServiceHealthCheckOutput) ToGetAppSpecServiceHealthCheckPtrOutput() GetAppSpecServiceHealthCheckPtrOutput { + return o.ToGetAppSpecServiceHealthCheckPtrOutputWithContext(context.Background()) +} + +func (o GetAppSpecServiceHealthCheckOutput) ToGetAppSpecServiceHealthCheckPtrOutputWithContext(ctx context.Context) GetAppSpecServiceHealthCheckPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecServiceHealthCheck) *GetAppSpecServiceHealthCheck { + return &v + }).(GetAppSpecServiceHealthCheckPtrOutput) +} + +// The number of failed health checks before considered unhealthy. +func (o GetAppSpecServiceHealthCheckOutput) FailureThreshold() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetAppSpecServiceHealthCheck) *int { return v.FailureThreshold }).(pulumi.IntPtrOutput) +} + +// The route path used for the HTTP health check ping. +func (o GetAppSpecServiceHealthCheckOutput) HttpPath() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecServiceHealthCheck) *string { return v.HttpPath }).(pulumi.StringPtrOutput) +} + +// The number of seconds to wait before beginning health checks. +func (o GetAppSpecServiceHealthCheckOutput) InitialDelaySeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetAppSpecServiceHealthCheck) *int { return v.InitialDelaySeconds }).(pulumi.IntPtrOutput) } -// The registry type. One of `DOCR` (DigitalOcean container registry) or `DOCKER_HUB`. -func (o GetAppSpecJobImageOutput) RegistryType() pulumi.StringOutput { - return o.ApplyT(func(v GetAppSpecJobImage) string { return v.RegistryType }).(pulumi.StringOutput) +// The number of seconds to wait between health checks. +func (o GetAppSpecServiceHealthCheckOutput) PeriodSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetAppSpecServiceHealthCheck) *int { return v.PeriodSeconds }).(pulumi.IntPtrOutput) } -// The repository name. -func (o GetAppSpecJobImageOutput) Repository() pulumi.StringOutput { - return o.ApplyT(func(v GetAppSpecJobImage) string { return v.Repository }).(pulumi.StringOutput) +// The number of successful health checks before considered healthy. +func (o GetAppSpecServiceHealthCheckOutput) SuccessThreshold() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetAppSpecServiceHealthCheck) *int { return v.SuccessThreshold }).(pulumi.IntPtrOutput) } -// The repository tag. Defaults to `latest` if not provided. -func (o GetAppSpecJobImageOutput) Tag() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecJobImage) *string { return v.Tag }).(pulumi.StringPtrOutput) +// The number of seconds after which the check times out. +func (o GetAppSpecServiceHealthCheckOutput) TimeoutSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetAppSpecServiceHealthCheck) *int { return v.TimeoutSeconds }).(pulumi.IntPtrOutput) } -type GetAppSpecJobImagePtrOutput struct{ *pulumi.OutputState } +type GetAppSpecServiceHealthCheckPtrOutput struct{ *pulumi.OutputState } -func (GetAppSpecJobImagePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**GetAppSpecJobImage)(nil)).Elem() +func (GetAppSpecServiceHealthCheckPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecServiceHealthCheck)(nil)).Elem() } -func (o GetAppSpecJobImagePtrOutput) ToGetAppSpecJobImagePtrOutput() GetAppSpecJobImagePtrOutput { +func (o GetAppSpecServiceHealthCheckPtrOutput) ToGetAppSpecServiceHealthCheckPtrOutput() GetAppSpecServiceHealthCheckPtrOutput { return o } -func (o GetAppSpecJobImagePtrOutput) ToGetAppSpecJobImagePtrOutputWithContext(ctx context.Context) GetAppSpecJobImagePtrOutput { +func (o GetAppSpecServiceHealthCheckPtrOutput) ToGetAppSpecServiceHealthCheckPtrOutputWithContext(ctx context.Context) GetAppSpecServiceHealthCheckPtrOutput { return o } -func (o GetAppSpecJobImagePtrOutput) Elem() GetAppSpecJobImageOutput { - return o.ApplyT(func(v *GetAppSpecJobImage) GetAppSpecJobImage { +func (o GetAppSpecServiceHealthCheckPtrOutput) Elem() GetAppSpecServiceHealthCheckOutput { + return o.ApplyT(func(v *GetAppSpecServiceHealthCheck) GetAppSpecServiceHealthCheck { if v != nil { return *v } - var ret GetAppSpecJobImage + var ret GetAppSpecServiceHealthCheck return ret - }).(GetAppSpecJobImageOutput) + }).(GetAppSpecServiceHealthCheckOutput) } -// The registry name. Must be left empty for the `DOCR` registry type. Required for the `DOCKER_HUB` registry type. -func (o GetAppSpecJobImagePtrOutput) Registry() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetAppSpecJobImage) *string { +// The number of failed health checks before considered unhealthy. +func (o GetAppSpecServiceHealthCheckPtrOutput) FailureThreshold() pulumi.IntPtrOutput { + return o.ApplyT(func(v *GetAppSpecServiceHealthCheck) *int { if v == nil { return nil } - return v.Registry - }).(pulumi.StringPtrOutput) + return v.FailureThreshold + }).(pulumi.IntPtrOutput) } -// The registry type. One of `DOCR` (DigitalOcean container registry) or `DOCKER_HUB`. -func (o GetAppSpecJobImagePtrOutput) RegistryType() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetAppSpecJobImage) *string { +// The route path used for the HTTP health check ping. +func (o GetAppSpecServiceHealthCheckPtrOutput) HttpPath() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecServiceHealthCheck) *string { if v == nil { return nil } - return &v.RegistryType + return v.HttpPath }).(pulumi.StringPtrOutput) } -// The repository name. -func (o GetAppSpecJobImagePtrOutput) Repository() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetAppSpecJobImage) *string { +// The number of seconds to wait before beginning health checks. +func (o GetAppSpecServiceHealthCheckPtrOutput) InitialDelaySeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v *GetAppSpecServiceHealthCheck) *int { if v == nil { return nil } - return &v.Repository - }).(pulumi.StringPtrOutput) + return v.InitialDelaySeconds + }).(pulumi.IntPtrOutput) } -// The repository tag. Defaults to `latest` if not provided. -func (o GetAppSpecJobImagePtrOutput) Tag() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetAppSpecJobImage) *string { +// The number of seconds to wait between health checks. +func (o GetAppSpecServiceHealthCheckPtrOutput) PeriodSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v *GetAppSpecServiceHealthCheck) *int { if v == nil { return nil } - return v.Tag - }).(pulumi.StringPtrOutput) -} - -type GetAppSpecService struct { - // An optional build command to run while building this component from source. - BuildCommand *string `pulumi:"buildCommand"` - Cors *GetAppSpecServiceCors `pulumi:"cors"` - // The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. - DockerfilePath *string `pulumi:"dockerfilePath"` - // An environment slug describing the type of this app. - EnvironmentSlug *string `pulumi:"environmentSlug"` - // Describes an environment variable made available to an app competent. - Envs []GetAppSpecServiceEnv `pulumi:"envs"` - // A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set. - Git *GetAppSpecServiceGit `pulumi:"git"` - // A GitHub repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/github/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. - Github *GetAppSpecServiceGithub `pulumi:"github"` - // A Gitlab repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/gitlab/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. - Gitlab *GetAppSpecServiceGitlab `pulumi:"gitlab"` - // A health check to determine the availability of this component. - HealthCheck *GetAppSpecServiceHealthCheck `pulumi:"healthCheck"` - // The internal port on which this service's run command will listen. - HttpPort int `pulumi:"httpPort"` - // An image to use as the component's source. Only one of `git`, `github`, `gitlab`, or `image` may be set. - Image *GetAppSpecServiceImage `pulumi:"image"` - // The amount of instances that this component should be scaled to. - InstanceCount *int `pulumi:"instanceCount"` - // The instance size to use for this component. - InstanceSizeSlug *string `pulumi:"instanceSizeSlug"` - // A list of ports on which this service will listen for internal traffic. - InternalPorts []int `pulumi:"internalPorts"` - // The name of the component. - Name string `pulumi:"name"` - Routes []GetAppSpecServiceRoute `pulumi:"routes"` - // An optional run command to override the component's default. - RunCommand string `pulumi:"runCommand"` - // An optional path to the working directory to use for the build. - SourceDir *string `pulumi:"sourceDir"` -} - -// GetAppSpecServiceInput is an input type that accepts GetAppSpecServiceArgs and GetAppSpecServiceOutput values. -// You can construct a concrete instance of `GetAppSpecServiceInput` via: -// -// GetAppSpecServiceArgs{...} -type GetAppSpecServiceInput interface { - pulumi.Input - - ToGetAppSpecServiceOutput() GetAppSpecServiceOutput - ToGetAppSpecServiceOutputWithContext(context.Context) GetAppSpecServiceOutput -} - -type GetAppSpecServiceArgs struct { - // An optional build command to run while building this component from source. - BuildCommand pulumi.StringPtrInput `pulumi:"buildCommand"` - Cors GetAppSpecServiceCorsPtrInput `pulumi:"cors"` - // The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. - DockerfilePath pulumi.StringPtrInput `pulumi:"dockerfilePath"` - // An environment slug describing the type of this app. - EnvironmentSlug pulumi.StringPtrInput `pulumi:"environmentSlug"` - // Describes an environment variable made available to an app competent. - Envs GetAppSpecServiceEnvArrayInput `pulumi:"envs"` - // A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set. - Git GetAppSpecServiceGitPtrInput `pulumi:"git"` - // A GitHub repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/github/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. - Github GetAppSpecServiceGithubPtrInput `pulumi:"github"` - // A Gitlab repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/gitlab/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. - Gitlab GetAppSpecServiceGitlabPtrInput `pulumi:"gitlab"` - // A health check to determine the availability of this component. - HealthCheck GetAppSpecServiceHealthCheckPtrInput `pulumi:"healthCheck"` - // The internal port on which this service's run command will listen. - HttpPort pulumi.IntInput `pulumi:"httpPort"` - // An image to use as the component's source. Only one of `git`, `github`, `gitlab`, or `image` may be set. - Image GetAppSpecServiceImagePtrInput `pulumi:"image"` - // The amount of instances that this component should be scaled to. - InstanceCount pulumi.IntPtrInput `pulumi:"instanceCount"` - // The instance size to use for this component. - InstanceSizeSlug pulumi.StringPtrInput `pulumi:"instanceSizeSlug"` - // A list of ports on which this service will listen for internal traffic. - InternalPorts pulumi.IntArrayInput `pulumi:"internalPorts"` - // The name of the component. - Name pulumi.StringInput `pulumi:"name"` - Routes GetAppSpecServiceRouteArrayInput `pulumi:"routes"` - // An optional run command to override the component's default. - RunCommand pulumi.StringInput `pulumi:"runCommand"` - // An optional path to the working directory to use for the build. - SourceDir pulumi.StringPtrInput `pulumi:"sourceDir"` -} - -func (GetAppSpecServiceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecService)(nil)).Elem() -} - -func (i GetAppSpecServiceArgs) ToGetAppSpecServiceOutput() GetAppSpecServiceOutput { - return i.ToGetAppSpecServiceOutputWithContext(context.Background()) -} - -func (i GetAppSpecServiceArgs) ToGetAppSpecServiceOutputWithContext(ctx context.Context) GetAppSpecServiceOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceOutput) -} - -// GetAppSpecServiceArrayInput is an input type that accepts GetAppSpecServiceArray and GetAppSpecServiceArrayOutput values. -// You can construct a concrete instance of `GetAppSpecServiceArrayInput` via: -// -// GetAppSpecServiceArray{ GetAppSpecServiceArgs{...} } -type GetAppSpecServiceArrayInput interface { - pulumi.Input - - ToGetAppSpecServiceArrayOutput() GetAppSpecServiceArrayOutput - ToGetAppSpecServiceArrayOutputWithContext(context.Context) GetAppSpecServiceArrayOutput -} - -type GetAppSpecServiceArray []GetAppSpecServiceInput - -func (GetAppSpecServiceArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetAppSpecService)(nil)).Elem() -} - -func (i GetAppSpecServiceArray) ToGetAppSpecServiceArrayOutput() GetAppSpecServiceArrayOutput { - return i.ToGetAppSpecServiceArrayOutputWithContext(context.Background()) -} - -func (i GetAppSpecServiceArray) ToGetAppSpecServiceArrayOutputWithContext(ctx context.Context) GetAppSpecServiceArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceArrayOutput) -} - -type GetAppSpecServiceOutput struct{ *pulumi.OutputState } - -func (GetAppSpecServiceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecService)(nil)).Elem() -} - -func (o GetAppSpecServiceOutput) ToGetAppSpecServiceOutput() GetAppSpecServiceOutput { - return o -} - -func (o GetAppSpecServiceOutput) ToGetAppSpecServiceOutputWithContext(ctx context.Context) GetAppSpecServiceOutput { - return o -} - -// An optional build command to run while building this component from source. -func (o GetAppSpecServiceOutput) BuildCommand() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecService) *string { return v.BuildCommand }).(pulumi.StringPtrOutput) -} - -func (o GetAppSpecServiceOutput) Cors() GetAppSpecServiceCorsPtrOutput { - return o.ApplyT(func(v GetAppSpecService) *GetAppSpecServiceCors { return v.Cors }).(GetAppSpecServiceCorsPtrOutput) + return v.PeriodSeconds + }).(pulumi.IntPtrOutput) } -// The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. -func (o GetAppSpecServiceOutput) DockerfilePath() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecService) *string { return v.DockerfilePath }).(pulumi.StringPtrOutput) +// The number of successful health checks before considered healthy. +func (o GetAppSpecServiceHealthCheckPtrOutput) SuccessThreshold() pulumi.IntPtrOutput { + return o.ApplyT(func(v *GetAppSpecServiceHealthCheck) *int { + if v == nil { + return nil + } + return v.SuccessThreshold + }).(pulumi.IntPtrOutput) } -// An environment slug describing the type of this app. -func (o GetAppSpecServiceOutput) EnvironmentSlug() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecService) *string { return v.EnvironmentSlug }).(pulumi.StringPtrOutput) +// The number of seconds after which the check times out. +func (o GetAppSpecServiceHealthCheckPtrOutput) TimeoutSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v *GetAppSpecServiceHealthCheck) *int { + if v == nil { + return nil + } + return v.TimeoutSeconds + }).(pulumi.IntPtrOutput) } -// Describes an environment variable made available to an app competent. -func (o GetAppSpecServiceOutput) Envs() GetAppSpecServiceEnvArrayOutput { - return o.ApplyT(func(v GetAppSpecService) []GetAppSpecServiceEnv { return v.Envs }).(GetAppSpecServiceEnvArrayOutput) +type GetAppSpecServiceImage struct { + // The registry name. Must be left empty for the `DOCR` registry type. Required for the `DOCKER_HUB` registry type. + Registry *string `pulumi:"registry"` + // The registry type. One of `DOCR` (DigitalOcean container registry) or `DOCKER_HUB`. + RegistryType string `pulumi:"registryType"` + // The repository name. + Repository string `pulumi:"repository"` + // The repository tag. Defaults to `latest` if not provided. + Tag *string `pulumi:"tag"` } -// A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set. -func (o GetAppSpecServiceOutput) Git() GetAppSpecServiceGitPtrOutput { - return o.ApplyT(func(v GetAppSpecService) *GetAppSpecServiceGit { return v.Git }).(GetAppSpecServiceGitPtrOutput) -} +// GetAppSpecServiceImageInput is an input type that accepts GetAppSpecServiceImageArgs and GetAppSpecServiceImageOutput values. +// You can construct a concrete instance of `GetAppSpecServiceImageInput` via: +// +// GetAppSpecServiceImageArgs{...} +type GetAppSpecServiceImageInput interface { + pulumi.Input -// A GitHub repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/github/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. -func (o GetAppSpecServiceOutput) Github() GetAppSpecServiceGithubPtrOutput { - return o.ApplyT(func(v GetAppSpecService) *GetAppSpecServiceGithub { return v.Github }).(GetAppSpecServiceGithubPtrOutput) + ToGetAppSpecServiceImageOutput() GetAppSpecServiceImageOutput + ToGetAppSpecServiceImageOutputWithContext(context.Context) GetAppSpecServiceImageOutput } -// A Gitlab repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/gitlab/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. -func (o GetAppSpecServiceOutput) Gitlab() GetAppSpecServiceGitlabPtrOutput { - return o.ApplyT(func(v GetAppSpecService) *GetAppSpecServiceGitlab { return v.Gitlab }).(GetAppSpecServiceGitlabPtrOutput) +type GetAppSpecServiceImageArgs struct { + // The registry name. Must be left empty for the `DOCR` registry type. Required for the `DOCKER_HUB` registry type. + Registry pulumi.StringPtrInput `pulumi:"registry"` + // The registry type. One of `DOCR` (DigitalOcean container registry) or `DOCKER_HUB`. + RegistryType pulumi.StringInput `pulumi:"registryType"` + // The repository name. + Repository pulumi.StringInput `pulumi:"repository"` + // The repository tag. Defaults to `latest` if not provided. + Tag pulumi.StringPtrInput `pulumi:"tag"` } -// A health check to determine the availability of this component. -func (o GetAppSpecServiceOutput) HealthCheck() GetAppSpecServiceHealthCheckPtrOutput { - return o.ApplyT(func(v GetAppSpecService) *GetAppSpecServiceHealthCheck { return v.HealthCheck }).(GetAppSpecServiceHealthCheckPtrOutput) +func (GetAppSpecServiceImageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecServiceImage)(nil)).Elem() } -// The internal port on which this service's run command will listen. -func (o GetAppSpecServiceOutput) HttpPort() pulumi.IntOutput { - return o.ApplyT(func(v GetAppSpecService) int { return v.HttpPort }).(pulumi.IntOutput) +func (i GetAppSpecServiceImageArgs) ToGetAppSpecServiceImageOutput() GetAppSpecServiceImageOutput { + return i.ToGetAppSpecServiceImageOutputWithContext(context.Background()) } -// An image to use as the component's source. Only one of `git`, `github`, `gitlab`, or `image` may be set. -func (o GetAppSpecServiceOutput) Image() GetAppSpecServiceImagePtrOutput { - return o.ApplyT(func(v GetAppSpecService) *GetAppSpecServiceImage { return v.Image }).(GetAppSpecServiceImagePtrOutput) +func (i GetAppSpecServiceImageArgs) ToGetAppSpecServiceImageOutputWithContext(ctx context.Context) GetAppSpecServiceImageOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceImageOutput) } -// The amount of instances that this component should be scaled to. -func (o GetAppSpecServiceOutput) InstanceCount() pulumi.IntPtrOutput { - return o.ApplyT(func(v GetAppSpecService) *int { return v.InstanceCount }).(pulumi.IntPtrOutput) +func (i GetAppSpecServiceImageArgs) ToGetAppSpecServiceImagePtrOutput() GetAppSpecServiceImagePtrOutput { + return i.ToGetAppSpecServiceImagePtrOutputWithContext(context.Background()) } -// The instance size to use for this component. -func (o GetAppSpecServiceOutput) InstanceSizeSlug() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecService) *string { return v.InstanceSizeSlug }).(pulumi.StringPtrOutput) +func (i GetAppSpecServiceImageArgs) ToGetAppSpecServiceImagePtrOutputWithContext(ctx context.Context) GetAppSpecServiceImagePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceImageOutput).ToGetAppSpecServiceImagePtrOutputWithContext(ctx) } -// A list of ports on which this service will listen for internal traffic. -func (o GetAppSpecServiceOutput) InternalPorts() pulumi.IntArrayOutput { - return o.ApplyT(func(v GetAppSpecService) []int { return v.InternalPorts }).(pulumi.IntArrayOutput) +// GetAppSpecServiceImagePtrInput is an input type that accepts GetAppSpecServiceImageArgs, GetAppSpecServiceImagePtr and GetAppSpecServiceImagePtrOutput values. +// You can construct a concrete instance of `GetAppSpecServiceImagePtrInput` via: +// +// GetAppSpecServiceImageArgs{...} +// +// or: +// +// nil +type GetAppSpecServiceImagePtrInput interface { + pulumi.Input + + ToGetAppSpecServiceImagePtrOutput() GetAppSpecServiceImagePtrOutput + ToGetAppSpecServiceImagePtrOutputWithContext(context.Context) GetAppSpecServiceImagePtrOutput } -// The name of the component. -func (o GetAppSpecServiceOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetAppSpecService) string { return v.Name }).(pulumi.StringOutput) +type getAppSpecServiceImagePtrType GetAppSpecServiceImageArgs + +func GetAppSpecServiceImagePtr(v *GetAppSpecServiceImageArgs) GetAppSpecServiceImagePtrInput { + return (*getAppSpecServiceImagePtrType)(v) } -func (o GetAppSpecServiceOutput) Routes() GetAppSpecServiceRouteArrayOutput { - return o.ApplyT(func(v GetAppSpecService) []GetAppSpecServiceRoute { return v.Routes }).(GetAppSpecServiceRouteArrayOutput) +func (*getAppSpecServiceImagePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecServiceImage)(nil)).Elem() } -// An optional run command to override the component's default. -func (o GetAppSpecServiceOutput) RunCommand() pulumi.StringOutput { - return o.ApplyT(func(v GetAppSpecService) string { return v.RunCommand }).(pulumi.StringOutput) +func (i *getAppSpecServiceImagePtrType) ToGetAppSpecServiceImagePtrOutput() GetAppSpecServiceImagePtrOutput { + return i.ToGetAppSpecServiceImagePtrOutputWithContext(context.Background()) } -// An optional path to the working directory to use for the build. -func (o GetAppSpecServiceOutput) SourceDir() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecService) *string { return v.SourceDir }).(pulumi.StringPtrOutput) +func (i *getAppSpecServiceImagePtrType) ToGetAppSpecServiceImagePtrOutputWithContext(ctx context.Context) GetAppSpecServiceImagePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceImagePtrOutput) } -type GetAppSpecServiceArrayOutput struct{ *pulumi.OutputState } +type GetAppSpecServiceImageOutput struct{ *pulumi.OutputState } -func (GetAppSpecServiceArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetAppSpecService)(nil)).Elem() +func (GetAppSpecServiceImageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecServiceImage)(nil)).Elem() } -func (o GetAppSpecServiceArrayOutput) ToGetAppSpecServiceArrayOutput() GetAppSpecServiceArrayOutput { +func (o GetAppSpecServiceImageOutput) ToGetAppSpecServiceImageOutput() GetAppSpecServiceImageOutput { return o } -func (o GetAppSpecServiceArrayOutput) ToGetAppSpecServiceArrayOutputWithContext(ctx context.Context) GetAppSpecServiceArrayOutput { +func (o GetAppSpecServiceImageOutput) ToGetAppSpecServiceImageOutputWithContext(ctx context.Context) GetAppSpecServiceImageOutput { return o } -func (o GetAppSpecServiceArrayOutput) Index(i pulumi.IntInput) GetAppSpecServiceOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAppSpecService { - return vs[0].([]GetAppSpecService)[vs[1].(int)] - }).(GetAppSpecServiceOutput) +func (o GetAppSpecServiceImageOutput) ToGetAppSpecServiceImagePtrOutput() GetAppSpecServiceImagePtrOutput { + return o.ToGetAppSpecServiceImagePtrOutputWithContext(context.Background()) } -type GetAppSpecServiceCors struct { - AllowCredentials *bool `pulumi:"allowCredentials"` - AllowHeaders []string `pulumi:"allowHeaders"` - AllowMethods []string `pulumi:"allowMethods"` - AllowOrigins *GetAppSpecServiceCorsAllowOrigins `pulumi:"allowOrigins"` - ExposeHeaders []string `pulumi:"exposeHeaders"` - MaxAge *string `pulumi:"maxAge"` +func (o GetAppSpecServiceImageOutput) ToGetAppSpecServiceImagePtrOutputWithContext(ctx context.Context) GetAppSpecServiceImagePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecServiceImage) *GetAppSpecServiceImage { + return &v + }).(GetAppSpecServiceImagePtrOutput) } -// GetAppSpecServiceCorsInput is an input type that accepts GetAppSpecServiceCorsArgs and GetAppSpecServiceCorsOutput values. -// You can construct a concrete instance of `GetAppSpecServiceCorsInput` via: -// -// GetAppSpecServiceCorsArgs{...} -type GetAppSpecServiceCorsInput interface { - pulumi.Input - - ToGetAppSpecServiceCorsOutput() GetAppSpecServiceCorsOutput - ToGetAppSpecServiceCorsOutputWithContext(context.Context) GetAppSpecServiceCorsOutput +// The registry name. Must be left empty for the `DOCR` registry type. Required for the `DOCKER_HUB` registry type. +func (o GetAppSpecServiceImageOutput) Registry() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecServiceImage) *string { return v.Registry }).(pulumi.StringPtrOutput) } -type GetAppSpecServiceCorsArgs struct { - AllowCredentials pulumi.BoolPtrInput `pulumi:"allowCredentials"` - AllowHeaders pulumi.StringArrayInput `pulumi:"allowHeaders"` - AllowMethods pulumi.StringArrayInput `pulumi:"allowMethods"` - AllowOrigins GetAppSpecServiceCorsAllowOriginsPtrInput `pulumi:"allowOrigins"` - ExposeHeaders pulumi.StringArrayInput `pulumi:"exposeHeaders"` - MaxAge pulumi.StringPtrInput `pulumi:"maxAge"` +// The registry type. One of `DOCR` (DigitalOcean container registry) or `DOCKER_HUB`. +func (o GetAppSpecServiceImageOutput) RegistryType() pulumi.StringOutput { + return o.ApplyT(func(v GetAppSpecServiceImage) string { return v.RegistryType }).(pulumi.StringOutput) } -func (GetAppSpecServiceCorsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecServiceCors)(nil)).Elem() +// The repository name. +func (o GetAppSpecServiceImageOutput) Repository() pulumi.StringOutput { + return o.ApplyT(func(v GetAppSpecServiceImage) string { return v.Repository }).(pulumi.StringOutput) } -func (i GetAppSpecServiceCorsArgs) ToGetAppSpecServiceCorsOutput() GetAppSpecServiceCorsOutput { - return i.ToGetAppSpecServiceCorsOutputWithContext(context.Background()) +// The repository tag. Defaults to `latest` if not provided. +func (o GetAppSpecServiceImageOutput) Tag() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecServiceImage) *string { return v.Tag }).(pulumi.StringPtrOutput) } -func (i GetAppSpecServiceCorsArgs) ToGetAppSpecServiceCorsOutputWithContext(ctx context.Context) GetAppSpecServiceCorsOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceCorsOutput) -} +type GetAppSpecServiceImagePtrOutput struct{ *pulumi.OutputState } -func (i GetAppSpecServiceCorsArgs) ToGetAppSpecServiceCorsPtrOutput() GetAppSpecServiceCorsPtrOutput { - return i.ToGetAppSpecServiceCorsPtrOutputWithContext(context.Background()) +func (GetAppSpecServiceImagePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecServiceImage)(nil)).Elem() } -func (i GetAppSpecServiceCorsArgs) ToGetAppSpecServiceCorsPtrOutputWithContext(ctx context.Context) GetAppSpecServiceCorsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceCorsOutput).ToGetAppSpecServiceCorsPtrOutputWithContext(ctx) +func (o GetAppSpecServiceImagePtrOutput) ToGetAppSpecServiceImagePtrOutput() GetAppSpecServiceImagePtrOutput { + return o } -// GetAppSpecServiceCorsPtrInput is an input type that accepts GetAppSpecServiceCorsArgs, GetAppSpecServiceCorsPtr and GetAppSpecServiceCorsPtrOutput values. -// You can construct a concrete instance of `GetAppSpecServiceCorsPtrInput` via: -// -// GetAppSpecServiceCorsArgs{...} -// -// or: -// -// nil -type GetAppSpecServiceCorsPtrInput interface { - pulumi.Input +func (o GetAppSpecServiceImagePtrOutput) ToGetAppSpecServiceImagePtrOutputWithContext(ctx context.Context) GetAppSpecServiceImagePtrOutput { + return o +} - ToGetAppSpecServiceCorsPtrOutput() GetAppSpecServiceCorsPtrOutput - ToGetAppSpecServiceCorsPtrOutputWithContext(context.Context) GetAppSpecServiceCorsPtrOutput +func (o GetAppSpecServiceImagePtrOutput) Elem() GetAppSpecServiceImageOutput { + return o.ApplyT(func(v *GetAppSpecServiceImage) GetAppSpecServiceImage { + if v != nil { + return *v + } + var ret GetAppSpecServiceImage + return ret + }).(GetAppSpecServiceImageOutput) } -type getAppSpecServiceCorsPtrType GetAppSpecServiceCorsArgs +// The registry name. Must be left empty for the `DOCR` registry type. Required for the `DOCKER_HUB` registry type. +func (o GetAppSpecServiceImagePtrOutput) Registry() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecServiceImage) *string { + if v == nil { + return nil + } + return v.Registry + }).(pulumi.StringPtrOutput) +} -func GetAppSpecServiceCorsPtr(v *GetAppSpecServiceCorsArgs) GetAppSpecServiceCorsPtrInput { - return (*getAppSpecServiceCorsPtrType)(v) +// The registry type. One of `DOCR` (DigitalOcean container registry) or `DOCKER_HUB`. +func (o GetAppSpecServiceImagePtrOutput) RegistryType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecServiceImage) *string { + if v == nil { + return nil + } + return &v.RegistryType + }).(pulumi.StringPtrOutput) } -func (*getAppSpecServiceCorsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**GetAppSpecServiceCors)(nil)).Elem() +// The repository name. +func (o GetAppSpecServiceImagePtrOutput) Repository() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecServiceImage) *string { + if v == nil { + return nil + } + return &v.Repository + }).(pulumi.StringPtrOutput) } -func (i *getAppSpecServiceCorsPtrType) ToGetAppSpecServiceCorsPtrOutput() GetAppSpecServiceCorsPtrOutput { - return i.ToGetAppSpecServiceCorsPtrOutputWithContext(context.Background()) +// The repository tag. Defaults to `latest` if not provided. +func (o GetAppSpecServiceImagePtrOutput) Tag() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecServiceImage) *string { + if v == nil { + return nil + } + return v.Tag + }).(pulumi.StringPtrOutput) } -func (i *getAppSpecServiceCorsPtrType) ToGetAppSpecServiceCorsPtrOutputWithContext(ctx context.Context) GetAppSpecServiceCorsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceCorsPtrOutput) +type GetAppSpecServiceLogDestination struct { + Datadog *GetAppSpecServiceLogDestinationDatadog `pulumi:"datadog"` + Logtail *GetAppSpecServiceLogDestinationLogtail `pulumi:"logtail"` + // The name of the component. + Name string `pulumi:"name"` + Papertrail *GetAppSpecServiceLogDestinationPapertrail `pulumi:"papertrail"` } -type GetAppSpecServiceCorsOutput struct{ *pulumi.OutputState } +// GetAppSpecServiceLogDestinationInput is an input type that accepts GetAppSpecServiceLogDestinationArgs and GetAppSpecServiceLogDestinationOutput values. +// You can construct a concrete instance of `GetAppSpecServiceLogDestinationInput` via: +// +// GetAppSpecServiceLogDestinationArgs{...} +type GetAppSpecServiceLogDestinationInput interface { + pulumi.Input -func (GetAppSpecServiceCorsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecServiceCors)(nil)).Elem() + ToGetAppSpecServiceLogDestinationOutput() GetAppSpecServiceLogDestinationOutput + ToGetAppSpecServiceLogDestinationOutputWithContext(context.Context) GetAppSpecServiceLogDestinationOutput } -func (o GetAppSpecServiceCorsOutput) ToGetAppSpecServiceCorsOutput() GetAppSpecServiceCorsOutput { - return o +type GetAppSpecServiceLogDestinationArgs struct { + Datadog GetAppSpecServiceLogDestinationDatadogPtrInput `pulumi:"datadog"` + Logtail GetAppSpecServiceLogDestinationLogtailPtrInput `pulumi:"logtail"` + // The name of the component. + Name pulumi.StringInput `pulumi:"name"` + Papertrail GetAppSpecServiceLogDestinationPapertrailPtrInput `pulumi:"papertrail"` } -func (o GetAppSpecServiceCorsOutput) ToGetAppSpecServiceCorsOutputWithContext(ctx context.Context) GetAppSpecServiceCorsOutput { - return o +func (GetAppSpecServiceLogDestinationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecServiceLogDestination)(nil)).Elem() } -func (o GetAppSpecServiceCorsOutput) ToGetAppSpecServiceCorsPtrOutput() GetAppSpecServiceCorsPtrOutput { - return o.ToGetAppSpecServiceCorsPtrOutputWithContext(context.Background()) +func (i GetAppSpecServiceLogDestinationArgs) ToGetAppSpecServiceLogDestinationOutput() GetAppSpecServiceLogDestinationOutput { + return i.ToGetAppSpecServiceLogDestinationOutputWithContext(context.Background()) } -func (o GetAppSpecServiceCorsOutput) ToGetAppSpecServiceCorsPtrOutputWithContext(ctx context.Context) GetAppSpecServiceCorsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecServiceCors) *GetAppSpecServiceCors { - return &v - }).(GetAppSpecServiceCorsPtrOutput) +func (i GetAppSpecServiceLogDestinationArgs) ToGetAppSpecServiceLogDestinationOutputWithContext(ctx context.Context) GetAppSpecServiceLogDestinationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceLogDestinationOutput) } -func (o GetAppSpecServiceCorsOutput) AllowCredentials() pulumi.BoolPtrOutput { - return o.ApplyT(func(v GetAppSpecServiceCors) *bool { return v.AllowCredentials }).(pulumi.BoolPtrOutput) -} +// GetAppSpecServiceLogDestinationArrayInput is an input type that accepts GetAppSpecServiceLogDestinationArray and GetAppSpecServiceLogDestinationArrayOutput values. +// You can construct a concrete instance of `GetAppSpecServiceLogDestinationArrayInput` via: +// +// GetAppSpecServiceLogDestinationArray{ GetAppSpecServiceLogDestinationArgs{...} } +type GetAppSpecServiceLogDestinationArrayInput interface { + pulumi.Input -func (o GetAppSpecServiceCorsOutput) AllowHeaders() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetAppSpecServiceCors) []string { return v.AllowHeaders }).(pulumi.StringArrayOutput) + ToGetAppSpecServiceLogDestinationArrayOutput() GetAppSpecServiceLogDestinationArrayOutput + ToGetAppSpecServiceLogDestinationArrayOutputWithContext(context.Context) GetAppSpecServiceLogDestinationArrayOutput } -func (o GetAppSpecServiceCorsOutput) AllowMethods() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetAppSpecServiceCors) []string { return v.AllowMethods }).(pulumi.StringArrayOutput) -} +type GetAppSpecServiceLogDestinationArray []GetAppSpecServiceLogDestinationInput -func (o GetAppSpecServiceCorsOutput) AllowOrigins() GetAppSpecServiceCorsAllowOriginsPtrOutput { - return o.ApplyT(func(v GetAppSpecServiceCors) *GetAppSpecServiceCorsAllowOrigins { return v.AllowOrigins }).(GetAppSpecServiceCorsAllowOriginsPtrOutput) +func (GetAppSpecServiceLogDestinationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAppSpecServiceLogDestination)(nil)).Elem() } -func (o GetAppSpecServiceCorsOutput) ExposeHeaders() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetAppSpecServiceCors) []string { return v.ExposeHeaders }).(pulumi.StringArrayOutput) +func (i GetAppSpecServiceLogDestinationArray) ToGetAppSpecServiceLogDestinationArrayOutput() GetAppSpecServiceLogDestinationArrayOutput { + return i.ToGetAppSpecServiceLogDestinationArrayOutputWithContext(context.Background()) } -func (o GetAppSpecServiceCorsOutput) MaxAge() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecServiceCors) *string { return v.MaxAge }).(pulumi.StringPtrOutput) +func (i GetAppSpecServiceLogDestinationArray) ToGetAppSpecServiceLogDestinationArrayOutputWithContext(ctx context.Context) GetAppSpecServiceLogDestinationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceLogDestinationArrayOutput) } -type GetAppSpecServiceCorsPtrOutput struct{ *pulumi.OutputState } +type GetAppSpecServiceLogDestinationOutput struct{ *pulumi.OutputState } -func (GetAppSpecServiceCorsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**GetAppSpecServiceCors)(nil)).Elem() +func (GetAppSpecServiceLogDestinationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecServiceLogDestination)(nil)).Elem() } -func (o GetAppSpecServiceCorsPtrOutput) ToGetAppSpecServiceCorsPtrOutput() GetAppSpecServiceCorsPtrOutput { +func (o GetAppSpecServiceLogDestinationOutput) ToGetAppSpecServiceLogDestinationOutput() GetAppSpecServiceLogDestinationOutput { return o } -func (o GetAppSpecServiceCorsPtrOutput) ToGetAppSpecServiceCorsPtrOutputWithContext(ctx context.Context) GetAppSpecServiceCorsPtrOutput { +func (o GetAppSpecServiceLogDestinationOutput) ToGetAppSpecServiceLogDestinationOutputWithContext(ctx context.Context) GetAppSpecServiceLogDestinationOutput { return o } -func (o GetAppSpecServiceCorsPtrOutput) Elem() GetAppSpecServiceCorsOutput { - return o.ApplyT(func(v *GetAppSpecServiceCors) GetAppSpecServiceCors { - if v != nil { - return *v - } - var ret GetAppSpecServiceCors - return ret - }).(GetAppSpecServiceCorsOutput) +func (o GetAppSpecServiceLogDestinationOutput) Datadog() GetAppSpecServiceLogDestinationDatadogPtrOutput { + return o.ApplyT(func(v GetAppSpecServiceLogDestination) *GetAppSpecServiceLogDestinationDatadog { return v.Datadog }).(GetAppSpecServiceLogDestinationDatadogPtrOutput) } -func (o GetAppSpecServiceCorsPtrOutput) AllowCredentials() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *GetAppSpecServiceCors) *bool { - if v == nil { - return nil - } - return v.AllowCredentials - }).(pulumi.BoolPtrOutput) +func (o GetAppSpecServiceLogDestinationOutput) Logtail() GetAppSpecServiceLogDestinationLogtailPtrOutput { + return o.ApplyT(func(v GetAppSpecServiceLogDestination) *GetAppSpecServiceLogDestinationLogtail { return v.Logtail }).(GetAppSpecServiceLogDestinationLogtailPtrOutput) } -func (o GetAppSpecServiceCorsPtrOutput) AllowHeaders() pulumi.StringArrayOutput { - return o.ApplyT(func(v *GetAppSpecServiceCors) []string { - if v == nil { - return nil - } - return v.AllowHeaders - }).(pulumi.StringArrayOutput) +// The name of the component. +func (o GetAppSpecServiceLogDestinationOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetAppSpecServiceLogDestination) string { return v.Name }).(pulumi.StringOutput) } -func (o GetAppSpecServiceCorsPtrOutput) AllowMethods() pulumi.StringArrayOutput { - return o.ApplyT(func(v *GetAppSpecServiceCors) []string { - if v == nil { - return nil - } - return v.AllowMethods - }).(pulumi.StringArrayOutput) +func (o GetAppSpecServiceLogDestinationOutput) Papertrail() GetAppSpecServiceLogDestinationPapertrailPtrOutput { + return o.ApplyT(func(v GetAppSpecServiceLogDestination) *GetAppSpecServiceLogDestinationPapertrail { + return v.Papertrail + }).(GetAppSpecServiceLogDestinationPapertrailPtrOutput) } -func (o GetAppSpecServiceCorsPtrOutput) AllowOrigins() GetAppSpecServiceCorsAllowOriginsPtrOutput { - return o.ApplyT(func(v *GetAppSpecServiceCors) *GetAppSpecServiceCorsAllowOrigins { - if v == nil { - return nil - } - return v.AllowOrigins - }).(GetAppSpecServiceCorsAllowOriginsPtrOutput) +type GetAppSpecServiceLogDestinationArrayOutput struct{ *pulumi.OutputState } + +func (GetAppSpecServiceLogDestinationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAppSpecServiceLogDestination)(nil)).Elem() } -func (o GetAppSpecServiceCorsPtrOutput) ExposeHeaders() pulumi.StringArrayOutput { - return o.ApplyT(func(v *GetAppSpecServiceCors) []string { - if v == nil { - return nil - } - return v.ExposeHeaders - }).(pulumi.StringArrayOutput) +func (o GetAppSpecServiceLogDestinationArrayOutput) ToGetAppSpecServiceLogDestinationArrayOutput() GetAppSpecServiceLogDestinationArrayOutput { + return o } -func (o GetAppSpecServiceCorsPtrOutput) MaxAge() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetAppSpecServiceCors) *string { - if v == nil { - return nil - } - return v.MaxAge - }).(pulumi.StringPtrOutput) +func (o GetAppSpecServiceLogDestinationArrayOutput) ToGetAppSpecServiceLogDestinationArrayOutputWithContext(ctx context.Context) GetAppSpecServiceLogDestinationArrayOutput { + return o } -type GetAppSpecServiceCorsAllowOrigins struct { - Exact *string `pulumi:"exact"` - Prefix *string `pulumi:"prefix"` - Regex *string `pulumi:"regex"` +func (o GetAppSpecServiceLogDestinationArrayOutput) Index(i pulumi.IntInput) GetAppSpecServiceLogDestinationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAppSpecServiceLogDestination { + return vs[0].([]GetAppSpecServiceLogDestination)[vs[1].(int)] + }).(GetAppSpecServiceLogDestinationOutput) } -// GetAppSpecServiceCorsAllowOriginsInput is an input type that accepts GetAppSpecServiceCorsAllowOriginsArgs and GetAppSpecServiceCorsAllowOriginsOutput values. -// You can construct a concrete instance of `GetAppSpecServiceCorsAllowOriginsInput` via: +type GetAppSpecServiceLogDestinationDatadog struct { + ApiKey string `pulumi:"apiKey"` + Endpoint *string `pulumi:"endpoint"` +} + +// GetAppSpecServiceLogDestinationDatadogInput is an input type that accepts GetAppSpecServiceLogDestinationDatadogArgs and GetAppSpecServiceLogDestinationDatadogOutput values. +// You can construct a concrete instance of `GetAppSpecServiceLogDestinationDatadogInput` via: // -// GetAppSpecServiceCorsAllowOriginsArgs{...} -type GetAppSpecServiceCorsAllowOriginsInput interface { +// GetAppSpecServiceLogDestinationDatadogArgs{...} +type GetAppSpecServiceLogDestinationDatadogInput interface { pulumi.Input - ToGetAppSpecServiceCorsAllowOriginsOutput() GetAppSpecServiceCorsAllowOriginsOutput - ToGetAppSpecServiceCorsAllowOriginsOutputWithContext(context.Context) GetAppSpecServiceCorsAllowOriginsOutput + ToGetAppSpecServiceLogDestinationDatadogOutput() GetAppSpecServiceLogDestinationDatadogOutput + ToGetAppSpecServiceLogDestinationDatadogOutputWithContext(context.Context) GetAppSpecServiceLogDestinationDatadogOutput } -type GetAppSpecServiceCorsAllowOriginsArgs struct { - Exact pulumi.StringPtrInput `pulumi:"exact"` - Prefix pulumi.StringPtrInput `pulumi:"prefix"` - Regex pulumi.StringPtrInput `pulumi:"regex"` +type GetAppSpecServiceLogDestinationDatadogArgs struct { + ApiKey pulumi.StringInput `pulumi:"apiKey"` + Endpoint pulumi.StringPtrInput `pulumi:"endpoint"` } -func (GetAppSpecServiceCorsAllowOriginsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecServiceCorsAllowOrigins)(nil)).Elem() +func (GetAppSpecServiceLogDestinationDatadogArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecServiceLogDestinationDatadog)(nil)).Elem() } -func (i GetAppSpecServiceCorsAllowOriginsArgs) ToGetAppSpecServiceCorsAllowOriginsOutput() GetAppSpecServiceCorsAllowOriginsOutput { - return i.ToGetAppSpecServiceCorsAllowOriginsOutputWithContext(context.Background()) +func (i GetAppSpecServiceLogDestinationDatadogArgs) ToGetAppSpecServiceLogDestinationDatadogOutput() GetAppSpecServiceLogDestinationDatadogOutput { + return i.ToGetAppSpecServiceLogDestinationDatadogOutputWithContext(context.Background()) } -func (i GetAppSpecServiceCorsAllowOriginsArgs) ToGetAppSpecServiceCorsAllowOriginsOutputWithContext(ctx context.Context) GetAppSpecServiceCorsAllowOriginsOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceCorsAllowOriginsOutput) +func (i GetAppSpecServiceLogDestinationDatadogArgs) ToGetAppSpecServiceLogDestinationDatadogOutputWithContext(ctx context.Context) GetAppSpecServiceLogDestinationDatadogOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceLogDestinationDatadogOutput) } -func (i GetAppSpecServiceCorsAllowOriginsArgs) ToGetAppSpecServiceCorsAllowOriginsPtrOutput() GetAppSpecServiceCorsAllowOriginsPtrOutput { - return i.ToGetAppSpecServiceCorsAllowOriginsPtrOutputWithContext(context.Background()) +func (i GetAppSpecServiceLogDestinationDatadogArgs) ToGetAppSpecServiceLogDestinationDatadogPtrOutput() GetAppSpecServiceLogDestinationDatadogPtrOutput { + return i.ToGetAppSpecServiceLogDestinationDatadogPtrOutputWithContext(context.Background()) } -func (i GetAppSpecServiceCorsAllowOriginsArgs) ToGetAppSpecServiceCorsAllowOriginsPtrOutputWithContext(ctx context.Context) GetAppSpecServiceCorsAllowOriginsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceCorsAllowOriginsOutput).ToGetAppSpecServiceCorsAllowOriginsPtrOutputWithContext(ctx) +func (i GetAppSpecServiceLogDestinationDatadogArgs) ToGetAppSpecServiceLogDestinationDatadogPtrOutputWithContext(ctx context.Context) GetAppSpecServiceLogDestinationDatadogPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceLogDestinationDatadogOutput).ToGetAppSpecServiceLogDestinationDatadogPtrOutputWithContext(ctx) } -// GetAppSpecServiceCorsAllowOriginsPtrInput is an input type that accepts GetAppSpecServiceCorsAllowOriginsArgs, GetAppSpecServiceCorsAllowOriginsPtr and GetAppSpecServiceCorsAllowOriginsPtrOutput values. -// You can construct a concrete instance of `GetAppSpecServiceCorsAllowOriginsPtrInput` via: +// GetAppSpecServiceLogDestinationDatadogPtrInput is an input type that accepts GetAppSpecServiceLogDestinationDatadogArgs, GetAppSpecServiceLogDestinationDatadogPtr and GetAppSpecServiceLogDestinationDatadogPtrOutput values. +// You can construct a concrete instance of `GetAppSpecServiceLogDestinationDatadogPtrInput` via: // -// GetAppSpecServiceCorsAllowOriginsArgs{...} +// GetAppSpecServiceLogDestinationDatadogArgs{...} // // or: // // nil -type GetAppSpecServiceCorsAllowOriginsPtrInput interface { +type GetAppSpecServiceLogDestinationDatadogPtrInput interface { pulumi.Input - ToGetAppSpecServiceCorsAllowOriginsPtrOutput() GetAppSpecServiceCorsAllowOriginsPtrOutput - ToGetAppSpecServiceCorsAllowOriginsPtrOutputWithContext(context.Context) GetAppSpecServiceCorsAllowOriginsPtrOutput + ToGetAppSpecServiceLogDestinationDatadogPtrOutput() GetAppSpecServiceLogDestinationDatadogPtrOutput + ToGetAppSpecServiceLogDestinationDatadogPtrOutputWithContext(context.Context) GetAppSpecServiceLogDestinationDatadogPtrOutput } -type getAppSpecServiceCorsAllowOriginsPtrType GetAppSpecServiceCorsAllowOriginsArgs +type getAppSpecServiceLogDestinationDatadogPtrType GetAppSpecServiceLogDestinationDatadogArgs -func GetAppSpecServiceCorsAllowOriginsPtr(v *GetAppSpecServiceCorsAllowOriginsArgs) GetAppSpecServiceCorsAllowOriginsPtrInput { - return (*getAppSpecServiceCorsAllowOriginsPtrType)(v) +func GetAppSpecServiceLogDestinationDatadogPtr(v *GetAppSpecServiceLogDestinationDatadogArgs) GetAppSpecServiceLogDestinationDatadogPtrInput { + return (*getAppSpecServiceLogDestinationDatadogPtrType)(v) } -func (*getAppSpecServiceCorsAllowOriginsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**GetAppSpecServiceCorsAllowOrigins)(nil)).Elem() +func (*getAppSpecServiceLogDestinationDatadogPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecServiceLogDestinationDatadog)(nil)).Elem() } -func (i *getAppSpecServiceCorsAllowOriginsPtrType) ToGetAppSpecServiceCorsAllowOriginsPtrOutput() GetAppSpecServiceCorsAllowOriginsPtrOutput { - return i.ToGetAppSpecServiceCorsAllowOriginsPtrOutputWithContext(context.Background()) +func (i *getAppSpecServiceLogDestinationDatadogPtrType) ToGetAppSpecServiceLogDestinationDatadogPtrOutput() GetAppSpecServiceLogDestinationDatadogPtrOutput { + return i.ToGetAppSpecServiceLogDestinationDatadogPtrOutputWithContext(context.Background()) } -func (i *getAppSpecServiceCorsAllowOriginsPtrType) ToGetAppSpecServiceCorsAllowOriginsPtrOutputWithContext(ctx context.Context) GetAppSpecServiceCorsAllowOriginsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceCorsAllowOriginsPtrOutput) +func (i *getAppSpecServiceLogDestinationDatadogPtrType) ToGetAppSpecServiceLogDestinationDatadogPtrOutputWithContext(ctx context.Context) GetAppSpecServiceLogDestinationDatadogPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceLogDestinationDatadogPtrOutput) } -type GetAppSpecServiceCorsAllowOriginsOutput struct{ *pulumi.OutputState } +type GetAppSpecServiceLogDestinationDatadogOutput struct{ *pulumi.OutputState } -func (GetAppSpecServiceCorsAllowOriginsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecServiceCorsAllowOrigins)(nil)).Elem() +func (GetAppSpecServiceLogDestinationDatadogOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecServiceLogDestinationDatadog)(nil)).Elem() } -func (o GetAppSpecServiceCorsAllowOriginsOutput) ToGetAppSpecServiceCorsAllowOriginsOutput() GetAppSpecServiceCorsAllowOriginsOutput { +func (o GetAppSpecServiceLogDestinationDatadogOutput) ToGetAppSpecServiceLogDestinationDatadogOutput() GetAppSpecServiceLogDestinationDatadogOutput { return o } -func (o GetAppSpecServiceCorsAllowOriginsOutput) ToGetAppSpecServiceCorsAllowOriginsOutputWithContext(ctx context.Context) GetAppSpecServiceCorsAllowOriginsOutput { +func (o GetAppSpecServiceLogDestinationDatadogOutput) ToGetAppSpecServiceLogDestinationDatadogOutputWithContext(ctx context.Context) GetAppSpecServiceLogDestinationDatadogOutput { return o } -func (o GetAppSpecServiceCorsAllowOriginsOutput) ToGetAppSpecServiceCorsAllowOriginsPtrOutput() GetAppSpecServiceCorsAllowOriginsPtrOutput { - return o.ToGetAppSpecServiceCorsAllowOriginsPtrOutputWithContext(context.Background()) +func (o GetAppSpecServiceLogDestinationDatadogOutput) ToGetAppSpecServiceLogDestinationDatadogPtrOutput() GetAppSpecServiceLogDestinationDatadogPtrOutput { + return o.ToGetAppSpecServiceLogDestinationDatadogPtrOutputWithContext(context.Background()) } -func (o GetAppSpecServiceCorsAllowOriginsOutput) ToGetAppSpecServiceCorsAllowOriginsPtrOutputWithContext(ctx context.Context) GetAppSpecServiceCorsAllowOriginsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecServiceCorsAllowOrigins) *GetAppSpecServiceCorsAllowOrigins { +func (o GetAppSpecServiceLogDestinationDatadogOutput) ToGetAppSpecServiceLogDestinationDatadogPtrOutputWithContext(ctx context.Context) GetAppSpecServiceLogDestinationDatadogPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecServiceLogDestinationDatadog) *GetAppSpecServiceLogDestinationDatadog { return &v - }).(GetAppSpecServiceCorsAllowOriginsPtrOutput) + }).(GetAppSpecServiceLogDestinationDatadogPtrOutput) } -func (o GetAppSpecServiceCorsAllowOriginsOutput) Exact() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecServiceCorsAllowOrigins) *string { return v.Exact }).(pulumi.StringPtrOutput) -} - -func (o GetAppSpecServiceCorsAllowOriginsOutput) Prefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecServiceCorsAllowOrigins) *string { return v.Prefix }).(pulumi.StringPtrOutput) +func (o GetAppSpecServiceLogDestinationDatadogOutput) ApiKey() pulumi.StringOutput { + return o.ApplyT(func(v GetAppSpecServiceLogDestinationDatadog) string { return v.ApiKey }).(pulumi.StringOutput) } -func (o GetAppSpecServiceCorsAllowOriginsOutput) Regex() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecServiceCorsAllowOrigins) *string { return v.Regex }).(pulumi.StringPtrOutput) +func (o GetAppSpecServiceLogDestinationDatadogOutput) Endpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecServiceLogDestinationDatadog) *string { return v.Endpoint }).(pulumi.StringPtrOutput) } -type GetAppSpecServiceCorsAllowOriginsPtrOutput struct{ *pulumi.OutputState } +type GetAppSpecServiceLogDestinationDatadogPtrOutput struct{ *pulumi.OutputState } -func (GetAppSpecServiceCorsAllowOriginsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**GetAppSpecServiceCorsAllowOrigins)(nil)).Elem() +func (GetAppSpecServiceLogDestinationDatadogPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecServiceLogDestinationDatadog)(nil)).Elem() } -func (o GetAppSpecServiceCorsAllowOriginsPtrOutput) ToGetAppSpecServiceCorsAllowOriginsPtrOutput() GetAppSpecServiceCorsAllowOriginsPtrOutput { +func (o GetAppSpecServiceLogDestinationDatadogPtrOutput) ToGetAppSpecServiceLogDestinationDatadogPtrOutput() GetAppSpecServiceLogDestinationDatadogPtrOutput { return o } -func (o GetAppSpecServiceCorsAllowOriginsPtrOutput) ToGetAppSpecServiceCorsAllowOriginsPtrOutputWithContext(ctx context.Context) GetAppSpecServiceCorsAllowOriginsPtrOutput { +func (o GetAppSpecServiceLogDestinationDatadogPtrOutput) ToGetAppSpecServiceLogDestinationDatadogPtrOutputWithContext(ctx context.Context) GetAppSpecServiceLogDestinationDatadogPtrOutput { return o } -func (o GetAppSpecServiceCorsAllowOriginsPtrOutput) Elem() GetAppSpecServiceCorsAllowOriginsOutput { - return o.ApplyT(func(v *GetAppSpecServiceCorsAllowOrigins) GetAppSpecServiceCorsAllowOrigins { +func (o GetAppSpecServiceLogDestinationDatadogPtrOutput) Elem() GetAppSpecServiceLogDestinationDatadogOutput { + return o.ApplyT(func(v *GetAppSpecServiceLogDestinationDatadog) GetAppSpecServiceLogDestinationDatadog { if v != nil { return *v } - var ret GetAppSpecServiceCorsAllowOrigins + var ret GetAppSpecServiceLogDestinationDatadog return ret - }).(GetAppSpecServiceCorsAllowOriginsOutput) -} - -func (o GetAppSpecServiceCorsAllowOriginsPtrOutput) Exact() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetAppSpecServiceCorsAllowOrigins) *string { - if v == nil { - return nil - } - return v.Exact - }).(pulumi.StringPtrOutput) + }).(GetAppSpecServiceLogDestinationDatadogOutput) } -func (o GetAppSpecServiceCorsAllowOriginsPtrOutput) Prefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetAppSpecServiceCorsAllowOrigins) *string { +func (o GetAppSpecServiceLogDestinationDatadogPtrOutput) ApiKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecServiceLogDestinationDatadog) *string { if v == nil { return nil } - return v.Prefix + return &v.ApiKey }).(pulumi.StringPtrOutput) } -func (o GetAppSpecServiceCorsAllowOriginsPtrOutput) Regex() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetAppSpecServiceCorsAllowOrigins) *string { +func (o GetAppSpecServiceLogDestinationDatadogPtrOutput) Endpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecServiceLogDestinationDatadog) *string { if v == nil { return nil } - return v.Regex + return v.Endpoint }).(pulumi.StringPtrOutput) } -type GetAppSpecServiceEnv struct { - // The name of the environment variable. - Key *string `pulumi:"key"` - // The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). - Scope *string `pulumi:"scope"` - // The type of the environment variable, `GENERAL` or `SECRET`. - Type string `pulumi:"type"` - // The value of the environment variable. - Value *string `pulumi:"value"` +type GetAppSpecServiceLogDestinationLogtail struct { + Token string `pulumi:"token"` } -// GetAppSpecServiceEnvInput is an input type that accepts GetAppSpecServiceEnvArgs and GetAppSpecServiceEnvOutput values. -// You can construct a concrete instance of `GetAppSpecServiceEnvInput` via: +// GetAppSpecServiceLogDestinationLogtailInput is an input type that accepts GetAppSpecServiceLogDestinationLogtailArgs and GetAppSpecServiceLogDestinationLogtailOutput values. +// You can construct a concrete instance of `GetAppSpecServiceLogDestinationLogtailInput` via: // -// GetAppSpecServiceEnvArgs{...} -type GetAppSpecServiceEnvInput interface { +// GetAppSpecServiceLogDestinationLogtailArgs{...} +type GetAppSpecServiceLogDestinationLogtailInput interface { pulumi.Input - ToGetAppSpecServiceEnvOutput() GetAppSpecServiceEnvOutput - ToGetAppSpecServiceEnvOutputWithContext(context.Context) GetAppSpecServiceEnvOutput + ToGetAppSpecServiceLogDestinationLogtailOutput() GetAppSpecServiceLogDestinationLogtailOutput + ToGetAppSpecServiceLogDestinationLogtailOutputWithContext(context.Context) GetAppSpecServiceLogDestinationLogtailOutput } -type GetAppSpecServiceEnvArgs struct { - // The name of the environment variable. - Key pulumi.StringPtrInput `pulumi:"key"` - // The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). - Scope pulumi.StringPtrInput `pulumi:"scope"` - // The type of the environment variable, `GENERAL` or `SECRET`. - Type pulumi.StringInput `pulumi:"type"` - // The value of the environment variable. - Value pulumi.StringPtrInput `pulumi:"value"` +type GetAppSpecServiceLogDestinationLogtailArgs struct { + Token pulumi.StringInput `pulumi:"token"` } -func (GetAppSpecServiceEnvArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecServiceEnv)(nil)).Elem() +func (GetAppSpecServiceLogDestinationLogtailArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecServiceLogDestinationLogtail)(nil)).Elem() } -func (i GetAppSpecServiceEnvArgs) ToGetAppSpecServiceEnvOutput() GetAppSpecServiceEnvOutput { - return i.ToGetAppSpecServiceEnvOutputWithContext(context.Background()) +func (i GetAppSpecServiceLogDestinationLogtailArgs) ToGetAppSpecServiceLogDestinationLogtailOutput() GetAppSpecServiceLogDestinationLogtailOutput { + return i.ToGetAppSpecServiceLogDestinationLogtailOutputWithContext(context.Background()) } -func (i GetAppSpecServiceEnvArgs) ToGetAppSpecServiceEnvOutputWithContext(ctx context.Context) GetAppSpecServiceEnvOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceEnvOutput) +func (i GetAppSpecServiceLogDestinationLogtailArgs) ToGetAppSpecServiceLogDestinationLogtailOutputWithContext(ctx context.Context) GetAppSpecServiceLogDestinationLogtailOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceLogDestinationLogtailOutput) } -// GetAppSpecServiceEnvArrayInput is an input type that accepts GetAppSpecServiceEnvArray and GetAppSpecServiceEnvArrayOutput values. -// You can construct a concrete instance of `GetAppSpecServiceEnvArrayInput` via: +func (i GetAppSpecServiceLogDestinationLogtailArgs) ToGetAppSpecServiceLogDestinationLogtailPtrOutput() GetAppSpecServiceLogDestinationLogtailPtrOutput { + return i.ToGetAppSpecServiceLogDestinationLogtailPtrOutputWithContext(context.Background()) +} + +func (i GetAppSpecServiceLogDestinationLogtailArgs) ToGetAppSpecServiceLogDestinationLogtailPtrOutputWithContext(ctx context.Context) GetAppSpecServiceLogDestinationLogtailPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceLogDestinationLogtailOutput).ToGetAppSpecServiceLogDestinationLogtailPtrOutputWithContext(ctx) +} + +// GetAppSpecServiceLogDestinationLogtailPtrInput is an input type that accepts GetAppSpecServiceLogDestinationLogtailArgs, GetAppSpecServiceLogDestinationLogtailPtr and GetAppSpecServiceLogDestinationLogtailPtrOutput values. +// You can construct a concrete instance of `GetAppSpecServiceLogDestinationLogtailPtrInput` via: // -// GetAppSpecServiceEnvArray{ GetAppSpecServiceEnvArgs{...} } -type GetAppSpecServiceEnvArrayInput interface { +// GetAppSpecServiceLogDestinationLogtailArgs{...} +// +// or: +// +// nil +type GetAppSpecServiceLogDestinationLogtailPtrInput interface { pulumi.Input - ToGetAppSpecServiceEnvArrayOutput() GetAppSpecServiceEnvArrayOutput - ToGetAppSpecServiceEnvArrayOutputWithContext(context.Context) GetAppSpecServiceEnvArrayOutput + ToGetAppSpecServiceLogDestinationLogtailPtrOutput() GetAppSpecServiceLogDestinationLogtailPtrOutput + ToGetAppSpecServiceLogDestinationLogtailPtrOutputWithContext(context.Context) GetAppSpecServiceLogDestinationLogtailPtrOutput } -type GetAppSpecServiceEnvArray []GetAppSpecServiceEnvInput +type getAppSpecServiceLogDestinationLogtailPtrType GetAppSpecServiceLogDestinationLogtailArgs -func (GetAppSpecServiceEnvArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetAppSpecServiceEnv)(nil)).Elem() +func GetAppSpecServiceLogDestinationLogtailPtr(v *GetAppSpecServiceLogDestinationLogtailArgs) GetAppSpecServiceLogDestinationLogtailPtrInput { + return (*getAppSpecServiceLogDestinationLogtailPtrType)(v) } -func (i GetAppSpecServiceEnvArray) ToGetAppSpecServiceEnvArrayOutput() GetAppSpecServiceEnvArrayOutput { - return i.ToGetAppSpecServiceEnvArrayOutputWithContext(context.Background()) +func (*getAppSpecServiceLogDestinationLogtailPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecServiceLogDestinationLogtail)(nil)).Elem() } -func (i GetAppSpecServiceEnvArray) ToGetAppSpecServiceEnvArrayOutputWithContext(ctx context.Context) GetAppSpecServiceEnvArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceEnvArrayOutput) +func (i *getAppSpecServiceLogDestinationLogtailPtrType) ToGetAppSpecServiceLogDestinationLogtailPtrOutput() GetAppSpecServiceLogDestinationLogtailPtrOutput { + return i.ToGetAppSpecServiceLogDestinationLogtailPtrOutputWithContext(context.Background()) } -type GetAppSpecServiceEnvOutput struct{ *pulumi.OutputState } - -func (GetAppSpecServiceEnvOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecServiceEnv)(nil)).Elem() +func (i *getAppSpecServiceLogDestinationLogtailPtrType) ToGetAppSpecServiceLogDestinationLogtailPtrOutputWithContext(ctx context.Context) GetAppSpecServiceLogDestinationLogtailPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceLogDestinationLogtailPtrOutput) } -func (o GetAppSpecServiceEnvOutput) ToGetAppSpecServiceEnvOutput() GetAppSpecServiceEnvOutput { - return o +type GetAppSpecServiceLogDestinationLogtailOutput struct{ *pulumi.OutputState } + +func (GetAppSpecServiceLogDestinationLogtailOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecServiceLogDestinationLogtail)(nil)).Elem() } -func (o GetAppSpecServiceEnvOutput) ToGetAppSpecServiceEnvOutputWithContext(ctx context.Context) GetAppSpecServiceEnvOutput { +func (o GetAppSpecServiceLogDestinationLogtailOutput) ToGetAppSpecServiceLogDestinationLogtailOutput() GetAppSpecServiceLogDestinationLogtailOutput { return o } -// The name of the environment variable. -func (o GetAppSpecServiceEnvOutput) Key() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecServiceEnv) *string { return v.Key }).(pulumi.StringPtrOutput) +func (o GetAppSpecServiceLogDestinationLogtailOutput) ToGetAppSpecServiceLogDestinationLogtailOutputWithContext(ctx context.Context) GetAppSpecServiceLogDestinationLogtailOutput { + return o } -// The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). -func (o GetAppSpecServiceEnvOutput) Scope() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecServiceEnv) *string { return v.Scope }).(pulumi.StringPtrOutput) +func (o GetAppSpecServiceLogDestinationLogtailOutput) ToGetAppSpecServiceLogDestinationLogtailPtrOutput() GetAppSpecServiceLogDestinationLogtailPtrOutput { + return o.ToGetAppSpecServiceLogDestinationLogtailPtrOutputWithContext(context.Background()) } -// The type of the environment variable, `GENERAL` or `SECRET`. -func (o GetAppSpecServiceEnvOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v GetAppSpecServiceEnv) string { return v.Type }).(pulumi.StringOutput) +func (o GetAppSpecServiceLogDestinationLogtailOutput) ToGetAppSpecServiceLogDestinationLogtailPtrOutputWithContext(ctx context.Context) GetAppSpecServiceLogDestinationLogtailPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecServiceLogDestinationLogtail) *GetAppSpecServiceLogDestinationLogtail { + return &v + }).(GetAppSpecServiceLogDestinationLogtailPtrOutput) } -// The value of the environment variable. -func (o GetAppSpecServiceEnvOutput) Value() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecServiceEnv) *string { return v.Value }).(pulumi.StringPtrOutput) +func (o GetAppSpecServiceLogDestinationLogtailOutput) Token() pulumi.StringOutput { + return o.ApplyT(func(v GetAppSpecServiceLogDestinationLogtail) string { return v.Token }).(pulumi.StringOutput) } -type GetAppSpecServiceEnvArrayOutput struct{ *pulumi.OutputState } +type GetAppSpecServiceLogDestinationLogtailPtrOutput struct{ *pulumi.OutputState } -func (GetAppSpecServiceEnvArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetAppSpecServiceEnv)(nil)).Elem() +func (GetAppSpecServiceLogDestinationLogtailPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecServiceLogDestinationLogtail)(nil)).Elem() } -func (o GetAppSpecServiceEnvArrayOutput) ToGetAppSpecServiceEnvArrayOutput() GetAppSpecServiceEnvArrayOutput { +func (o GetAppSpecServiceLogDestinationLogtailPtrOutput) ToGetAppSpecServiceLogDestinationLogtailPtrOutput() GetAppSpecServiceLogDestinationLogtailPtrOutput { return o } -func (o GetAppSpecServiceEnvArrayOutput) ToGetAppSpecServiceEnvArrayOutputWithContext(ctx context.Context) GetAppSpecServiceEnvArrayOutput { +func (o GetAppSpecServiceLogDestinationLogtailPtrOutput) ToGetAppSpecServiceLogDestinationLogtailPtrOutputWithContext(ctx context.Context) GetAppSpecServiceLogDestinationLogtailPtrOutput { return o } -func (o GetAppSpecServiceEnvArrayOutput) Index(i pulumi.IntInput) GetAppSpecServiceEnvOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAppSpecServiceEnv { - return vs[0].([]GetAppSpecServiceEnv)[vs[1].(int)] - }).(GetAppSpecServiceEnvOutput) +func (o GetAppSpecServiceLogDestinationLogtailPtrOutput) Elem() GetAppSpecServiceLogDestinationLogtailOutput { + return o.ApplyT(func(v *GetAppSpecServiceLogDestinationLogtail) GetAppSpecServiceLogDestinationLogtail { + if v != nil { + return *v + } + var ret GetAppSpecServiceLogDestinationLogtail + return ret + }).(GetAppSpecServiceLogDestinationLogtailOutput) } -type GetAppSpecServiceGit struct { - // The name of the branch to use. - Branch *string `pulumi:"branch"` - // The clone URL of the repo. - RepoCloneUrl *string `pulumi:"repoCloneUrl"` +func (o GetAppSpecServiceLogDestinationLogtailPtrOutput) Token() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecServiceLogDestinationLogtail) *string { + if v == nil { + return nil + } + return &v.Token + }).(pulumi.StringPtrOutput) } -// GetAppSpecServiceGitInput is an input type that accepts GetAppSpecServiceGitArgs and GetAppSpecServiceGitOutput values. -// You can construct a concrete instance of `GetAppSpecServiceGitInput` via: -// -// GetAppSpecServiceGitArgs{...} -type GetAppSpecServiceGitInput interface { - pulumi.Input - - ToGetAppSpecServiceGitOutput() GetAppSpecServiceGitOutput - ToGetAppSpecServiceGitOutputWithContext(context.Context) GetAppSpecServiceGitOutput +type GetAppSpecServiceLogDestinationPapertrail struct { + Endpoint string `pulumi:"endpoint"` } -type GetAppSpecServiceGitArgs struct { - // The name of the branch to use. - Branch pulumi.StringPtrInput `pulumi:"branch"` - // The clone URL of the repo. - RepoCloneUrl pulumi.StringPtrInput `pulumi:"repoCloneUrl"` +// GetAppSpecServiceLogDestinationPapertrailInput is an input type that accepts GetAppSpecServiceLogDestinationPapertrailArgs and GetAppSpecServiceLogDestinationPapertrailOutput values. +// You can construct a concrete instance of `GetAppSpecServiceLogDestinationPapertrailInput` via: +// +// GetAppSpecServiceLogDestinationPapertrailArgs{...} +type GetAppSpecServiceLogDestinationPapertrailInput interface { + pulumi.Input + + ToGetAppSpecServiceLogDestinationPapertrailOutput() GetAppSpecServiceLogDestinationPapertrailOutput + ToGetAppSpecServiceLogDestinationPapertrailOutputWithContext(context.Context) GetAppSpecServiceLogDestinationPapertrailOutput } -func (GetAppSpecServiceGitArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecServiceGit)(nil)).Elem() +type GetAppSpecServiceLogDestinationPapertrailArgs struct { + Endpoint pulumi.StringInput `pulumi:"endpoint"` } -func (i GetAppSpecServiceGitArgs) ToGetAppSpecServiceGitOutput() GetAppSpecServiceGitOutput { - return i.ToGetAppSpecServiceGitOutputWithContext(context.Background()) +func (GetAppSpecServiceLogDestinationPapertrailArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecServiceLogDestinationPapertrail)(nil)).Elem() } -func (i GetAppSpecServiceGitArgs) ToGetAppSpecServiceGitOutputWithContext(ctx context.Context) GetAppSpecServiceGitOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceGitOutput) +func (i GetAppSpecServiceLogDestinationPapertrailArgs) ToGetAppSpecServiceLogDestinationPapertrailOutput() GetAppSpecServiceLogDestinationPapertrailOutput { + return i.ToGetAppSpecServiceLogDestinationPapertrailOutputWithContext(context.Background()) } -func (i GetAppSpecServiceGitArgs) ToGetAppSpecServiceGitPtrOutput() GetAppSpecServiceGitPtrOutput { - return i.ToGetAppSpecServiceGitPtrOutputWithContext(context.Background()) +func (i GetAppSpecServiceLogDestinationPapertrailArgs) ToGetAppSpecServiceLogDestinationPapertrailOutputWithContext(ctx context.Context) GetAppSpecServiceLogDestinationPapertrailOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceLogDestinationPapertrailOutput) } -func (i GetAppSpecServiceGitArgs) ToGetAppSpecServiceGitPtrOutputWithContext(ctx context.Context) GetAppSpecServiceGitPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceGitOutput).ToGetAppSpecServiceGitPtrOutputWithContext(ctx) +func (i GetAppSpecServiceLogDestinationPapertrailArgs) ToGetAppSpecServiceLogDestinationPapertrailPtrOutput() GetAppSpecServiceLogDestinationPapertrailPtrOutput { + return i.ToGetAppSpecServiceLogDestinationPapertrailPtrOutputWithContext(context.Background()) } -// GetAppSpecServiceGitPtrInput is an input type that accepts GetAppSpecServiceGitArgs, GetAppSpecServiceGitPtr and GetAppSpecServiceGitPtrOutput values. -// You can construct a concrete instance of `GetAppSpecServiceGitPtrInput` via: +func (i GetAppSpecServiceLogDestinationPapertrailArgs) ToGetAppSpecServiceLogDestinationPapertrailPtrOutputWithContext(ctx context.Context) GetAppSpecServiceLogDestinationPapertrailPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceLogDestinationPapertrailOutput).ToGetAppSpecServiceLogDestinationPapertrailPtrOutputWithContext(ctx) +} + +// GetAppSpecServiceLogDestinationPapertrailPtrInput is an input type that accepts GetAppSpecServiceLogDestinationPapertrailArgs, GetAppSpecServiceLogDestinationPapertrailPtr and GetAppSpecServiceLogDestinationPapertrailPtrOutput values. +// You can construct a concrete instance of `GetAppSpecServiceLogDestinationPapertrailPtrInput` via: // -// GetAppSpecServiceGitArgs{...} +// GetAppSpecServiceLogDestinationPapertrailArgs{...} // // or: // // nil -type GetAppSpecServiceGitPtrInput interface { +type GetAppSpecServiceLogDestinationPapertrailPtrInput interface { pulumi.Input - ToGetAppSpecServiceGitPtrOutput() GetAppSpecServiceGitPtrOutput - ToGetAppSpecServiceGitPtrOutputWithContext(context.Context) GetAppSpecServiceGitPtrOutput + ToGetAppSpecServiceLogDestinationPapertrailPtrOutput() GetAppSpecServiceLogDestinationPapertrailPtrOutput + ToGetAppSpecServiceLogDestinationPapertrailPtrOutputWithContext(context.Context) GetAppSpecServiceLogDestinationPapertrailPtrOutput } -type getAppSpecServiceGitPtrType GetAppSpecServiceGitArgs +type getAppSpecServiceLogDestinationPapertrailPtrType GetAppSpecServiceLogDestinationPapertrailArgs -func GetAppSpecServiceGitPtr(v *GetAppSpecServiceGitArgs) GetAppSpecServiceGitPtrInput { - return (*getAppSpecServiceGitPtrType)(v) +func GetAppSpecServiceLogDestinationPapertrailPtr(v *GetAppSpecServiceLogDestinationPapertrailArgs) GetAppSpecServiceLogDestinationPapertrailPtrInput { + return (*getAppSpecServiceLogDestinationPapertrailPtrType)(v) } -func (*getAppSpecServiceGitPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**GetAppSpecServiceGit)(nil)).Elem() +func (*getAppSpecServiceLogDestinationPapertrailPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecServiceLogDestinationPapertrail)(nil)).Elem() } -func (i *getAppSpecServiceGitPtrType) ToGetAppSpecServiceGitPtrOutput() GetAppSpecServiceGitPtrOutput { - return i.ToGetAppSpecServiceGitPtrOutputWithContext(context.Background()) +func (i *getAppSpecServiceLogDestinationPapertrailPtrType) ToGetAppSpecServiceLogDestinationPapertrailPtrOutput() GetAppSpecServiceLogDestinationPapertrailPtrOutput { + return i.ToGetAppSpecServiceLogDestinationPapertrailPtrOutputWithContext(context.Background()) } -func (i *getAppSpecServiceGitPtrType) ToGetAppSpecServiceGitPtrOutputWithContext(ctx context.Context) GetAppSpecServiceGitPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceGitPtrOutput) +func (i *getAppSpecServiceLogDestinationPapertrailPtrType) ToGetAppSpecServiceLogDestinationPapertrailPtrOutputWithContext(ctx context.Context) GetAppSpecServiceLogDestinationPapertrailPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceLogDestinationPapertrailPtrOutput) } -type GetAppSpecServiceGitOutput struct{ *pulumi.OutputState } +type GetAppSpecServiceLogDestinationPapertrailOutput struct{ *pulumi.OutputState } -func (GetAppSpecServiceGitOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecServiceGit)(nil)).Elem() +func (GetAppSpecServiceLogDestinationPapertrailOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecServiceLogDestinationPapertrail)(nil)).Elem() } -func (o GetAppSpecServiceGitOutput) ToGetAppSpecServiceGitOutput() GetAppSpecServiceGitOutput { +func (o GetAppSpecServiceLogDestinationPapertrailOutput) ToGetAppSpecServiceLogDestinationPapertrailOutput() GetAppSpecServiceLogDestinationPapertrailOutput { return o } -func (o GetAppSpecServiceGitOutput) ToGetAppSpecServiceGitOutputWithContext(ctx context.Context) GetAppSpecServiceGitOutput { +func (o GetAppSpecServiceLogDestinationPapertrailOutput) ToGetAppSpecServiceLogDestinationPapertrailOutputWithContext(ctx context.Context) GetAppSpecServiceLogDestinationPapertrailOutput { return o } -func (o GetAppSpecServiceGitOutput) ToGetAppSpecServiceGitPtrOutput() GetAppSpecServiceGitPtrOutput { - return o.ToGetAppSpecServiceGitPtrOutputWithContext(context.Background()) +func (o GetAppSpecServiceLogDestinationPapertrailOutput) ToGetAppSpecServiceLogDestinationPapertrailPtrOutput() GetAppSpecServiceLogDestinationPapertrailPtrOutput { + return o.ToGetAppSpecServiceLogDestinationPapertrailPtrOutputWithContext(context.Background()) } -func (o GetAppSpecServiceGitOutput) ToGetAppSpecServiceGitPtrOutputWithContext(ctx context.Context) GetAppSpecServiceGitPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecServiceGit) *GetAppSpecServiceGit { +func (o GetAppSpecServiceLogDestinationPapertrailOutput) ToGetAppSpecServiceLogDestinationPapertrailPtrOutputWithContext(ctx context.Context) GetAppSpecServiceLogDestinationPapertrailPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecServiceLogDestinationPapertrail) *GetAppSpecServiceLogDestinationPapertrail { return &v - }).(GetAppSpecServiceGitPtrOutput) -} - -// The name of the branch to use. -func (o GetAppSpecServiceGitOutput) Branch() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecServiceGit) *string { return v.Branch }).(pulumi.StringPtrOutput) + }).(GetAppSpecServiceLogDestinationPapertrailPtrOutput) } -// The clone URL of the repo. -func (o GetAppSpecServiceGitOutput) RepoCloneUrl() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecServiceGit) *string { return v.RepoCloneUrl }).(pulumi.StringPtrOutput) +func (o GetAppSpecServiceLogDestinationPapertrailOutput) Endpoint() pulumi.StringOutput { + return o.ApplyT(func(v GetAppSpecServiceLogDestinationPapertrail) string { return v.Endpoint }).(pulumi.StringOutput) } -type GetAppSpecServiceGitPtrOutput struct{ *pulumi.OutputState } +type GetAppSpecServiceLogDestinationPapertrailPtrOutput struct{ *pulumi.OutputState } -func (GetAppSpecServiceGitPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**GetAppSpecServiceGit)(nil)).Elem() +func (GetAppSpecServiceLogDestinationPapertrailPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecServiceLogDestinationPapertrail)(nil)).Elem() } -func (o GetAppSpecServiceGitPtrOutput) ToGetAppSpecServiceGitPtrOutput() GetAppSpecServiceGitPtrOutput { +func (o GetAppSpecServiceLogDestinationPapertrailPtrOutput) ToGetAppSpecServiceLogDestinationPapertrailPtrOutput() GetAppSpecServiceLogDestinationPapertrailPtrOutput { return o } -func (o GetAppSpecServiceGitPtrOutput) ToGetAppSpecServiceGitPtrOutputWithContext(ctx context.Context) GetAppSpecServiceGitPtrOutput { +func (o GetAppSpecServiceLogDestinationPapertrailPtrOutput) ToGetAppSpecServiceLogDestinationPapertrailPtrOutputWithContext(ctx context.Context) GetAppSpecServiceLogDestinationPapertrailPtrOutput { return o } -func (o GetAppSpecServiceGitPtrOutput) Elem() GetAppSpecServiceGitOutput { - return o.ApplyT(func(v *GetAppSpecServiceGit) GetAppSpecServiceGit { +func (o GetAppSpecServiceLogDestinationPapertrailPtrOutput) Elem() GetAppSpecServiceLogDestinationPapertrailOutput { + return o.ApplyT(func(v *GetAppSpecServiceLogDestinationPapertrail) GetAppSpecServiceLogDestinationPapertrail { if v != nil { return *v } - var ret GetAppSpecServiceGit + var ret GetAppSpecServiceLogDestinationPapertrail return ret - }).(GetAppSpecServiceGitOutput) + }).(GetAppSpecServiceLogDestinationPapertrailOutput) } -// The name of the branch to use. -func (o GetAppSpecServiceGitPtrOutput) Branch() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetAppSpecServiceGit) *string { +func (o GetAppSpecServiceLogDestinationPapertrailPtrOutput) Endpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecServiceLogDestinationPapertrail) *string { if v == nil { return nil } - return v.Branch + return &v.Endpoint }).(pulumi.StringPtrOutput) } -// The clone URL of the repo. -func (o GetAppSpecServiceGitPtrOutput) RepoCloneUrl() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetAppSpecServiceGit) *string { - if v == nil { - return nil - } - return v.RepoCloneUrl - }).(pulumi.StringPtrOutput) +type GetAppSpecServiceRoute struct { + // Paths must start with `/` and must be unique within the app. + Path *string `pulumi:"path"` + // An optional flag to preserve the path that is forwarded to the backend service. + PreservePathPrefix *bool `pulumi:"preservePathPrefix"` } -type GetAppSpecServiceGithub struct { - // The name of the branch to use. - Branch *string `pulumi:"branch"` - // Whether to automatically deploy new commits made to the repo. - DeployOnPush *bool `pulumi:"deployOnPush"` - // The name of the repo in the format `owner/repo`. - Repo *string `pulumi:"repo"` +// GetAppSpecServiceRouteInput is an input type that accepts GetAppSpecServiceRouteArgs and GetAppSpecServiceRouteOutput values. +// You can construct a concrete instance of `GetAppSpecServiceRouteInput` via: +// +// GetAppSpecServiceRouteArgs{...} +type GetAppSpecServiceRouteInput interface { + pulumi.Input + + ToGetAppSpecServiceRouteOutput() GetAppSpecServiceRouteOutput + ToGetAppSpecServiceRouteOutputWithContext(context.Context) GetAppSpecServiceRouteOutput } -// GetAppSpecServiceGithubInput is an input type that accepts GetAppSpecServiceGithubArgs and GetAppSpecServiceGithubOutput values. -// You can construct a concrete instance of `GetAppSpecServiceGithubInput` via: +type GetAppSpecServiceRouteArgs struct { + // Paths must start with `/` and must be unique within the app. + Path pulumi.StringPtrInput `pulumi:"path"` + // An optional flag to preserve the path that is forwarded to the backend service. + PreservePathPrefix pulumi.BoolPtrInput `pulumi:"preservePathPrefix"` +} + +func (GetAppSpecServiceRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecServiceRoute)(nil)).Elem() +} + +func (i GetAppSpecServiceRouteArgs) ToGetAppSpecServiceRouteOutput() GetAppSpecServiceRouteOutput { + return i.ToGetAppSpecServiceRouteOutputWithContext(context.Background()) +} + +func (i GetAppSpecServiceRouteArgs) ToGetAppSpecServiceRouteOutputWithContext(ctx context.Context) GetAppSpecServiceRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceRouteOutput) +} + +// GetAppSpecServiceRouteArrayInput is an input type that accepts GetAppSpecServiceRouteArray and GetAppSpecServiceRouteArrayOutput values. +// You can construct a concrete instance of `GetAppSpecServiceRouteArrayInput` via: // -// GetAppSpecServiceGithubArgs{...} -type GetAppSpecServiceGithubInput interface { +// GetAppSpecServiceRouteArray{ GetAppSpecServiceRouteArgs{...} } +type GetAppSpecServiceRouteArrayInput interface { pulumi.Input - ToGetAppSpecServiceGithubOutput() GetAppSpecServiceGithubOutput - ToGetAppSpecServiceGithubOutputWithContext(context.Context) GetAppSpecServiceGithubOutput + ToGetAppSpecServiceRouteArrayOutput() GetAppSpecServiceRouteArrayOutput + ToGetAppSpecServiceRouteArrayOutputWithContext(context.Context) GetAppSpecServiceRouteArrayOutput } -type GetAppSpecServiceGithubArgs struct { - // The name of the branch to use. - Branch pulumi.StringPtrInput `pulumi:"branch"` - // Whether to automatically deploy new commits made to the repo. - DeployOnPush pulumi.BoolPtrInput `pulumi:"deployOnPush"` - // The name of the repo in the format `owner/repo`. - Repo pulumi.StringPtrInput `pulumi:"repo"` +type GetAppSpecServiceRouteArray []GetAppSpecServiceRouteInput + +func (GetAppSpecServiceRouteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAppSpecServiceRoute)(nil)).Elem() +} + +func (i GetAppSpecServiceRouteArray) ToGetAppSpecServiceRouteArrayOutput() GetAppSpecServiceRouteArrayOutput { + return i.ToGetAppSpecServiceRouteArrayOutputWithContext(context.Background()) +} + +func (i GetAppSpecServiceRouteArray) ToGetAppSpecServiceRouteArrayOutputWithContext(ctx context.Context) GetAppSpecServiceRouteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceRouteArrayOutput) +} + +type GetAppSpecServiceRouteOutput struct{ *pulumi.OutputState } + +func (GetAppSpecServiceRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecServiceRoute)(nil)).Elem() +} + +func (o GetAppSpecServiceRouteOutput) ToGetAppSpecServiceRouteOutput() GetAppSpecServiceRouteOutput { + return o +} + +func (o GetAppSpecServiceRouteOutput) ToGetAppSpecServiceRouteOutputWithContext(ctx context.Context) GetAppSpecServiceRouteOutput { + return o +} + +// Paths must start with `/` and must be unique within the app. +func (o GetAppSpecServiceRouteOutput) Path() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecServiceRoute) *string { return v.Path }).(pulumi.StringPtrOutput) +} + +// An optional flag to preserve the path that is forwarded to the backend service. +func (o GetAppSpecServiceRouteOutput) PreservePathPrefix() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GetAppSpecServiceRoute) *bool { return v.PreservePathPrefix }).(pulumi.BoolPtrOutput) +} + +type GetAppSpecServiceRouteArrayOutput struct{ *pulumi.OutputState } + +func (GetAppSpecServiceRouteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAppSpecServiceRoute)(nil)).Elem() +} + +func (o GetAppSpecServiceRouteArrayOutput) ToGetAppSpecServiceRouteArrayOutput() GetAppSpecServiceRouteArrayOutput { + return o +} + +func (o GetAppSpecServiceRouteArrayOutput) ToGetAppSpecServiceRouteArrayOutputWithContext(ctx context.Context) GetAppSpecServiceRouteArrayOutput { + return o +} + +func (o GetAppSpecServiceRouteArrayOutput) Index(i pulumi.IntInput) GetAppSpecServiceRouteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAppSpecServiceRoute { + return vs[0].([]GetAppSpecServiceRoute)[vs[1].(int)] + }).(GetAppSpecServiceRouteOutput) +} + +type GetAppSpecStaticSite struct { + // An optional build command to run while building this component from source. + BuildCommand *string `pulumi:"buildCommand"` + // The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. + CatchallDocument *string `pulumi:"catchallDocument"` + Cors *GetAppSpecStaticSiteCors `pulumi:"cors"` + // The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. + DockerfilePath *string `pulumi:"dockerfilePath"` + // An environment slug describing the type of this app. + EnvironmentSlug *string `pulumi:"environmentSlug"` + // Describes an environment variable made available to an app competent. + Envs []GetAppSpecStaticSiteEnv `pulumi:"envs"` + // The name of the error document to use when serving this static site. + ErrorDocument *string `pulumi:"errorDocument"` + // A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set. + Git *GetAppSpecStaticSiteGit `pulumi:"git"` + // A GitHub repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/github/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. + Github *GetAppSpecStaticSiteGithub `pulumi:"github"` + // A Gitlab repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/gitlab/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. + Gitlab *GetAppSpecStaticSiteGitlab `pulumi:"gitlab"` + // The name of the index document to use when serving this static site. + IndexDocument *string `pulumi:"indexDocument"` + // The name of the component. + Name string `pulumi:"name"` + // An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`. + OutputDir *string `pulumi:"outputDir"` + Routes []GetAppSpecStaticSiteRoute `pulumi:"routes"` + // An optional path to the working directory to use for the build. + SourceDir *string `pulumi:"sourceDir"` +} + +// GetAppSpecStaticSiteInput is an input type that accepts GetAppSpecStaticSiteArgs and GetAppSpecStaticSiteOutput values. +// You can construct a concrete instance of `GetAppSpecStaticSiteInput` via: +// +// GetAppSpecStaticSiteArgs{...} +type GetAppSpecStaticSiteInput interface { + pulumi.Input + + ToGetAppSpecStaticSiteOutput() GetAppSpecStaticSiteOutput + ToGetAppSpecStaticSiteOutputWithContext(context.Context) GetAppSpecStaticSiteOutput +} + +type GetAppSpecStaticSiteArgs struct { + // An optional build command to run while building this component from source. + BuildCommand pulumi.StringPtrInput `pulumi:"buildCommand"` + // The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. + CatchallDocument pulumi.StringPtrInput `pulumi:"catchallDocument"` + Cors GetAppSpecStaticSiteCorsPtrInput `pulumi:"cors"` + // The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. + DockerfilePath pulumi.StringPtrInput `pulumi:"dockerfilePath"` + // An environment slug describing the type of this app. + EnvironmentSlug pulumi.StringPtrInput `pulumi:"environmentSlug"` + // Describes an environment variable made available to an app competent. + Envs GetAppSpecStaticSiteEnvArrayInput `pulumi:"envs"` + // The name of the error document to use when serving this static site. + ErrorDocument pulumi.StringPtrInput `pulumi:"errorDocument"` + // A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set. + Git GetAppSpecStaticSiteGitPtrInput `pulumi:"git"` + // A GitHub repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/github/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. + Github GetAppSpecStaticSiteGithubPtrInput `pulumi:"github"` + // A Gitlab repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/gitlab/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. + Gitlab GetAppSpecStaticSiteGitlabPtrInput `pulumi:"gitlab"` + // The name of the index document to use when serving this static site. + IndexDocument pulumi.StringPtrInput `pulumi:"indexDocument"` + // The name of the component. + Name pulumi.StringInput `pulumi:"name"` + // An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`. + OutputDir pulumi.StringPtrInput `pulumi:"outputDir"` + Routes GetAppSpecStaticSiteRouteArrayInput `pulumi:"routes"` + // An optional path to the working directory to use for the build. + SourceDir pulumi.StringPtrInput `pulumi:"sourceDir"` } -func (GetAppSpecServiceGithubArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecServiceGithub)(nil)).Elem() +func (GetAppSpecStaticSiteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecStaticSite)(nil)).Elem() } -func (i GetAppSpecServiceGithubArgs) ToGetAppSpecServiceGithubOutput() GetAppSpecServiceGithubOutput { - return i.ToGetAppSpecServiceGithubOutputWithContext(context.Background()) +func (i GetAppSpecStaticSiteArgs) ToGetAppSpecStaticSiteOutput() GetAppSpecStaticSiteOutput { + return i.ToGetAppSpecStaticSiteOutputWithContext(context.Background()) } -func (i GetAppSpecServiceGithubArgs) ToGetAppSpecServiceGithubOutputWithContext(ctx context.Context) GetAppSpecServiceGithubOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceGithubOutput) +func (i GetAppSpecStaticSiteArgs) ToGetAppSpecStaticSiteOutputWithContext(ctx context.Context) GetAppSpecStaticSiteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecStaticSiteOutput) } -func (i GetAppSpecServiceGithubArgs) ToGetAppSpecServiceGithubPtrOutput() GetAppSpecServiceGithubPtrOutput { - return i.ToGetAppSpecServiceGithubPtrOutputWithContext(context.Background()) +// GetAppSpecStaticSiteArrayInput is an input type that accepts GetAppSpecStaticSiteArray and GetAppSpecStaticSiteArrayOutput values. +// You can construct a concrete instance of `GetAppSpecStaticSiteArrayInput` via: +// +// GetAppSpecStaticSiteArray{ GetAppSpecStaticSiteArgs{...} } +type GetAppSpecStaticSiteArrayInput interface { + pulumi.Input + + ToGetAppSpecStaticSiteArrayOutput() GetAppSpecStaticSiteArrayOutput + ToGetAppSpecStaticSiteArrayOutputWithContext(context.Context) GetAppSpecStaticSiteArrayOutput } -func (i GetAppSpecServiceGithubArgs) ToGetAppSpecServiceGithubPtrOutputWithContext(ctx context.Context) GetAppSpecServiceGithubPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceGithubOutput).ToGetAppSpecServiceGithubPtrOutputWithContext(ctx) +type GetAppSpecStaticSiteArray []GetAppSpecStaticSiteInput + +func (GetAppSpecStaticSiteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAppSpecStaticSite)(nil)).Elem() } -// GetAppSpecServiceGithubPtrInput is an input type that accepts GetAppSpecServiceGithubArgs, GetAppSpecServiceGithubPtr and GetAppSpecServiceGithubPtrOutput values. -// You can construct a concrete instance of `GetAppSpecServiceGithubPtrInput` via: -// -// GetAppSpecServiceGithubArgs{...} -// -// or: -// -// nil -type GetAppSpecServiceGithubPtrInput interface { - pulumi.Input +func (i GetAppSpecStaticSiteArray) ToGetAppSpecStaticSiteArrayOutput() GetAppSpecStaticSiteArrayOutput { + return i.ToGetAppSpecStaticSiteArrayOutputWithContext(context.Background()) +} - ToGetAppSpecServiceGithubPtrOutput() GetAppSpecServiceGithubPtrOutput - ToGetAppSpecServiceGithubPtrOutputWithContext(context.Context) GetAppSpecServiceGithubPtrOutput +func (i GetAppSpecStaticSiteArray) ToGetAppSpecStaticSiteArrayOutputWithContext(ctx context.Context) GetAppSpecStaticSiteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecStaticSiteArrayOutput) } -type getAppSpecServiceGithubPtrType GetAppSpecServiceGithubArgs +type GetAppSpecStaticSiteOutput struct{ *pulumi.OutputState } -func GetAppSpecServiceGithubPtr(v *GetAppSpecServiceGithubArgs) GetAppSpecServiceGithubPtrInput { - return (*getAppSpecServiceGithubPtrType)(v) +func (GetAppSpecStaticSiteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecStaticSite)(nil)).Elem() } -func (*getAppSpecServiceGithubPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**GetAppSpecServiceGithub)(nil)).Elem() +func (o GetAppSpecStaticSiteOutput) ToGetAppSpecStaticSiteOutput() GetAppSpecStaticSiteOutput { + return o } -func (i *getAppSpecServiceGithubPtrType) ToGetAppSpecServiceGithubPtrOutput() GetAppSpecServiceGithubPtrOutput { - return i.ToGetAppSpecServiceGithubPtrOutputWithContext(context.Background()) +func (o GetAppSpecStaticSiteOutput) ToGetAppSpecStaticSiteOutputWithContext(ctx context.Context) GetAppSpecStaticSiteOutput { + return o } -func (i *getAppSpecServiceGithubPtrType) ToGetAppSpecServiceGithubPtrOutputWithContext(ctx context.Context) GetAppSpecServiceGithubPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceGithubPtrOutput) +// An optional build command to run while building this component from source. +func (o GetAppSpecStaticSiteOutput) BuildCommand() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecStaticSite) *string { return v.BuildCommand }).(pulumi.StringPtrOutput) } -type GetAppSpecServiceGithubOutput struct{ *pulumi.OutputState } +// The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. +func (o GetAppSpecStaticSiteOutput) CatchallDocument() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecStaticSite) *string { return v.CatchallDocument }).(pulumi.StringPtrOutput) +} -func (GetAppSpecServiceGithubOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecServiceGithub)(nil)).Elem() +func (o GetAppSpecStaticSiteOutput) Cors() GetAppSpecStaticSiteCorsPtrOutput { + return o.ApplyT(func(v GetAppSpecStaticSite) *GetAppSpecStaticSiteCors { return v.Cors }).(GetAppSpecStaticSiteCorsPtrOutput) } -func (o GetAppSpecServiceGithubOutput) ToGetAppSpecServiceGithubOutput() GetAppSpecServiceGithubOutput { - return o +// The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. +func (o GetAppSpecStaticSiteOutput) DockerfilePath() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecStaticSite) *string { return v.DockerfilePath }).(pulumi.StringPtrOutput) } -func (o GetAppSpecServiceGithubOutput) ToGetAppSpecServiceGithubOutputWithContext(ctx context.Context) GetAppSpecServiceGithubOutput { - return o +// An environment slug describing the type of this app. +func (o GetAppSpecStaticSiteOutput) EnvironmentSlug() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecStaticSite) *string { return v.EnvironmentSlug }).(pulumi.StringPtrOutput) } -func (o GetAppSpecServiceGithubOutput) ToGetAppSpecServiceGithubPtrOutput() GetAppSpecServiceGithubPtrOutput { - return o.ToGetAppSpecServiceGithubPtrOutputWithContext(context.Background()) +// Describes an environment variable made available to an app competent. +func (o GetAppSpecStaticSiteOutput) Envs() GetAppSpecStaticSiteEnvArrayOutput { + return o.ApplyT(func(v GetAppSpecStaticSite) []GetAppSpecStaticSiteEnv { return v.Envs }).(GetAppSpecStaticSiteEnvArrayOutput) } -func (o GetAppSpecServiceGithubOutput) ToGetAppSpecServiceGithubPtrOutputWithContext(ctx context.Context) GetAppSpecServiceGithubPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecServiceGithub) *GetAppSpecServiceGithub { - return &v - }).(GetAppSpecServiceGithubPtrOutput) +// The name of the error document to use when serving this static site. +func (o GetAppSpecStaticSiteOutput) ErrorDocument() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecStaticSite) *string { return v.ErrorDocument }).(pulumi.StringPtrOutput) } -// The name of the branch to use. -func (o GetAppSpecServiceGithubOutput) Branch() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecServiceGithub) *string { return v.Branch }).(pulumi.StringPtrOutput) +// A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set. +func (o GetAppSpecStaticSiteOutput) Git() GetAppSpecStaticSiteGitPtrOutput { + return o.ApplyT(func(v GetAppSpecStaticSite) *GetAppSpecStaticSiteGit { return v.Git }).(GetAppSpecStaticSiteGitPtrOutput) } -// Whether to automatically deploy new commits made to the repo. -func (o GetAppSpecServiceGithubOutput) DeployOnPush() pulumi.BoolPtrOutput { - return o.ApplyT(func(v GetAppSpecServiceGithub) *bool { return v.DeployOnPush }).(pulumi.BoolPtrOutput) +// A GitHub repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/github/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. +func (o GetAppSpecStaticSiteOutput) Github() GetAppSpecStaticSiteGithubPtrOutput { + return o.ApplyT(func(v GetAppSpecStaticSite) *GetAppSpecStaticSiteGithub { return v.Github }).(GetAppSpecStaticSiteGithubPtrOutput) } -// The name of the repo in the format `owner/repo`. -func (o GetAppSpecServiceGithubOutput) Repo() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecServiceGithub) *string { return v.Repo }).(pulumi.StringPtrOutput) +// A Gitlab repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/gitlab/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. +func (o GetAppSpecStaticSiteOutput) Gitlab() GetAppSpecStaticSiteGitlabPtrOutput { + return o.ApplyT(func(v GetAppSpecStaticSite) *GetAppSpecStaticSiteGitlab { return v.Gitlab }).(GetAppSpecStaticSiteGitlabPtrOutput) } -type GetAppSpecServiceGithubPtrOutput struct{ *pulumi.OutputState } +// The name of the index document to use when serving this static site. +func (o GetAppSpecStaticSiteOutput) IndexDocument() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecStaticSite) *string { return v.IndexDocument }).(pulumi.StringPtrOutput) +} -func (GetAppSpecServiceGithubPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**GetAppSpecServiceGithub)(nil)).Elem() +// The name of the component. +func (o GetAppSpecStaticSiteOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetAppSpecStaticSite) string { return v.Name }).(pulumi.StringOutput) } -func (o GetAppSpecServiceGithubPtrOutput) ToGetAppSpecServiceGithubPtrOutput() GetAppSpecServiceGithubPtrOutput { - return o +// An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`. +func (o GetAppSpecStaticSiteOutput) OutputDir() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecStaticSite) *string { return v.OutputDir }).(pulumi.StringPtrOutput) } -func (o GetAppSpecServiceGithubPtrOutput) ToGetAppSpecServiceGithubPtrOutputWithContext(ctx context.Context) GetAppSpecServiceGithubPtrOutput { - return o +func (o GetAppSpecStaticSiteOutput) Routes() GetAppSpecStaticSiteRouteArrayOutput { + return o.ApplyT(func(v GetAppSpecStaticSite) []GetAppSpecStaticSiteRoute { return v.Routes }).(GetAppSpecStaticSiteRouteArrayOutput) } -func (o GetAppSpecServiceGithubPtrOutput) Elem() GetAppSpecServiceGithubOutput { - return o.ApplyT(func(v *GetAppSpecServiceGithub) GetAppSpecServiceGithub { - if v != nil { - return *v - } - var ret GetAppSpecServiceGithub - return ret - }).(GetAppSpecServiceGithubOutput) +// An optional path to the working directory to use for the build. +func (o GetAppSpecStaticSiteOutput) SourceDir() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecStaticSite) *string { return v.SourceDir }).(pulumi.StringPtrOutput) } -// The name of the branch to use. -func (o GetAppSpecServiceGithubPtrOutput) Branch() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetAppSpecServiceGithub) *string { - if v == nil { - return nil - } - return v.Branch - }).(pulumi.StringPtrOutput) +type GetAppSpecStaticSiteArrayOutput struct{ *pulumi.OutputState } + +func (GetAppSpecStaticSiteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAppSpecStaticSite)(nil)).Elem() } -// Whether to automatically deploy new commits made to the repo. -func (o GetAppSpecServiceGithubPtrOutput) DeployOnPush() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *GetAppSpecServiceGithub) *bool { - if v == nil { - return nil - } - return v.DeployOnPush - }).(pulumi.BoolPtrOutput) +func (o GetAppSpecStaticSiteArrayOutput) ToGetAppSpecStaticSiteArrayOutput() GetAppSpecStaticSiteArrayOutput { + return o } -// The name of the repo in the format `owner/repo`. -func (o GetAppSpecServiceGithubPtrOutput) Repo() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetAppSpecServiceGithub) *string { - if v == nil { - return nil - } - return v.Repo - }).(pulumi.StringPtrOutput) +func (o GetAppSpecStaticSiteArrayOutput) ToGetAppSpecStaticSiteArrayOutputWithContext(ctx context.Context) GetAppSpecStaticSiteArrayOutput { + return o } -type GetAppSpecServiceGitlab struct { - // The name of the branch to use. - Branch *string `pulumi:"branch"` - // Whether to automatically deploy new commits made to the repo. - DeployOnPush *bool `pulumi:"deployOnPush"` - // The name of the repo in the format `owner/repo`. - Repo *string `pulumi:"repo"` +func (o GetAppSpecStaticSiteArrayOutput) Index(i pulumi.IntInput) GetAppSpecStaticSiteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAppSpecStaticSite { + return vs[0].([]GetAppSpecStaticSite)[vs[1].(int)] + }).(GetAppSpecStaticSiteOutput) } -// GetAppSpecServiceGitlabInput is an input type that accepts GetAppSpecServiceGitlabArgs and GetAppSpecServiceGitlabOutput values. -// You can construct a concrete instance of `GetAppSpecServiceGitlabInput` via: +type GetAppSpecStaticSiteCors struct { + AllowCredentials *bool `pulumi:"allowCredentials"` + AllowHeaders []string `pulumi:"allowHeaders"` + AllowMethods []string `pulumi:"allowMethods"` + AllowOrigins *GetAppSpecStaticSiteCorsAllowOrigins `pulumi:"allowOrigins"` + ExposeHeaders []string `pulumi:"exposeHeaders"` + MaxAge *string `pulumi:"maxAge"` +} + +// GetAppSpecStaticSiteCorsInput is an input type that accepts GetAppSpecStaticSiteCorsArgs and GetAppSpecStaticSiteCorsOutput values. +// You can construct a concrete instance of `GetAppSpecStaticSiteCorsInput` via: // -// GetAppSpecServiceGitlabArgs{...} -type GetAppSpecServiceGitlabInput interface { +// GetAppSpecStaticSiteCorsArgs{...} +type GetAppSpecStaticSiteCorsInput interface { pulumi.Input - ToGetAppSpecServiceGitlabOutput() GetAppSpecServiceGitlabOutput - ToGetAppSpecServiceGitlabOutputWithContext(context.Context) GetAppSpecServiceGitlabOutput + ToGetAppSpecStaticSiteCorsOutput() GetAppSpecStaticSiteCorsOutput + ToGetAppSpecStaticSiteCorsOutputWithContext(context.Context) GetAppSpecStaticSiteCorsOutput } -type GetAppSpecServiceGitlabArgs struct { - // The name of the branch to use. - Branch pulumi.StringPtrInput `pulumi:"branch"` - // Whether to automatically deploy new commits made to the repo. - DeployOnPush pulumi.BoolPtrInput `pulumi:"deployOnPush"` - // The name of the repo in the format `owner/repo`. - Repo pulumi.StringPtrInput `pulumi:"repo"` +type GetAppSpecStaticSiteCorsArgs struct { + AllowCredentials pulumi.BoolPtrInput `pulumi:"allowCredentials"` + AllowHeaders pulumi.StringArrayInput `pulumi:"allowHeaders"` + AllowMethods pulumi.StringArrayInput `pulumi:"allowMethods"` + AllowOrigins GetAppSpecStaticSiteCorsAllowOriginsPtrInput `pulumi:"allowOrigins"` + ExposeHeaders pulumi.StringArrayInput `pulumi:"exposeHeaders"` + MaxAge pulumi.StringPtrInput `pulumi:"maxAge"` } -func (GetAppSpecServiceGitlabArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecServiceGitlab)(nil)).Elem() +func (GetAppSpecStaticSiteCorsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecStaticSiteCors)(nil)).Elem() } -func (i GetAppSpecServiceGitlabArgs) ToGetAppSpecServiceGitlabOutput() GetAppSpecServiceGitlabOutput { - return i.ToGetAppSpecServiceGitlabOutputWithContext(context.Background()) +func (i GetAppSpecStaticSiteCorsArgs) ToGetAppSpecStaticSiteCorsOutput() GetAppSpecStaticSiteCorsOutput { + return i.ToGetAppSpecStaticSiteCorsOutputWithContext(context.Background()) } -func (i GetAppSpecServiceGitlabArgs) ToGetAppSpecServiceGitlabOutputWithContext(ctx context.Context) GetAppSpecServiceGitlabOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceGitlabOutput) +func (i GetAppSpecStaticSiteCorsArgs) ToGetAppSpecStaticSiteCorsOutputWithContext(ctx context.Context) GetAppSpecStaticSiteCorsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecStaticSiteCorsOutput) } -func (i GetAppSpecServiceGitlabArgs) ToGetAppSpecServiceGitlabPtrOutput() GetAppSpecServiceGitlabPtrOutput { - return i.ToGetAppSpecServiceGitlabPtrOutputWithContext(context.Background()) +func (i GetAppSpecStaticSiteCorsArgs) ToGetAppSpecStaticSiteCorsPtrOutput() GetAppSpecStaticSiteCorsPtrOutput { + return i.ToGetAppSpecStaticSiteCorsPtrOutputWithContext(context.Background()) } -func (i GetAppSpecServiceGitlabArgs) ToGetAppSpecServiceGitlabPtrOutputWithContext(ctx context.Context) GetAppSpecServiceGitlabPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceGitlabOutput).ToGetAppSpecServiceGitlabPtrOutputWithContext(ctx) +func (i GetAppSpecStaticSiteCorsArgs) ToGetAppSpecStaticSiteCorsPtrOutputWithContext(ctx context.Context) GetAppSpecStaticSiteCorsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecStaticSiteCorsOutput).ToGetAppSpecStaticSiteCorsPtrOutputWithContext(ctx) } -// GetAppSpecServiceGitlabPtrInput is an input type that accepts GetAppSpecServiceGitlabArgs, GetAppSpecServiceGitlabPtr and GetAppSpecServiceGitlabPtrOutput values. -// You can construct a concrete instance of `GetAppSpecServiceGitlabPtrInput` via: +// GetAppSpecStaticSiteCorsPtrInput is an input type that accepts GetAppSpecStaticSiteCorsArgs, GetAppSpecStaticSiteCorsPtr and GetAppSpecStaticSiteCorsPtrOutput values. +// You can construct a concrete instance of `GetAppSpecStaticSiteCorsPtrInput` via: // -// GetAppSpecServiceGitlabArgs{...} +// GetAppSpecStaticSiteCorsArgs{...} // // or: // // nil -type GetAppSpecServiceGitlabPtrInput interface { +type GetAppSpecStaticSiteCorsPtrInput interface { pulumi.Input - ToGetAppSpecServiceGitlabPtrOutput() GetAppSpecServiceGitlabPtrOutput - ToGetAppSpecServiceGitlabPtrOutputWithContext(context.Context) GetAppSpecServiceGitlabPtrOutput + ToGetAppSpecStaticSiteCorsPtrOutput() GetAppSpecStaticSiteCorsPtrOutput + ToGetAppSpecStaticSiteCorsPtrOutputWithContext(context.Context) GetAppSpecStaticSiteCorsPtrOutput } -type getAppSpecServiceGitlabPtrType GetAppSpecServiceGitlabArgs +type getAppSpecStaticSiteCorsPtrType GetAppSpecStaticSiteCorsArgs -func GetAppSpecServiceGitlabPtr(v *GetAppSpecServiceGitlabArgs) GetAppSpecServiceGitlabPtrInput { - return (*getAppSpecServiceGitlabPtrType)(v) +func GetAppSpecStaticSiteCorsPtr(v *GetAppSpecStaticSiteCorsArgs) GetAppSpecStaticSiteCorsPtrInput { + return (*getAppSpecStaticSiteCorsPtrType)(v) } -func (*getAppSpecServiceGitlabPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**GetAppSpecServiceGitlab)(nil)).Elem() +func (*getAppSpecStaticSiteCorsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecStaticSiteCors)(nil)).Elem() } -func (i *getAppSpecServiceGitlabPtrType) ToGetAppSpecServiceGitlabPtrOutput() GetAppSpecServiceGitlabPtrOutput { - return i.ToGetAppSpecServiceGitlabPtrOutputWithContext(context.Background()) +func (i *getAppSpecStaticSiteCorsPtrType) ToGetAppSpecStaticSiteCorsPtrOutput() GetAppSpecStaticSiteCorsPtrOutput { + return i.ToGetAppSpecStaticSiteCorsPtrOutputWithContext(context.Background()) } -func (i *getAppSpecServiceGitlabPtrType) ToGetAppSpecServiceGitlabPtrOutputWithContext(ctx context.Context) GetAppSpecServiceGitlabPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceGitlabPtrOutput) +func (i *getAppSpecStaticSiteCorsPtrType) ToGetAppSpecStaticSiteCorsPtrOutputWithContext(ctx context.Context) GetAppSpecStaticSiteCorsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecStaticSiteCorsPtrOutput) } -type GetAppSpecServiceGitlabOutput struct{ *pulumi.OutputState } +type GetAppSpecStaticSiteCorsOutput struct{ *pulumi.OutputState } -func (GetAppSpecServiceGitlabOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecServiceGitlab)(nil)).Elem() +func (GetAppSpecStaticSiteCorsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecStaticSiteCors)(nil)).Elem() } -func (o GetAppSpecServiceGitlabOutput) ToGetAppSpecServiceGitlabOutput() GetAppSpecServiceGitlabOutput { +func (o GetAppSpecStaticSiteCorsOutput) ToGetAppSpecStaticSiteCorsOutput() GetAppSpecStaticSiteCorsOutput { return o } -func (o GetAppSpecServiceGitlabOutput) ToGetAppSpecServiceGitlabOutputWithContext(ctx context.Context) GetAppSpecServiceGitlabOutput { +func (o GetAppSpecStaticSiteCorsOutput) ToGetAppSpecStaticSiteCorsOutputWithContext(ctx context.Context) GetAppSpecStaticSiteCorsOutput { return o } -func (o GetAppSpecServiceGitlabOutput) ToGetAppSpecServiceGitlabPtrOutput() GetAppSpecServiceGitlabPtrOutput { - return o.ToGetAppSpecServiceGitlabPtrOutputWithContext(context.Background()) +func (o GetAppSpecStaticSiteCorsOutput) ToGetAppSpecStaticSiteCorsPtrOutput() GetAppSpecStaticSiteCorsPtrOutput { + return o.ToGetAppSpecStaticSiteCorsPtrOutputWithContext(context.Background()) } -func (o GetAppSpecServiceGitlabOutput) ToGetAppSpecServiceGitlabPtrOutputWithContext(ctx context.Context) GetAppSpecServiceGitlabPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecServiceGitlab) *GetAppSpecServiceGitlab { +func (o GetAppSpecStaticSiteCorsOutput) ToGetAppSpecStaticSiteCorsPtrOutputWithContext(ctx context.Context) GetAppSpecStaticSiteCorsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecStaticSiteCors) *GetAppSpecStaticSiteCors { return &v - }).(GetAppSpecServiceGitlabPtrOutput) + }).(GetAppSpecStaticSiteCorsPtrOutput) } -// The name of the branch to use. -func (o GetAppSpecServiceGitlabOutput) Branch() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecServiceGitlab) *string { return v.Branch }).(pulumi.StringPtrOutput) +func (o GetAppSpecStaticSiteCorsOutput) AllowCredentials() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GetAppSpecStaticSiteCors) *bool { return v.AllowCredentials }).(pulumi.BoolPtrOutput) } -// Whether to automatically deploy new commits made to the repo. -func (o GetAppSpecServiceGitlabOutput) DeployOnPush() pulumi.BoolPtrOutput { - return o.ApplyT(func(v GetAppSpecServiceGitlab) *bool { return v.DeployOnPush }).(pulumi.BoolPtrOutput) +func (o GetAppSpecStaticSiteCorsOutput) AllowHeaders() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetAppSpecStaticSiteCors) []string { return v.AllowHeaders }).(pulumi.StringArrayOutput) } -// The name of the repo in the format `owner/repo`. -func (o GetAppSpecServiceGitlabOutput) Repo() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecServiceGitlab) *string { return v.Repo }).(pulumi.StringPtrOutput) +func (o GetAppSpecStaticSiteCorsOutput) AllowMethods() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetAppSpecStaticSiteCors) []string { return v.AllowMethods }).(pulumi.StringArrayOutput) } -type GetAppSpecServiceGitlabPtrOutput struct{ *pulumi.OutputState } +func (o GetAppSpecStaticSiteCorsOutput) AllowOrigins() GetAppSpecStaticSiteCorsAllowOriginsPtrOutput { + return o.ApplyT(func(v GetAppSpecStaticSiteCors) *GetAppSpecStaticSiteCorsAllowOrigins { return v.AllowOrigins }).(GetAppSpecStaticSiteCorsAllowOriginsPtrOutput) +} -func (GetAppSpecServiceGitlabPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**GetAppSpecServiceGitlab)(nil)).Elem() +func (o GetAppSpecStaticSiteCorsOutput) ExposeHeaders() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetAppSpecStaticSiteCors) []string { return v.ExposeHeaders }).(pulumi.StringArrayOutput) } -func (o GetAppSpecServiceGitlabPtrOutput) ToGetAppSpecServiceGitlabPtrOutput() GetAppSpecServiceGitlabPtrOutput { +func (o GetAppSpecStaticSiteCorsOutput) MaxAge() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecStaticSiteCors) *string { return v.MaxAge }).(pulumi.StringPtrOutput) +} + +type GetAppSpecStaticSiteCorsPtrOutput struct{ *pulumi.OutputState } + +func (GetAppSpecStaticSiteCorsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecStaticSiteCors)(nil)).Elem() +} + +func (o GetAppSpecStaticSiteCorsPtrOutput) ToGetAppSpecStaticSiteCorsPtrOutput() GetAppSpecStaticSiteCorsPtrOutput { return o } -func (o GetAppSpecServiceGitlabPtrOutput) ToGetAppSpecServiceGitlabPtrOutputWithContext(ctx context.Context) GetAppSpecServiceGitlabPtrOutput { +func (o GetAppSpecStaticSiteCorsPtrOutput) ToGetAppSpecStaticSiteCorsPtrOutputWithContext(ctx context.Context) GetAppSpecStaticSiteCorsPtrOutput { return o } -func (o GetAppSpecServiceGitlabPtrOutput) Elem() GetAppSpecServiceGitlabOutput { - return o.ApplyT(func(v *GetAppSpecServiceGitlab) GetAppSpecServiceGitlab { +func (o GetAppSpecStaticSiteCorsPtrOutput) Elem() GetAppSpecStaticSiteCorsOutput { + return o.ApplyT(func(v *GetAppSpecStaticSiteCors) GetAppSpecStaticSiteCors { if v != nil { return *v } - var ret GetAppSpecServiceGitlab + var ret GetAppSpecStaticSiteCors return ret - }).(GetAppSpecServiceGitlabOutput) + }).(GetAppSpecStaticSiteCorsOutput) } -// The name of the branch to use. -func (o GetAppSpecServiceGitlabPtrOutput) Branch() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetAppSpecServiceGitlab) *string { +func (o GetAppSpecStaticSiteCorsPtrOutput) AllowCredentials() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *GetAppSpecStaticSiteCors) *bool { if v == nil { return nil } - return v.Branch - }).(pulumi.StringPtrOutput) + return v.AllowCredentials + }).(pulumi.BoolPtrOutput) } -// Whether to automatically deploy new commits made to the repo. -func (o GetAppSpecServiceGitlabPtrOutput) DeployOnPush() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *GetAppSpecServiceGitlab) *bool { +func (o GetAppSpecStaticSiteCorsPtrOutput) AllowHeaders() pulumi.StringArrayOutput { + return o.ApplyT(func(v *GetAppSpecStaticSiteCors) []string { if v == nil { return nil } - return v.DeployOnPush - }).(pulumi.BoolPtrOutput) + return v.AllowHeaders + }).(pulumi.StringArrayOutput) } -// The name of the repo in the format `owner/repo`. -func (o GetAppSpecServiceGitlabPtrOutput) Repo() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetAppSpecServiceGitlab) *string { +func (o GetAppSpecStaticSiteCorsPtrOutput) AllowMethods() pulumi.StringArrayOutput { + return o.ApplyT(func(v *GetAppSpecStaticSiteCors) []string { if v == nil { return nil } - return v.Repo + return v.AllowMethods + }).(pulumi.StringArrayOutput) +} + +func (o GetAppSpecStaticSiteCorsPtrOutput) AllowOrigins() GetAppSpecStaticSiteCorsAllowOriginsPtrOutput { + return o.ApplyT(func(v *GetAppSpecStaticSiteCors) *GetAppSpecStaticSiteCorsAllowOrigins { + if v == nil { + return nil + } + return v.AllowOrigins + }).(GetAppSpecStaticSiteCorsAllowOriginsPtrOutput) +} + +func (o GetAppSpecStaticSiteCorsPtrOutput) ExposeHeaders() pulumi.StringArrayOutput { + return o.ApplyT(func(v *GetAppSpecStaticSiteCors) []string { + if v == nil { + return nil + } + return v.ExposeHeaders + }).(pulumi.StringArrayOutput) +} + +func (o GetAppSpecStaticSiteCorsPtrOutput) MaxAge() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecStaticSiteCors) *string { + if v == nil { + return nil + } + return v.MaxAge }).(pulumi.StringPtrOutput) } -type GetAppSpecServiceHealthCheck struct { - // The number of failed health checks before considered unhealthy. - FailureThreshold *int `pulumi:"failureThreshold"` - // The route path used for the HTTP health check ping. - HttpPath *string `pulumi:"httpPath"` - // The number of seconds to wait before beginning health checks. - InitialDelaySeconds *int `pulumi:"initialDelaySeconds"` - // The number of seconds to wait between health checks. - PeriodSeconds *int `pulumi:"periodSeconds"` - // The number of successful health checks before considered healthy. - SuccessThreshold *int `pulumi:"successThreshold"` - // The number of seconds after which the check times out. - TimeoutSeconds *int `pulumi:"timeoutSeconds"` +type GetAppSpecStaticSiteCorsAllowOrigins struct { + Exact *string `pulumi:"exact"` + Prefix *string `pulumi:"prefix"` + Regex *string `pulumi:"regex"` } -// GetAppSpecServiceHealthCheckInput is an input type that accepts GetAppSpecServiceHealthCheckArgs and GetAppSpecServiceHealthCheckOutput values. -// You can construct a concrete instance of `GetAppSpecServiceHealthCheckInput` via: +// GetAppSpecStaticSiteCorsAllowOriginsInput is an input type that accepts GetAppSpecStaticSiteCorsAllowOriginsArgs and GetAppSpecStaticSiteCorsAllowOriginsOutput values. +// You can construct a concrete instance of `GetAppSpecStaticSiteCorsAllowOriginsInput` via: // -// GetAppSpecServiceHealthCheckArgs{...} -type GetAppSpecServiceHealthCheckInput interface { +// GetAppSpecStaticSiteCorsAllowOriginsArgs{...} +type GetAppSpecStaticSiteCorsAllowOriginsInput interface { pulumi.Input - ToGetAppSpecServiceHealthCheckOutput() GetAppSpecServiceHealthCheckOutput - ToGetAppSpecServiceHealthCheckOutputWithContext(context.Context) GetAppSpecServiceHealthCheckOutput + ToGetAppSpecStaticSiteCorsAllowOriginsOutput() GetAppSpecStaticSiteCorsAllowOriginsOutput + ToGetAppSpecStaticSiteCorsAllowOriginsOutputWithContext(context.Context) GetAppSpecStaticSiteCorsAllowOriginsOutput } -type GetAppSpecServiceHealthCheckArgs struct { - // The number of failed health checks before considered unhealthy. - FailureThreshold pulumi.IntPtrInput `pulumi:"failureThreshold"` - // The route path used for the HTTP health check ping. - HttpPath pulumi.StringPtrInput `pulumi:"httpPath"` - // The number of seconds to wait before beginning health checks. - InitialDelaySeconds pulumi.IntPtrInput `pulumi:"initialDelaySeconds"` - // The number of seconds to wait between health checks. - PeriodSeconds pulumi.IntPtrInput `pulumi:"periodSeconds"` - // The number of successful health checks before considered healthy. - SuccessThreshold pulumi.IntPtrInput `pulumi:"successThreshold"` - // The number of seconds after which the check times out. - TimeoutSeconds pulumi.IntPtrInput `pulumi:"timeoutSeconds"` +type GetAppSpecStaticSiteCorsAllowOriginsArgs struct { + Exact pulumi.StringPtrInput `pulumi:"exact"` + Prefix pulumi.StringPtrInput `pulumi:"prefix"` + Regex pulumi.StringPtrInput `pulumi:"regex"` } -func (GetAppSpecServiceHealthCheckArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecServiceHealthCheck)(nil)).Elem() +func (GetAppSpecStaticSiteCorsAllowOriginsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecStaticSiteCorsAllowOrigins)(nil)).Elem() } -func (i GetAppSpecServiceHealthCheckArgs) ToGetAppSpecServiceHealthCheckOutput() GetAppSpecServiceHealthCheckOutput { - return i.ToGetAppSpecServiceHealthCheckOutputWithContext(context.Background()) +func (i GetAppSpecStaticSiteCorsAllowOriginsArgs) ToGetAppSpecStaticSiteCorsAllowOriginsOutput() GetAppSpecStaticSiteCorsAllowOriginsOutput { + return i.ToGetAppSpecStaticSiteCorsAllowOriginsOutputWithContext(context.Background()) +} + +func (i GetAppSpecStaticSiteCorsAllowOriginsArgs) ToGetAppSpecStaticSiteCorsAllowOriginsOutputWithContext(ctx context.Context) GetAppSpecStaticSiteCorsAllowOriginsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecStaticSiteCorsAllowOriginsOutput) +} + +func (i GetAppSpecStaticSiteCorsAllowOriginsArgs) ToGetAppSpecStaticSiteCorsAllowOriginsPtrOutput() GetAppSpecStaticSiteCorsAllowOriginsPtrOutput { + return i.ToGetAppSpecStaticSiteCorsAllowOriginsPtrOutputWithContext(context.Background()) +} + +func (i GetAppSpecStaticSiteCorsAllowOriginsArgs) ToGetAppSpecStaticSiteCorsAllowOriginsPtrOutputWithContext(ctx context.Context) GetAppSpecStaticSiteCorsAllowOriginsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecStaticSiteCorsAllowOriginsOutput).ToGetAppSpecStaticSiteCorsAllowOriginsPtrOutputWithContext(ctx) +} + +// GetAppSpecStaticSiteCorsAllowOriginsPtrInput is an input type that accepts GetAppSpecStaticSiteCorsAllowOriginsArgs, GetAppSpecStaticSiteCorsAllowOriginsPtr and GetAppSpecStaticSiteCorsAllowOriginsPtrOutput values. +// You can construct a concrete instance of `GetAppSpecStaticSiteCorsAllowOriginsPtrInput` via: +// +// GetAppSpecStaticSiteCorsAllowOriginsArgs{...} +// +// or: +// +// nil +type GetAppSpecStaticSiteCorsAllowOriginsPtrInput interface { + pulumi.Input + + ToGetAppSpecStaticSiteCorsAllowOriginsPtrOutput() GetAppSpecStaticSiteCorsAllowOriginsPtrOutput + ToGetAppSpecStaticSiteCorsAllowOriginsPtrOutputWithContext(context.Context) GetAppSpecStaticSiteCorsAllowOriginsPtrOutput +} + +type getAppSpecStaticSiteCorsAllowOriginsPtrType GetAppSpecStaticSiteCorsAllowOriginsArgs + +func GetAppSpecStaticSiteCorsAllowOriginsPtr(v *GetAppSpecStaticSiteCorsAllowOriginsArgs) GetAppSpecStaticSiteCorsAllowOriginsPtrInput { + return (*getAppSpecStaticSiteCorsAllowOriginsPtrType)(v) +} + +func (*getAppSpecStaticSiteCorsAllowOriginsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecStaticSiteCorsAllowOrigins)(nil)).Elem() +} + +func (i *getAppSpecStaticSiteCorsAllowOriginsPtrType) ToGetAppSpecStaticSiteCorsAllowOriginsPtrOutput() GetAppSpecStaticSiteCorsAllowOriginsPtrOutput { + return i.ToGetAppSpecStaticSiteCorsAllowOriginsPtrOutputWithContext(context.Background()) +} + +func (i *getAppSpecStaticSiteCorsAllowOriginsPtrType) ToGetAppSpecStaticSiteCorsAllowOriginsPtrOutputWithContext(ctx context.Context) GetAppSpecStaticSiteCorsAllowOriginsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecStaticSiteCorsAllowOriginsPtrOutput) +} + +type GetAppSpecStaticSiteCorsAllowOriginsOutput struct{ *pulumi.OutputState } + +func (GetAppSpecStaticSiteCorsAllowOriginsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecStaticSiteCorsAllowOrigins)(nil)).Elem() +} + +func (o GetAppSpecStaticSiteCorsAllowOriginsOutput) ToGetAppSpecStaticSiteCorsAllowOriginsOutput() GetAppSpecStaticSiteCorsAllowOriginsOutput { + return o +} + +func (o GetAppSpecStaticSiteCorsAllowOriginsOutput) ToGetAppSpecStaticSiteCorsAllowOriginsOutputWithContext(ctx context.Context) GetAppSpecStaticSiteCorsAllowOriginsOutput { + return o +} + +func (o GetAppSpecStaticSiteCorsAllowOriginsOutput) ToGetAppSpecStaticSiteCorsAllowOriginsPtrOutput() GetAppSpecStaticSiteCorsAllowOriginsPtrOutput { + return o.ToGetAppSpecStaticSiteCorsAllowOriginsPtrOutputWithContext(context.Background()) +} + +func (o GetAppSpecStaticSiteCorsAllowOriginsOutput) ToGetAppSpecStaticSiteCorsAllowOriginsPtrOutputWithContext(ctx context.Context) GetAppSpecStaticSiteCorsAllowOriginsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecStaticSiteCorsAllowOrigins) *GetAppSpecStaticSiteCorsAllowOrigins { + return &v + }).(GetAppSpecStaticSiteCorsAllowOriginsPtrOutput) } -func (i GetAppSpecServiceHealthCheckArgs) ToGetAppSpecServiceHealthCheckOutputWithContext(ctx context.Context) GetAppSpecServiceHealthCheckOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceHealthCheckOutput) +func (o GetAppSpecStaticSiteCorsAllowOriginsOutput) Exact() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecStaticSiteCorsAllowOrigins) *string { return v.Exact }).(pulumi.StringPtrOutput) } -func (i GetAppSpecServiceHealthCheckArgs) ToGetAppSpecServiceHealthCheckPtrOutput() GetAppSpecServiceHealthCheckPtrOutput { - return i.ToGetAppSpecServiceHealthCheckPtrOutputWithContext(context.Background()) +func (o GetAppSpecStaticSiteCorsAllowOriginsOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecStaticSiteCorsAllowOrigins) *string { return v.Prefix }).(pulumi.StringPtrOutput) } -func (i GetAppSpecServiceHealthCheckArgs) ToGetAppSpecServiceHealthCheckPtrOutputWithContext(ctx context.Context) GetAppSpecServiceHealthCheckPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceHealthCheckOutput).ToGetAppSpecServiceHealthCheckPtrOutputWithContext(ctx) +func (o GetAppSpecStaticSiteCorsAllowOriginsOutput) Regex() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecStaticSiteCorsAllowOrigins) *string { return v.Regex }).(pulumi.StringPtrOutput) } -// GetAppSpecServiceHealthCheckPtrInput is an input type that accepts GetAppSpecServiceHealthCheckArgs, GetAppSpecServiceHealthCheckPtr and GetAppSpecServiceHealthCheckPtrOutput values. -// You can construct a concrete instance of `GetAppSpecServiceHealthCheckPtrInput` via: -// -// GetAppSpecServiceHealthCheckArgs{...} -// -// or: -// -// nil -type GetAppSpecServiceHealthCheckPtrInput interface { - pulumi.Input +type GetAppSpecStaticSiteCorsAllowOriginsPtrOutput struct{ *pulumi.OutputState } - ToGetAppSpecServiceHealthCheckPtrOutput() GetAppSpecServiceHealthCheckPtrOutput - ToGetAppSpecServiceHealthCheckPtrOutputWithContext(context.Context) GetAppSpecServiceHealthCheckPtrOutput +func (GetAppSpecStaticSiteCorsAllowOriginsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecStaticSiteCorsAllowOrigins)(nil)).Elem() } -type getAppSpecServiceHealthCheckPtrType GetAppSpecServiceHealthCheckArgs - -func GetAppSpecServiceHealthCheckPtr(v *GetAppSpecServiceHealthCheckArgs) GetAppSpecServiceHealthCheckPtrInput { - return (*getAppSpecServiceHealthCheckPtrType)(v) +func (o GetAppSpecStaticSiteCorsAllowOriginsPtrOutput) ToGetAppSpecStaticSiteCorsAllowOriginsPtrOutput() GetAppSpecStaticSiteCorsAllowOriginsPtrOutput { + return o } -func (*getAppSpecServiceHealthCheckPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**GetAppSpecServiceHealthCheck)(nil)).Elem() +func (o GetAppSpecStaticSiteCorsAllowOriginsPtrOutput) ToGetAppSpecStaticSiteCorsAllowOriginsPtrOutputWithContext(ctx context.Context) GetAppSpecStaticSiteCorsAllowOriginsPtrOutput { + return o } -func (i *getAppSpecServiceHealthCheckPtrType) ToGetAppSpecServiceHealthCheckPtrOutput() GetAppSpecServiceHealthCheckPtrOutput { - return i.ToGetAppSpecServiceHealthCheckPtrOutputWithContext(context.Background()) +func (o GetAppSpecStaticSiteCorsAllowOriginsPtrOutput) Elem() GetAppSpecStaticSiteCorsAllowOriginsOutput { + return o.ApplyT(func(v *GetAppSpecStaticSiteCorsAllowOrigins) GetAppSpecStaticSiteCorsAllowOrigins { + if v != nil { + return *v + } + var ret GetAppSpecStaticSiteCorsAllowOrigins + return ret + }).(GetAppSpecStaticSiteCorsAllowOriginsOutput) } -func (i *getAppSpecServiceHealthCheckPtrType) ToGetAppSpecServiceHealthCheckPtrOutputWithContext(ctx context.Context) GetAppSpecServiceHealthCheckPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceHealthCheckPtrOutput) +func (o GetAppSpecStaticSiteCorsAllowOriginsPtrOutput) Exact() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecStaticSiteCorsAllowOrigins) *string { + if v == nil { + return nil + } + return v.Exact + }).(pulumi.StringPtrOutput) } -type GetAppSpecServiceHealthCheckOutput struct{ *pulumi.OutputState } +func (o GetAppSpecStaticSiteCorsAllowOriginsPtrOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecStaticSiteCorsAllowOrigins) *string { + if v == nil { + return nil + } + return v.Prefix + }).(pulumi.StringPtrOutput) +} -func (GetAppSpecServiceHealthCheckOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecServiceHealthCheck)(nil)).Elem() +func (o GetAppSpecStaticSiteCorsAllowOriginsPtrOutput) Regex() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecStaticSiteCorsAllowOrigins) *string { + if v == nil { + return nil + } + return v.Regex + }).(pulumi.StringPtrOutput) } -func (o GetAppSpecServiceHealthCheckOutput) ToGetAppSpecServiceHealthCheckOutput() GetAppSpecServiceHealthCheckOutput { - return o +type GetAppSpecStaticSiteEnv struct { + // The name of the environment variable. + Key *string `pulumi:"key"` + // The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). + Scope *string `pulumi:"scope"` + // The type of the environment variable, `GENERAL` or `SECRET`. + Type string `pulumi:"type"` + // The value of the environment variable. + Value *string `pulumi:"value"` } -func (o GetAppSpecServiceHealthCheckOutput) ToGetAppSpecServiceHealthCheckOutputWithContext(ctx context.Context) GetAppSpecServiceHealthCheckOutput { - return o +// GetAppSpecStaticSiteEnvInput is an input type that accepts GetAppSpecStaticSiteEnvArgs and GetAppSpecStaticSiteEnvOutput values. +// You can construct a concrete instance of `GetAppSpecStaticSiteEnvInput` via: +// +// GetAppSpecStaticSiteEnvArgs{...} +type GetAppSpecStaticSiteEnvInput interface { + pulumi.Input + + ToGetAppSpecStaticSiteEnvOutput() GetAppSpecStaticSiteEnvOutput + ToGetAppSpecStaticSiteEnvOutputWithContext(context.Context) GetAppSpecStaticSiteEnvOutput } -func (o GetAppSpecServiceHealthCheckOutput) ToGetAppSpecServiceHealthCheckPtrOutput() GetAppSpecServiceHealthCheckPtrOutput { - return o.ToGetAppSpecServiceHealthCheckPtrOutputWithContext(context.Background()) +type GetAppSpecStaticSiteEnvArgs struct { + // The name of the environment variable. + Key pulumi.StringPtrInput `pulumi:"key"` + // The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). + Scope pulumi.StringPtrInput `pulumi:"scope"` + // The type of the environment variable, `GENERAL` or `SECRET`. + Type pulumi.StringInput `pulumi:"type"` + // The value of the environment variable. + Value pulumi.StringPtrInput `pulumi:"value"` } -func (o GetAppSpecServiceHealthCheckOutput) ToGetAppSpecServiceHealthCheckPtrOutputWithContext(ctx context.Context) GetAppSpecServiceHealthCheckPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecServiceHealthCheck) *GetAppSpecServiceHealthCheck { - return &v - }).(GetAppSpecServiceHealthCheckPtrOutput) +func (GetAppSpecStaticSiteEnvArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecStaticSiteEnv)(nil)).Elem() } -// The number of failed health checks before considered unhealthy. -func (o GetAppSpecServiceHealthCheckOutput) FailureThreshold() pulumi.IntPtrOutput { - return o.ApplyT(func(v GetAppSpecServiceHealthCheck) *int { return v.FailureThreshold }).(pulumi.IntPtrOutput) +func (i GetAppSpecStaticSiteEnvArgs) ToGetAppSpecStaticSiteEnvOutput() GetAppSpecStaticSiteEnvOutput { + return i.ToGetAppSpecStaticSiteEnvOutputWithContext(context.Background()) } -// The route path used for the HTTP health check ping. -func (o GetAppSpecServiceHealthCheckOutput) HttpPath() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecServiceHealthCheck) *string { return v.HttpPath }).(pulumi.StringPtrOutput) +func (i GetAppSpecStaticSiteEnvArgs) ToGetAppSpecStaticSiteEnvOutputWithContext(ctx context.Context) GetAppSpecStaticSiteEnvOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecStaticSiteEnvOutput) } -// The number of seconds to wait before beginning health checks. -func (o GetAppSpecServiceHealthCheckOutput) InitialDelaySeconds() pulumi.IntPtrOutput { - return o.ApplyT(func(v GetAppSpecServiceHealthCheck) *int { return v.InitialDelaySeconds }).(pulumi.IntPtrOutput) +// GetAppSpecStaticSiteEnvArrayInput is an input type that accepts GetAppSpecStaticSiteEnvArray and GetAppSpecStaticSiteEnvArrayOutput values. +// You can construct a concrete instance of `GetAppSpecStaticSiteEnvArrayInput` via: +// +// GetAppSpecStaticSiteEnvArray{ GetAppSpecStaticSiteEnvArgs{...} } +type GetAppSpecStaticSiteEnvArrayInput interface { + pulumi.Input + + ToGetAppSpecStaticSiteEnvArrayOutput() GetAppSpecStaticSiteEnvArrayOutput + ToGetAppSpecStaticSiteEnvArrayOutputWithContext(context.Context) GetAppSpecStaticSiteEnvArrayOutput } -// The number of seconds to wait between health checks. -func (o GetAppSpecServiceHealthCheckOutput) PeriodSeconds() pulumi.IntPtrOutput { - return o.ApplyT(func(v GetAppSpecServiceHealthCheck) *int { return v.PeriodSeconds }).(pulumi.IntPtrOutput) +type GetAppSpecStaticSiteEnvArray []GetAppSpecStaticSiteEnvInput + +func (GetAppSpecStaticSiteEnvArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAppSpecStaticSiteEnv)(nil)).Elem() } -// The number of successful health checks before considered healthy. -func (o GetAppSpecServiceHealthCheckOutput) SuccessThreshold() pulumi.IntPtrOutput { - return o.ApplyT(func(v GetAppSpecServiceHealthCheck) *int { return v.SuccessThreshold }).(pulumi.IntPtrOutput) +func (i GetAppSpecStaticSiteEnvArray) ToGetAppSpecStaticSiteEnvArrayOutput() GetAppSpecStaticSiteEnvArrayOutput { + return i.ToGetAppSpecStaticSiteEnvArrayOutputWithContext(context.Background()) } -// The number of seconds after which the check times out. -func (o GetAppSpecServiceHealthCheckOutput) TimeoutSeconds() pulumi.IntPtrOutput { - return o.ApplyT(func(v GetAppSpecServiceHealthCheck) *int { return v.TimeoutSeconds }).(pulumi.IntPtrOutput) +func (i GetAppSpecStaticSiteEnvArray) ToGetAppSpecStaticSiteEnvArrayOutputWithContext(ctx context.Context) GetAppSpecStaticSiteEnvArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecStaticSiteEnvArrayOutput) } -type GetAppSpecServiceHealthCheckPtrOutput struct{ *pulumi.OutputState } +type GetAppSpecStaticSiteEnvOutput struct{ *pulumi.OutputState } -func (GetAppSpecServiceHealthCheckPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**GetAppSpecServiceHealthCheck)(nil)).Elem() +func (GetAppSpecStaticSiteEnvOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecStaticSiteEnv)(nil)).Elem() } -func (o GetAppSpecServiceHealthCheckPtrOutput) ToGetAppSpecServiceHealthCheckPtrOutput() GetAppSpecServiceHealthCheckPtrOutput { +func (o GetAppSpecStaticSiteEnvOutput) ToGetAppSpecStaticSiteEnvOutput() GetAppSpecStaticSiteEnvOutput { return o } -func (o GetAppSpecServiceHealthCheckPtrOutput) ToGetAppSpecServiceHealthCheckPtrOutputWithContext(ctx context.Context) GetAppSpecServiceHealthCheckPtrOutput { +func (o GetAppSpecStaticSiteEnvOutput) ToGetAppSpecStaticSiteEnvOutputWithContext(ctx context.Context) GetAppSpecStaticSiteEnvOutput { return o } -func (o GetAppSpecServiceHealthCheckPtrOutput) Elem() GetAppSpecServiceHealthCheckOutput { - return o.ApplyT(func(v *GetAppSpecServiceHealthCheck) GetAppSpecServiceHealthCheck { - if v != nil { - return *v - } - var ret GetAppSpecServiceHealthCheck - return ret - }).(GetAppSpecServiceHealthCheckOutput) +// The name of the environment variable. +func (o GetAppSpecStaticSiteEnvOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecStaticSiteEnv) *string { return v.Key }).(pulumi.StringPtrOutput) } -// The number of failed health checks before considered unhealthy. -func (o GetAppSpecServiceHealthCheckPtrOutput) FailureThreshold() pulumi.IntPtrOutput { - return o.ApplyT(func(v *GetAppSpecServiceHealthCheck) *int { - if v == nil { - return nil - } - return v.FailureThreshold - }).(pulumi.IntPtrOutput) +// The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). +func (o GetAppSpecStaticSiteEnvOutput) Scope() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecStaticSiteEnv) *string { return v.Scope }).(pulumi.StringPtrOutput) } -// The route path used for the HTTP health check ping. -func (o GetAppSpecServiceHealthCheckPtrOutput) HttpPath() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetAppSpecServiceHealthCheck) *string { - if v == nil { - return nil - } - return v.HttpPath - }).(pulumi.StringPtrOutput) +// The type of the environment variable, `GENERAL` or `SECRET`. +func (o GetAppSpecStaticSiteEnvOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetAppSpecStaticSiteEnv) string { return v.Type }).(pulumi.StringOutput) } -// The number of seconds to wait before beginning health checks. -func (o GetAppSpecServiceHealthCheckPtrOutput) InitialDelaySeconds() pulumi.IntPtrOutput { - return o.ApplyT(func(v *GetAppSpecServiceHealthCheck) *int { - if v == nil { - return nil - } - return v.InitialDelaySeconds - }).(pulumi.IntPtrOutput) +// The value of the environment variable. +func (o GetAppSpecStaticSiteEnvOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecStaticSiteEnv) *string { return v.Value }).(pulumi.StringPtrOutput) } -// The number of seconds to wait between health checks. -func (o GetAppSpecServiceHealthCheckPtrOutput) PeriodSeconds() pulumi.IntPtrOutput { - return o.ApplyT(func(v *GetAppSpecServiceHealthCheck) *int { - if v == nil { - return nil - } - return v.PeriodSeconds - }).(pulumi.IntPtrOutput) +type GetAppSpecStaticSiteEnvArrayOutput struct{ *pulumi.OutputState } + +func (GetAppSpecStaticSiteEnvArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAppSpecStaticSiteEnv)(nil)).Elem() } -// The number of successful health checks before considered healthy. -func (o GetAppSpecServiceHealthCheckPtrOutput) SuccessThreshold() pulumi.IntPtrOutput { - return o.ApplyT(func(v *GetAppSpecServiceHealthCheck) *int { - if v == nil { - return nil - } - return v.SuccessThreshold - }).(pulumi.IntPtrOutput) +func (o GetAppSpecStaticSiteEnvArrayOutput) ToGetAppSpecStaticSiteEnvArrayOutput() GetAppSpecStaticSiteEnvArrayOutput { + return o } -// The number of seconds after which the check times out. -func (o GetAppSpecServiceHealthCheckPtrOutput) TimeoutSeconds() pulumi.IntPtrOutput { - return o.ApplyT(func(v *GetAppSpecServiceHealthCheck) *int { - if v == nil { - return nil - } - return v.TimeoutSeconds - }).(pulumi.IntPtrOutput) +func (o GetAppSpecStaticSiteEnvArrayOutput) ToGetAppSpecStaticSiteEnvArrayOutputWithContext(ctx context.Context) GetAppSpecStaticSiteEnvArrayOutput { + return o } -type GetAppSpecServiceImage struct { - // The registry name. Must be left empty for the `DOCR` registry type. Required for the `DOCKER_HUB` registry type. - Registry *string `pulumi:"registry"` - // The registry type. One of `DOCR` (DigitalOcean container registry) or `DOCKER_HUB`. - RegistryType string `pulumi:"registryType"` - // The repository name. - Repository string `pulumi:"repository"` - // The repository tag. Defaults to `latest` if not provided. - Tag *string `pulumi:"tag"` +func (o GetAppSpecStaticSiteEnvArrayOutput) Index(i pulumi.IntInput) GetAppSpecStaticSiteEnvOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAppSpecStaticSiteEnv { + return vs[0].([]GetAppSpecStaticSiteEnv)[vs[1].(int)] + }).(GetAppSpecStaticSiteEnvOutput) +} + +type GetAppSpecStaticSiteGit struct { + // The name of the branch to use. + Branch *string `pulumi:"branch"` + // The clone URL of the repo. + RepoCloneUrl *string `pulumi:"repoCloneUrl"` } -// GetAppSpecServiceImageInput is an input type that accepts GetAppSpecServiceImageArgs and GetAppSpecServiceImageOutput values. -// You can construct a concrete instance of `GetAppSpecServiceImageInput` via: +// GetAppSpecStaticSiteGitInput is an input type that accepts GetAppSpecStaticSiteGitArgs and GetAppSpecStaticSiteGitOutput values. +// You can construct a concrete instance of `GetAppSpecStaticSiteGitInput` via: // -// GetAppSpecServiceImageArgs{...} -type GetAppSpecServiceImageInput interface { +// GetAppSpecStaticSiteGitArgs{...} +type GetAppSpecStaticSiteGitInput interface { pulumi.Input - ToGetAppSpecServiceImageOutput() GetAppSpecServiceImageOutput - ToGetAppSpecServiceImageOutputWithContext(context.Context) GetAppSpecServiceImageOutput + ToGetAppSpecStaticSiteGitOutput() GetAppSpecStaticSiteGitOutput + ToGetAppSpecStaticSiteGitOutputWithContext(context.Context) GetAppSpecStaticSiteGitOutput } -type GetAppSpecServiceImageArgs struct { - // The registry name. Must be left empty for the `DOCR` registry type. Required for the `DOCKER_HUB` registry type. - Registry pulumi.StringPtrInput `pulumi:"registry"` - // The registry type. One of `DOCR` (DigitalOcean container registry) or `DOCKER_HUB`. - RegistryType pulumi.StringInput `pulumi:"registryType"` - // The repository name. - Repository pulumi.StringInput `pulumi:"repository"` - // The repository tag. Defaults to `latest` if not provided. - Tag pulumi.StringPtrInput `pulumi:"tag"` +type GetAppSpecStaticSiteGitArgs struct { + // The name of the branch to use. + Branch pulumi.StringPtrInput `pulumi:"branch"` + // The clone URL of the repo. + RepoCloneUrl pulumi.StringPtrInput `pulumi:"repoCloneUrl"` } -func (GetAppSpecServiceImageArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecServiceImage)(nil)).Elem() +func (GetAppSpecStaticSiteGitArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecStaticSiteGit)(nil)).Elem() } -func (i GetAppSpecServiceImageArgs) ToGetAppSpecServiceImageOutput() GetAppSpecServiceImageOutput { - return i.ToGetAppSpecServiceImageOutputWithContext(context.Background()) +func (i GetAppSpecStaticSiteGitArgs) ToGetAppSpecStaticSiteGitOutput() GetAppSpecStaticSiteGitOutput { + return i.ToGetAppSpecStaticSiteGitOutputWithContext(context.Background()) } -func (i GetAppSpecServiceImageArgs) ToGetAppSpecServiceImageOutputWithContext(ctx context.Context) GetAppSpecServiceImageOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceImageOutput) +func (i GetAppSpecStaticSiteGitArgs) ToGetAppSpecStaticSiteGitOutputWithContext(ctx context.Context) GetAppSpecStaticSiteGitOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecStaticSiteGitOutput) } -func (i GetAppSpecServiceImageArgs) ToGetAppSpecServiceImagePtrOutput() GetAppSpecServiceImagePtrOutput { - return i.ToGetAppSpecServiceImagePtrOutputWithContext(context.Background()) +func (i GetAppSpecStaticSiteGitArgs) ToGetAppSpecStaticSiteGitPtrOutput() GetAppSpecStaticSiteGitPtrOutput { + return i.ToGetAppSpecStaticSiteGitPtrOutputWithContext(context.Background()) } -func (i GetAppSpecServiceImageArgs) ToGetAppSpecServiceImagePtrOutputWithContext(ctx context.Context) GetAppSpecServiceImagePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceImageOutput).ToGetAppSpecServiceImagePtrOutputWithContext(ctx) +func (i GetAppSpecStaticSiteGitArgs) ToGetAppSpecStaticSiteGitPtrOutputWithContext(ctx context.Context) GetAppSpecStaticSiteGitPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecStaticSiteGitOutput).ToGetAppSpecStaticSiteGitPtrOutputWithContext(ctx) } -// GetAppSpecServiceImagePtrInput is an input type that accepts GetAppSpecServiceImageArgs, GetAppSpecServiceImagePtr and GetAppSpecServiceImagePtrOutput values. -// You can construct a concrete instance of `GetAppSpecServiceImagePtrInput` via: +// GetAppSpecStaticSiteGitPtrInput is an input type that accepts GetAppSpecStaticSiteGitArgs, GetAppSpecStaticSiteGitPtr and GetAppSpecStaticSiteGitPtrOutput values. +// You can construct a concrete instance of `GetAppSpecStaticSiteGitPtrInput` via: // -// GetAppSpecServiceImageArgs{...} +// GetAppSpecStaticSiteGitArgs{...} // // or: // // nil -type GetAppSpecServiceImagePtrInput interface { +type GetAppSpecStaticSiteGitPtrInput interface { pulumi.Input - ToGetAppSpecServiceImagePtrOutput() GetAppSpecServiceImagePtrOutput - ToGetAppSpecServiceImagePtrOutputWithContext(context.Context) GetAppSpecServiceImagePtrOutput + ToGetAppSpecStaticSiteGitPtrOutput() GetAppSpecStaticSiteGitPtrOutput + ToGetAppSpecStaticSiteGitPtrOutputWithContext(context.Context) GetAppSpecStaticSiteGitPtrOutput } -type getAppSpecServiceImagePtrType GetAppSpecServiceImageArgs +type getAppSpecStaticSiteGitPtrType GetAppSpecStaticSiteGitArgs -func GetAppSpecServiceImagePtr(v *GetAppSpecServiceImageArgs) GetAppSpecServiceImagePtrInput { - return (*getAppSpecServiceImagePtrType)(v) +func GetAppSpecStaticSiteGitPtr(v *GetAppSpecStaticSiteGitArgs) GetAppSpecStaticSiteGitPtrInput { + return (*getAppSpecStaticSiteGitPtrType)(v) } -func (*getAppSpecServiceImagePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**GetAppSpecServiceImage)(nil)).Elem() +func (*getAppSpecStaticSiteGitPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecStaticSiteGit)(nil)).Elem() } -func (i *getAppSpecServiceImagePtrType) ToGetAppSpecServiceImagePtrOutput() GetAppSpecServiceImagePtrOutput { - return i.ToGetAppSpecServiceImagePtrOutputWithContext(context.Background()) +func (i *getAppSpecStaticSiteGitPtrType) ToGetAppSpecStaticSiteGitPtrOutput() GetAppSpecStaticSiteGitPtrOutput { + return i.ToGetAppSpecStaticSiteGitPtrOutputWithContext(context.Background()) } -func (i *getAppSpecServiceImagePtrType) ToGetAppSpecServiceImagePtrOutputWithContext(ctx context.Context) GetAppSpecServiceImagePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceImagePtrOutput) +func (i *getAppSpecStaticSiteGitPtrType) ToGetAppSpecStaticSiteGitPtrOutputWithContext(ctx context.Context) GetAppSpecStaticSiteGitPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecStaticSiteGitPtrOutput) } -type GetAppSpecServiceImageOutput struct{ *pulumi.OutputState } +type GetAppSpecStaticSiteGitOutput struct{ *pulumi.OutputState } -func (GetAppSpecServiceImageOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecServiceImage)(nil)).Elem() +func (GetAppSpecStaticSiteGitOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecStaticSiteGit)(nil)).Elem() } -func (o GetAppSpecServiceImageOutput) ToGetAppSpecServiceImageOutput() GetAppSpecServiceImageOutput { +func (o GetAppSpecStaticSiteGitOutput) ToGetAppSpecStaticSiteGitOutput() GetAppSpecStaticSiteGitOutput { return o } -func (o GetAppSpecServiceImageOutput) ToGetAppSpecServiceImageOutputWithContext(ctx context.Context) GetAppSpecServiceImageOutput { +func (o GetAppSpecStaticSiteGitOutput) ToGetAppSpecStaticSiteGitOutputWithContext(ctx context.Context) GetAppSpecStaticSiteGitOutput { return o } -func (o GetAppSpecServiceImageOutput) ToGetAppSpecServiceImagePtrOutput() GetAppSpecServiceImagePtrOutput { - return o.ToGetAppSpecServiceImagePtrOutputWithContext(context.Background()) +func (o GetAppSpecStaticSiteGitOutput) ToGetAppSpecStaticSiteGitPtrOutput() GetAppSpecStaticSiteGitPtrOutput { + return o.ToGetAppSpecStaticSiteGitPtrOutputWithContext(context.Background()) } -func (o GetAppSpecServiceImageOutput) ToGetAppSpecServiceImagePtrOutputWithContext(ctx context.Context) GetAppSpecServiceImagePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecServiceImage) *GetAppSpecServiceImage { +func (o GetAppSpecStaticSiteGitOutput) ToGetAppSpecStaticSiteGitPtrOutputWithContext(ctx context.Context) GetAppSpecStaticSiteGitPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecStaticSiteGit) *GetAppSpecStaticSiteGit { return &v - }).(GetAppSpecServiceImagePtrOutput) -} - -// The registry name. Must be left empty for the `DOCR` registry type. Required for the `DOCKER_HUB` registry type. -func (o GetAppSpecServiceImageOutput) Registry() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecServiceImage) *string { return v.Registry }).(pulumi.StringPtrOutput) -} - -// The registry type. One of `DOCR` (DigitalOcean container registry) or `DOCKER_HUB`. -func (o GetAppSpecServiceImageOutput) RegistryType() pulumi.StringOutput { - return o.ApplyT(func(v GetAppSpecServiceImage) string { return v.RegistryType }).(pulumi.StringOutput) + }).(GetAppSpecStaticSiteGitPtrOutput) } -// The repository name. -func (o GetAppSpecServiceImageOutput) Repository() pulumi.StringOutput { - return o.ApplyT(func(v GetAppSpecServiceImage) string { return v.Repository }).(pulumi.StringOutput) +// The name of the branch to use. +func (o GetAppSpecStaticSiteGitOutput) Branch() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecStaticSiteGit) *string { return v.Branch }).(pulumi.StringPtrOutput) } -// The repository tag. Defaults to `latest` if not provided. -func (o GetAppSpecServiceImageOutput) Tag() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecServiceImage) *string { return v.Tag }).(pulumi.StringPtrOutput) +// The clone URL of the repo. +func (o GetAppSpecStaticSiteGitOutput) RepoCloneUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecStaticSiteGit) *string { return v.RepoCloneUrl }).(pulumi.StringPtrOutput) } -type GetAppSpecServiceImagePtrOutput struct{ *pulumi.OutputState } +type GetAppSpecStaticSiteGitPtrOutput struct{ *pulumi.OutputState } -func (GetAppSpecServiceImagePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**GetAppSpecServiceImage)(nil)).Elem() +func (GetAppSpecStaticSiteGitPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecStaticSiteGit)(nil)).Elem() } -func (o GetAppSpecServiceImagePtrOutput) ToGetAppSpecServiceImagePtrOutput() GetAppSpecServiceImagePtrOutput { +func (o GetAppSpecStaticSiteGitPtrOutput) ToGetAppSpecStaticSiteGitPtrOutput() GetAppSpecStaticSiteGitPtrOutput { return o } -func (o GetAppSpecServiceImagePtrOutput) ToGetAppSpecServiceImagePtrOutputWithContext(ctx context.Context) GetAppSpecServiceImagePtrOutput { +func (o GetAppSpecStaticSiteGitPtrOutput) ToGetAppSpecStaticSiteGitPtrOutputWithContext(ctx context.Context) GetAppSpecStaticSiteGitPtrOutput { return o } -func (o GetAppSpecServiceImagePtrOutput) Elem() GetAppSpecServiceImageOutput { - return o.ApplyT(func(v *GetAppSpecServiceImage) GetAppSpecServiceImage { +func (o GetAppSpecStaticSiteGitPtrOutput) Elem() GetAppSpecStaticSiteGitOutput { + return o.ApplyT(func(v *GetAppSpecStaticSiteGit) GetAppSpecStaticSiteGit { if v != nil { return *v } - var ret GetAppSpecServiceImage + var ret GetAppSpecStaticSiteGit return ret - }).(GetAppSpecServiceImageOutput) -} - -// The registry name. Must be left empty for the `DOCR` registry type. Required for the `DOCKER_HUB` registry type. -func (o GetAppSpecServiceImagePtrOutput) Registry() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetAppSpecServiceImage) *string { - if v == nil { - return nil - } - return v.Registry - }).(pulumi.StringPtrOutput) -} - -// The registry type. One of `DOCR` (DigitalOcean container registry) or `DOCKER_HUB`. -func (o GetAppSpecServiceImagePtrOutput) RegistryType() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetAppSpecServiceImage) *string { - if v == nil { - return nil - } - return &v.RegistryType - }).(pulumi.StringPtrOutput) + }).(GetAppSpecStaticSiteGitOutput) } -// The repository name. -func (o GetAppSpecServiceImagePtrOutput) Repository() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetAppSpecServiceImage) *string { +// The name of the branch to use. +func (o GetAppSpecStaticSiteGitPtrOutput) Branch() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecStaticSiteGit) *string { if v == nil { return nil } - return &v.Repository + return v.Branch }).(pulumi.StringPtrOutput) } -// The repository tag. Defaults to `latest` if not provided. -func (o GetAppSpecServiceImagePtrOutput) Tag() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetAppSpecServiceImage) *string { +// The clone URL of the repo. +func (o GetAppSpecStaticSiteGitPtrOutput) RepoCloneUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecStaticSiteGit) *string { if v == nil { return nil } - return v.Tag + return v.RepoCloneUrl }).(pulumi.StringPtrOutput) } -type GetAppSpecServiceRoute struct { - // Paths must start with `/` and must be unique within the app. - Path *string `pulumi:"path"` - // An optional flag to preserve the path that is forwarded to the backend service. - PreservePathPrefix *bool `pulumi:"preservePathPrefix"` +type GetAppSpecStaticSiteGithub struct { + // The name of the branch to use. + Branch *string `pulumi:"branch"` + // Whether to automatically deploy new commits made to the repo. + DeployOnPush *bool `pulumi:"deployOnPush"` + // The name of the repo in the format `owner/repo`. + Repo *string `pulumi:"repo"` } -// GetAppSpecServiceRouteInput is an input type that accepts GetAppSpecServiceRouteArgs and GetAppSpecServiceRouteOutput values. -// You can construct a concrete instance of `GetAppSpecServiceRouteInput` via: +// GetAppSpecStaticSiteGithubInput is an input type that accepts GetAppSpecStaticSiteGithubArgs and GetAppSpecStaticSiteGithubOutput values. +// You can construct a concrete instance of `GetAppSpecStaticSiteGithubInput` via: // -// GetAppSpecServiceRouteArgs{...} -type GetAppSpecServiceRouteInput interface { +// GetAppSpecStaticSiteGithubArgs{...} +type GetAppSpecStaticSiteGithubInput interface { pulumi.Input - ToGetAppSpecServiceRouteOutput() GetAppSpecServiceRouteOutput - ToGetAppSpecServiceRouteOutputWithContext(context.Context) GetAppSpecServiceRouteOutput -} - -type GetAppSpecServiceRouteArgs struct { - // Paths must start with `/` and must be unique within the app. - Path pulumi.StringPtrInput `pulumi:"path"` - // An optional flag to preserve the path that is forwarded to the backend service. - PreservePathPrefix pulumi.BoolPtrInput `pulumi:"preservePathPrefix"` -} - -func (GetAppSpecServiceRouteArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecServiceRoute)(nil)).Elem() + ToGetAppSpecStaticSiteGithubOutput() GetAppSpecStaticSiteGithubOutput + ToGetAppSpecStaticSiteGithubOutputWithContext(context.Context) GetAppSpecStaticSiteGithubOutput } -func (i GetAppSpecServiceRouteArgs) ToGetAppSpecServiceRouteOutput() GetAppSpecServiceRouteOutput { - return i.ToGetAppSpecServiceRouteOutputWithContext(context.Background()) +type GetAppSpecStaticSiteGithubArgs struct { + // The name of the branch to use. + Branch pulumi.StringPtrInput `pulumi:"branch"` + // Whether to automatically deploy new commits made to the repo. + DeployOnPush pulumi.BoolPtrInput `pulumi:"deployOnPush"` + // The name of the repo in the format `owner/repo`. + Repo pulumi.StringPtrInput `pulumi:"repo"` } -func (i GetAppSpecServiceRouteArgs) ToGetAppSpecServiceRouteOutputWithContext(ctx context.Context) GetAppSpecServiceRouteOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceRouteOutput) +func (GetAppSpecStaticSiteGithubArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecStaticSiteGithub)(nil)).Elem() } -// GetAppSpecServiceRouteArrayInput is an input type that accepts GetAppSpecServiceRouteArray and GetAppSpecServiceRouteArrayOutput values. -// You can construct a concrete instance of `GetAppSpecServiceRouteArrayInput` via: -// -// GetAppSpecServiceRouteArray{ GetAppSpecServiceRouteArgs{...} } -type GetAppSpecServiceRouteArrayInput interface { - pulumi.Input - - ToGetAppSpecServiceRouteArrayOutput() GetAppSpecServiceRouteArrayOutput - ToGetAppSpecServiceRouteArrayOutputWithContext(context.Context) GetAppSpecServiceRouteArrayOutput +func (i GetAppSpecStaticSiteGithubArgs) ToGetAppSpecStaticSiteGithubOutput() GetAppSpecStaticSiteGithubOutput { + return i.ToGetAppSpecStaticSiteGithubOutputWithContext(context.Background()) } -type GetAppSpecServiceRouteArray []GetAppSpecServiceRouteInput - -func (GetAppSpecServiceRouteArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetAppSpecServiceRoute)(nil)).Elem() +func (i GetAppSpecStaticSiteGithubArgs) ToGetAppSpecStaticSiteGithubOutputWithContext(ctx context.Context) GetAppSpecStaticSiteGithubOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecStaticSiteGithubOutput) } -func (i GetAppSpecServiceRouteArray) ToGetAppSpecServiceRouteArrayOutput() GetAppSpecServiceRouteArrayOutput { - return i.ToGetAppSpecServiceRouteArrayOutputWithContext(context.Background()) +func (i GetAppSpecStaticSiteGithubArgs) ToGetAppSpecStaticSiteGithubPtrOutput() GetAppSpecStaticSiteGithubPtrOutput { + return i.ToGetAppSpecStaticSiteGithubPtrOutputWithContext(context.Background()) } -func (i GetAppSpecServiceRouteArray) ToGetAppSpecServiceRouteArrayOutputWithContext(ctx context.Context) GetAppSpecServiceRouteArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecServiceRouteArrayOutput) +func (i GetAppSpecStaticSiteGithubArgs) ToGetAppSpecStaticSiteGithubPtrOutputWithContext(ctx context.Context) GetAppSpecStaticSiteGithubPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecStaticSiteGithubOutput).ToGetAppSpecStaticSiteGithubPtrOutputWithContext(ctx) } -type GetAppSpecServiceRouteOutput struct{ *pulumi.OutputState } +// GetAppSpecStaticSiteGithubPtrInput is an input type that accepts GetAppSpecStaticSiteGithubArgs, GetAppSpecStaticSiteGithubPtr and GetAppSpecStaticSiteGithubPtrOutput values. +// You can construct a concrete instance of `GetAppSpecStaticSiteGithubPtrInput` via: +// +// GetAppSpecStaticSiteGithubArgs{...} +// +// or: +// +// nil +type GetAppSpecStaticSiteGithubPtrInput interface { + pulumi.Input -func (GetAppSpecServiceRouteOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecServiceRoute)(nil)).Elem() + ToGetAppSpecStaticSiteGithubPtrOutput() GetAppSpecStaticSiteGithubPtrOutput + ToGetAppSpecStaticSiteGithubPtrOutputWithContext(context.Context) GetAppSpecStaticSiteGithubPtrOutput } -func (o GetAppSpecServiceRouteOutput) ToGetAppSpecServiceRouteOutput() GetAppSpecServiceRouteOutput { - return o +type getAppSpecStaticSiteGithubPtrType GetAppSpecStaticSiteGithubArgs + +func GetAppSpecStaticSiteGithubPtr(v *GetAppSpecStaticSiteGithubArgs) GetAppSpecStaticSiteGithubPtrInput { + return (*getAppSpecStaticSiteGithubPtrType)(v) } -func (o GetAppSpecServiceRouteOutput) ToGetAppSpecServiceRouteOutputWithContext(ctx context.Context) GetAppSpecServiceRouteOutput { - return o +func (*getAppSpecStaticSiteGithubPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecStaticSiteGithub)(nil)).Elem() } -// Paths must start with `/` and must be unique within the app. -func (o GetAppSpecServiceRouteOutput) Path() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecServiceRoute) *string { return v.Path }).(pulumi.StringPtrOutput) +func (i *getAppSpecStaticSiteGithubPtrType) ToGetAppSpecStaticSiteGithubPtrOutput() GetAppSpecStaticSiteGithubPtrOutput { + return i.ToGetAppSpecStaticSiteGithubPtrOutputWithContext(context.Background()) } -// An optional flag to preserve the path that is forwarded to the backend service. -func (o GetAppSpecServiceRouteOutput) PreservePathPrefix() pulumi.BoolPtrOutput { - return o.ApplyT(func(v GetAppSpecServiceRoute) *bool { return v.PreservePathPrefix }).(pulumi.BoolPtrOutput) +func (i *getAppSpecStaticSiteGithubPtrType) ToGetAppSpecStaticSiteGithubPtrOutputWithContext(ctx context.Context) GetAppSpecStaticSiteGithubPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecStaticSiteGithubPtrOutput) } -type GetAppSpecServiceRouteArrayOutput struct{ *pulumi.OutputState } +type GetAppSpecStaticSiteGithubOutput struct{ *pulumi.OutputState } -func (GetAppSpecServiceRouteArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetAppSpecServiceRoute)(nil)).Elem() +func (GetAppSpecStaticSiteGithubOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecStaticSiteGithub)(nil)).Elem() } -func (o GetAppSpecServiceRouteArrayOutput) ToGetAppSpecServiceRouteArrayOutput() GetAppSpecServiceRouteArrayOutput { +func (o GetAppSpecStaticSiteGithubOutput) ToGetAppSpecStaticSiteGithubOutput() GetAppSpecStaticSiteGithubOutput { return o } -func (o GetAppSpecServiceRouteArrayOutput) ToGetAppSpecServiceRouteArrayOutputWithContext(ctx context.Context) GetAppSpecServiceRouteArrayOutput { +func (o GetAppSpecStaticSiteGithubOutput) ToGetAppSpecStaticSiteGithubOutputWithContext(ctx context.Context) GetAppSpecStaticSiteGithubOutput { return o } -func (o GetAppSpecServiceRouteArrayOutput) Index(i pulumi.IntInput) GetAppSpecServiceRouteOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAppSpecServiceRoute { - return vs[0].([]GetAppSpecServiceRoute)[vs[1].(int)] - }).(GetAppSpecServiceRouteOutput) +func (o GetAppSpecStaticSiteGithubOutput) ToGetAppSpecStaticSiteGithubPtrOutput() GetAppSpecStaticSiteGithubPtrOutput { + return o.ToGetAppSpecStaticSiteGithubPtrOutputWithContext(context.Background()) } -type GetAppSpecStaticSite struct { - // An optional build command to run while building this component from source. - BuildCommand *string `pulumi:"buildCommand"` - // The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. - CatchallDocument *string `pulumi:"catchallDocument"` - Cors *GetAppSpecStaticSiteCors `pulumi:"cors"` - // The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. - DockerfilePath *string `pulumi:"dockerfilePath"` - // An environment slug describing the type of this app. - EnvironmentSlug *string `pulumi:"environmentSlug"` - // Describes an environment variable made available to an app competent. - Envs []GetAppSpecStaticSiteEnv `pulumi:"envs"` - // The name of the error document to use when serving this static site. - ErrorDocument *string `pulumi:"errorDocument"` - // A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set. - Git *GetAppSpecStaticSiteGit `pulumi:"git"` - // A GitHub repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/github/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. - Github *GetAppSpecStaticSiteGithub `pulumi:"github"` - // A Gitlab repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/gitlab/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. - Gitlab *GetAppSpecStaticSiteGitlab `pulumi:"gitlab"` - // The name of the index document to use when serving this static site. - IndexDocument *string `pulumi:"indexDocument"` - // The name of the component. - Name string `pulumi:"name"` - // An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`. - OutputDir *string `pulumi:"outputDir"` - Routes []GetAppSpecStaticSiteRoute `pulumi:"routes"` - // An optional path to the working directory to use for the build. - SourceDir *string `pulumi:"sourceDir"` +func (o GetAppSpecStaticSiteGithubOutput) ToGetAppSpecStaticSiteGithubPtrOutputWithContext(ctx context.Context) GetAppSpecStaticSiteGithubPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecStaticSiteGithub) *GetAppSpecStaticSiteGithub { + return &v + }).(GetAppSpecStaticSiteGithubPtrOutput) } -// GetAppSpecStaticSiteInput is an input type that accepts GetAppSpecStaticSiteArgs and GetAppSpecStaticSiteOutput values. -// You can construct a concrete instance of `GetAppSpecStaticSiteInput` via: -// -// GetAppSpecStaticSiteArgs{...} -type GetAppSpecStaticSiteInput interface { - pulumi.Input - - ToGetAppSpecStaticSiteOutput() GetAppSpecStaticSiteOutput - ToGetAppSpecStaticSiteOutputWithContext(context.Context) GetAppSpecStaticSiteOutput +// The name of the branch to use. +func (o GetAppSpecStaticSiteGithubOutput) Branch() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecStaticSiteGithub) *string { return v.Branch }).(pulumi.StringPtrOutput) } -type GetAppSpecStaticSiteArgs struct { - // An optional build command to run while building this component from source. - BuildCommand pulumi.StringPtrInput `pulumi:"buildCommand"` - // The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. - CatchallDocument pulumi.StringPtrInput `pulumi:"catchallDocument"` - Cors GetAppSpecStaticSiteCorsPtrInput `pulumi:"cors"` - // The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. - DockerfilePath pulumi.StringPtrInput `pulumi:"dockerfilePath"` - // An environment slug describing the type of this app. - EnvironmentSlug pulumi.StringPtrInput `pulumi:"environmentSlug"` - // Describes an environment variable made available to an app competent. - Envs GetAppSpecStaticSiteEnvArrayInput `pulumi:"envs"` - // The name of the error document to use when serving this static site. - ErrorDocument pulumi.StringPtrInput `pulumi:"errorDocument"` - // A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set. - Git GetAppSpecStaticSiteGitPtrInput `pulumi:"git"` - // A GitHub repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/github/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. - Github GetAppSpecStaticSiteGithubPtrInput `pulumi:"github"` - // A Gitlab repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/gitlab/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. - Gitlab GetAppSpecStaticSiteGitlabPtrInput `pulumi:"gitlab"` - // The name of the index document to use when serving this static site. - IndexDocument pulumi.StringPtrInput `pulumi:"indexDocument"` - // The name of the component. - Name pulumi.StringInput `pulumi:"name"` - // An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`. - OutputDir pulumi.StringPtrInput `pulumi:"outputDir"` - Routes GetAppSpecStaticSiteRouteArrayInput `pulumi:"routes"` - // An optional path to the working directory to use for the build. - SourceDir pulumi.StringPtrInput `pulumi:"sourceDir"` +// Whether to automatically deploy new commits made to the repo. +func (o GetAppSpecStaticSiteGithubOutput) DeployOnPush() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GetAppSpecStaticSiteGithub) *bool { return v.DeployOnPush }).(pulumi.BoolPtrOutput) } -func (GetAppSpecStaticSiteArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecStaticSite)(nil)).Elem() +// The name of the repo in the format `owner/repo`. +func (o GetAppSpecStaticSiteGithubOutput) Repo() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecStaticSiteGithub) *string { return v.Repo }).(pulumi.StringPtrOutput) } -func (i GetAppSpecStaticSiteArgs) ToGetAppSpecStaticSiteOutput() GetAppSpecStaticSiteOutput { - return i.ToGetAppSpecStaticSiteOutputWithContext(context.Background()) -} +type GetAppSpecStaticSiteGithubPtrOutput struct{ *pulumi.OutputState } -func (i GetAppSpecStaticSiteArgs) ToGetAppSpecStaticSiteOutputWithContext(ctx context.Context) GetAppSpecStaticSiteOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecStaticSiteOutput) +func (GetAppSpecStaticSiteGithubPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecStaticSiteGithub)(nil)).Elem() } -// GetAppSpecStaticSiteArrayInput is an input type that accepts GetAppSpecStaticSiteArray and GetAppSpecStaticSiteArrayOutput values. -// You can construct a concrete instance of `GetAppSpecStaticSiteArrayInput` via: -// -// GetAppSpecStaticSiteArray{ GetAppSpecStaticSiteArgs{...} } -type GetAppSpecStaticSiteArrayInput interface { - pulumi.Input - - ToGetAppSpecStaticSiteArrayOutput() GetAppSpecStaticSiteArrayOutput - ToGetAppSpecStaticSiteArrayOutputWithContext(context.Context) GetAppSpecStaticSiteArrayOutput +func (o GetAppSpecStaticSiteGithubPtrOutput) ToGetAppSpecStaticSiteGithubPtrOutput() GetAppSpecStaticSiteGithubPtrOutput { + return o } -type GetAppSpecStaticSiteArray []GetAppSpecStaticSiteInput - -func (GetAppSpecStaticSiteArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetAppSpecStaticSite)(nil)).Elem() +func (o GetAppSpecStaticSiteGithubPtrOutput) ToGetAppSpecStaticSiteGithubPtrOutputWithContext(ctx context.Context) GetAppSpecStaticSiteGithubPtrOutput { + return o } -func (i GetAppSpecStaticSiteArray) ToGetAppSpecStaticSiteArrayOutput() GetAppSpecStaticSiteArrayOutput { - return i.ToGetAppSpecStaticSiteArrayOutputWithContext(context.Background()) +func (o GetAppSpecStaticSiteGithubPtrOutput) Elem() GetAppSpecStaticSiteGithubOutput { + return o.ApplyT(func(v *GetAppSpecStaticSiteGithub) GetAppSpecStaticSiteGithub { + if v != nil { + return *v + } + var ret GetAppSpecStaticSiteGithub + return ret + }).(GetAppSpecStaticSiteGithubOutput) } -func (i GetAppSpecStaticSiteArray) ToGetAppSpecStaticSiteArrayOutputWithContext(ctx context.Context) GetAppSpecStaticSiteArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecStaticSiteArrayOutput) +// The name of the branch to use. +func (o GetAppSpecStaticSiteGithubPtrOutput) Branch() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecStaticSiteGithub) *string { + if v == nil { + return nil + } + return v.Branch + }).(pulumi.StringPtrOutput) } -type GetAppSpecStaticSiteOutput struct{ *pulumi.OutputState } - -func (GetAppSpecStaticSiteOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecStaticSite)(nil)).Elem() +// Whether to automatically deploy new commits made to the repo. +func (o GetAppSpecStaticSiteGithubPtrOutput) DeployOnPush() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *GetAppSpecStaticSiteGithub) *bool { + if v == nil { + return nil + } + return v.DeployOnPush + }).(pulumi.BoolPtrOutput) } -func (o GetAppSpecStaticSiteOutput) ToGetAppSpecStaticSiteOutput() GetAppSpecStaticSiteOutput { - return o +// The name of the repo in the format `owner/repo`. +func (o GetAppSpecStaticSiteGithubPtrOutput) Repo() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecStaticSiteGithub) *string { + if v == nil { + return nil + } + return v.Repo + }).(pulumi.StringPtrOutput) } -func (o GetAppSpecStaticSiteOutput) ToGetAppSpecStaticSiteOutputWithContext(ctx context.Context) GetAppSpecStaticSiteOutput { - return o +type GetAppSpecStaticSiteGitlab struct { + // The name of the branch to use. + Branch *string `pulumi:"branch"` + // Whether to automatically deploy new commits made to the repo. + DeployOnPush *bool `pulumi:"deployOnPush"` + // The name of the repo in the format `owner/repo`. + Repo *string `pulumi:"repo"` } -// An optional build command to run while building this component from source. -func (o GetAppSpecStaticSiteOutput) BuildCommand() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecStaticSite) *string { return v.BuildCommand }).(pulumi.StringPtrOutput) -} +// GetAppSpecStaticSiteGitlabInput is an input type that accepts GetAppSpecStaticSiteGitlabArgs and GetAppSpecStaticSiteGitlabOutput values. +// You can construct a concrete instance of `GetAppSpecStaticSiteGitlabInput` via: +// +// GetAppSpecStaticSiteGitlabArgs{...} +type GetAppSpecStaticSiteGitlabInput interface { + pulumi.Input -// The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. -func (o GetAppSpecStaticSiteOutput) CatchallDocument() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecStaticSite) *string { return v.CatchallDocument }).(pulumi.StringPtrOutput) + ToGetAppSpecStaticSiteGitlabOutput() GetAppSpecStaticSiteGitlabOutput + ToGetAppSpecStaticSiteGitlabOutputWithContext(context.Context) GetAppSpecStaticSiteGitlabOutput } -func (o GetAppSpecStaticSiteOutput) Cors() GetAppSpecStaticSiteCorsPtrOutput { - return o.ApplyT(func(v GetAppSpecStaticSite) *GetAppSpecStaticSiteCors { return v.Cors }).(GetAppSpecStaticSiteCorsPtrOutput) +type GetAppSpecStaticSiteGitlabArgs struct { + // The name of the branch to use. + Branch pulumi.StringPtrInput `pulumi:"branch"` + // Whether to automatically deploy new commits made to the repo. + DeployOnPush pulumi.BoolPtrInput `pulumi:"deployOnPush"` + // The name of the repo in the format `owner/repo`. + Repo pulumi.StringPtrInput `pulumi:"repo"` } -// The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. -func (o GetAppSpecStaticSiteOutput) DockerfilePath() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecStaticSite) *string { return v.DockerfilePath }).(pulumi.StringPtrOutput) +func (GetAppSpecStaticSiteGitlabArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecStaticSiteGitlab)(nil)).Elem() } -// An environment slug describing the type of this app. -func (o GetAppSpecStaticSiteOutput) EnvironmentSlug() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecStaticSite) *string { return v.EnvironmentSlug }).(pulumi.StringPtrOutput) +func (i GetAppSpecStaticSiteGitlabArgs) ToGetAppSpecStaticSiteGitlabOutput() GetAppSpecStaticSiteGitlabOutput { + return i.ToGetAppSpecStaticSiteGitlabOutputWithContext(context.Background()) } -// Describes an environment variable made available to an app competent. -func (o GetAppSpecStaticSiteOutput) Envs() GetAppSpecStaticSiteEnvArrayOutput { - return o.ApplyT(func(v GetAppSpecStaticSite) []GetAppSpecStaticSiteEnv { return v.Envs }).(GetAppSpecStaticSiteEnvArrayOutput) +func (i GetAppSpecStaticSiteGitlabArgs) ToGetAppSpecStaticSiteGitlabOutputWithContext(ctx context.Context) GetAppSpecStaticSiteGitlabOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecStaticSiteGitlabOutput) } -// The name of the error document to use when serving this static site. -func (o GetAppSpecStaticSiteOutput) ErrorDocument() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecStaticSite) *string { return v.ErrorDocument }).(pulumi.StringPtrOutput) +func (i GetAppSpecStaticSiteGitlabArgs) ToGetAppSpecStaticSiteGitlabPtrOutput() GetAppSpecStaticSiteGitlabPtrOutput { + return i.ToGetAppSpecStaticSiteGitlabPtrOutputWithContext(context.Background()) } -// A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set. -func (o GetAppSpecStaticSiteOutput) Git() GetAppSpecStaticSiteGitPtrOutput { - return o.ApplyT(func(v GetAppSpecStaticSite) *GetAppSpecStaticSiteGit { return v.Git }).(GetAppSpecStaticSiteGitPtrOutput) +func (i GetAppSpecStaticSiteGitlabArgs) ToGetAppSpecStaticSiteGitlabPtrOutputWithContext(ctx context.Context) GetAppSpecStaticSiteGitlabPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecStaticSiteGitlabOutput).ToGetAppSpecStaticSiteGitlabPtrOutputWithContext(ctx) } -// A GitHub repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/github/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. -func (o GetAppSpecStaticSiteOutput) Github() GetAppSpecStaticSiteGithubPtrOutput { - return o.ApplyT(func(v GetAppSpecStaticSite) *GetAppSpecStaticSiteGithub { return v.Github }).(GetAppSpecStaticSiteGithubPtrOutput) -} +// GetAppSpecStaticSiteGitlabPtrInput is an input type that accepts GetAppSpecStaticSiteGitlabArgs, GetAppSpecStaticSiteGitlabPtr and GetAppSpecStaticSiteGitlabPtrOutput values. +// You can construct a concrete instance of `GetAppSpecStaticSiteGitlabPtrInput` via: +// +// GetAppSpecStaticSiteGitlabArgs{...} +// +// or: +// +// nil +type GetAppSpecStaticSiteGitlabPtrInput interface { + pulumi.Input -// A Gitlab repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/gitlab/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. -func (o GetAppSpecStaticSiteOutput) Gitlab() GetAppSpecStaticSiteGitlabPtrOutput { - return o.ApplyT(func(v GetAppSpecStaticSite) *GetAppSpecStaticSiteGitlab { return v.Gitlab }).(GetAppSpecStaticSiteGitlabPtrOutput) + ToGetAppSpecStaticSiteGitlabPtrOutput() GetAppSpecStaticSiteGitlabPtrOutput + ToGetAppSpecStaticSiteGitlabPtrOutputWithContext(context.Context) GetAppSpecStaticSiteGitlabPtrOutput } -// The name of the index document to use when serving this static site. -func (o GetAppSpecStaticSiteOutput) IndexDocument() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecStaticSite) *string { return v.IndexDocument }).(pulumi.StringPtrOutput) -} +type getAppSpecStaticSiteGitlabPtrType GetAppSpecStaticSiteGitlabArgs -// The name of the component. -func (o GetAppSpecStaticSiteOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetAppSpecStaticSite) string { return v.Name }).(pulumi.StringOutput) +func GetAppSpecStaticSiteGitlabPtr(v *GetAppSpecStaticSiteGitlabArgs) GetAppSpecStaticSiteGitlabPtrInput { + return (*getAppSpecStaticSiteGitlabPtrType)(v) } -// An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`. -func (o GetAppSpecStaticSiteOutput) OutputDir() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecStaticSite) *string { return v.OutputDir }).(pulumi.StringPtrOutput) +func (*getAppSpecStaticSiteGitlabPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecStaticSiteGitlab)(nil)).Elem() } -func (o GetAppSpecStaticSiteOutput) Routes() GetAppSpecStaticSiteRouteArrayOutput { - return o.ApplyT(func(v GetAppSpecStaticSite) []GetAppSpecStaticSiteRoute { return v.Routes }).(GetAppSpecStaticSiteRouteArrayOutput) +func (i *getAppSpecStaticSiteGitlabPtrType) ToGetAppSpecStaticSiteGitlabPtrOutput() GetAppSpecStaticSiteGitlabPtrOutput { + return i.ToGetAppSpecStaticSiteGitlabPtrOutputWithContext(context.Background()) } -// An optional path to the working directory to use for the build. -func (o GetAppSpecStaticSiteOutput) SourceDir() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecStaticSite) *string { return v.SourceDir }).(pulumi.StringPtrOutput) +func (i *getAppSpecStaticSiteGitlabPtrType) ToGetAppSpecStaticSiteGitlabPtrOutputWithContext(ctx context.Context) GetAppSpecStaticSiteGitlabPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecStaticSiteGitlabPtrOutput) } -type GetAppSpecStaticSiteArrayOutput struct{ *pulumi.OutputState } +type GetAppSpecStaticSiteGitlabOutput struct{ *pulumi.OutputState } -func (GetAppSpecStaticSiteArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetAppSpecStaticSite)(nil)).Elem() +func (GetAppSpecStaticSiteGitlabOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecStaticSiteGitlab)(nil)).Elem() } -func (o GetAppSpecStaticSiteArrayOutput) ToGetAppSpecStaticSiteArrayOutput() GetAppSpecStaticSiteArrayOutput { +func (o GetAppSpecStaticSiteGitlabOutput) ToGetAppSpecStaticSiteGitlabOutput() GetAppSpecStaticSiteGitlabOutput { return o } -func (o GetAppSpecStaticSiteArrayOutput) ToGetAppSpecStaticSiteArrayOutputWithContext(ctx context.Context) GetAppSpecStaticSiteArrayOutput { +func (o GetAppSpecStaticSiteGitlabOutput) ToGetAppSpecStaticSiteGitlabOutputWithContext(ctx context.Context) GetAppSpecStaticSiteGitlabOutput { return o } -func (o GetAppSpecStaticSiteArrayOutput) Index(i pulumi.IntInput) GetAppSpecStaticSiteOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAppSpecStaticSite { - return vs[0].([]GetAppSpecStaticSite)[vs[1].(int)] - }).(GetAppSpecStaticSiteOutput) +func (o GetAppSpecStaticSiteGitlabOutput) ToGetAppSpecStaticSiteGitlabPtrOutput() GetAppSpecStaticSiteGitlabPtrOutput { + return o.ToGetAppSpecStaticSiteGitlabPtrOutputWithContext(context.Background()) } -type GetAppSpecStaticSiteCors struct { - AllowCredentials *bool `pulumi:"allowCredentials"` - AllowHeaders []string `pulumi:"allowHeaders"` - AllowMethods []string `pulumi:"allowMethods"` - AllowOrigins *GetAppSpecStaticSiteCorsAllowOrigins `pulumi:"allowOrigins"` - ExposeHeaders []string `pulumi:"exposeHeaders"` - MaxAge *string `pulumi:"maxAge"` +func (o GetAppSpecStaticSiteGitlabOutput) ToGetAppSpecStaticSiteGitlabPtrOutputWithContext(ctx context.Context) GetAppSpecStaticSiteGitlabPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecStaticSiteGitlab) *GetAppSpecStaticSiteGitlab { + return &v + }).(GetAppSpecStaticSiteGitlabPtrOutput) } -// GetAppSpecStaticSiteCorsInput is an input type that accepts GetAppSpecStaticSiteCorsArgs and GetAppSpecStaticSiteCorsOutput values. -// You can construct a concrete instance of `GetAppSpecStaticSiteCorsInput` via: -// -// GetAppSpecStaticSiteCorsArgs{...} -type GetAppSpecStaticSiteCorsInput interface { - pulumi.Input - - ToGetAppSpecStaticSiteCorsOutput() GetAppSpecStaticSiteCorsOutput - ToGetAppSpecStaticSiteCorsOutputWithContext(context.Context) GetAppSpecStaticSiteCorsOutput +// The name of the branch to use. +func (o GetAppSpecStaticSiteGitlabOutput) Branch() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecStaticSiteGitlab) *string { return v.Branch }).(pulumi.StringPtrOutput) } -type GetAppSpecStaticSiteCorsArgs struct { - AllowCredentials pulumi.BoolPtrInput `pulumi:"allowCredentials"` - AllowHeaders pulumi.StringArrayInput `pulumi:"allowHeaders"` - AllowMethods pulumi.StringArrayInput `pulumi:"allowMethods"` - AllowOrigins GetAppSpecStaticSiteCorsAllowOriginsPtrInput `pulumi:"allowOrigins"` - ExposeHeaders pulumi.StringArrayInput `pulumi:"exposeHeaders"` - MaxAge pulumi.StringPtrInput `pulumi:"maxAge"` +// Whether to automatically deploy new commits made to the repo. +func (o GetAppSpecStaticSiteGitlabOutput) DeployOnPush() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GetAppSpecStaticSiteGitlab) *bool { return v.DeployOnPush }).(pulumi.BoolPtrOutput) } -func (GetAppSpecStaticSiteCorsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecStaticSiteCors)(nil)).Elem() +// The name of the repo in the format `owner/repo`. +func (o GetAppSpecStaticSiteGitlabOutput) Repo() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecStaticSiteGitlab) *string { return v.Repo }).(pulumi.StringPtrOutput) } -func (i GetAppSpecStaticSiteCorsArgs) ToGetAppSpecStaticSiteCorsOutput() GetAppSpecStaticSiteCorsOutput { - return i.ToGetAppSpecStaticSiteCorsOutputWithContext(context.Background()) -} +type GetAppSpecStaticSiteGitlabPtrOutput struct{ *pulumi.OutputState } -func (i GetAppSpecStaticSiteCorsArgs) ToGetAppSpecStaticSiteCorsOutputWithContext(ctx context.Context) GetAppSpecStaticSiteCorsOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecStaticSiteCorsOutput) +func (GetAppSpecStaticSiteGitlabPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecStaticSiteGitlab)(nil)).Elem() } -func (i GetAppSpecStaticSiteCorsArgs) ToGetAppSpecStaticSiteCorsPtrOutput() GetAppSpecStaticSiteCorsPtrOutput { - return i.ToGetAppSpecStaticSiteCorsPtrOutputWithContext(context.Background()) +func (o GetAppSpecStaticSiteGitlabPtrOutput) ToGetAppSpecStaticSiteGitlabPtrOutput() GetAppSpecStaticSiteGitlabPtrOutput { + return o } -func (i GetAppSpecStaticSiteCorsArgs) ToGetAppSpecStaticSiteCorsPtrOutputWithContext(ctx context.Context) GetAppSpecStaticSiteCorsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecStaticSiteCorsOutput).ToGetAppSpecStaticSiteCorsPtrOutputWithContext(ctx) +func (o GetAppSpecStaticSiteGitlabPtrOutput) ToGetAppSpecStaticSiteGitlabPtrOutputWithContext(ctx context.Context) GetAppSpecStaticSiteGitlabPtrOutput { + return o } -// GetAppSpecStaticSiteCorsPtrInput is an input type that accepts GetAppSpecStaticSiteCorsArgs, GetAppSpecStaticSiteCorsPtr and GetAppSpecStaticSiteCorsPtrOutput values. -// You can construct a concrete instance of `GetAppSpecStaticSiteCorsPtrInput` via: -// -// GetAppSpecStaticSiteCorsArgs{...} -// -// or: -// -// nil -type GetAppSpecStaticSiteCorsPtrInput interface { - pulumi.Input - - ToGetAppSpecStaticSiteCorsPtrOutput() GetAppSpecStaticSiteCorsPtrOutput - ToGetAppSpecStaticSiteCorsPtrOutputWithContext(context.Context) GetAppSpecStaticSiteCorsPtrOutput +func (o GetAppSpecStaticSiteGitlabPtrOutput) Elem() GetAppSpecStaticSiteGitlabOutput { + return o.ApplyT(func(v *GetAppSpecStaticSiteGitlab) GetAppSpecStaticSiteGitlab { + if v != nil { + return *v + } + var ret GetAppSpecStaticSiteGitlab + return ret + }).(GetAppSpecStaticSiteGitlabOutput) } -type getAppSpecStaticSiteCorsPtrType GetAppSpecStaticSiteCorsArgs - -func GetAppSpecStaticSiteCorsPtr(v *GetAppSpecStaticSiteCorsArgs) GetAppSpecStaticSiteCorsPtrInput { - return (*getAppSpecStaticSiteCorsPtrType)(v) +// The name of the branch to use. +func (o GetAppSpecStaticSiteGitlabPtrOutput) Branch() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecStaticSiteGitlab) *string { + if v == nil { + return nil + } + return v.Branch + }).(pulumi.StringPtrOutput) } -func (*getAppSpecStaticSiteCorsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**GetAppSpecStaticSiteCors)(nil)).Elem() +// Whether to automatically deploy new commits made to the repo. +func (o GetAppSpecStaticSiteGitlabPtrOutput) DeployOnPush() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *GetAppSpecStaticSiteGitlab) *bool { + if v == nil { + return nil + } + return v.DeployOnPush + }).(pulumi.BoolPtrOutput) } -func (i *getAppSpecStaticSiteCorsPtrType) ToGetAppSpecStaticSiteCorsPtrOutput() GetAppSpecStaticSiteCorsPtrOutput { - return i.ToGetAppSpecStaticSiteCorsPtrOutputWithContext(context.Background()) +// The name of the repo in the format `owner/repo`. +func (o GetAppSpecStaticSiteGitlabPtrOutput) Repo() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecStaticSiteGitlab) *string { + if v == nil { + return nil + } + return v.Repo + }).(pulumi.StringPtrOutput) } -func (i *getAppSpecStaticSiteCorsPtrType) ToGetAppSpecStaticSiteCorsPtrOutputWithContext(ctx context.Context) GetAppSpecStaticSiteCorsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecStaticSiteCorsPtrOutput) +type GetAppSpecStaticSiteRoute struct { + // Paths must start with `/` and must be unique within the app. + Path *string `pulumi:"path"` + // An optional flag to preserve the path that is forwarded to the backend service. + PreservePathPrefix *bool `pulumi:"preservePathPrefix"` } -type GetAppSpecStaticSiteCorsOutput struct{ *pulumi.OutputState } +// GetAppSpecStaticSiteRouteInput is an input type that accepts GetAppSpecStaticSiteRouteArgs and GetAppSpecStaticSiteRouteOutput values. +// You can construct a concrete instance of `GetAppSpecStaticSiteRouteInput` via: +// +// GetAppSpecStaticSiteRouteArgs{...} +type GetAppSpecStaticSiteRouteInput interface { + pulumi.Input -func (GetAppSpecStaticSiteCorsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecStaticSiteCors)(nil)).Elem() + ToGetAppSpecStaticSiteRouteOutput() GetAppSpecStaticSiteRouteOutput + ToGetAppSpecStaticSiteRouteOutputWithContext(context.Context) GetAppSpecStaticSiteRouteOutput } -func (o GetAppSpecStaticSiteCorsOutput) ToGetAppSpecStaticSiteCorsOutput() GetAppSpecStaticSiteCorsOutput { - return o +type GetAppSpecStaticSiteRouteArgs struct { + // Paths must start with `/` and must be unique within the app. + Path pulumi.StringPtrInput `pulumi:"path"` + // An optional flag to preserve the path that is forwarded to the backend service. + PreservePathPrefix pulumi.BoolPtrInput `pulumi:"preservePathPrefix"` } -func (o GetAppSpecStaticSiteCorsOutput) ToGetAppSpecStaticSiteCorsOutputWithContext(ctx context.Context) GetAppSpecStaticSiteCorsOutput { - return o +func (GetAppSpecStaticSiteRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecStaticSiteRoute)(nil)).Elem() } -func (o GetAppSpecStaticSiteCorsOutput) ToGetAppSpecStaticSiteCorsPtrOutput() GetAppSpecStaticSiteCorsPtrOutput { - return o.ToGetAppSpecStaticSiteCorsPtrOutputWithContext(context.Background()) +func (i GetAppSpecStaticSiteRouteArgs) ToGetAppSpecStaticSiteRouteOutput() GetAppSpecStaticSiteRouteOutput { + return i.ToGetAppSpecStaticSiteRouteOutputWithContext(context.Background()) } -func (o GetAppSpecStaticSiteCorsOutput) ToGetAppSpecStaticSiteCorsPtrOutputWithContext(ctx context.Context) GetAppSpecStaticSiteCorsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecStaticSiteCors) *GetAppSpecStaticSiteCors { - return &v - }).(GetAppSpecStaticSiteCorsPtrOutput) +func (i GetAppSpecStaticSiteRouteArgs) ToGetAppSpecStaticSiteRouteOutputWithContext(ctx context.Context) GetAppSpecStaticSiteRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecStaticSiteRouteOutput) } -func (o GetAppSpecStaticSiteCorsOutput) AllowCredentials() pulumi.BoolPtrOutput { - return o.ApplyT(func(v GetAppSpecStaticSiteCors) *bool { return v.AllowCredentials }).(pulumi.BoolPtrOutput) -} +// GetAppSpecStaticSiteRouteArrayInput is an input type that accepts GetAppSpecStaticSiteRouteArray and GetAppSpecStaticSiteRouteArrayOutput values. +// You can construct a concrete instance of `GetAppSpecStaticSiteRouteArrayInput` via: +// +// GetAppSpecStaticSiteRouteArray{ GetAppSpecStaticSiteRouteArgs{...} } +type GetAppSpecStaticSiteRouteArrayInput interface { + pulumi.Input -func (o GetAppSpecStaticSiteCorsOutput) AllowHeaders() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetAppSpecStaticSiteCors) []string { return v.AllowHeaders }).(pulumi.StringArrayOutput) + ToGetAppSpecStaticSiteRouteArrayOutput() GetAppSpecStaticSiteRouteArrayOutput + ToGetAppSpecStaticSiteRouteArrayOutputWithContext(context.Context) GetAppSpecStaticSiteRouteArrayOutput } -func (o GetAppSpecStaticSiteCorsOutput) AllowMethods() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetAppSpecStaticSiteCors) []string { return v.AllowMethods }).(pulumi.StringArrayOutput) -} +type GetAppSpecStaticSiteRouteArray []GetAppSpecStaticSiteRouteInput -func (o GetAppSpecStaticSiteCorsOutput) AllowOrigins() GetAppSpecStaticSiteCorsAllowOriginsPtrOutput { - return o.ApplyT(func(v GetAppSpecStaticSiteCors) *GetAppSpecStaticSiteCorsAllowOrigins { return v.AllowOrigins }).(GetAppSpecStaticSiteCorsAllowOriginsPtrOutput) +func (GetAppSpecStaticSiteRouteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAppSpecStaticSiteRoute)(nil)).Elem() } -func (o GetAppSpecStaticSiteCorsOutput) ExposeHeaders() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetAppSpecStaticSiteCors) []string { return v.ExposeHeaders }).(pulumi.StringArrayOutput) +func (i GetAppSpecStaticSiteRouteArray) ToGetAppSpecStaticSiteRouteArrayOutput() GetAppSpecStaticSiteRouteArrayOutput { + return i.ToGetAppSpecStaticSiteRouteArrayOutputWithContext(context.Background()) } -func (o GetAppSpecStaticSiteCorsOutput) MaxAge() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecStaticSiteCors) *string { return v.MaxAge }).(pulumi.StringPtrOutput) +func (i GetAppSpecStaticSiteRouteArray) ToGetAppSpecStaticSiteRouteArrayOutputWithContext(ctx context.Context) GetAppSpecStaticSiteRouteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecStaticSiteRouteArrayOutput) } -type GetAppSpecStaticSiteCorsPtrOutput struct{ *pulumi.OutputState } +type GetAppSpecStaticSiteRouteOutput struct{ *pulumi.OutputState } -func (GetAppSpecStaticSiteCorsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**GetAppSpecStaticSiteCors)(nil)).Elem() +func (GetAppSpecStaticSiteRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecStaticSiteRoute)(nil)).Elem() } -func (o GetAppSpecStaticSiteCorsPtrOutput) ToGetAppSpecStaticSiteCorsPtrOutput() GetAppSpecStaticSiteCorsPtrOutput { +func (o GetAppSpecStaticSiteRouteOutput) ToGetAppSpecStaticSiteRouteOutput() GetAppSpecStaticSiteRouteOutput { return o } -func (o GetAppSpecStaticSiteCorsPtrOutput) ToGetAppSpecStaticSiteCorsPtrOutputWithContext(ctx context.Context) GetAppSpecStaticSiteCorsPtrOutput { +func (o GetAppSpecStaticSiteRouteOutput) ToGetAppSpecStaticSiteRouteOutputWithContext(ctx context.Context) GetAppSpecStaticSiteRouteOutput { return o } -func (o GetAppSpecStaticSiteCorsPtrOutput) Elem() GetAppSpecStaticSiteCorsOutput { - return o.ApplyT(func(v *GetAppSpecStaticSiteCors) GetAppSpecStaticSiteCors { - if v != nil { - return *v - } - var ret GetAppSpecStaticSiteCors - return ret - }).(GetAppSpecStaticSiteCorsOutput) +// Paths must start with `/` and must be unique within the app. +func (o GetAppSpecStaticSiteRouteOutput) Path() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecStaticSiteRoute) *string { return v.Path }).(pulumi.StringPtrOutput) } -func (o GetAppSpecStaticSiteCorsPtrOutput) AllowCredentials() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *GetAppSpecStaticSiteCors) *bool { - if v == nil { - return nil - } - return v.AllowCredentials - }).(pulumi.BoolPtrOutput) +// An optional flag to preserve the path that is forwarded to the backend service. +func (o GetAppSpecStaticSiteRouteOutput) PreservePathPrefix() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GetAppSpecStaticSiteRoute) *bool { return v.PreservePathPrefix }).(pulumi.BoolPtrOutput) } -func (o GetAppSpecStaticSiteCorsPtrOutput) AllowHeaders() pulumi.StringArrayOutput { - return o.ApplyT(func(v *GetAppSpecStaticSiteCors) []string { - if v == nil { - return nil - } - return v.AllowHeaders - }).(pulumi.StringArrayOutput) -} +type GetAppSpecStaticSiteRouteArrayOutput struct{ *pulumi.OutputState } -func (o GetAppSpecStaticSiteCorsPtrOutput) AllowMethods() pulumi.StringArrayOutput { - return o.ApplyT(func(v *GetAppSpecStaticSiteCors) []string { - if v == nil { - return nil - } - return v.AllowMethods - }).(pulumi.StringArrayOutput) +func (GetAppSpecStaticSiteRouteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAppSpecStaticSiteRoute)(nil)).Elem() } -func (o GetAppSpecStaticSiteCorsPtrOutput) AllowOrigins() GetAppSpecStaticSiteCorsAllowOriginsPtrOutput { - return o.ApplyT(func(v *GetAppSpecStaticSiteCors) *GetAppSpecStaticSiteCorsAllowOrigins { - if v == nil { - return nil - } - return v.AllowOrigins - }).(GetAppSpecStaticSiteCorsAllowOriginsPtrOutput) +func (o GetAppSpecStaticSiteRouteArrayOutput) ToGetAppSpecStaticSiteRouteArrayOutput() GetAppSpecStaticSiteRouteArrayOutput { + return o } -func (o GetAppSpecStaticSiteCorsPtrOutput) ExposeHeaders() pulumi.StringArrayOutput { - return o.ApplyT(func(v *GetAppSpecStaticSiteCors) []string { - if v == nil { - return nil - } - return v.ExposeHeaders - }).(pulumi.StringArrayOutput) +func (o GetAppSpecStaticSiteRouteArrayOutput) ToGetAppSpecStaticSiteRouteArrayOutputWithContext(ctx context.Context) GetAppSpecStaticSiteRouteArrayOutput { + return o } -func (o GetAppSpecStaticSiteCorsPtrOutput) MaxAge() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetAppSpecStaticSiteCors) *string { - if v == nil { - return nil - } - return v.MaxAge - }).(pulumi.StringPtrOutput) +func (o GetAppSpecStaticSiteRouteArrayOutput) Index(i pulumi.IntInput) GetAppSpecStaticSiteRouteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAppSpecStaticSiteRoute { + return vs[0].([]GetAppSpecStaticSiteRoute)[vs[1].(int)] + }).(GetAppSpecStaticSiteRouteOutput) } -type GetAppSpecStaticSiteCorsAllowOrigins struct { - Exact *string `pulumi:"exact"` - Prefix *string `pulumi:"prefix"` - Regex *string `pulumi:"regex"` +type GetAppSpecWorker struct { + Alerts []GetAppSpecWorkerAlert `pulumi:"alerts"` + // An optional build command to run while building this component from source. + BuildCommand *string `pulumi:"buildCommand"` + // The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. + DockerfilePath *string `pulumi:"dockerfilePath"` + // An environment slug describing the type of this app. + EnvironmentSlug *string `pulumi:"environmentSlug"` + // Describes an environment variable made available to an app competent. + Envs []GetAppSpecWorkerEnv `pulumi:"envs"` + // A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set. + Git *GetAppSpecWorkerGit `pulumi:"git"` + // A GitHub repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/github/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. + Github *GetAppSpecWorkerGithub `pulumi:"github"` + // A Gitlab repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/gitlab/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. + Gitlab *GetAppSpecWorkerGitlab `pulumi:"gitlab"` + // An image to use as the component's source. Only one of `git`, `github`, `gitlab`, or `image` may be set. + Image *GetAppSpecWorkerImage `pulumi:"image"` + // The amount of instances that this component should be scaled to. + InstanceCount *int `pulumi:"instanceCount"` + // The instance size to use for this component. + InstanceSizeSlug *string `pulumi:"instanceSizeSlug"` + LogDestinations []GetAppSpecWorkerLogDestination `pulumi:"logDestinations"` + // The name of the component. + Name string `pulumi:"name"` + // An optional run command to override the component's default. + RunCommand *string `pulumi:"runCommand"` + // An optional path to the working directory to use for the build. + SourceDir *string `pulumi:"sourceDir"` } -// GetAppSpecStaticSiteCorsAllowOriginsInput is an input type that accepts GetAppSpecStaticSiteCorsAllowOriginsArgs and GetAppSpecStaticSiteCorsAllowOriginsOutput values. -// You can construct a concrete instance of `GetAppSpecStaticSiteCorsAllowOriginsInput` via: +// GetAppSpecWorkerInput is an input type that accepts GetAppSpecWorkerArgs and GetAppSpecWorkerOutput values. +// You can construct a concrete instance of `GetAppSpecWorkerInput` via: // -// GetAppSpecStaticSiteCorsAllowOriginsArgs{...} -type GetAppSpecStaticSiteCorsAllowOriginsInput interface { +// GetAppSpecWorkerArgs{...} +type GetAppSpecWorkerInput interface { pulumi.Input - ToGetAppSpecStaticSiteCorsAllowOriginsOutput() GetAppSpecStaticSiteCorsAllowOriginsOutput - ToGetAppSpecStaticSiteCorsAllowOriginsOutputWithContext(context.Context) GetAppSpecStaticSiteCorsAllowOriginsOutput + ToGetAppSpecWorkerOutput() GetAppSpecWorkerOutput + ToGetAppSpecWorkerOutputWithContext(context.Context) GetAppSpecWorkerOutput } -type GetAppSpecStaticSiteCorsAllowOriginsArgs struct { - Exact pulumi.StringPtrInput `pulumi:"exact"` - Prefix pulumi.StringPtrInput `pulumi:"prefix"` - Regex pulumi.StringPtrInput `pulumi:"regex"` +type GetAppSpecWorkerArgs struct { + Alerts GetAppSpecWorkerAlertArrayInput `pulumi:"alerts"` + // An optional build command to run while building this component from source. + BuildCommand pulumi.StringPtrInput `pulumi:"buildCommand"` + // The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. + DockerfilePath pulumi.StringPtrInput `pulumi:"dockerfilePath"` + // An environment slug describing the type of this app. + EnvironmentSlug pulumi.StringPtrInput `pulumi:"environmentSlug"` + // Describes an environment variable made available to an app competent. + Envs GetAppSpecWorkerEnvArrayInput `pulumi:"envs"` + // A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set. + Git GetAppSpecWorkerGitPtrInput `pulumi:"git"` + // A GitHub repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/github/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. + Github GetAppSpecWorkerGithubPtrInput `pulumi:"github"` + // A Gitlab repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/gitlab/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. + Gitlab GetAppSpecWorkerGitlabPtrInput `pulumi:"gitlab"` + // An image to use as the component's source. Only one of `git`, `github`, `gitlab`, or `image` may be set. + Image GetAppSpecWorkerImagePtrInput `pulumi:"image"` + // The amount of instances that this component should be scaled to. + InstanceCount pulumi.IntPtrInput `pulumi:"instanceCount"` + // The instance size to use for this component. + InstanceSizeSlug pulumi.StringPtrInput `pulumi:"instanceSizeSlug"` + LogDestinations GetAppSpecWorkerLogDestinationArrayInput `pulumi:"logDestinations"` + // The name of the component. + Name pulumi.StringInput `pulumi:"name"` + // An optional run command to override the component's default. + RunCommand pulumi.StringPtrInput `pulumi:"runCommand"` + // An optional path to the working directory to use for the build. + SourceDir pulumi.StringPtrInput `pulumi:"sourceDir"` } -func (GetAppSpecStaticSiteCorsAllowOriginsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecStaticSiteCorsAllowOrigins)(nil)).Elem() +func (GetAppSpecWorkerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecWorker)(nil)).Elem() } -func (i GetAppSpecStaticSiteCorsAllowOriginsArgs) ToGetAppSpecStaticSiteCorsAllowOriginsOutput() GetAppSpecStaticSiteCorsAllowOriginsOutput { - return i.ToGetAppSpecStaticSiteCorsAllowOriginsOutputWithContext(context.Background()) +func (i GetAppSpecWorkerArgs) ToGetAppSpecWorkerOutput() GetAppSpecWorkerOutput { + return i.ToGetAppSpecWorkerOutputWithContext(context.Background()) } -func (i GetAppSpecStaticSiteCorsAllowOriginsArgs) ToGetAppSpecStaticSiteCorsAllowOriginsOutputWithContext(ctx context.Context) GetAppSpecStaticSiteCorsAllowOriginsOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecStaticSiteCorsAllowOriginsOutput) +func (i GetAppSpecWorkerArgs) ToGetAppSpecWorkerOutputWithContext(ctx context.Context) GetAppSpecWorkerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecWorkerOutput) } -func (i GetAppSpecStaticSiteCorsAllowOriginsArgs) ToGetAppSpecStaticSiteCorsAllowOriginsPtrOutput() GetAppSpecStaticSiteCorsAllowOriginsPtrOutput { - return i.ToGetAppSpecStaticSiteCorsAllowOriginsPtrOutputWithContext(context.Background()) +// GetAppSpecWorkerArrayInput is an input type that accepts GetAppSpecWorkerArray and GetAppSpecWorkerArrayOutput values. +// You can construct a concrete instance of `GetAppSpecWorkerArrayInput` via: +// +// GetAppSpecWorkerArray{ GetAppSpecWorkerArgs{...} } +type GetAppSpecWorkerArrayInput interface { + pulumi.Input + + ToGetAppSpecWorkerArrayOutput() GetAppSpecWorkerArrayOutput + ToGetAppSpecWorkerArrayOutputWithContext(context.Context) GetAppSpecWorkerArrayOutput } -func (i GetAppSpecStaticSiteCorsAllowOriginsArgs) ToGetAppSpecStaticSiteCorsAllowOriginsPtrOutputWithContext(ctx context.Context) GetAppSpecStaticSiteCorsAllowOriginsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecStaticSiteCorsAllowOriginsOutput).ToGetAppSpecStaticSiteCorsAllowOriginsPtrOutputWithContext(ctx) +type GetAppSpecWorkerArray []GetAppSpecWorkerInput + +func (GetAppSpecWorkerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAppSpecWorker)(nil)).Elem() } -// GetAppSpecStaticSiteCorsAllowOriginsPtrInput is an input type that accepts GetAppSpecStaticSiteCorsAllowOriginsArgs, GetAppSpecStaticSiteCorsAllowOriginsPtr and GetAppSpecStaticSiteCorsAllowOriginsPtrOutput values. -// You can construct a concrete instance of `GetAppSpecStaticSiteCorsAllowOriginsPtrInput` via: -// -// GetAppSpecStaticSiteCorsAllowOriginsArgs{...} -// -// or: -// -// nil -type GetAppSpecStaticSiteCorsAllowOriginsPtrInput interface { - pulumi.Input +func (i GetAppSpecWorkerArray) ToGetAppSpecWorkerArrayOutput() GetAppSpecWorkerArrayOutput { + return i.ToGetAppSpecWorkerArrayOutputWithContext(context.Background()) +} - ToGetAppSpecStaticSiteCorsAllowOriginsPtrOutput() GetAppSpecStaticSiteCorsAllowOriginsPtrOutput - ToGetAppSpecStaticSiteCorsAllowOriginsPtrOutputWithContext(context.Context) GetAppSpecStaticSiteCorsAllowOriginsPtrOutput +func (i GetAppSpecWorkerArray) ToGetAppSpecWorkerArrayOutputWithContext(ctx context.Context) GetAppSpecWorkerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecWorkerArrayOutput) } -type getAppSpecStaticSiteCorsAllowOriginsPtrType GetAppSpecStaticSiteCorsAllowOriginsArgs +type GetAppSpecWorkerOutput struct{ *pulumi.OutputState } -func GetAppSpecStaticSiteCorsAllowOriginsPtr(v *GetAppSpecStaticSiteCorsAllowOriginsArgs) GetAppSpecStaticSiteCorsAllowOriginsPtrInput { - return (*getAppSpecStaticSiteCorsAllowOriginsPtrType)(v) +func (GetAppSpecWorkerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecWorker)(nil)).Elem() } -func (*getAppSpecStaticSiteCorsAllowOriginsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**GetAppSpecStaticSiteCorsAllowOrigins)(nil)).Elem() +func (o GetAppSpecWorkerOutput) ToGetAppSpecWorkerOutput() GetAppSpecWorkerOutput { + return o } -func (i *getAppSpecStaticSiteCorsAllowOriginsPtrType) ToGetAppSpecStaticSiteCorsAllowOriginsPtrOutput() GetAppSpecStaticSiteCorsAllowOriginsPtrOutput { - return i.ToGetAppSpecStaticSiteCorsAllowOriginsPtrOutputWithContext(context.Background()) +func (o GetAppSpecWorkerOutput) ToGetAppSpecWorkerOutputWithContext(ctx context.Context) GetAppSpecWorkerOutput { + return o } -func (i *getAppSpecStaticSiteCorsAllowOriginsPtrType) ToGetAppSpecStaticSiteCorsAllowOriginsPtrOutputWithContext(ctx context.Context) GetAppSpecStaticSiteCorsAllowOriginsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecStaticSiteCorsAllowOriginsPtrOutput) +func (o GetAppSpecWorkerOutput) Alerts() GetAppSpecWorkerAlertArrayOutput { + return o.ApplyT(func(v GetAppSpecWorker) []GetAppSpecWorkerAlert { return v.Alerts }).(GetAppSpecWorkerAlertArrayOutput) } -type GetAppSpecStaticSiteCorsAllowOriginsOutput struct{ *pulumi.OutputState } +// An optional build command to run while building this component from source. +func (o GetAppSpecWorkerOutput) BuildCommand() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecWorker) *string { return v.BuildCommand }).(pulumi.StringPtrOutput) +} -func (GetAppSpecStaticSiteCorsAllowOriginsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecStaticSiteCorsAllowOrigins)(nil)).Elem() +// The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. +func (o GetAppSpecWorkerOutput) DockerfilePath() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecWorker) *string { return v.DockerfilePath }).(pulumi.StringPtrOutput) } -func (o GetAppSpecStaticSiteCorsAllowOriginsOutput) ToGetAppSpecStaticSiteCorsAllowOriginsOutput() GetAppSpecStaticSiteCorsAllowOriginsOutput { - return o +// An environment slug describing the type of this app. +func (o GetAppSpecWorkerOutput) EnvironmentSlug() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecWorker) *string { return v.EnvironmentSlug }).(pulumi.StringPtrOutput) } -func (o GetAppSpecStaticSiteCorsAllowOriginsOutput) ToGetAppSpecStaticSiteCorsAllowOriginsOutputWithContext(ctx context.Context) GetAppSpecStaticSiteCorsAllowOriginsOutput { - return o +// Describes an environment variable made available to an app competent. +func (o GetAppSpecWorkerOutput) Envs() GetAppSpecWorkerEnvArrayOutput { + return o.ApplyT(func(v GetAppSpecWorker) []GetAppSpecWorkerEnv { return v.Envs }).(GetAppSpecWorkerEnvArrayOutput) } -func (o GetAppSpecStaticSiteCorsAllowOriginsOutput) ToGetAppSpecStaticSiteCorsAllowOriginsPtrOutput() GetAppSpecStaticSiteCorsAllowOriginsPtrOutput { - return o.ToGetAppSpecStaticSiteCorsAllowOriginsPtrOutputWithContext(context.Background()) +// A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set. +func (o GetAppSpecWorkerOutput) Git() GetAppSpecWorkerGitPtrOutput { + return o.ApplyT(func(v GetAppSpecWorker) *GetAppSpecWorkerGit { return v.Git }).(GetAppSpecWorkerGitPtrOutput) } -func (o GetAppSpecStaticSiteCorsAllowOriginsOutput) ToGetAppSpecStaticSiteCorsAllowOriginsPtrOutputWithContext(ctx context.Context) GetAppSpecStaticSiteCorsAllowOriginsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecStaticSiteCorsAllowOrigins) *GetAppSpecStaticSiteCorsAllowOrigins { - return &v - }).(GetAppSpecStaticSiteCorsAllowOriginsPtrOutput) +// A GitHub repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/github/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. +func (o GetAppSpecWorkerOutput) Github() GetAppSpecWorkerGithubPtrOutput { + return o.ApplyT(func(v GetAppSpecWorker) *GetAppSpecWorkerGithub { return v.Github }).(GetAppSpecWorkerGithubPtrOutput) } -func (o GetAppSpecStaticSiteCorsAllowOriginsOutput) Exact() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecStaticSiteCorsAllowOrigins) *string { return v.Exact }).(pulumi.StringPtrOutput) +// A Gitlab repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/gitlab/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. +func (o GetAppSpecWorkerOutput) Gitlab() GetAppSpecWorkerGitlabPtrOutput { + return o.ApplyT(func(v GetAppSpecWorker) *GetAppSpecWorkerGitlab { return v.Gitlab }).(GetAppSpecWorkerGitlabPtrOutput) } -func (o GetAppSpecStaticSiteCorsAllowOriginsOutput) Prefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecStaticSiteCorsAllowOrigins) *string { return v.Prefix }).(pulumi.StringPtrOutput) +// An image to use as the component's source. Only one of `git`, `github`, `gitlab`, or `image` may be set. +func (o GetAppSpecWorkerOutput) Image() GetAppSpecWorkerImagePtrOutput { + return o.ApplyT(func(v GetAppSpecWorker) *GetAppSpecWorkerImage { return v.Image }).(GetAppSpecWorkerImagePtrOutput) } -func (o GetAppSpecStaticSiteCorsAllowOriginsOutput) Regex() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecStaticSiteCorsAllowOrigins) *string { return v.Regex }).(pulumi.StringPtrOutput) +// The amount of instances that this component should be scaled to. +func (o GetAppSpecWorkerOutput) InstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v GetAppSpecWorker) *int { return v.InstanceCount }).(pulumi.IntPtrOutput) } -type GetAppSpecStaticSiteCorsAllowOriginsPtrOutput struct{ *pulumi.OutputState } +// The instance size to use for this component. +func (o GetAppSpecWorkerOutput) InstanceSizeSlug() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecWorker) *string { return v.InstanceSizeSlug }).(pulumi.StringPtrOutput) +} -func (GetAppSpecStaticSiteCorsAllowOriginsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**GetAppSpecStaticSiteCorsAllowOrigins)(nil)).Elem() +func (o GetAppSpecWorkerOutput) LogDestinations() GetAppSpecWorkerLogDestinationArrayOutput { + return o.ApplyT(func(v GetAppSpecWorker) []GetAppSpecWorkerLogDestination { return v.LogDestinations }).(GetAppSpecWorkerLogDestinationArrayOutput) } -func (o GetAppSpecStaticSiteCorsAllowOriginsPtrOutput) ToGetAppSpecStaticSiteCorsAllowOriginsPtrOutput() GetAppSpecStaticSiteCorsAllowOriginsPtrOutput { - return o +// The name of the component. +func (o GetAppSpecWorkerOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetAppSpecWorker) string { return v.Name }).(pulumi.StringOutput) } -func (o GetAppSpecStaticSiteCorsAllowOriginsPtrOutput) ToGetAppSpecStaticSiteCorsAllowOriginsPtrOutputWithContext(ctx context.Context) GetAppSpecStaticSiteCorsAllowOriginsPtrOutput { - return o +// An optional run command to override the component's default. +func (o GetAppSpecWorkerOutput) RunCommand() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecWorker) *string { return v.RunCommand }).(pulumi.StringPtrOutput) } -func (o GetAppSpecStaticSiteCorsAllowOriginsPtrOutput) Elem() GetAppSpecStaticSiteCorsAllowOriginsOutput { - return o.ApplyT(func(v *GetAppSpecStaticSiteCorsAllowOrigins) GetAppSpecStaticSiteCorsAllowOrigins { - if v != nil { - return *v - } - var ret GetAppSpecStaticSiteCorsAllowOrigins - return ret - }).(GetAppSpecStaticSiteCorsAllowOriginsOutput) +// An optional path to the working directory to use for the build. +func (o GetAppSpecWorkerOutput) SourceDir() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecWorker) *string { return v.SourceDir }).(pulumi.StringPtrOutput) } -func (o GetAppSpecStaticSiteCorsAllowOriginsPtrOutput) Exact() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetAppSpecStaticSiteCorsAllowOrigins) *string { - if v == nil { - return nil - } - return v.Exact - }).(pulumi.StringPtrOutput) +type GetAppSpecWorkerArrayOutput struct{ *pulumi.OutputState } + +func (GetAppSpecWorkerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAppSpecWorker)(nil)).Elem() } -func (o GetAppSpecStaticSiteCorsAllowOriginsPtrOutput) Prefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetAppSpecStaticSiteCorsAllowOrigins) *string { - if v == nil { - return nil - } - return v.Prefix - }).(pulumi.StringPtrOutput) +func (o GetAppSpecWorkerArrayOutput) ToGetAppSpecWorkerArrayOutput() GetAppSpecWorkerArrayOutput { + return o } -func (o GetAppSpecStaticSiteCorsAllowOriginsPtrOutput) Regex() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetAppSpecStaticSiteCorsAllowOrigins) *string { - if v == nil { - return nil - } - return v.Regex - }).(pulumi.StringPtrOutput) +func (o GetAppSpecWorkerArrayOutput) ToGetAppSpecWorkerArrayOutputWithContext(ctx context.Context) GetAppSpecWorkerArrayOutput { + return o } -type GetAppSpecStaticSiteEnv struct { - // The name of the environment variable. - Key *string `pulumi:"key"` - // The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). - Scope *string `pulumi:"scope"` - // The type of the environment variable, `GENERAL` or `SECRET`. - Type string `pulumi:"type"` +func (o GetAppSpecWorkerArrayOutput) Index(i pulumi.IntInput) GetAppSpecWorkerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAppSpecWorker { + return vs[0].([]GetAppSpecWorker)[vs[1].(int)] + }).(GetAppSpecWorkerOutput) +} + +type GetAppSpecWorkerAlert struct { + Disabled *bool `pulumi:"disabled"` + Operator string `pulumi:"operator"` + Rule string `pulumi:"rule"` // The value of the environment variable. - Value *string `pulumi:"value"` + Value float64 `pulumi:"value"` + Window string `pulumi:"window"` } -// GetAppSpecStaticSiteEnvInput is an input type that accepts GetAppSpecStaticSiteEnvArgs and GetAppSpecStaticSiteEnvOutput values. -// You can construct a concrete instance of `GetAppSpecStaticSiteEnvInput` via: +// GetAppSpecWorkerAlertInput is an input type that accepts GetAppSpecWorkerAlertArgs and GetAppSpecWorkerAlertOutput values. +// You can construct a concrete instance of `GetAppSpecWorkerAlertInput` via: // -// GetAppSpecStaticSiteEnvArgs{...} -type GetAppSpecStaticSiteEnvInput interface { +// GetAppSpecWorkerAlertArgs{...} +type GetAppSpecWorkerAlertInput interface { pulumi.Input - ToGetAppSpecStaticSiteEnvOutput() GetAppSpecStaticSiteEnvOutput - ToGetAppSpecStaticSiteEnvOutputWithContext(context.Context) GetAppSpecStaticSiteEnvOutput + ToGetAppSpecWorkerAlertOutput() GetAppSpecWorkerAlertOutput + ToGetAppSpecWorkerAlertOutputWithContext(context.Context) GetAppSpecWorkerAlertOutput } -type GetAppSpecStaticSiteEnvArgs struct { - // The name of the environment variable. - Key pulumi.StringPtrInput `pulumi:"key"` - // The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). - Scope pulumi.StringPtrInput `pulumi:"scope"` - // The type of the environment variable, `GENERAL` or `SECRET`. - Type pulumi.StringInput `pulumi:"type"` +type GetAppSpecWorkerAlertArgs struct { + Disabled pulumi.BoolPtrInput `pulumi:"disabled"` + Operator pulumi.StringInput `pulumi:"operator"` + Rule pulumi.StringInput `pulumi:"rule"` // The value of the environment variable. - Value pulumi.StringPtrInput `pulumi:"value"` + Value pulumi.Float64Input `pulumi:"value"` + Window pulumi.StringInput `pulumi:"window"` } -func (GetAppSpecStaticSiteEnvArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecStaticSiteEnv)(nil)).Elem() +func (GetAppSpecWorkerAlertArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecWorkerAlert)(nil)).Elem() } -func (i GetAppSpecStaticSiteEnvArgs) ToGetAppSpecStaticSiteEnvOutput() GetAppSpecStaticSiteEnvOutput { - return i.ToGetAppSpecStaticSiteEnvOutputWithContext(context.Background()) +func (i GetAppSpecWorkerAlertArgs) ToGetAppSpecWorkerAlertOutput() GetAppSpecWorkerAlertOutput { + return i.ToGetAppSpecWorkerAlertOutputWithContext(context.Background()) } -func (i GetAppSpecStaticSiteEnvArgs) ToGetAppSpecStaticSiteEnvOutputWithContext(ctx context.Context) GetAppSpecStaticSiteEnvOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecStaticSiteEnvOutput) +func (i GetAppSpecWorkerAlertArgs) ToGetAppSpecWorkerAlertOutputWithContext(ctx context.Context) GetAppSpecWorkerAlertOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecWorkerAlertOutput) } -// GetAppSpecStaticSiteEnvArrayInput is an input type that accepts GetAppSpecStaticSiteEnvArray and GetAppSpecStaticSiteEnvArrayOutput values. -// You can construct a concrete instance of `GetAppSpecStaticSiteEnvArrayInput` via: +// GetAppSpecWorkerAlertArrayInput is an input type that accepts GetAppSpecWorkerAlertArray and GetAppSpecWorkerAlertArrayOutput values. +// You can construct a concrete instance of `GetAppSpecWorkerAlertArrayInput` via: // -// GetAppSpecStaticSiteEnvArray{ GetAppSpecStaticSiteEnvArgs{...} } -type GetAppSpecStaticSiteEnvArrayInput interface { +// GetAppSpecWorkerAlertArray{ GetAppSpecWorkerAlertArgs{...} } +type GetAppSpecWorkerAlertArrayInput interface { pulumi.Input - ToGetAppSpecStaticSiteEnvArrayOutput() GetAppSpecStaticSiteEnvArrayOutput - ToGetAppSpecStaticSiteEnvArrayOutputWithContext(context.Context) GetAppSpecStaticSiteEnvArrayOutput + ToGetAppSpecWorkerAlertArrayOutput() GetAppSpecWorkerAlertArrayOutput + ToGetAppSpecWorkerAlertArrayOutputWithContext(context.Context) GetAppSpecWorkerAlertArrayOutput } -type GetAppSpecStaticSiteEnvArray []GetAppSpecStaticSiteEnvInput +type GetAppSpecWorkerAlertArray []GetAppSpecWorkerAlertInput -func (GetAppSpecStaticSiteEnvArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetAppSpecStaticSiteEnv)(nil)).Elem() +func (GetAppSpecWorkerAlertArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAppSpecWorkerAlert)(nil)).Elem() } -func (i GetAppSpecStaticSiteEnvArray) ToGetAppSpecStaticSiteEnvArrayOutput() GetAppSpecStaticSiteEnvArrayOutput { - return i.ToGetAppSpecStaticSiteEnvArrayOutputWithContext(context.Background()) +func (i GetAppSpecWorkerAlertArray) ToGetAppSpecWorkerAlertArrayOutput() GetAppSpecWorkerAlertArrayOutput { + return i.ToGetAppSpecWorkerAlertArrayOutputWithContext(context.Background()) } -func (i GetAppSpecStaticSiteEnvArray) ToGetAppSpecStaticSiteEnvArrayOutputWithContext(ctx context.Context) GetAppSpecStaticSiteEnvArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecStaticSiteEnvArrayOutput) +func (i GetAppSpecWorkerAlertArray) ToGetAppSpecWorkerAlertArrayOutputWithContext(ctx context.Context) GetAppSpecWorkerAlertArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecWorkerAlertArrayOutput) } -type GetAppSpecStaticSiteEnvOutput struct{ *pulumi.OutputState } +type GetAppSpecWorkerAlertOutput struct{ *pulumi.OutputState } -func (GetAppSpecStaticSiteEnvOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecStaticSiteEnv)(nil)).Elem() +func (GetAppSpecWorkerAlertOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecWorkerAlert)(nil)).Elem() } -func (o GetAppSpecStaticSiteEnvOutput) ToGetAppSpecStaticSiteEnvOutput() GetAppSpecStaticSiteEnvOutput { +func (o GetAppSpecWorkerAlertOutput) ToGetAppSpecWorkerAlertOutput() GetAppSpecWorkerAlertOutput { return o } -func (o GetAppSpecStaticSiteEnvOutput) ToGetAppSpecStaticSiteEnvOutputWithContext(ctx context.Context) GetAppSpecStaticSiteEnvOutput { +func (o GetAppSpecWorkerAlertOutput) ToGetAppSpecWorkerAlertOutputWithContext(ctx context.Context) GetAppSpecWorkerAlertOutput { return o } -// The name of the environment variable. -func (o GetAppSpecStaticSiteEnvOutput) Key() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecStaticSiteEnv) *string { return v.Key }).(pulumi.StringPtrOutput) +func (o GetAppSpecWorkerAlertOutput) Disabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GetAppSpecWorkerAlert) *bool { return v.Disabled }).(pulumi.BoolPtrOutput) } -// The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). -func (o GetAppSpecStaticSiteEnvOutput) Scope() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecStaticSiteEnv) *string { return v.Scope }).(pulumi.StringPtrOutput) +func (o GetAppSpecWorkerAlertOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v GetAppSpecWorkerAlert) string { return v.Operator }).(pulumi.StringOutput) } -// The type of the environment variable, `GENERAL` or `SECRET`. -func (o GetAppSpecStaticSiteEnvOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v GetAppSpecStaticSiteEnv) string { return v.Type }).(pulumi.StringOutput) +func (o GetAppSpecWorkerAlertOutput) Rule() pulumi.StringOutput { + return o.ApplyT(func(v GetAppSpecWorkerAlert) string { return v.Rule }).(pulumi.StringOutput) } // The value of the environment variable. -func (o GetAppSpecStaticSiteEnvOutput) Value() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecStaticSiteEnv) *string { return v.Value }).(pulumi.StringPtrOutput) +func (o GetAppSpecWorkerAlertOutput) Value() pulumi.Float64Output { + return o.ApplyT(func(v GetAppSpecWorkerAlert) float64 { return v.Value }).(pulumi.Float64Output) } -type GetAppSpecStaticSiteEnvArrayOutput struct{ *pulumi.OutputState } +func (o GetAppSpecWorkerAlertOutput) Window() pulumi.StringOutput { + return o.ApplyT(func(v GetAppSpecWorkerAlert) string { return v.Window }).(pulumi.StringOutput) +} -func (GetAppSpecStaticSiteEnvArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetAppSpecStaticSiteEnv)(nil)).Elem() +type GetAppSpecWorkerAlertArrayOutput struct{ *pulumi.OutputState } + +func (GetAppSpecWorkerAlertArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAppSpecWorkerAlert)(nil)).Elem() } -func (o GetAppSpecStaticSiteEnvArrayOutput) ToGetAppSpecStaticSiteEnvArrayOutput() GetAppSpecStaticSiteEnvArrayOutput { +func (o GetAppSpecWorkerAlertArrayOutput) ToGetAppSpecWorkerAlertArrayOutput() GetAppSpecWorkerAlertArrayOutput { return o } -func (o GetAppSpecStaticSiteEnvArrayOutput) ToGetAppSpecStaticSiteEnvArrayOutputWithContext(ctx context.Context) GetAppSpecStaticSiteEnvArrayOutput { +func (o GetAppSpecWorkerAlertArrayOutput) ToGetAppSpecWorkerAlertArrayOutputWithContext(ctx context.Context) GetAppSpecWorkerAlertArrayOutput { return o } -func (o GetAppSpecStaticSiteEnvArrayOutput) Index(i pulumi.IntInput) GetAppSpecStaticSiteEnvOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAppSpecStaticSiteEnv { - return vs[0].([]GetAppSpecStaticSiteEnv)[vs[1].(int)] - }).(GetAppSpecStaticSiteEnvOutput) +func (o GetAppSpecWorkerAlertArrayOutput) Index(i pulumi.IntInput) GetAppSpecWorkerAlertOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAppSpecWorkerAlert { + return vs[0].([]GetAppSpecWorkerAlert)[vs[1].(int)] + }).(GetAppSpecWorkerAlertOutput) } -type GetAppSpecStaticSiteGit struct { - // The name of the branch to use. - Branch *string `pulumi:"branch"` - // The clone URL of the repo. - RepoCloneUrl *string `pulumi:"repoCloneUrl"` +type GetAppSpecWorkerEnv struct { + // The name of the environment variable. + Key *string `pulumi:"key"` + // The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). + Scope *string `pulumi:"scope"` + // The type of the environment variable, `GENERAL` or `SECRET`. + Type string `pulumi:"type"` + // The value of the environment variable. + Value *string `pulumi:"value"` } -// GetAppSpecStaticSiteGitInput is an input type that accepts GetAppSpecStaticSiteGitArgs and GetAppSpecStaticSiteGitOutput values. -// You can construct a concrete instance of `GetAppSpecStaticSiteGitInput` via: +// GetAppSpecWorkerEnvInput is an input type that accepts GetAppSpecWorkerEnvArgs and GetAppSpecWorkerEnvOutput values. +// You can construct a concrete instance of `GetAppSpecWorkerEnvInput` via: // -// GetAppSpecStaticSiteGitArgs{...} -type GetAppSpecStaticSiteGitInput interface { +// GetAppSpecWorkerEnvArgs{...} +type GetAppSpecWorkerEnvInput interface { pulumi.Input - ToGetAppSpecStaticSiteGitOutput() GetAppSpecStaticSiteGitOutput - ToGetAppSpecStaticSiteGitOutputWithContext(context.Context) GetAppSpecStaticSiteGitOutput -} - -type GetAppSpecStaticSiteGitArgs struct { - // The name of the branch to use. - Branch pulumi.StringPtrInput `pulumi:"branch"` - // The clone URL of the repo. - RepoCloneUrl pulumi.StringPtrInput `pulumi:"repoCloneUrl"` -} - -func (GetAppSpecStaticSiteGitArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecStaticSiteGit)(nil)).Elem() + ToGetAppSpecWorkerEnvOutput() GetAppSpecWorkerEnvOutput + ToGetAppSpecWorkerEnvOutputWithContext(context.Context) GetAppSpecWorkerEnvOutput } -func (i GetAppSpecStaticSiteGitArgs) ToGetAppSpecStaticSiteGitOutput() GetAppSpecStaticSiteGitOutput { - return i.ToGetAppSpecStaticSiteGitOutputWithContext(context.Background()) +type GetAppSpecWorkerEnvArgs struct { + // The name of the environment variable. + Key pulumi.StringPtrInput `pulumi:"key"` + // The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). + Scope pulumi.StringPtrInput `pulumi:"scope"` + // The type of the environment variable, `GENERAL` or `SECRET`. + Type pulumi.StringInput `pulumi:"type"` + // The value of the environment variable. + Value pulumi.StringPtrInput `pulumi:"value"` } -func (i GetAppSpecStaticSiteGitArgs) ToGetAppSpecStaticSiteGitOutputWithContext(ctx context.Context) GetAppSpecStaticSiteGitOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecStaticSiteGitOutput) +func (GetAppSpecWorkerEnvArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecWorkerEnv)(nil)).Elem() } -func (i GetAppSpecStaticSiteGitArgs) ToGetAppSpecStaticSiteGitPtrOutput() GetAppSpecStaticSiteGitPtrOutput { - return i.ToGetAppSpecStaticSiteGitPtrOutputWithContext(context.Background()) +func (i GetAppSpecWorkerEnvArgs) ToGetAppSpecWorkerEnvOutput() GetAppSpecWorkerEnvOutput { + return i.ToGetAppSpecWorkerEnvOutputWithContext(context.Background()) } -func (i GetAppSpecStaticSiteGitArgs) ToGetAppSpecStaticSiteGitPtrOutputWithContext(ctx context.Context) GetAppSpecStaticSiteGitPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecStaticSiteGitOutput).ToGetAppSpecStaticSiteGitPtrOutputWithContext(ctx) +func (i GetAppSpecWorkerEnvArgs) ToGetAppSpecWorkerEnvOutputWithContext(ctx context.Context) GetAppSpecWorkerEnvOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecWorkerEnvOutput) } -// GetAppSpecStaticSiteGitPtrInput is an input type that accepts GetAppSpecStaticSiteGitArgs, GetAppSpecStaticSiteGitPtr and GetAppSpecStaticSiteGitPtrOutput values. -// You can construct a concrete instance of `GetAppSpecStaticSiteGitPtrInput` via: -// -// GetAppSpecStaticSiteGitArgs{...} -// -// or: +// GetAppSpecWorkerEnvArrayInput is an input type that accepts GetAppSpecWorkerEnvArray and GetAppSpecWorkerEnvArrayOutput values. +// You can construct a concrete instance of `GetAppSpecWorkerEnvArrayInput` via: // -// nil -type GetAppSpecStaticSiteGitPtrInput interface { +// GetAppSpecWorkerEnvArray{ GetAppSpecWorkerEnvArgs{...} } +type GetAppSpecWorkerEnvArrayInput interface { pulumi.Input - ToGetAppSpecStaticSiteGitPtrOutput() GetAppSpecStaticSiteGitPtrOutput - ToGetAppSpecStaticSiteGitPtrOutputWithContext(context.Context) GetAppSpecStaticSiteGitPtrOutput + ToGetAppSpecWorkerEnvArrayOutput() GetAppSpecWorkerEnvArrayOutput + ToGetAppSpecWorkerEnvArrayOutputWithContext(context.Context) GetAppSpecWorkerEnvArrayOutput } -type getAppSpecStaticSiteGitPtrType GetAppSpecStaticSiteGitArgs - -func GetAppSpecStaticSiteGitPtr(v *GetAppSpecStaticSiteGitArgs) GetAppSpecStaticSiteGitPtrInput { - return (*getAppSpecStaticSiteGitPtrType)(v) -} +type GetAppSpecWorkerEnvArray []GetAppSpecWorkerEnvInput -func (*getAppSpecStaticSiteGitPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**GetAppSpecStaticSiteGit)(nil)).Elem() +func (GetAppSpecWorkerEnvArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAppSpecWorkerEnv)(nil)).Elem() } -func (i *getAppSpecStaticSiteGitPtrType) ToGetAppSpecStaticSiteGitPtrOutput() GetAppSpecStaticSiteGitPtrOutput { - return i.ToGetAppSpecStaticSiteGitPtrOutputWithContext(context.Background()) +func (i GetAppSpecWorkerEnvArray) ToGetAppSpecWorkerEnvArrayOutput() GetAppSpecWorkerEnvArrayOutput { + return i.ToGetAppSpecWorkerEnvArrayOutputWithContext(context.Background()) } -func (i *getAppSpecStaticSiteGitPtrType) ToGetAppSpecStaticSiteGitPtrOutputWithContext(ctx context.Context) GetAppSpecStaticSiteGitPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecStaticSiteGitPtrOutput) +func (i GetAppSpecWorkerEnvArray) ToGetAppSpecWorkerEnvArrayOutputWithContext(ctx context.Context) GetAppSpecWorkerEnvArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecWorkerEnvArrayOutput) } -type GetAppSpecStaticSiteGitOutput struct{ *pulumi.OutputState } +type GetAppSpecWorkerEnvOutput struct{ *pulumi.OutputState } -func (GetAppSpecStaticSiteGitOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecStaticSiteGit)(nil)).Elem() +func (GetAppSpecWorkerEnvOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecWorkerEnv)(nil)).Elem() } -func (o GetAppSpecStaticSiteGitOutput) ToGetAppSpecStaticSiteGitOutput() GetAppSpecStaticSiteGitOutput { +func (o GetAppSpecWorkerEnvOutput) ToGetAppSpecWorkerEnvOutput() GetAppSpecWorkerEnvOutput { return o } -func (o GetAppSpecStaticSiteGitOutput) ToGetAppSpecStaticSiteGitOutputWithContext(ctx context.Context) GetAppSpecStaticSiteGitOutput { +func (o GetAppSpecWorkerEnvOutput) ToGetAppSpecWorkerEnvOutputWithContext(ctx context.Context) GetAppSpecWorkerEnvOutput { return o } -func (o GetAppSpecStaticSiteGitOutput) ToGetAppSpecStaticSiteGitPtrOutput() GetAppSpecStaticSiteGitPtrOutput { - return o.ToGetAppSpecStaticSiteGitPtrOutputWithContext(context.Background()) -} - -func (o GetAppSpecStaticSiteGitOutput) ToGetAppSpecStaticSiteGitPtrOutputWithContext(ctx context.Context) GetAppSpecStaticSiteGitPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecStaticSiteGit) *GetAppSpecStaticSiteGit { - return &v - }).(GetAppSpecStaticSiteGitPtrOutput) +// The name of the environment variable. +func (o GetAppSpecWorkerEnvOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecWorkerEnv) *string { return v.Key }).(pulumi.StringPtrOutput) } -// The name of the branch to use. -func (o GetAppSpecStaticSiteGitOutput) Branch() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecStaticSiteGit) *string { return v.Branch }).(pulumi.StringPtrOutput) +// The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). +func (o GetAppSpecWorkerEnvOutput) Scope() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecWorkerEnv) *string { return v.Scope }).(pulumi.StringPtrOutput) } -// The clone URL of the repo. -func (o GetAppSpecStaticSiteGitOutput) RepoCloneUrl() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecStaticSiteGit) *string { return v.RepoCloneUrl }).(pulumi.StringPtrOutput) +// The type of the environment variable, `GENERAL` or `SECRET`. +func (o GetAppSpecWorkerEnvOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetAppSpecWorkerEnv) string { return v.Type }).(pulumi.StringOutput) } -type GetAppSpecStaticSiteGitPtrOutput struct{ *pulumi.OutputState } - -func (GetAppSpecStaticSiteGitPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**GetAppSpecStaticSiteGit)(nil)).Elem() +// The value of the environment variable. +func (o GetAppSpecWorkerEnvOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecWorkerEnv) *string { return v.Value }).(pulumi.StringPtrOutput) } -func (o GetAppSpecStaticSiteGitPtrOutput) ToGetAppSpecStaticSiteGitPtrOutput() GetAppSpecStaticSiteGitPtrOutput { - return o -} +type GetAppSpecWorkerEnvArrayOutput struct{ *pulumi.OutputState } -func (o GetAppSpecStaticSiteGitPtrOutput) ToGetAppSpecStaticSiteGitPtrOutputWithContext(ctx context.Context) GetAppSpecStaticSiteGitPtrOutput { - return o +func (GetAppSpecWorkerEnvArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAppSpecWorkerEnv)(nil)).Elem() } -func (o GetAppSpecStaticSiteGitPtrOutput) Elem() GetAppSpecStaticSiteGitOutput { - return o.ApplyT(func(v *GetAppSpecStaticSiteGit) GetAppSpecStaticSiteGit { - if v != nil { - return *v - } - var ret GetAppSpecStaticSiteGit - return ret - }).(GetAppSpecStaticSiteGitOutput) +func (o GetAppSpecWorkerEnvArrayOutput) ToGetAppSpecWorkerEnvArrayOutput() GetAppSpecWorkerEnvArrayOutput { + return o } -// The name of the branch to use. -func (o GetAppSpecStaticSiteGitPtrOutput) Branch() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetAppSpecStaticSiteGit) *string { - if v == nil { - return nil - } - return v.Branch - }).(pulumi.StringPtrOutput) +func (o GetAppSpecWorkerEnvArrayOutput) ToGetAppSpecWorkerEnvArrayOutputWithContext(ctx context.Context) GetAppSpecWorkerEnvArrayOutput { + return o } -// The clone URL of the repo. -func (o GetAppSpecStaticSiteGitPtrOutput) RepoCloneUrl() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetAppSpecStaticSiteGit) *string { - if v == nil { - return nil - } - return v.RepoCloneUrl - }).(pulumi.StringPtrOutput) +func (o GetAppSpecWorkerEnvArrayOutput) Index(i pulumi.IntInput) GetAppSpecWorkerEnvOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAppSpecWorkerEnv { + return vs[0].([]GetAppSpecWorkerEnv)[vs[1].(int)] + }).(GetAppSpecWorkerEnvOutput) } -type GetAppSpecStaticSiteGithub struct { +type GetAppSpecWorkerGit struct { // The name of the branch to use. Branch *string `pulumi:"branch"` - // Whether to automatically deploy new commits made to the repo. - DeployOnPush *bool `pulumi:"deployOnPush"` - // The name of the repo in the format `owner/repo`. - Repo *string `pulumi:"repo"` + // The clone URL of the repo. + RepoCloneUrl *string `pulumi:"repoCloneUrl"` } -// GetAppSpecStaticSiteGithubInput is an input type that accepts GetAppSpecStaticSiteGithubArgs and GetAppSpecStaticSiteGithubOutput values. -// You can construct a concrete instance of `GetAppSpecStaticSiteGithubInput` via: +// GetAppSpecWorkerGitInput is an input type that accepts GetAppSpecWorkerGitArgs and GetAppSpecWorkerGitOutput values. +// You can construct a concrete instance of `GetAppSpecWorkerGitInput` via: // -// GetAppSpecStaticSiteGithubArgs{...} -type GetAppSpecStaticSiteGithubInput interface { +// GetAppSpecWorkerGitArgs{...} +type GetAppSpecWorkerGitInput interface { pulumi.Input - ToGetAppSpecStaticSiteGithubOutput() GetAppSpecStaticSiteGithubOutput - ToGetAppSpecStaticSiteGithubOutputWithContext(context.Context) GetAppSpecStaticSiteGithubOutput + ToGetAppSpecWorkerGitOutput() GetAppSpecWorkerGitOutput + ToGetAppSpecWorkerGitOutputWithContext(context.Context) GetAppSpecWorkerGitOutput } -type GetAppSpecStaticSiteGithubArgs struct { +type GetAppSpecWorkerGitArgs struct { // The name of the branch to use. Branch pulumi.StringPtrInput `pulumi:"branch"` - // Whether to automatically deploy new commits made to the repo. - DeployOnPush pulumi.BoolPtrInput `pulumi:"deployOnPush"` - // The name of the repo in the format `owner/repo`. - Repo pulumi.StringPtrInput `pulumi:"repo"` + // The clone URL of the repo. + RepoCloneUrl pulumi.StringPtrInput `pulumi:"repoCloneUrl"` } -func (GetAppSpecStaticSiteGithubArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecStaticSiteGithub)(nil)).Elem() +func (GetAppSpecWorkerGitArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecWorkerGit)(nil)).Elem() } -func (i GetAppSpecStaticSiteGithubArgs) ToGetAppSpecStaticSiteGithubOutput() GetAppSpecStaticSiteGithubOutput { - return i.ToGetAppSpecStaticSiteGithubOutputWithContext(context.Background()) +func (i GetAppSpecWorkerGitArgs) ToGetAppSpecWorkerGitOutput() GetAppSpecWorkerGitOutput { + return i.ToGetAppSpecWorkerGitOutputWithContext(context.Background()) } -func (i GetAppSpecStaticSiteGithubArgs) ToGetAppSpecStaticSiteGithubOutputWithContext(ctx context.Context) GetAppSpecStaticSiteGithubOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecStaticSiteGithubOutput) +func (i GetAppSpecWorkerGitArgs) ToGetAppSpecWorkerGitOutputWithContext(ctx context.Context) GetAppSpecWorkerGitOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecWorkerGitOutput) } -func (i GetAppSpecStaticSiteGithubArgs) ToGetAppSpecStaticSiteGithubPtrOutput() GetAppSpecStaticSiteGithubPtrOutput { - return i.ToGetAppSpecStaticSiteGithubPtrOutputWithContext(context.Background()) +func (i GetAppSpecWorkerGitArgs) ToGetAppSpecWorkerGitPtrOutput() GetAppSpecWorkerGitPtrOutput { + return i.ToGetAppSpecWorkerGitPtrOutputWithContext(context.Background()) } -func (i GetAppSpecStaticSiteGithubArgs) ToGetAppSpecStaticSiteGithubPtrOutputWithContext(ctx context.Context) GetAppSpecStaticSiteGithubPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecStaticSiteGithubOutput).ToGetAppSpecStaticSiteGithubPtrOutputWithContext(ctx) +func (i GetAppSpecWorkerGitArgs) ToGetAppSpecWorkerGitPtrOutputWithContext(ctx context.Context) GetAppSpecWorkerGitPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecWorkerGitOutput).ToGetAppSpecWorkerGitPtrOutputWithContext(ctx) } -// GetAppSpecStaticSiteGithubPtrInput is an input type that accepts GetAppSpecStaticSiteGithubArgs, GetAppSpecStaticSiteGithubPtr and GetAppSpecStaticSiteGithubPtrOutput values. -// You can construct a concrete instance of `GetAppSpecStaticSiteGithubPtrInput` via: +// GetAppSpecWorkerGitPtrInput is an input type that accepts GetAppSpecWorkerGitArgs, GetAppSpecWorkerGitPtr and GetAppSpecWorkerGitPtrOutput values. +// You can construct a concrete instance of `GetAppSpecWorkerGitPtrInput` via: // -// GetAppSpecStaticSiteGithubArgs{...} +// GetAppSpecWorkerGitArgs{...} // // or: // // nil -type GetAppSpecStaticSiteGithubPtrInput interface { +type GetAppSpecWorkerGitPtrInput interface { pulumi.Input - ToGetAppSpecStaticSiteGithubPtrOutput() GetAppSpecStaticSiteGithubPtrOutput - ToGetAppSpecStaticSiteGithubPtrOutputWithContext(context.Context) GetAppSpecStaticSiteGithubPtrOutput + ToGetAppSpecWorkerGitPtrOutput() GetAppSpecWorkerGitPtrOutput + ToGetAppSpecWorkerGitPtrOutputWithContext(context.Context) GetAppSpecWorkerGitPtrOutput } -type getAppSpecStaticSiteGithubPtrType GetAppSpecStaticSiteGithubArgs +type getAppSpecWorkerGitPtrType GetAppSpecWorkerGitArgs -func GetAppSpecStaticSiteGithubPtr(v *GetAppSpecStaticSiteGithubArgs) GetAppSpecStaticSiteGithubPtrInput { - return (*getAppSpecStaticSiteGithubPtrType)(v) +func GetAppSpecWorkerGitPtr(v *GetAppSpecWorkerGitArgs) GetAppSpecWorkerGitPtrInput { + return (*getAppSpecWorkerGitPtrType)(v) } -func (*getAppSpecStaticSiteGithubPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**GetAppSpecStaticSiteGithub)(nil)).Elem() +func (*getAppSpecWorkerGitPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecWorkerGit)(nil)).Elem() } -func (i *getAppSpecStaticSiteGithubPtrType) ToGetAppSpecStaticSiteGithubPtrOutput() GetAppSpecStaticSiteGithubPtrOutput { - return i.ToGetAppSpecStaticSiteGithubPtrOutputWithContext(context.Background()) +func (i *getAppSpecWorkerGitPtrType) ToGetAppSpecWorkerGitPtrOutput() GetAppSpecWorkerGitPtrOutput { + return i.ToGetAppSpecWorkerGitPtrOutputWithContext(context.Background()) } -func (i *getAppSpecStaticSiteGithubPtrType) ToGetAppSpecStaticSiteGithubPtrOutputWithContext(ctx context.Context) GetAppSpecStaticSiteGithubPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecStaticSiteGithubPtrOutput) +func (i *getAppSpecWorkerGitPtrType) ToGetAppSpecWorkerGitPtrOutputWithContext(ctx context.Context) GetAppSpecWorkerGitPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecWorkerGitPtrOutput) } -type GetAppSpecStaticSiteGithubOutput struct{ *pulumi.OutputState } +type GetAppSpecWorkerGitOutput struct{ *pulumi.OutputState } -func (GetAppSpecStaticSiteGithubOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecStaticSiteGithub)(nil)).Elem() +func (GetAppSpecWorkerGitOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecWorkerGit)(nil)).Elem() } -func (o GetAppSpecStaticSiteGithubOutput) ToGetAppSpecStaticSiteGithubOutput() GetAppSpecStaticSiteGithubOutput { +func (o GetAppSpecWorkerGitOutput) ToGetAppSpecWorkerGitOutput() GetAppSpecWorkerGitOutput { return o } -func (o GetAppSpecStaticSiteGithubOutput) ToGetAppSpecStaticSiteGithubOutputWithContext(ctx context.Context) GetAppSpecStaticSiteGithubOutput { +func (o GetAppSpecWorkerGitOutput) ToGetAppSpecWorkerGitOutputWithContext(ctx context.Context) GetAppSpecWorkerGitOutput { return o } -func (o GetAppSpecStaticSiteGithubOutput) ToGetAppSpecStaticSiteGithubPtrOutput() GetAppSpecStaticSiteGithubPtrOutput { - return o.ToGetAppSpecStaticSiteGithubPtrOutputWithContext(context.Background()) +func (o GetAppSpecWorkerGitOutput) ToGetAppSpecWorkerGitPtrOutput() GetAppSpecWorkerGitPtrOutput { + return o.ToGetAppSpecWorkerGitPtrOutputWithContext(context.Background()) } -func (o GetAppSpecStaticSiteGithubOutput) ToGetAppSpecStaticSiteGithubPtrOutputWithContext(ctx context.Context) GetAppSpecStaticSiteGithubPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecStaticSiteGithub) *GetAppSpecStaticSiteGithub { +func (o GetAppSpecWorkerGitOutput) ToGetAppSpecWorkerGitPtrOutputWithContext(ctx context.Context) GetAppSpecWorkerGitPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecWorkerGit) *GetAppSpecWorkerGit { return &v - }).(GetAppSpecStaticSiteGithubPtrOutput) + }).(GetAppSpecWorkerGitPtrOutput) } // The name of the branch to use. -func (o GetAppSpecStaticSiteGithubOutput) Branch() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecStaticSiteGithub) *string { return v.Branch }).(pulumi.StringPtrOutput) -} - -// Whether to automatically deploy new commits made to the repo. -func (o GetAppSpecStaticSiteGithubOutput) DeployOnPush() pulumi.BoolPtrOutput { - return o.ApplyT(func(v GetAppSpecStaticSiteGithub) *bool { return v.DeployOnPush }).(pulumi.BoolPtrOutput) +func (o GetAppSpecWorkerGitOutput) Branch() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecWorkerGit) *string { return v.Branch }).(pulumi.StringPtrOutput) } -// The name of the repo in the format `owner/repo`. -func (o GetAppSpecStaticSiteGithubOutput) Repo() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecStaticSiteGithub) *string { return v.Repo }).(pulumi.StringPtrOutput) +// The clone URL of the repo. +func (o GetAppSpecWorkerGitOutput) RepoCloneUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecWorkerGit) *string { return v.RepoCloneUrl }).(pulumi.StringPtrOutput) } -type GetAppSpecStaticSiteGithubPtrOutput struct{ *pulumi.OutputState } +type GetAppSpecWorkerGitPtrOutput struct{ *pulumi.OutputState } -func (GetAppSpecStaticSiteGithubPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**GetAppSpecStaticSiteGithub)(nil)).Elem() +func (GetAppSpecWorkerGitPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecWorkerGit)(nil)).Elem() } -func (o GetAppSpecStaticSiteGithubPtrOutput) ToGetAppSpecStaticSiteGithubPtrOutput() GetAppSpecStaticSiteGithubPtrOutput { +func (o GetAppSpecWorkerGitPtrOutput) ToGetAppSpecWorkerGitPtrOutput() GetAppSpecWorkerGitPtrOutput { return o } -func (o GetAppSpecStaticSiteGithubPtrOutput) ToGetAppSpecStaticSiteGithubPtrOutputWithContext(ctx context.Context) GetAppSpecStaticSiteGithubPtrOutput { +func (o GetAppSpecWorkerGitPtrOutput) ToGetAppSpecWorkerGitPtrOutputWithContext(ctx context.Context) GetAppSpecWorkerGitPtrOutput { return o } -func (o GetAppSpecStaticSiteGithubPtrOutput) Elem() GetAppSpecStaticSiteGithubOutput { - return o.ApplyT(func(v *GetAppSpecStaticSiteGithub) GetAppSpecStaticSiteGithub { +func (o GetAppSpecWorkerGitPtrOutput) Elem() GetAppSpecWorkerGitOutput { + return o.ApplyT(func(v *GetAppSpecWorkerGit) GetAppSpecWorkerGit { if v != nil { return *v } - var ret GetAppSpecStaticSiteGithub + var ret GetAppSpecWorkerGit return ret - }).(GetAppSpecStaticSiteGithubOutput) + }).(GetAppSpecWorkerGitOutput) } // The name of the branch to use. -func (o GetAppSpecStaticSiteGithubPtrOutput) Branch() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetAppSpecStaticSiteGithub) *string { +func (o GetAppSpecWorkerGitPtrOutput) Branch() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecWorkerGit) *string { if v == nil { return nil } @@ -13759,27 +18340,17 @@ func (o GetAppSpecStaticSiteGithubPtrOutput) Branch() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } -// Whether to automatically deploy new commits made to the repo. -func (o GetAppSpecStaticSiteGithubPtrOutput) DeployOnPush() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *GetAppSpecStaticSiteGithub) *bool { - if v == nil { - return nil - } - return v.DeployOnPush - }).(pulumi.BoolPtrOutput) -} - -// The name of the repo in the format `owner/repo`. -func (o GetAppSpecStaticSiteGithubPtrOutput) Repo() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetAppSpecStaticSiteGithub) *string { +// The clone URL of the repo. +func (o GetAppSpecWorkerGitPtrOutput) RepoCloneUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecWorkerGit) *string { if v == nil { return nil } - return v.Repo + return v.RepoCloneUrl }).(pulumi.StringPtrOutput) } -type GetAppSpecStaticSiteGitlab struct { +type GetAppSpecWorkerGithub struct { // The name of the branch to use. Branch *string `pulumi:"branch"` // Whether to automatically deploy new commits made to the repo. @@ -13788,18 +18359,18 @@ type GetAppSpecStaticSiteGitlab struct { Repo *string `pulumi:"repo"` } -// GetAppSpecStaticSiteGitlabInput is an input type that accepts GetAppSpecStaticSiteGitlabArgs and GetAppSpecStaticSiteGitlabOutput values. -// You can construct a concrete instance of `GetAppSpecStaticSiteGitlabInput` via: +// GetAppSpecWorkerGithubInput is an input type that accepts GetAppSpecWorkerGithubArgs and GetAppSpecWorkerGithubOutput values. +// You can construct a concrete instance of `GetAppSpecWorkerGithubInput` via: // -// GetAppSpecStaticSiteGitlabArgs{...} -type GetAppSpecStaticSiteGitlabInput interface { +// GetAppSpecWorkerGithubArgs{...} +type GetAppSpecWorkerGithubInput interface { pulumi.Input - ToGetAppSpecStaticSiteGitlabOutput() GetAppSpecStaticSiteGitlabOutput - ToGetAppSpecStaticSiteGitlabOutputWithContext(context.Context) GetAppSpecStaticSiteGitlabOutput + ToGetAppSpecWorkerGithubOutput() GetAppSpecWorkerGithubOutput + ToGetAppSpecWorkerGithubOutputWithContext(context.Context) GetAppSpecWorkerGithubOutput } -type GetAppSpecStaticSiteGitlabArgs struct { +type GetAppSpecWorkerGithubArgs struct { // The name of the branch to use. Branch pulumi.StringPtrInput `pulumi:"branch"` // Whether to automatically deploy new commits made to the repo. @@ -13808,125 +18379,125 @@ type GetAppSpecStaticSiteGitlabArgs struct { Repo pulumi.StringPtrInput `pulumi:"repo"` } -func (GetAppSpecStaticSiteGitlabArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecStaticSiteGitlab)(nil)).Elem() +func (GetAppSpecWorkerGithubArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecWorkerGithub)(nil)).Elem() } -func (i GetAppSpecStaticSiteGitlabArgs) ToGetAppSpecStaticSiteGitlabOutput() GetAppSpecStaticSiteGitlabOutput { - return i.ToGetAppSpecStaticSiteGitlabOutputWithContext(context.Background()) +func (i GetAppSpecWorkerGithubArgs) ToGetAppSpecWorkerGithubOutput() GetAppSpecWorkerGithubOutput { + return i.ToGetAppSpecWorkerGithubOutputWithContext(context.Background()) } -func (i GetAppSpecStaticSiteGitlabArgs) ToGetAppSpecStaticSiteGitlabOutputWithContext(ctx context.Context) GetAppSpecStaticSiteGitlabOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecStaticSiteGitlabOutput) +func (i GetAppSpecWorkerGithubArgs) ToGetAppSpecWorkerGithubOutputWithContext(ctx context.Context) GetAppSpecWorkerGithubOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecWorkerGithubOutput) } -func (i GetAppSpecStaticSiteGitlabArgs) ToGetAppSpecStaticSiteGitlabPtrOutput() GetAppSpecStaticSiteGitlabPtrOutput { - return i.ToGetAppSpecStaticSiteGitlabPtrOutputWithContext(context.Background()) +func (i GetAppSpecWorkerGithubArgs) ToGetAppSpecWorkerGithubPtrOutput() GetAppSpecWorkerGithubPtrOutput { + return i.ToGetAppSpecWorkerGithubPtrOutputWithContext(context.Background()) } -func (i GetAppSpecStaticSiteGitlabArgs) ToGetAppSpecStaticSiteGitlabPtrOutputWithContext(ctx context.Context) GetAppSpecStaticSiteGitlabPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecStaticSiteGitlabOutput).ToGetAppSpecStaticSiteGitlabPtrOutputWithContext(ctx) +func (i GetAppSpecWorkerGithubArgs) ToGetAppSpecWorkerGithubPtrOutputWithContext(ctx context.Context) GetAppSpecWorkerGithubPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecWorkerGithubOutput).ToGetAppSpecWorkerGithubPtrOutputWithContext(ctx) } -// GetAppSpecStaticSiteGitlabPtrInput is an input type that accepts GetAppSpecStaticSiteGitlabArgs, GetAppSpecStaticSiteGitlabPtr and GetAppSpecStaticSiteGitlabPtrOutput values. -// You can construct a concrete instance of `GetAppSpecStaticSiteGitlabPtrInput` via: +// GetAppSpecWorkerGithubPtrInput is an input type that accepts GetAppSpecWorkerGithubArgs, GetAppSpecWorkerGithubPtr and GetAppSpecWorkerGithubPtrOutput values. +// You can construct a concrete instance of `GetAppSpecWorkerGithubPtrInput` via: // -// GetAppSpecStaticSiteGitlabArgs{...} +// GetAppSpecWorkerGithubArgs{...} // // or: // // nil -type GetAppSpecStaticSiteGitlabPtrInput interface { +type GetAppSpecWorkerGithubPtrInput interface { pulumi.Input - ToGetAppSpecStaticSiteGitlabPtrOutput() GetAppSpecStaticSiteGitlabPtrOutput - ToGetAppSpecStaticSiteGitlabPtrOutputWithContext(context.Context) GetAppSpecStaticSiteGitlabPtrOutput + ToGetAppSpecWorkerGithubPtrOutput() GetAppSpecWorkerGithubPtrOutput + ToGetAppSpecWorkerGithubPtrOutputWithContext(context.Context) GetAppSpecWorkerGithubPtrOutput } -type getAppSpecStaticSiteGitlabPtrType GetAppSpecStaticSiteGitlabArgs +type getAppSpecWorkerGithubPtrType GetAppSpecWorkerGithubArgs -func GetAppSpecStaticSiteGitlabPtr(v *GetAppSpecStaticSiteGitlabArgs) GetAppSpecStaticSiteGitlabPtrInput { - return (*getAppSpecStaticSiteGitlabPtrType)(v) +func GetAppSpecWorkerGithubPtr(v *GetAppSpecWorkerGithubArgs) GetAppSpecWorkerGithubPtrInput { + return (*getAppSpecWorkerGithubPtrType)(v) } -func (*getAppSpecStaticSiteGitlabPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**GetAppSpecStaticSiteGitlab)(nil)).Elem() +func (*getAppSpecWorkerGithubPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecWorkerGithub)(nil)).Elem() } -func (i *getAppSpecStaticSiteGitlabPtrType) ToGetAppSpecStaticSiteGitlabPtrOutput() GetAppSpecStaticSiteGitlabPtrOutput { - return i.ToGetAppSpecStaticSiteGitlabPtrOutputWithContext(context.Background()) +func (i *getAppSpecWorkerGithubPtrType) ToGetAppSpecWorkerGithubPtrOutput() GetAppSpecWorkerGithubPtrOutput { + return i.ToGetAppSpecWorkerGithubPtrOutputWithContext(context.Background()) } -func (i *getAppSpecStaticSiteGitlabPtrType) ToGetAppSpecStaticSiteGitlabPtrOutputWithContext(ctx context.Context) GetAppSpecStaticSiteGitlabPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecStaticSiteGitlabPtrOutput) +func (i *getAppSpecWorkerGithubPtrType) ToGetAppSpecWorkerGithubPtrOutputWithContext(ctx context.Context) GetAppSpecWorkerGithubPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecWorkerGithubPtrOutput) } -type GetAppSpecStaticSiteGitlabOutput struct{ *pulumi.OutputState } +type GetAppSpecWorkerGithubOutput struct{ *pulumi.OutputState } -func (GetAppSpecStaticSiteGitlabOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecStaticSiteGitlab)(nil)).Elem() +func (GetAppSpecWorkerGithubOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecWorkerGithub)(nil)).Elem() } -func (o GetAppSpecStaticSiteGitlabOutput) ToGetAppSpecStaticSiteGitlabOutput() GetAppSpecStaticSiteGitlabOutput { +func (o GetAppSpecWorkerGithubOutput) ToGetAppSpecWorkerGithubOutput() GetAppSpecWorkerGithubOutput { return o } -func (o GetAppSpecStaticSiteGitlabOutput) ToGetAppSpecStaticSiteGitlabOutputWithContext(ctx context.Context) GetAppSpecStaticSiteGitlabOutput { +func (o GetAppSpecWorkerGithubOutput) ToGetAppSpecWorkerGithubOutputWithContext(ctx context.Context) GetAppSpecWorkerGithubOutput { return o } -func (o GetAppSpecStaticSiteGitlabOutput) ToGetAppSpecStaticSiteGitlabPtrOutput() GetAppSpecStaticSiteGitlabPtrOutput { - return o.ToGetAppSpecStaticSiteGitlabPtrOutputWithContext(context.Background()) +func (o GetAppSpecWorkerGithubOutput) ToGetAppSpecWorkerGithubPtrOutput() GetAppSpecWorkerGithubPtrOutput { + return o.ToGetAppSpecWorkerGithubPtrOutputWithContext(context.Background()) } -func (o GetAppSpecStaticSiteGitlabOutput) ToGetAppSpecStaticSiteGitlabPtrOutputWithContext(ctx context.Context) GetAppSpecStaticSiteGitlabPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecStaticSiteGitlab) *GetAppSpecStaticSiteGitlab { +func (o GetAppSpecWorkerGithubOutput) ToGetAppSpecWorkerGithubPtrOutputWithContext(ctx context.Context) GetAppSpecWorkerGithubPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecWorkerGithub) *GetAppSpecWorkerGithub { return &v - }).(GetAppSpecStaticSiteGitlabPtrOutput) + }).(GetAppSpecWorkerGithubPtrOutput) } // The name of the branch to use. -func (o GetAppSpecStaticSiteGitlabOutput) Branch() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecStaticSiteGitlab) *string { return v.Branch }).(pulumi.StringPtrOutput) +func (o GetAppSpecWorkerGithubOutput) Branch() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecWorkerGithub) *string { return v.Branch }).(pulumi.StringPtrOutput) } // Whether to automatically deploy new commits made to the repo. -func (o GetAppSpecStaticSiteGitlabOutput) DeployOnPush() pulumi.BoolPtrOutput { - return o.ApplyT(func(v GetAppSpecStaticSiteGitlab) *bool { return v.DeployOnPush }).(pulumi.BoolPtrOutput) +func (o GetAppSpecWorkerGithubOutput) DeployOnPush() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GetAppSpecWorkerGithub) *bool { return v.DeployOnPush }).(pulumi.BoolPtrOutput) } // The name of the repo in the format `owner/repo`. -func (o GetAppSpecStaticSiteGitlabOutput) Repo() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecStaticSiteGitlab) *string { return v.Repo }).(pulumi.StringPtrOutput) +func (o GetAppSpecWorkerGithubOutput) Repo() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecWorkerGithub) *string { return v.Repo }).(pulumi.StringPtrOutput) } -type GetAppSpecStaticSiteGitlabPtrOutput struct{ *pulumi.OutputState } +type GetAppSpecWorkerGithubPtrOutput struct{ *pulumi.OutputState } -func (GetAppSpecStaticSiteGitlabPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**GetAppSpecStaticSiteGitlab)(nil)).Elem() +func (GetAppSpecWorkerGithubPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecWorkerGithub)(nil)).Elem() } -func (o GetAppSpecStaticSiteGitlabPtrOutput) ToGetAppSpecStaticSiteGitlabPtrOutput() GetAppSpecStaticSiteGitlabPtrOutput { +func (o GetAppSpecWorkerGithubPtrOutput) ToGetAppSpecWorkerGithubPtrOutput() GetAppSpecWorkerGithubPtrOutput { return o } -func (o GetAppSpecStaticSiteGitlabPtrOutput) ToGetAppSpecStaticSiteGitlabPtrOutputWithContext(ctx context.Context) GetAppSpecStaticSiteGitlabPtrOutput { +func (o GetAppSpecWorkerGithubPtrOutput) ToGetAppSpecWorkerGithubPtrOutputWithContext(ctx context.Context) GetAppSpecWorkerGithubPtrOutput { return o } -func (o GetAppSpecStaticSiteGitlabPtrOutput) Elem() GetAppSpecStaticSiteGitlabOutput { - return o.ApplyT(func(v *GetAppSpecStaticSiteGitlab) GetAppSpecStaticSiteGitlab { +func (o GetAppSpecWorkerGithubPtrOutput) Elem() GetAppSpecWorkerGithubOutput { + return o.ApplyT(func(v *GetAppSpecWorkerGithub) GetAppSpecWorkerGithub { if v != nil { return *v } - var ret GetAppSpecStaticSiteGitlab + var ret GetAppSpecWorkerGithub return ret - }).(GetAppSpecStaticSiteGitlabOutput) + }).(GetAppSpecWorkerGithubOutput) } // The name of the branch to use. -func (o GetAppSpecStaticSiteGitlabPtrOutput) Branch() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetAppSpecStaticSiteGitlab) *string { +func (o GetAppSpecWorkerGithubPtrOutput) Branch() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecWorkerGithub) *string { if v == nil { return nil } @@ -13935,8 +18506,8 @@ func (o GetAppSpecStaticSiteGitlabPtrOutput) Branch() pulumi.StringPtrOutput { } // Whether to automatically deploy new commits made to the repo. -func (o GetAppSpecStaticSiteGitlabPtrOutput) DeployOnPush() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *GetAppSpecStaticSiteGitlab) *bool { +func (o GetAppSpecWorkerGithubPtrOutput) DeployOnPush() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *GetAppSpecWorkerGithub) *bool { if v == nil { return nil } @@ -13945,8 +18516,8 @@ func (o GetAppSpecStaticSiteGitlabPtrOutput) DeployOnPush() pulumi.BoolPtrOutput } // The name of the repo in the format `owner/repo`. -func (o GetAppSpecStaticSiteGitlabPtrOutput) Repo() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetAppSpecStaticSiteGitlab) *string { +func (o GetAppSpecWorkerGithubPtrOutput) Repo() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecWorkerGithub) *string { if v == nil { return nil } @@ -13954,1138 +18525,901 @@ func (o GetAppSpecStaticSiteGitlabPtrOutput) Repo() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } -type GetAppSpecStaticSiteRoute struct { - // Paths must start with `/` and must be unique within the app. - Path *string `pulumi:"path"` - // An optional flag to preserve the path that is forwarded to the backend service. - PreservePathPrefix *bool `pulumi:"preservePathPrefix"` -} - -// GetAppSpecStaticSiteRouteInput is an input type that accepts GetAppSpecStaticSiteRouteArgs and GetAppSpecStaticSiteRouteOutput values. -// You can construct a concrete instance of `GetAppSpecStaticSiteRouteInput` via: -// -// GetAppSpecStaticSiteRouteArgs{...} -type GetAppSpecStaticSiteRouteInput interface { - pulumi.Input - - ToGetAppSpecStaticSiteRouteOutput() GetAppSpecStaticSiteRouteOutput - ToGetAppSpecStaticSiteRouteOutputWithContext(context.Context) GetAppSpecStaticSiteRouteOutput -} - -type GetAppSpecStaticSiteRouteArgs struct { - // Paths must start with `/` and must be unique within the app. - Path pulumi.StringPtrInput `pulumi:"path"` - // An optional flag to preserve the path that is forwarded to the backend service. - PreservePathPrefix pulumi.BoolPtrInput `pulumi:"preservePathPrefix"` -} - -func (GetAppSpecStaticSiteRouteArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecStaticSiteRoute)(nil)).Elem() -} - -func (i GetAppSpecStaticSiteRouteArgs) ToGetAppSpecStaticSiteRouteOutput() GetAppSpecStaticSiteRouteOutput { - return i.ToGetAppSpecStaticSiteRouteOutputWithContext(context.Background()) -} - -func (i GetAppSpecStaticSiteRouteArgs) ToGetAppSpecStaticSiteRouteOutputWithContext(ctx context.Context) GetAppSpecStaticSiteRouteOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecStaticSiteRouteOutput) +type GetAppSpecWorkerGitlab struct { + // The name of the branch to use. + Branch *string `pulumi:"branch"` + // Whether to automatically deploy new commits made to the repo. + DeployOnPush *bool `pulumi:"deployOnPush"` + // The name of the repo in the format `owner/repo`. + Repo *string `pulumi:"repo"` } -// GetAppSpecStaticSiteRouteArrayInput is an input type that accepts GetAppSpecStaticSiteRouteArray and GetAppSpecStaticSiteRouteArrayOutput values. -// You can construct a concrete instance of `GetAppSpecStaticSiteRouteArrayInput` via: +// GetAppSpecWorkerGitlabInput is an input type that accepts GetAppSpecWorkerGitlabArgs and GetAppSpecWorkerGitlabOutput values. +// You can construct a concrete instance of `GetAppSpecWorkerGitlabInput` via: // -// GetAppSpecStaticSiteRouteArray{ GetAppSpecStaticSiteRouteArgs{...} } -type GetAppSpecStaticSiteRouteArrayInput interface { +// GetAppSpecWorkerGitlabArgs{...} +type GetAppSpecWorkerGitlabInput interface { pulumi.Input - ToGetAppSpecStaticSiteRouteArrayOutput() GetAppSpecStaticSiteRouteArrayOutput - ToGetAppSpecStaticSiteRouteArrayOutputWithContext(context.Context) GetAppSpecStaticSiteRouteArrayOutput -} - -type GetAppSpecStaticSiteRouteArray []GetAppSpecStaticSiteRouteInput - -func (GetAppSpecStaticSiteRouteArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetAppSpecStaticSiteRoute)(nil)).Elem() -} - -func (i GetAppSpecStaticSiteRouteArray) ToGetAppSpecStaticSiteRouteArrayOutput() GetAppSpecStaticSiteRouteArrayOutput { - return i.ToGetAppSpecStaticSiteRouteArrayOutputWithContext(context.Background()) -} - -func (i GetAppSpecStaticSiteRouteArray) ToGetAppSpecStaticSiteRouteArrayOutputWithContext(ctx context.Context) GetAppSpecStaticSiteRouteArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecStaticSiteRouteArrayOutput) -} - -type GetAppSpecStaticSiteRouteOutput struct{ *pulumi.OutputState } - -func (GetAppSpecStaticSiteRouteOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecStaticSiteRoute)(nil)).Elem() -} - -func (o GetAppSpecStaticSiteRouteOutput) ToGetAppSpecStaticSiteRouteOutput() GetAppSpecStaticSiteRouteOutput { - return o -} - -func (o GetAppSpecStaticSiteRouteOutput) ToGetAppSpecStaticSiteRouteOutputWithContext(ctx context.Context) GetAppSpecStaticSiteRouteOutput { - return o -} - -// Paths must start with `/` and must be unique within the app. -func (o GetAppSpecStaticSiteRouteOutput) Path() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecStaticSiteRoute) *string { return v.Path }).(pulumi.StringPtrOutput) + ToGetAppSpecWorkerGitlabOutput() GetAppSpecWorkerGitlabOutput + ToGetAppSpecWorkerGitlabOutputWithContext(context.Context) GetAppSpecWorkerGitlabOutput } -// An optional flag to preserve the path that is forwarded to the backend service. -func (o GetAppSpecStaticSiteRouteOutput) PreservePathPrefix() pulumi.BoolPtrOutput { - return o.ApplyT(func(v GetAppSpecStaticSiteRoute) *bool { return v.PreservePathPrefix }).(pulumi.BoolPtrOutput) +type GetAppSpecWorkerGitlabArgs struct { + // The name of the branch to use. + Branch pulumi.StringPtrInput `pulumi:"branch"` + // Whether to automatically deploy new commits made to the repo. + DeployOnPush pulumi.BoolPtrInput `pulumi:"deployOnPush"` + // The name of the repo in the format `owner/repo`. + Repo pulumi.StringPtrInput `pulumi:"repo"` } -type GetAppSpecStaticSiteRouteArrayOutput struct{ *pulumi.OutputState } - -func (GetAppSpecStaticSiteRouteArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetAppSpecStaticSiteRoute)(nil)).Elem() +func (GetAppSpecWorkerGitlabArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecWorkerGitlab)(nil)).Elem() } -func (o GetAppSpecStaticSiteRouteArrayOutput) ToGetAppSpecStaticSiteRouteArrayOutput() GetAppSpecStaticSiteRouteArrayOutput { - return o +func (i GetAppSpecWorkerGitlabArgs) ToGetAppSpecWorkerGitlabOutput() GetAppSpecWorkerGitlabOutput { + return i.ToGetAppSpecWorkerGitlabOutputWithContext(context.Background()) } -func (o GetAppSpecStaticSiteRouteArrayOutput) ToGetAppSpecStaticSiteRouteArrayOutputWithContext(ctx context.Context) GetAppSpecStaticSiteRouteArrayOutput { - return o +func (i GetAppSpecWorkerGitlabArgs) ToGetAppSpecWorkerGitlabOutputWithContext(ctx context.Context) GetAppSpecWorkerGitlabOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecWorkerGitlabOutput) } -func (o GetAppSpecStaticSiteRouteArrayOutput) Index(i pulumi.IntInput) GetAppSpecStaticSiteRouteOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAppSpecStaticSiteRoute { - return vs[0].([]GetAppSpecStaticSiteRoute)[vs[1].(int)] - }).(GetAppSpecStaticSiteRouteOutput) +func (i GetAppSpecWorkerGitlabArgs) ToGetAppSpecWorkerGitlabPtrOutput() GetAppSpecWorkerGitlabPtrOutput { + return i.ToGetAppSpecWorkerGitlabPtrOutputWithContext(context.Background()) } -type GetAppSpecWorker struct { - // An optional build command to run while building this component from source. - BuildCommand *string `pulumi:"buildCommand"` - // The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. - DockerfilePath *string `pulumi:"dockerfilePath"` - // An environment slug describing the type of this app. - EnvironmentSlug *string `pulumi:"environmentSlug"` - // Describes an environment variable made available to an app competent. - Envs []GetAppSpecWorkerEnv `pulumi:"envs"` - // A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set. - Git *GetAppSpecWorkerGit `pulumi:"git"` - // A GitHub repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/github/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. - Github *GetAppSpecWorkerGithub `pulumi:"github"` - // A Gitlab repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/gitlab/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. - Gitlab *GetAppSpecWorkerGitlab `pulumi:"gitlab"` - // An image to use as the component's source. Only one of `git`, `github`, `gitlab`, or `image` may be set. - Image *GetAppSpecWorkerImage `pulumi:"image"` - // The amount of instances that this component should be scaled to. - InstanceCount *int `pulumi:"instanceCount"` - // The instance size to use for this component. - InstanceSizeSlug *string `pulumi:"instanceSizeSlug"` - // The name of the component. - Name string `pulumi:"name"` - // An optional run command to override the component's default. - RunCommand *string `pulumi:"runCommand"` - // An optional path to the working directory to use for the build. - SourceDir *string `pulumi:"sourceDir"` +func (i GetAppSpecWorkerGitlabArgs) ToGetAppSpecWorkerGitlabPtrOutputWithContext(ctx context.Context) GetAppSpecWorkerGitlabPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecWorkerGitlabOutput).ToGetAppSpecWorkerGitlabPtrOutputWithContext(ctx) } -// GetAppSpecWorkerInput is an input type that accepts GetAppSpecWorkerArgs and GetAppSpecWorkerOutput values. -// You can construct a concrete instance of `GetAppSpecWorkerInput` via: +// GetAppSpecWorkerGitlabPtrInput is an input type that accepts GetAppSpecWorkerGitlabArgs, GetAppSpecWorkerGitlabPtr and GetAppSpecWorkerGitlabPtrOutput values. +// You can construct a concrete instance of `GetAppSpecWorkerGitlabPtrInput` via: // -// GetAppSpecWorkerArgs{...} -type GetAppSpecWorkerInput interface { - pulumi.Input - - ToGetAppSpecWorkerOutput() GetAppSpecWorkerOutput - ToGetAppSpecWorkerOutputWithContext(context.Context) GetAppSpecWorkerOutput -} - -type GetAppSpecWorkerArgs struct { - // An optional build command to run while building this component from source. - BuildCommand pulumi.StringPtrInput `pulumi:"buildCommand"` - // The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. - DockerfilePath pulumi.StringPtrInput `pulumi:"dockerfilePath"` - // An environment slug describing the type of this app. - EnvironmentSlug pulumi.StringPtrInput `pulumi:"environmentSlug"` - // Describes an environment variable made available to an app competent. - Envs GetAppSpecWorkerEnvArrayInput `pulumi:"envs"` - // A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set. - Git GetAppSpecWorkerGitPtrInput `pulumi:"git"` - // A GitHub repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/github/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. - Github GetAppSpecWorkerGithubPtrInput `pulumi:"github"` - // A Gitlab repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/gitlab/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. - Gitlab GetAppSpecWorkerGitlabPtrInput `pulumi:"gitlab"` - // An image to use as the component's source. Only one of `git`, `github`, `gitlab`, or `image` may be set. - Image GetAppSpecWorkerImagePtrInput `pulumi:"image"` - // The amount of instances that this component should be scaled to. - InstanceCount pulumi.IntPtrInput `pulumi:"instanceCount"` - // The instance size to use for this component. - InstanceSizeSlug pulumi.StringPtrInput `pulumi:"instanceSizeSlug"` - // The name of the component. - Name pulumi.StringInput `pulumi:"name"` - // An optional run command to override the component's default. - RunCommand pulumi.StringPtrInput `pulumi:"runCommand"` - // An optional path to the working directory to use for the build. - SourceDir pulumi.StringPtrInput `pulumi:"sourceDir"` -} - -func (GetAppSpecWorkerArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecWorker)(nil)).Elem() -} - -func (i GetAppSpecWorkerArgs) ToGetAppSpecWorkerOutput() GetAppSpecWorkerOutput { - return i.ToGetAppSpecWorkerOutputWithContext(context.Background()) -} - -func (i GetAppSpecWorkerArgs) ToGetAppSpecWorkerOutputWithContext(ctx context.Context) GetAppSpecWorkerOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecWorkerOutput) -} - -// GetAppSpecWorkerArrayInput is an input type that accepts GetAppSpecWorkerArray and GetAppSpecWorkerArrayOutput values. -// You can construct a concrete instance of `GetAppSpecWorkerArrayInput` via: +// GetAppSpecWorkerGitlabArgs{...} // -// GetAppSpecWorkerArray{ GetAppSpecWorkerArgs{...} } -type GetAppSpecWorkerArrayInput interface { +// or: +// +// nil +type GetAppSpecWorkerGitlabPtrInput interface { pulumi.Input - ToGetAppSpecWorkerArrayOutput() GetAppSpecWorkerArrayOutput - ToGetAppSpecWorkerArrayOutputWithContext(context.Context) GetAppSpecWorkerArrayOutput + ToGetAppSpecWorkerGitlabPtrOutput() GetAppSpecWorkerGitlabPtrOutput + ToGetAppSpecWorkerGitlabPtrOutputWithContext(context.Context) GetAppSpecWorkerGitlabPtrOutput } -type GetAppSpecWorkerArray []GetAppSpecWorkerInput +type getAppSpecWorkerGitlabPtrType GetAppSpecWorkerGitlabArgs -func (GetAppSpecWorkerArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetAppSpecWorker)(nil)).Elem() +func GetAppSpecWorkerGitlabPtr(v *GetAppSpecWorkerGitlabArgs) GetAppSpecWorkerGitlabPtrInput { + return (*getAppSpecWorkerGitlabPtrType)(v) } -func (i GetAppSpecWorkerArray) ToGetAppSpecWorkerArrayOutput() GetAppSpecWorkerArrayOutput { - return i.ToGetAppSpecWorkerArrayOutputWithContext(context.Background()) +func (*getAppSpecWorkerGitlabPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecWorkerGitlab)(nil)).Elem() } -func (i GetAppSpecWorkerArray) ToGetAppSpecWorkerArrayOutputWithContext(ctx context.Context) GetAppSpecWorkerArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecWorkerArrayOutput) +func (i *getAppSpecWorkerGitlabPtrType) ToGetAppSpecWorkerGitlabPtrOutput() GetAppSpecWorkerGitlabPtrOutput { + return i.ToGetAppSpecWorkerGitlabPtrOutputWithContext(context.Background()) } -type GetAppSpecWorkerOutput struct{ *pulumi.OutputState } +func (i *getAppSpecWorkerGitlabPtrType) ToGetAppSpecWorkerGitlabPtrOutputWithContext(ctx context.Context) GetAppSpecWorkerGitlabPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecWorkerGitlabPtrOutput) +} -func (GetAppSpecWorkerOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecWorker)(nil)).Elem() +type GetAppSpecWorkerGitlabOutput struct{ *pulumi.OutputState } + +func (GetAppSpecWorkerGitlabOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecWorkerGitlab)(nil)).Elem() } -func (o GetAppSpecWorkerOutput) ToGetAppSpecWorkerOutput() GetAppSpecWorkerOutput { +func (o GetAppSpecWorkerGitlabOutput) ToGetAppSpecWorkerGitlabOutput() GetAppSpecWorkerGitlabOutput { return o } -func (o GetAppSpecWorkerOutput) ToGetAppSpecWorkerOutputWithContext(ctx context.Context) GetAppSpecWorkerOutput { +func (o GetAppSpecWorkerGitlabOutput) ToGetAppSpecWorkerGitlabOutputWithContext(ctx context.Context) GetAppSpecWorkerGitlabOutput { return o } -// An optional build command to run while building this component from source. -func (o GetAppSpecWorkerOutput) BuildCommand() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecWorker) *string { return v.BuildCommand }).(pulumi.StringPtrOutput) +func (o GetAppSpecWorkerGitlabOutput) ToGetAppSpecWorkerGitlabPtrOutput() GetAppSpecWorkerGitlabPtrOutput { + return o.ToGetAppSpecWorkerGitlabPtrOutputWithContext(context.Background()) } -// The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. -func (o GetAppSpecWorkerOutput) DockerfilePath() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecWorker) *string { return v.DockerfilePath }).(pulumi.StringPtrOutput) +func (o GetAppSpecWorkerGitlabOutput) ToGetAppSpecWorkerGitlabPtrOutputWithContext(ctx context.Context) GetAppSpecWorkerGitlabPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecWorkerGitlab) *GetAppSpecWorkerGitlab { + return &v + }).(GetAppSpecWorkerGitlabPtrOutput) } -// An environment slug describing the type of this app. -func (o GetAppSpecWorkerOutput) EnvironmentSlug() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecWorker) *string { return v.EnvironmentSlug }).(pulumi.StringPtrOutput) +// The name of the branch to use. +func (o GetAppSpecWorkerGitlabOutput) Branch() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecWorkerGitlab) *string { return v.Branch }).(pulumi.StringPtrOutput) } -// Describes an environment variable made available to an app competent. -func (o GetAppSpecWorkerOutput) Envs() GetAppSpecWorkerEnvArrayOutput { - return o.ApplyT(func(v GetAppSpecWorker) []GetAppSpecWorkerEnv { return v.Envs }).(GetAppSpecWorkerEnvArrayOutput) +// Whether to automatically deploy new commits made to the repo. +func (o GetAppSpecWorkerGitlabOutput) DeployOnPush() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GetAppSpecWorkerGitlab) *bool { return v.DeployOnPush }).(pulumi.BoolPtrOutput) } -// A Git repo to use as the component's source. The repository must be able to be cloned without authentication. Only one of `git`, `github` or `gitlab` may be set. -func (o GetAppSpecWorkerOutput) Git() GetAppSpecWorkerGitPtrOutput { - return o.ApplyT(func(v GetAppSpecWorker) *GetAppSpecWorkerGit { return v.Git }).(GetAppSpecWorkerGitPtrOutput) +// The name of the repo in the format `owner/repo`. +func (o GetAppSpecWorkerGitlabOutput) Repo() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecWorkerGitlab) *string { return v.Repo }).(pulumi.StringPtrOutput) } -// A GitHub repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/github/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. -func (o GetAppSpecWorkerOutput) Github() GetAppSpecWorkerGithubPtrOutput { - return o.ApplyT(func(v GetAppSpecWorker) *GetAppSpecWorkerGithub { return v.Github }).(GetAppSpecWorkerGithubPtrOutput) +type GetAppSpecWorkerGitlabPtrOutput struct{ *pulumi.OutputState } + +func (GetAppSpecWorkerGitlabPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecWorkerGitlab)(nil)).Elem() } -// A Gitlab repo to use as the component's source. DigitalOcean App Platform must have [access to the repository](https://cloud.digitalocean.com/apps/gitlab/install). Only one of `git`, `github`, `gitlab`, or `image` may be set. -func (o GetAppSpecWorkerOutput) Gitlab() GetAppSpecWorkerGitlabPtrOutput { - return o.ApplyT(func(v GetAppSpecWorker) *GetAppSpecWorkerGitlab { return v.Gitlab }).(GetAppSpecWorkerGitlabPtrOutput) +func (o GetAppSpecWorkerGitlabPtrOutput) ToGetAppSpecWorkerGitlabPtrOutput() GetAppSpecWorkerGitlabPtrOutput { + return o } -// An image to use as the component's source. Only one of `git`, `github`, `gitlab`, or `image` may be set. -func (o GetAppSpecWorkerOutput) Image() GetAppSpecWorkerImagePtrOutput { - return o.ApplyT(func(v GetAppSpecWorker) *GetAppSpecWorkerImage { return v.Image }).(GetAppSpecWorkerImagePtrOutput) +func (o GetAppSpecWorkerGitlabPtrOutput) ToGetAppSpecWorkerGitlabPtrOutputWithContext(ctx context.Context) GetAppSpecWorkerGitlabPtrOutput { + return o } -// The amount of instances that this component should be scaled to. -func (o GetAppSpecWorkerOutput) InstanceCount() pulumi.IntPtrOutput { - return o.ApplyT(func(v GetAppSpecWorker) *int { return v.InstanceCount }).(pulumi.IntPtrOutput) +func (o GetAppSpecWorkerGitlabPtrOutput) Elem() GetAppSpecWorkerGitlabOutput { + return o.ApplyT(func(v *GetAppSpecWorkerGitlab) GetAppSpecWorkerGitlab { + if v != nil { + return *v + } + var ret GetAppSpecWorkerGitlab + return ret + }).(GetAppSpecWorkerGitlabOutput) } -// The instance size to use for this component. -func (o GetAppSpecWorkerOutput) InstanceSizeSlug() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecWorker) *string { return v.InstanceSizeSlug }).(pulumi.StringPtrOutput) +// The name of the branch to use. +func (o GetAppSpecWorkerGitlabPtrOutput) Branch() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecWorkerGitlab) *string { + if v == nil { + return nil + } + return v.Branch + }).(pulumi.StringPtrOutput) } -// The name of the component. -func (o GetAppSpecWorkerOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetAppSpecWorker) string { return v.Name }).(pulumi.StringOutput) +// Whether to automatically deploy new commits made to the repo. +func (o GetAppSpecWorkerGitlabPtrOutput) DeployOnPush() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *GetAppSpecWorkerGitlab) *bool { + if v == nil { + return nil + } + return v.DeployOnPush + }).(pulumi.BoolPtrOutput) } -// An optional run command to override the component's default. -func (o GetAppSpecWorkerOutput) RunCommand() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecWorker) *string { return v.RunCommand }).(pulumi.StringPtrOutput) +// The name of the repo in the format `owner/repo`. +func (o GetAppSpecWorkerGitlabPtrOutput) Repo() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecWorkerGitlab) *string { + if v == nil { + return nil + } + return v.Repo + }).(pulumi.StringPtrOutput) } -// An optional path to the working directory to use for the build. -func (o GetAppSpecWorkerOutput) SourceDir() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecWorker) *string { return v.SourceDir }).(pulumi.StringPtrOutput) +type GetAppSpecWorkerImage struct { + // The registry name. Must be left empty for the `DOCR` registry type. Required for the `DOCKER_HUB` registry type. + Registry *string `pulumi:"registry"` + // The registry type. One of `DOCR` (DigitalOcean container registry) or `DOCKER_HUB`. + RegistryType string `pulumi:"registryType"` + // The repository name. + Repository string `pulumi:"repository"` + // The repository tag. Defaults to `latest` if not provided. + Tag *string `pulumi:"tag"` } -type GetAppSpecWorkerArrayOutput struct{ *pulumi.OutputState } +// GetAppSpecWorkerImageInput is an input type that accepts GetAppSpecWorkerImageArgs and GetAppSpecWorkerImageOutput values. +// You can construct a concrete instance of `GetAppSpecWorkerImageInput` via: +// +// GetAppSpecWorkerImageArgs{...} +type GetAppSpecWorkerImageInput interface { + pulumi.Input -func (GetAppSpecWorkerArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetAppSpecWorker)(nil)).Elem() + ToGetAppSpecWorkerImageOutput() GetAppSpecWorkerImageOutput + ToGetAppSpecWorkerImageOutputWithContext(context.Context) GetAppSpecWorkerImageOutput } -func (o GetAppSpecWorkerArrayOutput) ToGetAppSpecWorkerArrayOutput() GetAppSpecWorkerArrayOutput { - return o +type GetAppSpecWorkerImageArgs struct { + // The registry name. Must be left empty for the `DOCR` registry type. Required for the `DOCKER_HUB` registry type. + Registry pulumi.StringPtrInput `pulumi:"registry"` + // The registry type. One of `DOCR` (DigitalOcean container registry) or `DOCKER_HUB`. + RegistryType pulumi.StringInput `pulumi:"registryType"` + // The repository name. + Repository pulumi.StringInput `pulumi:"repository"` + // The repository tag. Defaults to `latest` if not provided. + Tag pulumi.StringPtrInput `pulumi:"tag"` } -func (o GetAppSpecWorkerArrayOutput) ToGetAppSpecWorkerArrayOutputWithContext(ctx context.Context) GetAppSpecWorkerArrayOutput { - return o +func (GetAppSpecWorkerImageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecWorkerImage)(nil)).Elem() } -func (o GetAppSpecWorkerArrayOutput) Index(i pulumi.IntInput) GetAppSpecWorkerOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAppSpecWorker { - return vs[0].([]GetAppSpecWorker)[vs[1].(int)] - }).(GetAppSpecWorkerOutput) +func (i GetAppSpecWorkerImageArgs) ToGetAppSpecWorkerImageOutput() GetAppSpecWorkerImageOutput { + return i.ToGetAppSpecWorkerImageOutputWithContext(context.Background()) } -type GetAppSpecWorkerEnv struct { - // The name of the environment variable. - Key *string `pulumi:"key"` - // The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). - Scope *string `pulumi:"scope"` - // The type of the environment variable, `GENERAL` or `SECRET`. - Type string `pulumi:"type"` - // The value of the environment variable. - Value *string `pulumi:"value"` +func (i GetAppSpecWorkerImageArgs) ToGetAppSpecWorkerImageOutputWithContext(ctx context.Context) GetAppSpecWorkerImageOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecWorkerImageOutput) } -// GetAppSpecWorkerEnvInput is an input type that accepts GetAppSpecWorkerEnvArgs and GetAppSpecWorkerEnvOutput values. -// You can construct a concrete instance of `GetAppSpecWorkerEnvInput` via: +func (i GetAppSpecWorkerImageArgs) ToGetAppSpecWorkerImagePtrOutput() GetAppSpecWorkerImagePtrOutput { + return i.ToGetAppSpecWorkerImagePtrOutputWithContext(context.Background()) +} + +func (i GetAppSpecWorkerImageArgs) ToGetAppSpecWorkerImagePtrOutputWithContext(ctx context.Context) GetAppSpecWorkerImagePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecWorkerImageOutput).ToGetAppSpecWorkerImagePtrOutputWithContext(ctx) +} + +// GetAppSpecWorkerImagePtrInput is an input type that accepts GetAppSpecWorkerImageArgs, GetAppSpecWorkerImagePtr and GetAppSpecWorkerImagePtrOutput values. +// You can construct a concrete instance of `GetAppSpecWorkerImagePtrInput` via: // -// GetAppSpecWorkerEnvArgs{...} -type GetAppSpecWorkerEnvInput interface { +// GetAppSpecWorkerImageArgs{...} +// +// or: +// +// nil +type GetAppSpecWorkerImagePtrInput interface { pulumi.Input - ToGetAppSpecWorkerEnvOutput() GetAppSpecWorkerEnvOutput - ToGetAppSpecWorkerEnvOutputWithContext(context.Context) GetAppSpecWorkerEnvOutput + ToGetAppSpecWorkerImagePtrOutput() GetAppSpecWorkerImagePtrOutput + ToGetAppSpecWorkerImagePtrOutputWithContext(context.Context) GetAppSpecWorkerImagePtrOutput } -type GetAppSpecWorkerEnvArgs struct { - // The name of the environment variable. - Key pulumi.StringPtrInput `pulumi:"key"` - // The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). - Scope pulumi.StringPtrInput `pulumi:"scope"` - // The type of the environment variable, `GENERAL` or `SECRET`. - Type pulumi.StringInput `pulumi:"type"` - // The value of the environment variable. - Value pulumi.StringPtrInput `pulumi:"value"` -} +type getAppSpecWorkerImagePtrType GetAppSpecWorkerImageArgs -func (GetAppSpecWorkerEnvArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecWorkerEnv)(nil)).Elem() +func GetAppSpecWorkerImagePtr(v *GetAppSpecWorkerImageArgs) GetAppSpecWorkerImagePtrInput { + return (*getAppSpecWorkerImagePtrType)(v) } -func (i GetAppSpecWorkerEnvArgs) ToGetAppSpecWorkerEnvOutput() GetAppSpecWorkerEnvOutput { - return i.ToGetAppSpecWorkerEnvOutputWithContext(context.Background()) +func (*getAppSpecWorkerImagePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecWorkerImage)(nil)).Elem() } -func (i GetAppSpecWorkerEnvArgs) ToGetAppSpecWorkerEnvOutputWithContext(ctx context.Context) GetAppSpecWorkerEnvOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecWorkerEnvOutput) +func (i *getAppSpecWorkerImagePtrType) ToGetAppSpecWorkerImagePtrOutput() GetAppSpecWorkerImagePtrOutput { + return i.ToGetAppSpecWorkerImagePtrOutputWithContext(context.Background()) } -// GetAppSpecWorkerEnvArrayInput is an input type that accepts GetAppSpecWorkerEnvArray and GetAppSpecWorkerEnvArrayOutput values. -// You can construct a concrete instance of `GetAppSpecWorkerEnvArrayInput` via: -// -// GetAppSpecWorkerEnvArray{ GetAppSpecWorkerEnvArgs{...} } -type GetAppSpecWorkerEnvArrayInput interface { - pulumi.Input - - ToGetAppSpecWorkerEnvArrayOutput() GetAppSpecWorkerEnvArrayOutput - ToGetAppSpecWorkerEnvArrayOutputWithContext(context.Context) GetAppSpecWorkerEnvArrayOutput +func (i *getAppSpecWorkerImagePtrType) ToGetAppSpecWorkerImagePtrOutputWithContext(ctx context.Context) GetAppSpecWorkerImagePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecWorkerImagePtrOutput) } -type GetAppSpecWorkerEnvArray []GetAppSpecWorkerEnvInput - -func (GetAppSpecWorkerEnvArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetAppSpecWorkerEnv)(nil)).Elem() -} +type GetAppSpecWorkerImageOutput struct{ *pulumi.OutputState } -func (i GetAppSpecWorkerEnvArray) ToGetAppSpecWorkerEnvArrayOutput() GetAppSpecWorkerEnvArrayOutput { - return i.ToGetAppSpecWorkerEnvArrayOutputWithContext(context.Background()) +func (GetAppSpecWorkerImageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecWorkerImage)(nil)).Elem() } -func (i GetAppSpecWorkerEnvArray) ToGetAppSpecWorkerEnvArrayOutputWithContext(ctx context.Context) GetAppSpecWorkerEnvArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecWorkerEnvArrayOutput) +func (o GetAppSpecWorkerImageOutput) ToGetAppSpecWorkerImageOutput() GetAppSpecWorkerImageOutput { + return o } -type GetAppSpecWorkerEnvOutput struct{ *pulumi.OutputState } - -func (GetAppSpecWorkerEnvOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecWorkerEnv)(nil)).Elem() +func (o GetAppSpecWorkerImageOutput) ToGetAppSpecWorkerImageOutputWithContext(ctx context.Context) GetAppSpecWorkerImageOutput { + return o } -func (o GetAppSpecWorkerEnvOutput) ToGetAppSpecWorkerEnvOutput() GetAppSpecWorkerEnvOutput { - return o +func (o GetAppSpecWorkerImageOutput) ToGetAppSpecWorkerImagePtrOutput() GetAppSpecWorkerImagePtrOutput { + return o.ToGetAppSpecWorkerImagePtrOutputWithContext(context.Background()) } -func (o GetAppSpecWorkerEnvOutput) ToGetAppSpecWorkerEnvOutputWithContext(ctx context.Context) GetAppSpecWorkerEnvOutput { - return o +func (o GetAppSpecWorkerImageOutput) ToGetAppSpecWorkerImagePtrOutputWithContext(ctx context.Context) GetAppSpecWorkerImagePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecWorkerImage) *GetAppSpecWorkerImage { + return &v + }).(GetAppSpecWorkerImagePtrOutput) } -// The name of the environment variable. -func (o GetAppSpecWorkerEnvOutput) Key() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecWorkerEnv) *string { return v.Key }).(pulumi.StringPtrOutput) +// The registry name. Must be left empty for the `DOCR` registry type. Required for the `DOCKER_HUB` registry type. +func (o GetAppSpecWorkerImageOutput) Registry() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecWorkerImage) *string { return v.Registry }).(pulumi.StringPtrOutput) } -// The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). -func (o GetAppSpecWorkerEnvOutput) Scope() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecWorkerEnv) *string { return v.Scope }).(pulumi.StringPtrOutput) +// The registry type. One of `DOCR` (DigitalOcean container registry) or `DOCKER_HUB`. +func (o GetAppSpecWorkerImageOutput) RegistryType() pulumi.StringOutput { + return o.ApplyT(func(v GetAppSpecWorkerImage) string { return v.RegistryType }).(pulumi.StringOutput) } -// The type of the environment variable, `GENERAL` or `SECRET`. -func (o GetAppSpecWorkerEnvOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v GetAppSpecWorkerEnv) string { return v.Type }).(pulumi.StringOutput) +// The repository name. +func (o GetAppSpecWorkerImageOutput) Repository() pulumi.StringOutput { + return o.ApplyT(func(v GetAppSpecWorkerImage) string { return v.Repository }).(pulumi.StringOutput) } -// The value of the environment variable. -func (o GetAppSpecWorkerEnvOutput) Value() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecWorkerEnv) *string { return v.Value }).(pulumi.StringPtrOutput) +// The repository tag. Defaults to `latest` if not provided. +func (o GetAppSpecWorkerImageOutput) Tag() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecWorkerImage) *string { return v.Tag }).(pulumi.StringPtrOutput) } -type GetAppSpecWorkerEnvArrayOutput struct{ *pulumi.OutputState } +type GetAppSpecWorkerImagePtrOutput struct{ *pulumi.OutputState } -func (GetAppSpecWorkerEnvArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetAppSpecWorkerEnv)(nil)).Elem() +func (GetAppSpecWorkerImagePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecWorkerImage)(nil)).Elem() } -func (o GetAppSpecWorkerEnvArrayOutput) ToGetAppSpecWorkerEnvArrayOutput() GetAppSpecWorkerEnvArrayOutput { +func (o GetAppSpecWorkerImagePtrOutput) ToGetAppSpecWorkerImagePtrOutput() GetAppSpecWorkerImagePtrOutput { return o } -func (o GetAppSpecWorkerEnvArrayOutput) ToGetAppSpecWorkerEnvArrayOutputWithContext(ctx context.Context) GetAppSpecWorkerEnvArrayOutput { +func (o GetAppSpecWorkerImagePtrOutput) ToGetAppSpecWorkerImagePtrOutputWithContext(ctx context.Context) GetAppSpecWorkerImagePtrOutput { return o } -func (o GetAppSpecWorkerEnvArrayOutput) Index(i pulumi.IntInput) GetAppSpecWorkerEnvOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAppSpecWorkerEnv { - return vs[0].([]GetAppSpecWorkerEnv)[vs[1].(int)] - }).(GetAppSpecWorkerEnvOutput) +func (o GetAppSpecWorkerImagePtrOutput) Elem() GetAppSpecWorkerImageOutput { + return o.ApplyT(func(v *GetAppSpecWorkerImage) GetAppSpecWorkerImage { + if v != nil { + return *v + } + var ret GetAppSpecWorkerImage + return ret + }).(GetAppSpecWorkerImageOutput) } -type GetAppSpecWorkerGit struct { - // The name of the branch to use. - Branch *string `pulumi:"branch"` - // The clone URL of the repo. - RepoCloneUrl *string `pulumi:"repoCloneUrl"` +// The registry name. Must be left empty for the `DOCR` registry type. Required for the `DOCKER_HUB` registry type. +func (o GetAppSpecWorkerImagePtrOutput) Registry() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecWorkerImage) *string { + if v == nil { + return nil + } + return v.Registry + }).(pulumi.StringPtrOutput) } -// GetAppSpecWorkerGitInput is an input type that accepts GetAppSpecWorkerGitArgs and GetAppSpecWorkerGitOutput values. -// You can construct a concrete instance of `GetAppSpecWorkerGitInput` via: -// -// GetAppSpecWorkerGitArgs{...} -type GetAppSpecWorkerGitInput interface { - pulumi.Input +// The registry type. One of `DOCR` (DigitalOcean container registry) or `DOCKER_HUB`. +func (o GetAppSpecWorkerImagePtrOutput) RegistryType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecWorkerImage) *string { + if v == nil { + return nil + } + return &v.RegistryType + }).(pulumi.StringPtrOutput) +} - ToGetAppSpecWorkerGitOutput() GetAppSpecWorkerGitOutput - ToGetAppSpecWorkerGitOutputWithContext(context.Context) GetAppSpecWorkerGitOutput +// The repository name. +func (o GetAppSpecWorkerImagePtrOutput) Repository() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecWorkerImage) *string { + if v == nil { + return nil + } + return &v.Repository + }).(pulumi.StringPtrOutput) } -type GetAppSpecWorkerGitArgs struct { - // The name of the branch to use. - Branch pulumi.StringPtrInput `pulumi:"branch"` - // The clone URL of the repo. - RepoCloneUrl pulumi.StringPtrInput `pulumi:"repoCloneUrl"` +// The repository tag. Defaults to `latest` if not provided. +func (o GetAppSpecWorkerImagePtrOutput) Tag() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecWorkerImage) *string { + if v == nil { + return nil + } + return v.Tag + }).(pulumi.StringPtrOutput) } -func (GetAppSpecWorkerGitArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecWorkerGit)(nil)).Elem() +type GetAppSpecWorkerLogDestination struct { + Datadog *GetAppSpecWorkerLogDestinationDatadog `pulumi:"datadog"` + Logtail *GetAppSpecWorkerLogDestinationLogtail `pulumi:"logtail"` + // The name of the component. + Name string `pulumi:"name"` + Papertrail *GetAppSpecWorkerLogDestinationPapertrail `pulumi:"papertrail"` } -func (i GetAppSpecWorkerGitArgs) ToGetAppSpecWorkerGitOutput() GetAppSpecWorkerGitOutput { - return i.ToGetAppSpecWorkerGitOutputWithContext(context.Background()) +// GetAppSpecWorkerLogDestinationInput is an input type that accepts GetAppSpecWorkerLogDestinationArgs and GetAppSpecWorkerLogDestinationOutput values. +// You can construct a concrete instance of `GetAppSpecWorkerLogDestinationInput` via: +// +// GetAppSpecWorkerLogDestinationArgs{...} +type GetAppSpecWorkerLogDestinationInput interface { + pulumi.Input + + ToGetAppSpecWorkerLogDestinationOutput() GetAppSpecWorkerLogDestinationOutput + ToGetAppSpecWorkerLogDestinationOutputWithContext(context.Context) GetAppSpecWorkerLogDestinationOutput } -func (i GetAppSpecWorkerGitArgs) ToGetAppSpecWorkerGitOutputWithContext(ctx context.Context) GetAppSpecWorkerGitOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecWorkerGitOutput) +type GetAppSpecWorkerLogDestinationArgs struct { + Datadog GetAppSpecWorkerLogDestinationDatadogPtrInput `pulumi:"datadog"` + Logtail GetAppSpecWorkerLogDestinationLogtailPtrInput `pulumi:"logtail"` + // The name of the component. + Name pulumi.StringInput `pulumi:"name"` + Papertrail GetAppSpecWorkerLogDestinationPapertrailPtrInput `pulumi:"papertrail"` } -func (i GetAppSpecWorkerGitArgs) ToGetAppSpecWorkerGitPtrOutput() GetAppSpecWorkerGitPtrOutput { - return i.ToGetAppSpecWorkerGitPtrOutputWithContext(context.Background()) +func (GetAppSpecWorkerLogDestinationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecWorkerLogDestination)(nil)).Elem() } -func (i GetAppSpecWorkerGitArgs) ToGetAppSpecWorkerGitPtrOutputWithContext(ctx context.Context) GetAppSpecWorkerGitPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecWorkerGitOutput).ToGetAppSpecWorkerGitPtrOutputWithContext(ctx) +func (i GetAppSpecWorkerLogDestinationArgs) ToGetAppSpecWorkerLogDestinationOutput() GetAppSpecWorkerLogDestinationOutput { + return i.ToGetAppSpecWorkerLogDestinationOutputWithContext(context.Background()) } -// GetAppSpecWorkerGitPtrInput is an input type that accepts GetAppSpecWorkerGitArgs, GetAppSpecWorkerGitPtr and GetAppSpecWorkerGitPtrOutput values. -// You can construct a concrete instance of `GetAppSpecWorkerGitPtrInput` via: -// -// GetAppSpecWorkerGitArgs{...} -// -// or: +func (i GetAppSpecWorkerLogDestinationArgs) ToGetAppSpecWorkerLogDestinationOutputWithContext(ctx context.Context) GetAppSpecWorkerLogDestinationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecWorkerLogDestinationOutput) +} + +// GetAppSpecWorkerLogDestinationArrayInput is an input type that accepts GetAppSpecWorkerLogDestinationArray and GetAppSpecWorkerLogDestinationArrayOutput values. +// You can construct a concrete instance of `GetAppSpecWorkerLogDestinationArrayInput` via: // -// nil -type GetAppSpecWorkerGitPtrInput interface { +// GetAppSpecWorkerLogDestinationArray{ GetAppSpecWorkerLogDestinationArgs{...} } +type GetAppSpecWorkerLogDestinationArrayInput interface { pulumi.Input - ToGetAppSpecWorkerGitPtrOutput() GetAppSpecWorkerGitPtrOutput - ToGetAppSpecWorkerGitPtrOutputWithContext(context.Context) GetAppSpecWorkerGitPtrOutput + ToGetAppSpecWorkerLogDestinationArrayOutput() GetAppSpecWorkerLogDestinationArrayOutput + ToGetAppSpecWorkerLogDestinationArrayOutputWithContext(context.Context) GetAppSpecWorkerLogDestinationArrayOutput } -type getAppSpecWorkerGitPtrType GetAppSpecWorkerGitArgs - -func GetAppSpecWorkerGitPtr(v *GetAppSpecWorkerGitArgs) GetAppSpecWorkerGitPtrInput { - return (*getAppSpecWorkerGitPtrType)(v) -} +type GetAppSpecWorkerLogDestinationArray []GetAppSpecWorkerLogDestinationInput -func (*getAppSpecWorkerGitPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**GetAppSpecWorkerGit)(nil)).Elem() +func (GetAppSpecWorkerLogDestinationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAppSpecWorkerLogDestination)(nil)).Elem() } -func (i *getAppSpecWorkerGitPtrType) ToGetAppSpecWorkerGitPtrOutput() GetAppSpecWorkerGitPtrOutput { - return i.ToGetAppSpecWorkerGitPtrOutputWithContext(context.Background()) +func (i GetAppSpecWorkerLogDestinationArray) ToGetAppSpecWorkerLogDestinationArrayOutput() GetAppSpecWorkerLogDestinationArrayOutput { + return i.ToGetAppSpecWorkerLogDestinationArrayOutputWithContext(context.Background()) } -func (i *getAppSpecWorkerGitPtrType) ToGetAppSpecWorkerGitPtrOutputWithContext(ctx context.Context) GetAppSpecWorkerGitPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecWorkerGitPtrOutput) +func (i GetAppSpecWorkerLogDestinationArray) ToGetAppSpecWorkerLogDestinationArrayOutputWithContext(ctx context.Context) GetAppSpecWorkerLogDestinationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecWorkerLogDestinationArrayOutput) } -type GetAppSpecWorkerGitOutput struct{ *pulumi.OutputState } +type GetAppSpecWorkerLogDestinationOutput struct{ *pulumi.OutputState } -func (GetAppSpecWorkerGitOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecWorkerGit)(nil)).Elem() +func (GetAppSpecWorkerLogDestinationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecWorkerLogDestination)(nil)).Elem() } -func (o GetAppSpecWorkerGitOutput) ToGetAppSpecWorkerGitOutput() GetAppSpecWorkerGitOutput { +func (o GetAppSpecWorkerLogDestinationOutput) ToGetAppSpecWorkerLogDestinationOutput() GetAppSpecWorkerLogDestinationOutput { return o } -func (o GetAppSpecWorkerGitOutput) ToGetAppSpecWorkerGitOutputWithContext(ctx context.Context) GetAppSpecWorkerGitOutput { +func (o GetAppSpecWorkerLogDestinationOutput) ToGetAppSpecWorkerLogDestinationOutputWithContext(ctx context.Context) GetAppSpecWorkerLogDestinationOutput { return o } -func (o GetAppSpecWorkerGitOutput) ToGetAppSpecWorkerGitPtrOutput() GetAppSpecWorkerGitPtrOutput { - return o.ToGetAppSpecWorkerGitPtrOutputWithContext(context.Background()) +func (o GetAppSpecWorkerLogDestinationOutput) Datadog() GetAppSpecWorkerLogDestinationDatadogPtrOutput { + return o.ApplyT(func(v GetAppSpecWorkerLogDestination) *GetAppSpecWorkerLogDestinationDatadog { return v.Datadog }).(GetAppSpecWorkerLogDestinationDatadogPtrOutput) } -func (o GetAppSpecWorkerGitOutput) ToGetAppSpecWorkerGitPtrOutputWithContext(ctx context.Context) GetAppSpecWorkerGitPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecWorkerGit) *GetAppSpecWorkerGit { - return &v - }).(GetAppSpecWorkerGitPtrOutput) +func (o GetAppSpecWorkerLogDestinationOutput) Logtail() GetAppSpecWorkerLogDestinationLogtailPtrOutput { + return o.ApplyT(func(v GetAppSpecWorkerLogDestination) *GetAppSpecWorkerLogDestinationLogtail { return v.Logtail }).(GetAppSpecWorkerLogDestinationLogtailPtrOutput) } -// The name of the branch to use. -func (o GetAppSpecWorkerGitOutput) Branch() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecWorkerGit) *string { return v.Branch }).(pulumi.StringPtrOutput) +// The name of the component. +func (o GetAppSpecWorkerLogDestinationOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetAppSpecWorkerLogDestination) string { return v.Name }).(pulumi.StringOutput) } -// The clone URL of the repo. -func (o GetAppSpecWorkerGitOutput) RepoCloneUrl() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecWorkerGit) *string { return v.RepoCloneUrl }).(pulumi.StringPtrOutput) +func (o GetAppSpecWorkerLogDestinationOutput) Papertrail() GetAppSpecWorkerLogDestinationPapertrailPtrOutput { + return o.ApplyT(func(v GetAppSpecWorkerLogDestination) *GetAppSpecWorkerLogDestinationPapertrail { return v.Papertrail }).(GetAppSpecWorkerLogDestinationPapertrailPtrOutput) } -type GetAppSpecWorkerGitPtrOutput struct{ *pulumi.OutputState } +type GetAppSpecWorkerLogDestinationArrayOutput struct{ *pulumi.OutputState } -func (GetAppSpecWorkerGitPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**GetAppSpecWorkerGit)(nil)).Elem() +func (GetAppSpecWorkerLogDestinationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAppSpecWorkerLogDestination)(nil)).Elem() } -func (o GetAppSpecWorkerGitPtrOutput) ToGetAppSpecWorkerGitPtrOutput() GetAppSpecWorkerGitPtrOutput { +func (o GetAppSpecWorkerLogDestinationArrayOutput) ToGetAppSpecWorkerLogDestinationArrayOutput() GetAppSpecWorkerLogDestinationArrayOutput { return o } -func (o GetAppSpecWorkerGitPtrOutput) ToGetAppSpecWorkerGitPtrOutputWithContext(ctx context.Context) GetAppSpecWorkerGitPtrOutput { +func (o GetAppSpecWorkerLogDestinationArrayOutput) ToGetAppSpecWorkerLogDestinationArrayOutputWithContext(ctx context.Context) GetAppSpecWorkerLogDestinationArrayOutput { return o } -func (o GetAppSpecWorkerGitPtrOutput) Elem() GetAppSpecWorkerGitOutput { - return o.ApplyT(func(v *GetAppSpecWorkerGit) GetAppSpecWorkerGit { - if v != nil { - return *v - } - var ret GetAppSpecWorkerGit - return ret - }).(GetAppSpecWorkerGitOutput) -} - -// The name of the branch to use. -func (o GetAppSpecWorkerGitPtrOutput) Branch() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetAppSpecWorkerGit) *string { - if v == nil { - return nil - } - return v.Branch - }).(pulumi.StringPtrOutput) -} - -// The clone URL of the repo. -func (o GetAppSpecWorkerGitPtrOutput) RepoCloneUrl() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetAppSpecWorkerGit) *string { - if v == nil { - return nil - } - return v.RepoCloneUrl - }).(pulumi.StringPtrOutput) +func (o GetAppSpecWorkerLogDestinationArrayOutput) Index(i pulumi.IntInput) GetAppSpecWorkerLogDestinationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAppSpecWorkerLogDestination { + return vs[0].([]GetAppSpecWorkerLogDestination)[vs[1].(int)] + }).(GetAppSpecWorkerLogDestinationOutput) } -type GetAppSpecWorkerGithub struct { - // The name of the branch to use. - Branch *string `pulumi:"branch"` - // Whether to automatically deploy new commits made to the repo. - DeployOnPush *bool `pulumi:"deployOnPush"` - // The name of the repo in the format `owner/repo`. - Repo *string `pulumi:"repo"` +type GetAppSpecWorkerLogDestinationDatadog struct { + ApiKey string `pulumi:"apiKey"` + Endpoint *string `pulumi:"endpoint"` } -// GetAppSpecWorkerGithubInput is an input type that accepts GetAppSpecWorkerGithubArgs and GetAppSpecWorkerGithubOutput values. -// You can construct a concrete instance of `GetAppSpecWorkerGithubInput` via: +// GetAppSpecWorkerLogDestinationDatadogInput is an input type that accepts GetAppSpecWorkerLogDestinationDatadogArgs and GetAppSpecWorkerLogDestinationDatadogOutput values. +// You can construct a concrete instance of `GetAppSpecWorkerLogDestinationDatadogInput` via: // -// GetAppSpecWorkerGithubArgs{...} -type GetAppSpecWorkerGithubInput interface { +// GetAppSpecWorkerLogDestinationDatadogArgs{...} +type GetAppSpecWorkerLogDestinationDatadogInput interface { pulumi.Input - ToGetAppSpecWorkerGithubOutput() GetAppSpecWorkerGithubOutput - ToGetAppSpecWorkerGithubOutputWithContext(context.Context) GetAppSpecWorkerGithubOutput + ToGetAppSpecWorkerLogDestinationDatadogOutput() GetAppSpecWorkerLogDestinationDatadogOutput + ToGetAppSpecWorkerLogDestinationDatadogOutputWithContext(context.Context) GetAppSpecWorkerLogDestinationDatadogOutput } -type GetAppSpecWorkerGithubArgs struct { - // The name of the branch to use. - Branch pulumi.StringPtrInput `pulumi:"branch"` - // Whether to automatically deploy new commits made to the repo. - DeployOnPush pulumi.BoolPtrInput `pulumi:"deployOnPush"` - // The name of the repo in the format `owner/repo`. - Repo pulumi.StringPtrInput `pulumi:"repo"` +type GetAppSpecWorkerLogDestinationDatadogArgs struct { + ApiKey pulumi.StringInput `pulumi:"apiKey"` + Endpoint pulumi.StringPtrInput `pulumi:"endpoint"` } -func (GetAppSpecWorkerGithubArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecWorkerGithub)(nil)).Elem() +func (GetAppSpecWorkerLogDestinationDatadogArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecWorkerLogDestinationDatadog)(nil)).Elem() } -func (i GetAppSpecWorkerGithubArgs) ToGetAppSpecWorkerGithubOutput() GetAppSpecWorkerGithubOutput { - return i.ToGetAppSpecWorkerGithubOutputWithContext(context.Background()) +func (i GetAppSpecWorkerLogDestinationDatadogArgs) ToGetAppSpecWorkerLogDestinationDatadogOutput() GetAppSpecWorkerLogDestinationDatadogOutput { + return i.ToGetAppSpecWorkerLogDestinationDatadogOutputWithContext(context.Background()) } -func (i GetAppSpecWorkerGithubArgs) ToGetAppSpecWorkerGithubOutputWithContext(ctx context.Context) GetAppSpecWorkerGithubOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecWorkerGithubOutput) +func (i GetAppSpecWorkerLogDestinationDatadogArgs) ToGetAppSpecWorkerLogDestinationDatadogOutputWithContext(ctx context.Context) GetAppSpecWorkerLogDestinationDatadogOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecWorkerLogDestinationDatadogOutput) } -func (i GetAppSpecWorkerGithubArgs) ToGetAppSpecWorkerGithubPtrOutput() GetAppSpecWorkerGithubPtrOutput { - return i.ToGetAppSpecWorkerGithubPtrOutputWithContext(context.Background()) +func (i GetAppSpecWorkerLogDestinationDatadogArgs) ToGetAppSpecWorkerLogDestinationDatadogPtrOutput() GetAppSpecWorkerLogDestinationDatadogPtrOutput { + return i.ToGetAppSpecWorkerLogDestinationDatadogPtrOutputWithContext(context.Background()) } -func (i GetAppSpecWorkerGithubArgs) ToGetAppSpecWorkerGithubPtrOutputWithContext(ctx context.Context) GetAppSpecWorkerGithubPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecWorkerGithubOutput).ToGetAppSpecWorkerGithubPtrOutputWithContext(ctx) +func (i GetAppSpecWorkerLogDestinationDatadogArgs) ToGetAppSpecWorkerLogDestinationDatadogPtrOutputWithContext(ctx context.Context) GetAppSpecWorkerLogDestinationDatadogPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecWorkerLogDestinationDatadogOutput).ToGetAppSpecWorkerLogDestinationDatadogPtrOutputWithContext(ctx) } -// GetAppSpecWorkerGithubPtrInput is an input type that accepts GetAppSpecWorkerGithubArgs, GetAppSpecWorkerGithubPtr and GetAppSpecWorkerGithubPtrOutput values. -// You can construct a concrete instance of `GetAppSpecWorkerGithubPtrInput` via: +// GetAppSpecWorkerLogDestinationDatadogPtrInput is an input type that accepts GetAppSpecWorkerLogDestinationDatadogArgs, GetAppSpecWorkerLogDestinationDatadogPtr and GetAppSpecWorkerLogDestinationDatadogPtrOutput values. +// You can construct a concrete instance of `GetAppSpecWorkerLogDestinationDatadogPtrInput` via: // -// GetAppSpecWorkerGithubArgs{...} +// GetAppSpecWorkerLogDestinationDatadogArgs{...} // // or: // // nil -type GetAppSpecWorkerGithubPtrInput interface { +type GetAppSpecWorkerLogDestinationDatadogPtrInput interface { pulumi.Input - ToGetAppSpecWorkerGithubPtrOutput() GetAppSpecWorkerGithubPtrOutput - ToGetAppSpecWorkerGithubPtrOutputWithContext(context.Context) GetAppSpecWorkerGithubPtrOutput + ToGetAppSpecWorkerLogDestinationDatadogPtrOutput() GetAppSpecWorkerLogDestinationDatadogPtrOutput + ToGetAppSpecWorkerLogDestinationDatadogPtrOutputWithContext(context.Context) GetAppSpecWorkerLogDestinationDatadogPtrOutput } -type getAppSpecWorkerGithubPtrType GetAppSpecWorkerGithubArgs +type getAppSpecWorkerLogDestinationDatadogPtrType GetAppSpecWorkerLogDestinationDatadogArgs -func GetAppSpecWorkerGithubPtr(v *GetAppSpecWorkerGithubArgs) GetAppSpecWorkerGithubPtrInput { - return (*getAppSpecWorkerGithubPtrType)(v) +func GetAppSpecWorkerLogDestinationDatadogPtr(v *GetAppSpecWorkerLogDestinationDatadogArgs) GetAppSpecWorkerLogDestinationDatadogPtrInput { + return (*getAppSpecWorkerLogDestinationDatadogPtrType)(v) } -func (*getAppSpecWorkerGithubPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**GetAppSpecWorkerGithub)(nil)).Elem() +func (*getAppSpecWorkerLogDestinationDatadogPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecWorkerLogDestinationDatadog)(nil)).Elem() } -func (i *getAppSpecWorkerGithubPtrType) ToGetAppSpecWorkerGithubPtrOutput() GetAppSpecWorkerGithubPtrOutput { - return i.ToGetAppSpecWorkerGithubPtrOutputWithContext(context.Background()) +func (i *getAppSpecWorkerLogDestinationDatadogPtrType) ToGetAppSpecWorkerLogDestinationDatadogPtrOutput() GetAppSpecWorkerLogDestinationDatadogPtrOutput { + return i.ToGetAppSpecWorkerLogDestinationDatadogPtrOutputWithContext(context.Background()) } -func (i *getAppSpecWorkerGithubPtrType) ToGetAppSpecWorkerGithubPtrOutputWithContext(ctx context.Context) GetAppSpecWorkerGithubPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecWorkerGithubPtrOutput) +func (i *getAppSpecWorkerLogDestinationDatadogPtrType) ToGetAppSpecWorkerLogDestinationDatadogPtrOutputWithContext(ctx context.Context) GetAppSpecWorkerLogDestinationDatadogPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecWorkerLogDestinationDatadogPtrOutput) } -type GetAppSpecWorkerGithubOutput struct{ *pulumi.OutputState } +type GetAppSpecWorkerLogDestinationDatadogOutput struct{ *pulumi.OutputState } -func (GetAppSpecWorkerGithubOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecWorkerGithub)(nil)).Elem() +func (GetAppSpecWorkerLogDestinationDatadogOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecWorkerLogDestinationDatadog)(nil)).Elem() } -func (o GetAppSpecWorkerGithubOutput) ToGetAppSpecWorkerGithubOutput() GetAppSpecWorkerGithubOutput { +func (o GetAppSpecWorkerLogDestinationDatadogOutput) ToGetAppSpecWorkerLogDestinationDatadogOutput() GetAppSpecWorkerLogDestinationDatadogOutput { return o } -func (o GetAppSpecWorkerGithubOutput) ToGetAppSpecWorkerGithubOutputWithContext(ctx context.Context) GetAppSpecWorkerGithubOutput { +func (o GetAppSpecWorkerLogDestinationDatadogOutput) ToGetAppSpecWorkerLogDestinationDatadogOutputWithContext(ctx context.Context) GetAppSpecWorkerLogDestinationDatadogOutput { return o } -func (o GetAppSpecWorkerGithubOutput) ToGetAppSpecWorkerGithubPtrOutput() GetAppSpecWorkerGithubPtrOutput { - return o.ToGetAppSpecWorkerGithubPtrOutputWithContext(context.Background()) +func (o GetAppSpecWorkerLogDestinationDatadogOutput) ToGetAppSpecWorkerLogDestinationDatadogPtrOutput() GetAppSpecWorkerLogDestinationDatadogPtrOutput { + return o.ToGetAppSpecWorkerLogDestinationDatadogPtrOutputWithContext(context.Background()) } -func (o GetAppSpecWorkerGithubOutput) ToGetAppSpecWorkerGithubPtrOutputWithContext(ctx context.Context) GetAppSpecWorkerGithubPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecWorkerGithub) *GetAppSpecWorkerGithub { +func (o GetAppSpecWorkerLogDestinationDatadogOutput) ToGetAppSpecWorkerLogDestinationDatadogPtrOutputWithContext(ctx context.Context) GetAppSpecWorkerLogDestinationDatadogPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecWorkerLogDestinationDatadog) *GetAppSpecWorkerLogDestinationDatadog { return &v - }).(GetAppSpecWorkerGithubPtrOutput) -} - -// The name of the branch to use. -func (o GetAppSpecWorkerGithubOutput) Branch() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecWorkerGithub) *string { return v.Branch }).(pulumi.StringPtrOutput) + }).(GetAppSpecWorkerLogDestinationDatadogPtrOutput) } -// Whether to automatically deploy new commits made to the repo. -func (o GetAppSpecWorkerGithubOutput) DeployOnPush() pulumi.BoolPtrOutput { - return o.ApplyT(func(v GetAppSpecWorkerGithub) *bool { return v.DeployOnPush }).(pulumi.BoolPtrOutput) +func (o GetAppSpecWorkerLogDestinationDatadogOutput) ApiKey() pulumi.StringOutput { + return o.ApplyT(func(v GetAppSpecWorkerLogDestinationDatadog) string { return v.ApiKey }).(pulumi.StringOutput) } -// The name of the repo in the format `owner/repo`. -func (o GetAppSpecWorkerGithubOutput) Repo() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecWorkerGithub) *string { return v.Repo }).(pulumi.StringPtrOutput) +func (o GetAppSpecWorkerLogDestinationDatadogOutput) Endpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAppSpecWorkerLogDestinationDatadog) *string { return v.Endpoint }).(pulumi.StringPtrOutput) } -type GetAppSpecWorkerGithubPtrOutput struct{ *pulumi.OutputState } +type GetAppSpecWorkerLogDestinationDatadogPtrOutput struct{ *pulumi.OutputState } -func (GetAppSpecWorkerGithubPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**GetAppSpecWorkerGithub)(nil)).Elem() +func (GetAppSpecWorkerLogDestinationDatadogPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecWorkerLogDestinationDatadog)(nil)).Elem() } -func (o GetAppSpecWorkerGithubPtrOutput) ToGetAppSpecWorkerGithubPtrOutput() GetAppSpecWorkerGithubPtrOutput { +func (o GetAppSpecWorkerLogDestinationDatadogPtrOutput) ToGetAppSpecWorkerLogDestinationDatadogPtrOutput() GetAppSpecWorkerLogDestinationDatadogPtrOutput { return o } -func (o GetAppSpecWorkerGithubPtrOutput) ToGetAppSpecWorkerGithubPtrOutputWithContext(ctx context.Context) GetAppSpecWorkerGithubPtrOutput { +func (o GetAppSpecWorkerLogDestinationDatadogPtrOutput) ToGetAppSpecWorkerLogDestinationDatadogPtrOutputWithContext(ctx context.Context) GetAppSpecWorkerLogDestinationDatadogPtrOutput { return o } -func (o GetAppSpecWorkerGithubPtrOutput) Elem() GetAppSpecWorkerGithubOutput { - return o.ApplyT(func(v *GetAppSpecWorkerGithub) GetAppSpecWorkerGithub { +func (o GetAppSpecWorkerLogDestinationDatadogPtrOutput) Elem() GetAppSpecWorkerLogDestinationDatadogOutput { + return o.ApplyT(func(v *GetAppSpecWorkerLogDestinationDatadog) GetAppSpecWorkerLogDestinationDatadog { if v != nil { return *v } - var ret GetAppSpecWorkerGithub + var ret GetAppSpecWorkerLogDestinationDatadog return ret - }).(GetAppSpecWorkerGithubOutput) + }).(GetAppSpecWorkerLogDestinationDatadogOutput) } -// The name of the branch to use. -func (o GetAppSpecWorkerGithubPtrOutput) Branch() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetAppSpecWorkerGithub) *string { +func (o GetAppSpecWorkerLogDestinationDatadogPtrOutput) ApiKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecWorkerLogDestinationDatadog) *string { if v == nil { return nil } - return v.Branch + return &v.ApiKey }).(pulumi.StringPtrOutput) } -// Whether to automatically deploy new commits made to the repo. -func (o GetAppSpecWorkerGithubPtrOutput) DeployOnPush() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *GetAppSpecWorkerGithub) *bool { - if v == nil { - return nil - } - return v.DeployOnPush - }).(pulumi.BoolPtrOutput) -} - -// The name of the repo in the format `owner/repo`. -func (o GetAppSpecWorkerGithubPtrOutput) Repo() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetAppSpecWorkerGithub) *string { +func (o GetAppSpecWorkerLogDestinationDatadogPtrOutput) Endpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecWorkerLogDestinationDatadog) *string { if v == nil { return nil } - return v.Repo + return v.Endpoint }).(pulumi.StringPtrOutput) } -type GetAppSpecWorkerGitlab struct { - // The name of the branch to use. - Branch *string `pulumi:"branch"` - // Whether to automatically deploy new commits made to the repo. - DeployOnPush *bool `pulumi:"deployOnPush"` - // The name of the repo in the format `owner/repo`. - Repo *string `pulumi:"repo"` +type GetAppSpecWorkerLogDestinationLogtail struct { + Token string `pulumi:"token"` } -// GetAppSpecWorkerGitlabInput is an input type that accepts GetAppSpecWorkerGitlabArgs and GetAppSpecWorkerGitlabOutput values. -// You can construct a concrete instance of `GetAppSpecWorkerGitlabInput` via: +// GetAppSpecWorkerLogDestinationLogtailInput is an input type that accepts GetAppSpecWorkerLogDestinationLogtailArgs and GetAppSpecWorkerLogDestinationLogtailOutput values. +// You can construct a concrete instance of `GetAppSpecWorkerLogDestinationLogtailInput` via: // -// GetAppSpecWorkerGitlabArgs{...} -type GetAppSpecWorkerGitlabInput interface { +// GetAppSpecWorkerLogDestinationLogtailArgs{...} +type GetAppSpecWorkerLogDestinationLogtailInput interface { pulumi.Input - ToGetAppSpecWorkerGitlabOutput() GetAppSpecWorkerGitlabOutput - ToGetAppSpecWorkerGitlabOutputWithContext(context.Context) GetAppSpecWorkerGitlabOutput + ToGetAppSpecWorkerLogDestinationLogtailOutput() GetAppSpecWorkerLogDestinationLogtailOutput + ToGetAppSpecWorkerLogDestinationLogtailOutputWithContext(context.Context) GetAppSpecWorkerLogDestinationLogtailOutput } -type GetAppSpecWorkerGitlabArgs struct { - // The name of the branch to use. - Branch pulumi.StringPtrInput `pulumi:"branch"` - // Whether to automatically deploy new commits made to the repo. - DeployOnPush pulumi.BoolPtrInput `pulumi:"deployOnPush"` - // The name of the repo in the format `owner/repo`. - Repo pulumi.StringPtrInput `pulumi:"repo"` +type GetAppSpecWorkerLogDestinationLogtailArgs struct { + Token pulumi.StringInput `pulumi:"token"` } -func (GetAppSpecWorkerGitlabArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecWorkerGitlab)(nil)).Elem() +func (GetAppSpecWorkerLogDestinationLogtailArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecWorkerLogDestinationLogtail)(nil)).Elem() } -func (i GetAppSpecWorkerGitlabArgs) ToGetAppSpecWorkerGitlabOutput() GetAppSpecWorkerGitlabOutput { - return i.ToGetAppSpecWorkerGitlabOutputWithContext(context.Background()) +func (i GetAppSpecWorkerLogDestinationLogtailArgs) ToGetAppSpecWorkerLogDestinationLogtailOutput() GetAppSpecWorkerLogDestinationLogtailOutput { + return i.ToGetAppSpecWorkerLogDestinationLogtailOutputWithContext(context.Background()) } -func (i GetAppSpecWorkerGitlabArgs) ToGetAppSpecWorkerGitlabOutputWithContext(ctx context.Context) GetAppSpecWorkerGitlabOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecWorkerGitlabOutput) +func (i GetAppSpecWorkerLogDestinationLogtailArgs) ToGetAppSpecWorkerLogDestinationLogtailOutputWithContext(ctx context.Context) GetAppSpecWorkerLogDestinationLogtailOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecWorkerLogDestinationLogtailOutput) } -func (i GetAppSpecWorkerGitlabArgs) ToGetAppSpecWorkerGitlabPtrOutput() GetAppSpecWorkerGitlabPtrOutput { - return i.ToGetAppSpecWorkerGitlabPtrOutputWithContext(context.Background()) +func (i GetAppSpecWorkerLogDestinationLogtailArgs) ToGetAppSpecWorkerLogDestinationLogtailPtrOutput() GetAppSpecWorkerLogDestinationLogtailPtrOutput { + return i.ToGetAppSpecWorkerLogDestinationLogtailPtrOutputWithContext(context.Background()) } -func (i GetAppSpecWorkerGitlabArgs) ToGetAppSpecWorkerGitlabPtrOutputWithContext(ctx context.Context) GetAppSpecWorkerGitlabPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecWorkerGitlabOutput).ToGetAppSpecWorkerGitlabPtrOutputWithContext(ctx) +func (i GetAppSpecWorkerLogDestinationLogtailArgs) ToGetAppSpecWorkerLogDestinationLogtailPtrOutputWithContext(ctx context.Context) GetAppSpecWorkerLogDestinationLogtailPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecWorkerLogDestinationLogtailOutput).ToGetAppSpecWorkerLogDestinationLogtailPtrOutputWithContext(ctx) } -// GetAppSpecWorkerGitlabPtrInput is an input type that accepts GetAppSpecWorkerGitlabArgs, GetAppSpecWorkerGitlabPtr and GetAppSpecWorkerGitlabPtrOutput values. -// You can construct a concrete instance of `GetAppSpecWorkerGitlabPtrInput` via: +// GetAppSpecWorkerLogDestinationLogtailPtrInput is an input type that accepts GetAppSpecWorkerLogDestinationLogtailArgs, GetAppSpecWorkerLogDestinationLogtailPtr and GetAppSpecWorkerLogDestinationLogtailPtrOutput values. +// You can construct a concrete instance of `GetAppSpecWorkerLogDestinationLogtailPtrInput` via: // -// GetAppSpecWorkerGitlabArgs{...} +// GetAppSpecWorkerLogDestinationLogtailArgs{...} // // or: // // nil -type GetAppSpecWorkerGitlabPtrInput interface { +type GetAppSpecWorkerLogDestinationLogtailPtrInput interface { pulumi.Input - ToGetAppSpecWorkerGitlabPtrOutput() GetAppSpecWorkerGitlabPtrOutput - ToGetAppSpecWorkerGitlabPtrOutputWithContext(context.Context) GetAppSpecWorkerGitlabPtrOutput + ToGetAppSpecWorkerLogDestinationLogtailPtrOutput() GetAppSpecWorkerLogDestinationLogtailPtrOutput + ToGetAppSpecWorkerLogDestinationLogtailPtrOutputWithContext(context.Context) GetAppSpecWorkerLogDestinationLogtailPtrOutput } -type getAppSpecWorkerGitlabPtrType GetAppSpecWorkerGitlabArgs +type getAppSpecWorkerLogDestinationLogtailPtrType GetAppSpecWorkerLogDestinationLogtailArgs -func GetAppSpecWorkerGitlabPtr(v *GetAppSpecWorkerGitlabArgs) GetAppSpecWorkerGitlabPtrInput { - return (*getAppSpecWorkerGitlabPtrType)(v) +func GetAppSpecWorkerLogDestinationLogtailPtr(v *GetAppSpecWorkerLogDestinationLogtailArgs) GetAppSpecWorkerLogDestinationLogtailPtrInput { + return (*getAppSpecWorkerLogDestinationLogtailPtrType)(v) } -func (*getAppSpecWorkerGitlabPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**GetAppSpecWorkerGitlab)(nil)).Elem() +func (*getAppSpecWorkerLogDestinationLogtailPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecWorkerLogDestinationLogtail)(nil)).Elem() } -func (i *getAppSpecWorkerGitlabPtrType) ToGetAppSpecWorkerGitlabPtrOutput() GetAppSpecWorkerGitlabPtrOutput { - return i.ToGetAppSpecWorkerGitlabPtrOutputWithContext(context.Background()) +func (i *getAppSpecWorkerLogDestinationLogtailPtrType) ToGetAppSpecWorkerLogDestinationLogtailPtrOutput() GetAppSpecWorkerLogDestinationLogtailPtrOutput { + return i.ToGetAppSpecWorkerLogDestinationLogtailPtrOutputWithContext(context.Background()) } -func (i *getAppSpecWorkerGitlabPtrType) ToGetAppSpecWorkerGitlabPtrOutputWithContext(ctx context.Context) GetAppSpecWorkerGitlabPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecWorkerGitlabPtrOutput) +func (i *getAppSpecWorkerLogDestinationLogtailPtrType) ToGetAppSpecWorkerLogDestinationLogtailPtrOutputWithContext(ctx context.Context) GetAppSpecWorkerLogDestinationLogtailPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecWorkerLogDestinationLogtailPtrOutput) } -type GetAppSpecWorkerGitlabOutput struct{ *pulumi.OutputState } +type GetAppSpecWorkerLogDestinationLogtailOutput struct{ *pulumi.OutputState } -func (GetAppSpecWorkerGitlabOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecWorkerGitlab)(nil)).Elem() +func (GetAppSpecWorkerLogDestinationLogtailOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecWorkerLogDestinationLogtail)(nil)).Elem() } -func (o GetAppSpecWorkerGitlabOutput) ToGetAppSpecWorkerGitlabOutput() GetAppSpecWorkerGitlabOutput { +func (o GetAppSpecWorkerLogDestinationLogtailOutput) ToGetAppSpecWorkerLogDestinationLogtailOutput() GetAppSpecWorkerLogDestinationLogtailOutput { return o } -func (o GetAppSpecWorkerGitlabOutput) ToGetAppSpecWorkerGitlabOutputWithContext(ctx context.Context) GetAppSpecWorkerGitlabOutput { +func (o GetAppSpecWorkerLogDestinationLogtailOutput) ToGetAppSpecWorkerLogDestinationLogtailOutputWithContext(ctx context.Context) GetAppSpecWorkerLogDestinationLogtailOutput { return o } -func (o GetAppSpecWorkerGitlabOutput) ToGetAppSpecWorkerGitlabPtrOutput() GetAppSpecWorkerGitlabPtrOutput { - return o.ToGetAppSpecWorkerGitlabPtrOutputWithContext(context.Background()) +func (o GetAppSpecWorkerLogDestinationLogtailOutput) ToGetAppSpecWorkerLogDestinationLogtailPtrOutput() GetAppSpecWorkerLogDestinationLogtailPtrOutput { + return o.ToGetAppSpecWorkerLogDestinationLogtailPtrOutputWithContext(context.Background()) } -func (o GetAppSpecWorkerGitlabOutput) ToGetAppSpecWorkerGitlabPtrOutputWithContext(ctx context.Context) GetAppSpecWorkerGitlabPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecWorkerGitlab) *GetAppSpecWorkerGitlab { +func (o GetAppSpecWorkerLogDestinationLogtailOutput) ToGetAppSpecWorkerLogDestinationLogtailPtrOutputWithContext(ctx context.Context) GetAppSpecWorkerLogDestinationLogtailPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecWorkerLogDestinationLogtail) *GetAppSpecWorkerLogDestinationLogtail { return &v - }).(GetAppSpecWorkerGitlabPtrOutput) -} - -// The name of the branch to use. -func (o GetAppSpecWorkerGitlabOutput) Branch() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecWorkerGitlab) *string { return v.Branch }).(pulumi.StringPtrOutput) -} - -// Whether to automatically deploy new commits made to the repo. -func (o GetAppSpecWorkerGitlabOutput) DeployOnPush() pulumi.BoolPtrOutput { - return o.ApplyT(func(v GetAppSpecWorkerGitlab) *bool { return v.DeployOnPush }).(pulumi.BoolPtrOutput) + }).(GetAppSpecWorkerLogDestinationLogtailPtrOutput) } -// The name of the repo in the format `owner/repo`. -func (o GetAppSpecWorkerGitlabOutput) Repo() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecWorkerGitlab) *string { return v.Repo }).(pulumi.StringPtrOutput) +func (o GetAppSpecWorkerLogDestinationLogtailOutput) Token() pulumi.StringOutput { + return o.ApplyT(func(v GetAppSpecWorkerLogDestinationLogtail) string { return v.Token }).(pulumi.StringOutput) } -type GetAppSpecWorkerGitlabPtrOutput struct{ *pulumi.OutputState } +type GetAppSpecWorkerLogDestinationLogtailPtrOutput struct{ *pulumi.OutputState } -func (GetAppSpecWorkerGitlabPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**GetAppSpecWorkerGitlab)(nil)).Elem() +func (GetAppSpecWorkerLogDestinationLogtailPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecWorkerLogDestinationLogtail)(nil)).Elem() } -func (o GetAppSpecWorkerGitlabPtrOutput) ToGetAppSpecWorkerGitlabPtrOutput() GetAppSpecWorkerGitlabPtrOutput { +func (o GetAppSpecWorkerLogDestinationLogtailPtrOutput) ToGetAppSpecWorkerLogDestinationLogtailPtrOutput() GetAppSpecWorkerLogDestinationLogtailPtrOutput { return o } -func (o GetAppSpecWorkerGitlabPtrOutput) ToGetAppSpecWorkerGitlabPtrOutputWithContext(ctx context.Context) GetAppSpecWorkerGitlabPtrOutput { +func (o GetAppSpecWorkerLogDestinationLogtailPtrOutput) ToGetAppSpecWorkerLogDestinationLogtailPtrOutputWithContext(ctx context.Context) GetAppSpecWorkerLogDestinationLogtailPtrOutput { return o } -func (o GetAppSpecWorkerGitlabPtrOutput) Elem() GetAppSpecWorkerGitlabOutput { - return o.ApplyT(func(v *GetAppSpecWorkerGitlab) GetAppSpecWorkerGitlab { +func (o GetAppSpecWorkerLogDestinationLogtailPtrOutput) Elem() GetAppSpecWorkerLogDestinationLogtailOutput { + return o.ApplyT(func(v *GetAppSpecWorkerLogDestinationLogtail) GetAppSpecWorkerLogDestinationLogtail { if v != nil { return *v } - var ret GetAppSpecWorkerGitlab + var ret GetAppSpecWorkerLogDestinationLogtail return ret - }).(GetAppSpecWorkerGitlabOutput) -} - -// The name of the branch to use. -func (o GetAppSpecWorkerGitlabPtrOutput) Branch() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetAppSpecWorkerGitlab) *string { - if v == nil { - return nil - } - return v.Branch - }).(pulumi.StringPtrOutput) -} - -// Whether to automatically deploy new commits made to the repo. -func (o GetAppSpecWorkerGitlabPtrOutput) DeployOnPush() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *GetAppSpecWorkerGitlab) *bool { - if v == nil { - return nil - } - return v.DeployOnPush - }).(pulumi.BoolPtrOutput) + }).(GetAppSpecWorkerLogDestinationLogtailOutput) } -// The name of the repo in the format `owner/repo`. -func (o GetAppSpecWorkerGitlabPtrOutput) Repo() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetAppSpecWorkerGitlab) *string { +func (o GetAppSpecWorkerLogDestinationLogtailPtrOutput) Token() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecWorkerLogDestinationLogtail) *string { if v == nil { return nil } - return v.Repo + return &v.Token }).(pulumi.StringPtrOutput) } -type GetAppSpecWorkerImage struct { - // The registry name. Must be left empty for the `DOCR` registry type. Required for the `DOCKER_HUB` registry type. - Registry *string `pulumi:"registry"` - // The registry type. One of `DOCR` (DigitalOcean container registry) or `DOCKER_HUB`. - RegistryType string `pulumi:"registryType"` - // The repository name. - Repository string `pulumi:"repository"` - // The repository tag. Defaults to `latest` if not provided. - Tag *string `pulumi:"tag"` +type GetAppSpecWorkerLogDestinationPapertrail struct { + Endpoint string `pulumi:"endpoint"` } -// GetAppSpecWorkerImageInput is an input type that accepts GetAppSpecWorkerImageArgs and GetAppSpecWorkerImageOutput values. -// You can construct a concrete instance of `GetAppSpecWorkerImageInput` via: +// GetAppSpecWorkerLogDestinationPapertrailInput is an input type that accepts GetAppSpecWorkerLogDestinationPapertrailArgs and GetAppSpecWorkerLogDestinationPapertrailOutput values. +// You can construct a concrete instance of `GetAppSpecWorkerLogDestinationPapertrailInput` via: // -// GetAppSpecWorkerImageArgs{...} -type GetAppSpecWorkerImageInput interface { +// GetAppSpecWorkerLogDestinationPapertrailArgs{...} +type GetAppSpecWorkerLogDestinationPapertrailInput interface { pulumi.Input - ToGetAppSpecWorkerImageOutput() GetAppSpecWorkerImageOutput - ToGetAppSpecWorkerImageOutputWithContext(context.Context) GetAppSpecWorkerImageOutput + ToGetAppSpecWorkerLogDestinationPapertrailOutput() GetAppSpecWorkerLogDestinationPapertrailOutput + ToGetAppSpecWorkerLogDestinationPapertrailOutputWithContext(context.Context) GetAppSpecWorkerLogDestinationPapertrailOutput } -type GetAppSpecWorkerImageArgs struct { - // The registry name. Must be left empty for the `DOCR` registry type. Required for the `DOCKER_HUB` registry type. - Registry pulumi.StringPtrInput `pulumi:"registry"` - // The registry type. One of `DOCR` (DigitalOcean container registry) or `DOCKER_HUB`. - RegistryType pulumi.StringInput `pulumi:"registryType"` - // The repository name. - Repository pulumi.StringInput `pulumi:"repository"` - // The repository tag. Defaults to `latest` if not provided. - Tag pulumi.StringPtrInput `pulumi:"tag"` +type GetAppSpecWorkerLogDestinationPapertrailArgs struct { + Endpoint pulumi.StringInput `pulumi:"endpoint"` } -func (GetAppSpecWorkerImageArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecWorkerImage)(nil)).Elem() +func (GetAppSpecWorkerLogDestinationPapertrailArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecWorkerLogDestinationPapertrail)(nil)).Elem() } -func (i GetAppSpecWorkerImageArgs) ToGetAppSpecWorkerImageOutput() GetAppSpecWorkerImageOutput { - return i.ToGetAppSpecWorkerImageOutputWithContext(context.Background()) +func (i GetAppSpecWorkerLogDestinationPapertrailArgs) ToGetAppSpecWorkerLogDestinationPapertrailOutput() GetAppSpecWorkerLogDestinationPapertrailOutput { + return i.ToGetAppSpecWorkerLogDestinationPapertrailOutputWithContext(context.Background()) } -func (i GetAppSpecWorkerImageArgs) ToGetAppSpecWorkerImageOutputWithContext(ctx context.Context) GetAppSpecWorkerImageOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecWorkerImageOutput) +func (i GetAppSpecWorkerLogDestinationPapertrailArgs) ToGetAppSpecWorkerLogDestinationPapertrailOutputWithContext(ctx context.Context) GetAppSpecWorkerLogDestinationPapertrailOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecWorkerLogDestinationPapertrailOutput) } -func (i GetAppSpecWorkerImageArgs) ToGetAppSpecWorkerImagePtrOutput() GetAppSpecWorkerImagePtrOutput { - return i.ToGetAppSpecWorkerImagePtrOutputWithContext(context.Background()) +func (i GetAppSpecWorkerLogDestinationPapertrailArgs) ToGetAppSpecWorkerLogDestinationPapertrailPtrOutput() GetAppSpecWorkerLogDestinationPapertrailPtrOutput { + return i.ToGetAppSpecWorkerLogDestinationPapertrailPtrOutputWithContext(context.Background()) } -func (i GetAppSpecWorkerImageArgs) ToGetAppSpecWorkerImagePtrOutputWithContext(ctx context.Context) GetAppSpecWorkerImagePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecWorkerImageOutput).ToGetAppSpecWorkerImagePtrOutputWithContext(ctx) +func (i GetAppSpecWorkerLogDestinationPapertrailArgs) ToGetAppSpecWorkerLogDestinationPapertrailPtrOutputWithContext(ctx context.Context) GetAppSpecWorkerLogDestinationPapertrailPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecWorkerLogDestinationPapertrailOutput).ToGetAppSpecWorkerLogDestinationPapertrailPtrOutputWithContext(ctx) } -// GetAppSpecWorkerImagePtrInput is an input type that accepts GetAppSpecWorkerImageArgs, GetAppSpecWorkerImagePtr and GetAppSpecWorkerImagePtrOutput values. -// You can construct a concrete instance of `GetAppSpecWorkerImagePtrInput` via: +// GetAppSpecWorkerLogDestinationPapertrailPtrInput is an input type that accepts GetAppSpecWorkerLogDestinationPapertrailArgs, GetAppSpecWorkerLogDestinationPapertrailPtr and GetAppSpecWorkerLogDestinationPapertrailPtrOutput values. +// You can construct a concrete instance of `GetAppSpecWorkerLogDestinationPapertrailPtrInput` via: // -// GetAppSpecWorkerImageArgs{...} +// GetAppSpecWorkerLogDestinationPapertrailArgs{...} // // or: // // nil -type GetAppSpecWorkerImagePtrInput interface { +type GetAppSpecWorkerLogDestinationPapertrailPtrInput interface { pulumi.Input - ToGetAppSpecWorkerImagePtrOutput() GetAppSpecWorkerImagePtrOutput - ToGetAppSpecWorkerImagePtrOutputWithContext(context.Context) GetAppSpecWorkerImagePtrOutput + ToGetAppSpecWorkerLogDestinationPapertrailPtrOutput() GetAppSpecWorkerLogDestinationPapertrailPtrOutput + ToGetAppSpecWorkerLogDestinationPapertrailPtrOutputWithContext(context.Context) GetAppSpecWorkerLogDestinationPapertrailPtrOutput } -type getAppSpecWorkerImagePtrType GetAppSpecWorkerImageArgs +type getAppSpecWorkerLogDestinationPapertrailPtrType GetAppSpecWorkerLogDestinationPapertrailArgs -func GetAppSpecWorkerImagePtr(v *GetAppSpecWorkerImageArgs) GetAppSpecWorkerImagePtrInput { - return (*getAppSpecWorkerImagePtrType)(v) +func GetAppSpecWorkerLogDestinationPapertrailPtr(v *GetAppSpecWorkerLogDestinationPapertrailArgs) GetAppSpecWorkerLogDestinationPapertrailPtrInput { + return (*getAppSpecWorkerLogDestinationPapertrailPtrType)(v) } -func (*getAppSpecWorkerImagePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**GetAppSpecWorkerImage)(nil)).Elem() +func (*getAppSpecWorkerLogDestinationPapertrailPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecWorkerLogDestinationPapertrail)(nil)).Elem() } -func (i *getAppSpecWorkerImagePtrType) ToGetAppSpecWorkerImagePtrOutput() GetAppSpecWorkerImagePtrOutput { - return i.ToGetAppSpecWorkerImagePtrOutputWithContext(context.Background()) +func (i *getAppSpecWorkerLogDestinationPapertrailPtrType) ToGetAppSpecWorkerLogDestinationPapertrailPtrOutput() GetAppSpecWorkerLogDestinationPapertrailPtrOutput { + return i.ToGetAppSpecWorkerLogDestinationPapertrailPtrOutputWithContext(context.Background()) } -func (i *getAppSpecWorkerImagePtrType) ToGetAppSpecWorkerImagePtrOutputWithContext(ctx context.Context) GetAppSpecWorkerImagePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecWorkerImagePtrOutput) +func (i *getAppSpecWorkerLogDestinationPapertrailPtrType) ToGetAppSpecWorkerLogDestinationPapertrailPtrOutputWithContext(ctx context.Context) GetAppSpecWorkerLogDestinationPapertrailPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAppSpecWorkerLogDestinationPapertrailPtrOutput) } -type GetAppSpecWorkerImageOutput struct{ *pulumi.OutputState } +type GetAppSpecWorkerLogDestinationPapertrailOutput struct{ *pulumi.OutputState } -func (GetAppSpecWorkerImageOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetAppSpecWorkerImage)(nil)).Elem() +func (GetAppSpecWorkerLogDestinationPapertrailOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAppSpecWorkerLogDestinationPapertrail)(nil)).Elem() } -func (o GetAppSpecWorkerImageOutput) ToGetAppSpecWorkerImageOutput() GetAppSpecWorkerImageOutput { +func (o GetAppSpecWorkerLogDestinationPapertrailOutput) ToGetAppSpecWorkerLogDestinationPapertrailOutput() GetAppSpecWorkerLogDestinationPapertrailOutput { return o } -func (o GetAppSpecWorkerImageOutput) ToGetAppSpecWorkerImageOutputWithContext(ctx context.Context) GetAppSpecWorkerImageOutput { +func (o GetAppSpecWorkerLogDestinationPapertrailOutput) ToGetAppSpecWorkerLogDestinationPapertrailOutputWithContext(ctx context.Context) GetAppSpecWorkerLogDestinationPapertrailOutput { return o } -func (o GetAppSpecWorkerImageOutput) ToGetAppSpecWorkerImagePtrOutput() GetAppSpecWorkerImagePtrOutput { - return o.ToGetAppSpecWorkerImagePtrOutputWithContext(context.Background()) +func (o GetAppSpecWorkerLogDestinationPapertrailOutput) ToGetAppSpecWorkerLogDestinationPapertrailPtrOutput() GetAppSpecWorkerLogDestinationPapertrailPtrOutput { + return o.ToGetAppSpecWorkerLogDestinationPapertrailPtrOutputWithContext(context.Background()) } -func (o GetAppSpecWorkerImageOutput) ToGetAppSpecWorkerImagePtrOutputWithContext(ctx context.Context) GetAppSpecWorkerImagePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecWorkerImage) *GetAppSpecWorkerImage { +func (o GetAppSpecWorkerLogDestinationPapertrailOutput) ToGetAppSpecWorkerLogDestinationPapertrailPtrOutputWithContext(ctx context.Context) GetAppSpecWorkerLogDestinationPapertrailPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetAppSpecWorkerLogDestinationPapertrail) *GetAppSpecWorkerLogDestinationPapertrail { return &v - }).(GetAppSpecWorkerImagePtrOutput) -} - -// The registry name. Must be left empty for the `DOCR` registry type. Required for the `DOCKER_HUB` registry type. -func (o GetAppSpecWorkerImageOutput) Registry() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecWorkerImage) *string { return v.Registry }).(pulumi.StringPtrOutput) -} - -// The registry type. One of `DOCR` (DigitalOcean container registry) or `DOCKER_HUB`. -func (o GetAppSpecWorkerImageOutput) RegistryType() pulumi.StringOutput { - return o.ApplyT(func(v GetAppSpecWorkerImage) string { return v.RegistryType }).(pulumi.StringOutput) -} - -// The repository name. -func (o GetAppSpecWorkerImageOutput) Repository() pulumi.StringOutput { - return o.ApplyT(func(v GetAppSpecWorkerImage) string { return v.Repository }).(pulumi.StringOutput) + }).(GetAppSpecWorkerLogDestinationPapertrailPtrOutput) } -// The repository tag. Defaults to `latest` if not provided. -func (o GetAppSpecWorkerImageOutput) Tag() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetAppSpecWorkerImage) *string { return v.Tag }).(pulumi.StringPtrOutput) +func (o GetAppSpecWorkerLogDestinationPapertrailOutput) Endpoint() pulumi.StringOutput { + return o.ApplyT(func(v GetAppSpecWorkerLogDestinationPapertrail) string { return v.Endpoint }).(pulumi.StringOutput) } -type GetAppSpecWorkerImagePtrOutput struct{ *pulumi.OutputState } +type GetAppSpecWorkerLogDestinationPapertrailPtrOutput struct{ *pulumi.OutputState } -func (GetAppSpecWorkerImagePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**GetAppSpecWorkerImage)(nil)).Elem() +func (GetAppSpecWorkerLogDestinationPapertrailPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetAppSpecWorkerLogDestinationPapertrail)(nil)).Elem() } -func (o GetAppSpecWorkerImagePtrOutput) ToGetAppSpecWorkerImagePtrOutput() GetAppSpecWorkerImagePtrOutput { +func (o GetAppSpecWorkerLogDestinationPapertrailPtrOutput) ToGetAppSpecWorkerLogDestinationPapertrailPtrOutput() GetAppSpecWorkerLogDestinationPapertrailPtrOutput { return o } -func (o GetAppSpecWorkerImagePtrOutput) ToGetAppSpecWorkerImagePtrOutputWithContext(ctx context.Context) GetAppSpecWorkerImagePtrOutput { +func (o GetAppSpecWorkerLogDestinationPapertrailPtrOutput) ToGetAppSpecWorkerLogDestinationPapertrailPtrOutputWithContext(ctx context.Context) GetAppSpecWorkerLogDestinationPapertrailPtrOutput { return o } -func (o GetAppSpecWorkerImagePtrOutput) Elem() GetAppSpecWorkerImageOutput { - return o.ApplyT(func(v *GetAppSpecWorkerImage) GetAppSpecWorkerImage { +func (o GetAppSpecWorkerLogDestinationPapertrailPtrOutput) Elem() GetAppSpecWorkerLogDestinationPapertrailOutput { + return o.ApplyT(func(v *GetAppSpecWorkerLogDestinationPapertrail) GetAppSpecWorkerLogDestinationPapertrail { if v != nil { return *v } - var ret GetAppSpecWorkerImage + var ret GetAppSpecWorkerLogDestinationPapertrail return ret - }).(GetAppSpecWorkerImageOutput) -} - -// The registry name. Must be left empty for the `DOCR` registry type. Required for the `DOCKER_HUB` registry type. -func (o GetAppSpecWorkerImagePtrOutput) Registry() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetAppSpecWorkerImage) *string { - if v == nil { - return nil - } - return v.Registry - }).(pulumi.StringPtrOutput) -} - -// The registry type. One of `DOCR` (DigitalOcean container registry) or `DOCKER_HUB`. -func (o GetAppSpecWorkerImagePtrOutput) RegistryType() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetAppSpecWorkerImage) *string { - if v == nil { - return nil - } - return &v.RegistryType - }).(pulumi.StringPtrOutput) -} - -// The repository name. -func (o GetAppSpecWorkerImagePtrOutput) Repository() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetAppSpecWorkerImage) *string { - if v == nil { - return nil - } - return &v.Repository - }).(pulumi.StringPtrOutput) + }).(GetAppSpecWorkerLogDestinationPapertrailOutput) } -// The repository tag. Defaults to `latest` if not provided. -func (o GetAppSpecWorkerImagePtrOutput) Tag() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetAppSpecWorkerImage) *string { +func (o GetAppSpecWorkerLogDestinationPapertrailPtrOutput) Endpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetAppSpecWorkerLogDestinationPapertrail) *string { if v == nil { return nil } - return v.Tag + return &v.Endpoint }).(pulumi.StringPtrOutput) } @@ -20906,6 +25240,8 @@ func (o GetTagsTagArrayOutput) Index(i pulumi.IntInput) GetTagsTagOutput { func init() { pulumi.RegisterInputType(reflect.TypeOf((*AppSpecInput)(nil)).Elem(), AppSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AppSpecPtrInput)(nil)).Elem(), AppSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppSpecAlertInput)(nil)).Elem(), AppSpecAlertArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppSpecAlertArrayInput)(nil)).Elem(), AppSpecAlertArray{}) pulumi.RegisterInputType(reflect.TypeOf((*AppSpecDatabaseInput)(nil)).Elem(), AppSpecDatabaseArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AppSpecDatabaseArrayInput)(nil)).Elem(), AppSpecDatabaseArray{}) pulumi.RegisterInputType(reflect.TypeOf((*AppSpecDomainNameInput)(nil)).Elem(), AppSpecDomainNameArgs{}) @@ -20914,6 +25250,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*AppSpecEnvArrayInput)(nil)).Elem(), AppSpecEnvArray{}) pulumi.RegisterInputType(reflect.TypeOf((*AppSpecJobInput)(nil)).Elem(), AppSpecJobArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AppSpecJobArrayInput)(nil)).Elem(), AppSpecJobArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppSpecJobAlertInput)(nil)).Elem(), AppSpecJobAlertArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppSpecJobAlertArrayInput)(nil)).Elem(), AppSpecJobAlertArray{}) pulumi.RegisterInputType(reflect.TypeOf((*AppSpecJobEnvInput)(nil)).Elem(), AppSpecJobEnvArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AppSpecJobEnvArrayInput)(nil)).Elem(), AppSpecJobEnvArray{}) pulumi.RegisterInputType(reflect.TypeOf((*AppSpecJobGitInput)(nil)).Elem(), AppSpecJobGitArgs{}) @@ -20924,8 +25262,18 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*AppSpecJobGitlabPtrInput)(nil)).Elem(), AppSpecJobGitlabArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AppSpecJobImageInput)(nil)).Elem(), AppSpecJobImageArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AppSpecJobImagePtrInput)(nil)).Elem(), AppSpecJobImageArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppSpecJobLogDestinationInput)(nil)).Elem(), AppSpecJobLogDestinationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppSpecJobLogDestinationArrayInput)(nil)).Elem(), AppSpecJobLogDestinationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppSpecJobLogDestinationDatadogInput)(nil)).Elem(), AppSpecJobLogDestinationDatadogArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppSpecJobLogDestinationDatadogPtrInput)(nil)).Elem(), AppSpecJobLogDestinationDatadogArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppSpecJobLogDestinationLogtailInput)(nil)).Elem(), AppSpecJobLogDestinationLogtailArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppSpecJobLogDestinationLogtailPtrInput)(nil)).Elem(), AppSpecJobLogDestinationLogtailArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppSpecJobLogDestinationPapertrailInput)(nil)).Elem(), AppSpecJobLogDestinationPapertrailArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppSpecJobLogDestinationPapertrailPtrInput)(nil)).Elem(), AppSpecJobLogDestinationPapertrailArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AppSpecServiceInput)(nil)).Elem(), AppSpecServiceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AppSpecServiceArrayInput)(nil)).Elem(), AppSpecServiceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppSpecServiceAlertInput)(nil)).Elem(), AppSpecServiceAlertArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppSpecServiceAlertArrayInput)(nil)).Elem(), AppSpecServiceAlertArray{}) pulumi.RegisterInputType(reflect.TypeOf((*AppSpecServiceCorsInput)(nil)).Elem(), AppSpecServiceCorsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AppSpecServiceCorsPtrInput)(nil)).Elem(), AppSpecServiceCorsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AppSpecServiceCorsAllowOriginsInput)(nil)).Elem(), AppSpecServiceCorsAllowOriginsArgs{}) @@ -20942,6 +25290,14 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*AppSpecServiceHealthCheckPtrInput)(nil)).Elem(), AppSpecServiceHealthCheckArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AppSpecServiceImageInput)(nil)).Elem(), AppSpecServiceImageArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AppSpecServiceImagePtrInput)(nil)).Elem(), AppSpecServiceImageArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppSpecServiceLogDestinationInput)(nil)).Elem(), AppSpecServiceLogDestinationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppSpecServiceLogDestinationArrayInput)(nil)).Elem(), AppSpecServiceLogDestinationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppSpecServiceLogDestinationDatadogInput)(nil)).Elem(), AppSpecServiceLogDestinationDatadogArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppSpecServiceLogDestinationDatadogPtrInput)(nil)).Elem(), AppSpecServiceLogDestinationDatadogArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppSpecServiceLogDestinationLogtailInput)(nil)).Elem(), AppSpecServiceLogDestinationLogtailArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppSpecServiceLogDestinationLogtailPtrInput)(nil)).Elem(), AppSpecServiceLogDestinationLogtailArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppSpecServiceLogDestinationPapertrailInput)(nil)).Elem(), AppSpecServiceLogDestinationPapertrailArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppSpecServiceLogDestinationPapertrailPtrInput)(nil)).Elem(), AppSpecServiceLogDestinationPapertrailArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AppSpecServiceRouteInput)(nil)).Elem(), AppSpecServiceRouteArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AppSpecServiceRouteArrayInput)(nil)).Elem(), AppSpecServiceRouteArray{}) pulumi.RegisterInputType(reflect.TypeOf((*AppSpecStaticSiteInput)(nil)).Elem(), AppSpecStaticSiteArgs{}) @@ -20962,6 +25318,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*AppSpecStaticSiteRouteArrayInput)(nil)).Elem(), AppSpecStaticSiteRouteArray{}) pulumi.RegisterInputType(reflect.TypeOf((*AppSpecWorkerInput)(nil)).Elem(), AppSpecWorkerArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AppSpecWorkerArrayInput)(nil)).Elem(), AppSpecWorkerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppSpecWorkerAlertInput)(nil)).Elem(), AppSpecWorkerAlertArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppSpecWorkerAlertArrayInput)(nil)).Elem(), AppSpecWorkerAlertArray{}) pulumi.RegisterInputType(reflect.TypeOf((*AppSpecWorkerEnvInput)(nil)).Elem(), AppSpecWorkerEnvArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AppSpecWorkerEnvArrayInput)(nil)).Elem(), AppSpecWorkerEnvArray{}) pulumi.RegisterInputType(reflect.TypeOf((*AppSpecWorkerGitInput)(nil)).Elem(), AppSpecWorkerGitArgs{}) @@ -20972,6 +25330,14 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*AppSpecWorkerGitlabPtrInput)(nil)).Elem(), AppSpecWorkerGitlabArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AppSpecWorkerImageInput)(nil)).Elem(), AppSpecWorkerImageArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AppSpecWorkerImagePtrInput)(nil)).Elem(), AppSpecWorkerImageArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppSpecWorkerLogDestinationInput)(nil)).Elem(), AppSpecWorkerLogDestinationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppSpecWorkerLogDestinationArrayInput)(nil)).Elem(), AppSpecWorkerLogDestinationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppSpecWorkerLogDestinationDatadogInput)(nil)).Elem(), AppSpecWorkerLogDestinationDatadogArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppSpecWorkerLogDestinationDatadogPtrInput)(nil)).Elem(), AppSpecWorkerLogDestinationDatadogArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppSpecWorkerLogDestinationLogtailInput)(nil)).Elem(), AppSpecWorkerLogDestinationLogtailArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppSpecWorkerLogDestinationLogtailPtrInput)(nil)).Elem(), AppSpecWorkerLogDestinationLogtailArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppSpecWorkerLogDestinationPapertrailInput)(nil)).Elem(), AppSpecWorkerLogDestinationPapertrailArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppSpecWorkerLogDestinationPapertrailPtrInput)(nil)).Elem(), AppSpecWorkerLogDestinationPapertrailArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DatabaseClusterMaintenanceWindowInput)(nil)).Elem(), DatabaseClusterMaintenanceWindowArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DatabaseClusterMaintenanceWindowArrayInput)(nil)).Elem(), DatabaseClusterMaintenanceWindowArray{}) pulumi.RegisterInputType(reflect.TypeOf((*DatabaseFirewallRuleInput)(nil)).Elem(), DatabaseFirewallRuleArgs{}) @@ -21018,6 +25384,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*SpacesBucketVersioningPtrInput)(nil)).Elem(), SpacesBucketVersioningArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecInput)(nil)).Elem(), GetAppSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecArrayInput)(nil)).Elem(), GetAppSpecArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecAlertInput)(nil)).Elem(), GetAppSpecAlertArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecAlertArrayInput)(nil)).Elem(), GetAppSpecAlertArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecDatabaseInput)(nil)).Elem(), GetAppSpecDatabaseArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecDatabaseArrayInput)(nil)).Elem(), GetAppSpecDatabaseArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecDomainInput)(nil)).Elem(), GetAppSpecDomainArgs{}) @@ -21025,6 +25393,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecEnvArrayInput)(nil)).Elem(), GetAppSpecEnvArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecJobInput)(nil)).Elem(), GetAppSpecJobArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecJobArrayInput)(nil)).Elem(), GetAppSpecJobArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecJobAlertInput)(nil)).Elem(), GetAppSpecJobAlertArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecJobAlertArrayInput)(nil)).Elem(), GetAppSpecJobAlertArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecJobEnvInput)(nil)).Elem(), GetAppSpecJobEnvArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecJobEnvArrayInput)(nil)).Elem(), GetAppSpecJobEnvArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecJobGitInput)(nil)).Elem(), GetAppSpecJobGitArgs{}) @@ -21035,8 +25405,18 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecJobGitlabPtrInput)(nil)).Elem(), GetAppSpecJobGitlabArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecJobImageInput)(nil)).Elem(), GetAppSpecJobImageArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecJobImagePtrInput)(nil)).Elem(), GetAppSpecJobImageArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecJobLogDestinationInput)(nil)).Elem(), GetAppSpecJobLogDestinationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecJobLogDestinationArrayInput)(nil)).Elem(), GetAppSpecJobLogDestinationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecJobLogDestinationDatadogInput)(nil)).Elem(), GetAppSpecJobLogDestinationDatadogArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecJobLogDestinationDatadogPtrInput)(nil)).Elem(), GetAppSpecJobLogDestinationDatadogArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecJobLogDestinationLogtailInput)(nil)).Elem(), GetAppSpecJobLogDestinationLogtailArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecJobLogDestinationLogtailPtrInput)(nil)).Elem(), GetAppSpecJobLogDestinationLogtailArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecJobLogDestinationPapertrailInput)(nil)).Elem(), GetAppSpecJobLogDestinationPapertrailArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecJobLogDestinationPapertrailPtrInput)(nil)).Elem(), GetAppSpecJobLogDestinationPapertrailArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecServiceInput)(nil)).Elem(), GetAppSpecServiceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecServiceArrayInput)(nil)).Elem(), GetAppSpecServiceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecServiceAlertInput)(nil)).Elem(), GetAppSpecServiceAlertArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecServiceAlertArrayInput)(nil)).Elem(), GetAppSpecServiceAlertArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecServiceCorsInput)(nil)).Elem(), GetAppSpecServiceCorsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecServiceCorsPtrInput)(nil)).Elem(), GetAppSpecServiceCorsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecServiceCorsAllowOriginsInput)(nil)).Elem(), GetAppSpecServiceCorsAllowOriginsArgs{}) @@ -21053,6 +25433,14 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecServiceHealthCheckPtrInput)(nil)).Elem(), GetAppSpecServiceHealthCheckArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecServiceImageInput)(nil)).Elem(), GetAppSpecServiceImageArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecServiceImagePtrInput)(nil)).Elem(), GetAppSpecServiceImageArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecServiceLogDestinationInput)(nil)).Elem(), GetAppSpecServiceLogDestinationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecServiceLogDestinationArrayInput)(nil)).Elem(), GetAppSpecServiceLogDestinationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecServiceLogDestinationDatadogInput)(nil)).Elem(), GetAppSpecServiceLogDestinationDatadogArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecServiceLogDestinationDatadogPtrInput)(nil)).Elem(), GetAppSpecServiceLogDestinationDatadogArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecServiceLogDestinationLogtailInput)(nil)).Elem(), GetAppSpecServiceLogDestinationLogtailArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecServiceLogDestinationLogtailPtrInput)(nil)).Elem(), GetAppSpecServiceLogDestinationLogtailArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecServiceLogDestinationPapertrailInput)(nil)).Elem(), GetAppSpecServiceLogDestinationPapertrailArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecServiceLogDestinationPapertrailPtrInput)(nil)).Elem(), GetAppSpecServiceLogDestinationPapertrailArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecServiceRouteInput)(nil)).Elem(), GetAppSpecServiceRouteArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecServiceRouteArrayInput)(nil)).Elem(), GetAppSpecServiceRouteArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecStaticSiteInput)(nil)).Elem(), GetAppSpecStaticSiteArgs{}) @@ -21073,6 +25461,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecStaticSiteRouteArrayInput)(nil)).Elem(), GetAppSpecStaticSiteRouteArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecWorkerInput)(nil)).Elem(), GetAppSpecWorkerArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecWorkerArrayInput)(nil)).Elem(), GetAppSpecWorkerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecWorkerAlertInput)(nil)).Elem(), GetAppSpecWorkerAlertArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecWorkerAlertArrayInput)(nil)).Elem(), GetAppSpecWorkerAlertArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecWorkerEnvInput)(nil)).Elem(), GetAppSpecWorkerEnvArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecWorkerEnvArrayInput)(nil)).Elem(), GetAppSpecWorkerEnvArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecWorkerGitInput)(nil)).Elem(), GetAppSpecWorkerGitArgs{}) @@ -21083,6 +25473,14 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecWorkerGitlabPtrInput)(nil)).Elem(), GetAppSpecWorkerGitlabArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecWorkerImageInput)(nil)).Elem(), GetAppSpecWorkerImageArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecWorkerImagePtrInput)(nil)).Elem(), GetAppSpecWorkerImageArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecWorkerLogDestinationInput)(nil)).Elem(), GetAppSpecWorkerLogDestinationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecWorkerLogDestinationArrayInput)(nil)).Elem(), GetAppSpecWorkerLogDestinationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecWorkerLogDestinationDatadogInput)(nil)).Elem(), GetAppSpecWorkerLogDestinationDatadogArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecWorkerLogDestinationDatadogPtrInput)(nil)).Elem(), GetAppSpecWorkerLogDestinationDatadogArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecWorkerLogDestinationLogtailInput)(nil)).Elem(), GetAppSpecWorkerLogDestinationLogtailArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecWorkerLogDestinationLogtailPtrInput)(nil)).Elem(), GetAppSpecWorkerLogDestinationLogtailArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecWorkerLogDestinationPapertrailInput)(nil)).Elem(), GetAppSpecWorkerLogDestinationPapertrailArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAppSpecWorkerLogDestinationPapertrailPtrInput)(nil)).Elem(), GetAppSpecWorkerLogDestinationPapertrailArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetDatabaseClusterMaintenanceWindowInput)(nil)).Elem(), GetDatabaseClusterMaintenanceWindowArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetDatabaseClusterMaintenanceWindowArrayInput)(nil)).Elem(), GetDatabaseClusterMaintenanceWindowArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetDomainsDomainInput)(nil)).Elem(), GetDomainsDomainArgs{}) @@ -21169,6 +25567,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetTagsTagArrayInput)(nil)).Elem(), GetTagsTagArray{}) pulumi.RegisterOutputType(AppSpecOutput{}) pulumi.RegisterOutputType(AppSpecPtrOutput{}) + pulumi.RegisterOutputType(AppSpecAlertOutput{}) + pulumi.RegisterOutputType(AppSpecAlertArrayOutput{}) pulumi.RegisterOutputType(AppSpecDatabaseOutput{}) pulumi.RegisterOutputType(AppSpecDatabaseArrayOutput{}) pulumi.RegisterOutputType(AppSpecDomainNameOutput{}) @@ -21177,6 +25577,8 @@ func init() { pulumi.RegisterOutputType(AppSpecEnvArrayOutput{}) pulumi.RegisterOutputType(AppSpecJobOutput{}) pulumi.RegisterOutputType(AppSpecJobArrayOutput{}) + pulumi.RegisterOutputType(AppSpecJobAlertOutput{}) + pulumi.RegisterOutputType(AppSpecJobAlertArrayOutput{}) pulumi.RegisterOutputType(AppSpecJobEnvOutput{}) pulumi.RegisterOutputType(AppSpecJobEnvArrayOutput{}) pulumi.RegisterOutputType(AppSpecJobGitOutput{}) @@ -21187,8 +25589,18 @@ func init() { pulumi.RegisterOutputType(AppSpecJobGitlabPtrOutput{}) pulumi.RegisterOutputType(AppSpecJobImageOutput{}) pulumi.RegisterOutputType(AppSpecJobImagePtrOutput{}) + pulumi.RegisterOutputType(AppSpecJobLogDestinationOutput{}) + pulumi.RegisterOutputType(AppSpecJobLogDestinationArrayOutput{}) + pulumi.RegisterOutputType(AppSpecJobLogDestinationDatadogOutput{}) + pulumi.RegisterOutputType(AppSpecJobLogDestinationDatadogPtrOutput{}) + pulumi.RegisterOutputType(AppSpecJobLogDestinationLogtailOutput{}) + pulumi.RegisterOutputType(AppSpecJobLogDestinationLogtailPtrOutput{}) + pulumi.RegisterOutputType(AppSpecJobLogDestinationPapertrailOutput{}) + pulumi.RegisterOutputType(AppSpecJobLogDestinationPapertrailPtrOutput{}) pulumi.RegisterOutputType(AppSpecServiceOutput{}) pulumi.RegisterOutputType(AppSpecServiceArrayOutput{}) + pulumi.RegisterOutputType(AppSpecServiceAlertOutput{}) + pulumi.RegisterOutputType(AppSpecServiceAlertArrayOutput{}) pulumi.RegisterOutputType(AppSpecServiceCorsOutput{}) pulumi.RegisterOutputType(AppSpecServiceCorsPtrOutput{}) pulumi.RegisterOutputType(AppSpecServiceCorsAllowOriginsOutput{}) @@ -21205,6 +25617,14 @@ func init() { pulumi.RegisterOutputType(AppSpecServiceHealthCheckPtrOutput{}) pulumi.RegisterOutputType(AppSpecServiceImageOutput{}) pulumi.RegisterOutputType(AppSpecServiceImagePtrOutput{}) + pulumi.RegisterOutputType(AppSpecServiceLogDestinationOutput{}) + pulumi.RegisterOutputType(AppSpecServiceLogDestinationArrayOutput{}) + pulumi.RegisterOutputType(AppSpecServiceLogDestinationDatadogOutput{}) + pulumi.RegisterOutputType(AppSpecServiceLogDestinationDatadogPtrOutput{}) + pulumi.RegisterOutputType(AppSpecServiceLogDestinationLogtailOutput{}) + pulumi.RegisterOutputType(AppSpecServiceLogDestinationLogtailPtrOutput{}) + pulumi.RegisterOutputType(AppSpecServiceLogDestinationPapertrailOutput{}) + pulumi.RegisterOutputType(AppSpecServiceLogDestinationPapertrailPtrOutput{}) pulumi.RegisterOutputType(AppSpecServiceRouteOutput{}) pulumi.RegisterOutputType(AppSpecServiceRouteArrayOutput{}) pulumi.RegisterOutputType(AppSpecStaticSiteOutput{}) @@ -21225,6 +25645,8 @@ func init() { pulumi.RegisterOutputType(AppSpecStaticSiteRouteArrayOutput{}) pulumi.RegisterOutputType(AppSpecWorkerOutput{}) pulumi.RegisterOutputType(AppSpecWorkerArrayOutput{}) + pulumi.RegisterOutputType(AppSpecWorkerAlertOutput{}) + pulumi.RegisterOutputType(AppSpecWorkerAlertArrayOutput{}) pulumi.RegisterOutputType(AppSpecWorkerEnvOutput{}) pulumi.RegisterOutputType(AppSpecWorkerEnvArrayOutput{}) pulumi.RegisterOutputType(AppSpecWorkerGitOutput{}) @@ -21235,6 +25657,14 @@ func init() { pulumi.RegisterOutputType(AppSpecWorkerGitlabPtrOutput{}) pulumi.RegisterOutputType(AppSpecWorkerImageOutput{}) pulumi.RegisterOutputType(AppSpecWorkerImagePtrOutput{}) + pulumi.RegisterOutputType(AppSpecWorkerLogDestinationOutput{}) + pulumi.RegisterOutputType(AppSpecWorkerLogDestinationArrayOutput{}) + pulumi.RegisterOutputType(AppSpecWorkerLogDestinationDatadogOutput{}) + pulumi.RegisterOutputType(AppSpecWorkerLogDestinationDatadogPtrOutput{}) + pulumi.RegisterOutputType(AppSpecWorkerLogDestinationLogtailOutput{}) + pulumi.RegisterOutputType(AppSpecWorkerLogDestinationLogtailPtrOutput{}) + pulumi.RegisterOutputType(AppSpecWorkerLogDestinationPapertrailOutput{}) + pulumi.RegisterOutputType(AppSpecWorkerLogDestinationPapertrailPtrOutput{}) pulumi.RegisterOutputType(DatabaseClusterMaintenanceWindowOutput{}) pulumi.RegisterOutputType(DatabaseClusterMaintenanceWindowArrayOutput{}) pulumi.RegisterOutputType(DatabaseFirewallRuleOutput{}) @@ -21281,6 +25711,8 @@ func init() { pulumi.RegisterOutputType(SpacesBucketVersioningPtrOutput{}) pulumi.RegisterOutputType(GetAppSpecOutput{}) pulumi.RegisterOutputType(GetAppSpecArrayOutput{}) + pulumi.RegisterOutputType(GetAppSpecAlertOutput{}) + pulumi.RegisterOutputType(GetAppSpecAlertArrayOutput{}) pulumi.RegisterOutputType(GetAppSpecDatabaseOutput{}) pulumi.RegisterOutputType(GetAppSpecDatabaseArrayOutput{}) pulumi.RegisterOutputType(GetAppSpecDomainOutput{}) @@ -21288,6 +25720,8 @@ func init() { pulumi.RegisterOutputType(GetAppSpecEnvArrayOutput{}) pulumi.RegisterOutputType(GetAppSpecJobOutput{}) pulumi.RegisterOutputType(GetAppSpecJobArrayOutput{}) + pulumi.RegisterOutputType(GetAppSpecJobAlertOutput{}) + pulumi.RegisterOutputType(GetAppSpecJobAlertArrayOutput{}) pulumi.RegisterOutputType(GetAppSpecJobEnvOutput{}) pulumi.RegisterOutputType(GetAppSpecJobEnvArrayOutput{}) pulumi.RegisterOutputType(GetAppSpecJobGitOutput{}) @@ -21298,8 +25732,18 @@ func init() { pulumi.RegisterOutputType(GetAppSpecJobGitlabPtrOutput{}) pulumi.RegisterOutputType(GetAppSpecJobImageOutput{}) pulumi.RegisterOutputType(GetAppSpecJobImagePtrOutput{}) + pulumi.RegisterOutputType(GetAppSpecJobLogDestinationOutput{}) + pulumi.RegisterOutputType(GetAppSpecJobLogDestinationArrayOutput{}) + pulumi.RegisterOutputType(GetAppSpecJobLogDestinationDatadogOutput{}) + pulumi.RegisterOutputType(GetAppSpecJobLogDestinationDatadogPtrOutput{}) + pulumi.RegisterOutputType(GetAppSpecJobLogDestinationLogtailOutput{}) + pulumi.RegisterOutputType(GetAppSpecJobLogDestinationLogtailPtrOutput{}) + pulumi.RegisterOutputType(GetAppSpecJobLogDestinationPapertrailOutput{}) + pulumi.RegisterOutputType(GetAppSpecJobLogDestinationPapertrailPtrOutput{}) pulumi.RegisterOutputType(GetAppSpecServiceOutput{}) pulumi.RegisterOutputType(GetAppSpecServiceArrayOutput{}) + pulumi.RegisterOutputType(GetAppSpecServiceAlertOutput{}) + pulumi.RegisterOutputType(GetAppSpecServiceAlertArrayOutput{}) pulumi.RegisterOutputType(GetAppSpecServiceCorsOutput{}) pulumi.RegisterOutputType(GetAppSpecServiceCorsPtrOutput{}) pulumi.RegisterOutputType(GetAppSpecServiceCorsAllowOriginsOutput{}) @@ -21316,6 +25760,14 @@ func init() { pulumi.RegisterOutputType(GetAppSpecServiceHealthCheckPtrOutput{}) pulumi.RegisterOutputType(GetAppSpecServiceImageOutput{}) pulumi.RegisterOutputType(GetAppSpecServiceImagePtrOutput{}) + pulumi.RegisterOutputType(GetAppSpecServiceLogDestinationOutput{}) + pulumi.RegisterOutputType(GetAppSpecServiceLogDestinationArrayOutput{}) + pulumi.RegisterOutputType(GetAppSpecServiceLogDestinationDatadogOutput{}) + pulumi.RegisterOutputType(GetAppSpecServiceLogDestinationDatadogPtrOutput{}) + pulumi.RegisterOutputType(GetAppSpecServiceLogDestinationLogtailOutput{}) + pulumi.RegisterOutputType(GetAppSpecServiceLogDestinationLogtailPtrOutput{}) + pulumi.RegisterOutputType(GetAppSpecServiceLogDestinationPapertrailOutput{}) + pulumi.RegisterOutputType(GetAppSpecServiceLogDestinationPapertrailPtrOutput{}) pulumi.RegisterOutputType(GetAppSpecServiceRouteOutput{}) pulumi.RegisterOutputType(GetAppSpecServiceRouteArrayOutput{}) pulumi.RegisterOutputType(GetAppSpecStaticSiteOutput{}) @@ -21336,6 +25788,8 @@ func init() { pulumi.RegisterOutputType(GetAppSpecStaticSiteRouteArrayOutput{}) pulumi.RegisterOutputType(GetAppSpecWorkerOutput{}) pulumi.RegisterOutputType(GetAppSpecWorkerArrayOutput{}) + pulumi.RegisterOutputType(GetAppSpecWorkerAlertOutput{}) + pulumi.RegisterOutputType(GetAppSpecWorkerAlertArrayOutput{}) pulumi.RegisterOutputType(GetAppSpecWorkerEnvOutput{}) pulumi.RegisterOutputType(GetAppSpecWorkerEnvArrayOutput{}) pulumi.RegisterOutputType(GetAppSpecWorkerGitOutput{}) @@ -21346,6 +25800,14 @@ func init() { pulumi.RegisterOutputType(GetAppSpecWorkerGitlabPtrOutput{}) pulumi.RegisterOutputType(GetAppSpecWorkerImageOutput{}) pulumi.RegisterOutputType(GetAppSpecWorkerImagePtrOutput{}) + pulumi.RegisterOutputType(GetAppSpecWorkerLogDestinationOutput{}) + pulumi.RegisterOutputType(GetAppSpecWorkerLogDestinationArrayOutput{}) + pulumi.RegisterOutputType(GetAppSpecWorkerLogDestinationDatadogOutput{}) + pulumi.RegisterOutputType(GetAppSpecWorkerLogDestinationDatadogPtrOutput{}) + pulumi.RegisterOutputType(GetAppSpecWorkerLogDestinationLogtailOutput{}) + pulumi.RegisterOutputType(GetAppSpecWorkerLogDestinationLogtailPtrOutput{}) + pulumi.RegisterOutputType(GetAppSpecWorkerLogDestinationPapertrailOutput{}) + pulumi.RegisterOutputType(GetAppSpecWorkerLogDestinationPapertrailPtrOutput{}) pulumi.RegisterOutputType(GetDatabaseClusterMaintenanceWindowOutput{}) pulumi.RegisterOutputType(GetDatabaseClusterMaintenanceWindowArrayOutput{}) pulumi.RegisterOutputType(GetDomainsDomainOutput{}) diff --git a/sdk/go/digitalocean/spacesBucketPolicy.go b/sdk/go/digitalocean/spacesBucketPolicy.go new file mode 100644 index 00000000..bc884b0b --- /dev/null +++ b/sdk/go/digitalocean/spacesBucketPolicy.go @@ -0,0 +1,310 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package digitalocean + +import ( + "context" + "reflect" + + "github.com/pkg/errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// ## Example Usage +// ### Limiting access to specific IP addresses +// +// ```go +// package main +// +// import ( +// "encoding/json" +// "fmt" +// +// "github.com/pulumi/pulumi-digitalocean/sdk/v4/go/digitalocean" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// foobarSpacesBucket, err := digitalocean.NewSpacesBucket(ctx, "foobarSpacesBucket", &digitalocean.SpacesBucketArgs{ +// Region: pulumi.String("nyc3"), +// }) +// if err != nil { +// return err +// } +// _, err = digitalocean.NewSpacesBucketPolicy(ctx, "foobarSpacesBucketPolicy", &digitalocean.SpacesBucketPolicyArgs{ +// Region: foobarSpacesBucket.Region, +// Bucket: foobarSpacesBucket.Name, +// Policy: pulumi.All(foobarSpacesBucket.Name, foobarSpacesBucket.Name).ApplyT(func(_args []interface{}) (string, error) { +// foobarSpacesBucketName := _args[0].(string) +// foobarSpacesBucketName1 := _args[1].(string) +// var _zero string +// tmpJSON0, err := json.Marshal(map[string]interface{}{ +// "Version": "2012-10-17", +// "Statement": []map[string]interface{}{ +// map[string]interface{}{ +// "Sid": "IPAllow", +// "Effect": "Deny", +// "Principal": "*", +// "Action": "s3:*", +// "Resource": []string{ +// fmt.Sprintf("%v%v", "arn:aws:s3:::", foobarSpacesBucketName), +// fmt.Sprintf("%v%v%v", "arn:aws:s3:::", foobarSpacesBucketName1, "/*"), +// }, +// "Condition": map[string]interface{}{ +// "NotIpAddress": map[string]interface{}{ +// "aws:SourceIp": "54.240.143.0/24", +// }, +// }, +// }, +// }, +// }) +// if err != nil { +// return _zero, err +// } +// json0 := string(tmpJSON0) +// return json0, nil +// }).(pulumi.StringOutput), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// ``` +// +// !> **Warning:** Before using this policy, replace the 54.240.143.0/24 IP address range in this example with an appropriate value for your use case. Otherwise, you will lose the ability to access your bucket. +// +// ## Import +// +// Bucket policies can be imported using the `region` and `bucket` attributes (delimited by a comma) +// +// ```sh +// $ pulumi import digitalocean:index/spacesBucketPolicy:SpacesBucketPolicy foobar `region`,`bucket` +// ``` +type SpacesBucketPolicy struct { + pulumi.CustomResourceState + + // The name of the bucket to which to apply the policy. + Bucket pulumi.StringOutput `pulumi:"bucket"` + // The text of the policy. + Policy pulumi.StringOutput `pulumi:"policy"` + // The region where the bucket resides. + Region pulumi.StringOutput `pulumi:"region"` +} + +// NewSpacesBucketPolicy registers a new resource with the given unique name, arguments, and options. +func NewSpacesBucketPolicy(ctx *pulumi.Context, + name string, args *SpacesBucketPolicyArgs, opts ...pulumi.ResourceOption) (*SpacesBucketPolicy, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Bucket == nil { + return nil, errors.New("invalid value for required argument 'Bucket'") + } + if args.Policy == nil { + return nil, errors.New("invalid value for required argument 'Policy'") + } + if args.Region == nil { + return nil, errors.New("invalid value for required argument 'Region'") + } + var resource SpacesBucketPolicy + err := ctx.RegisterResource("digitalocean:index/spacesBucketPolicy:SpacesBucketPolicy", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetSpacesBucketPolicy gets an existing SpacesBucketPolicy resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetSpacesBucketPolicy(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *SpacesBucketPolicyState, opts ...pulumi.ResourceOption) (*SpacesBucketPolicy, error) { + var resource SpacesBucketPolicy + err := ctx.ReadResource("digitalocean:index/spacesBucketPolicy:SpacesBucketPolicy", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering SpacesBucketPolicy resources. +type spacesBucketPolicyState struct { + // The name of the bucket to which to apply the policy. + Bucket *string `pulumi:"bucket"` + // The text of the policy. + Policy *string `pulumi:"policy"` + // The region where the bucket resides. + Region *string `pulumi:"region"` +} + +type SpacesBucketPolicyState struct { + // The name of the bucket to which to apply the policy. + Bucket pulumi.StringPtrInput + // The text of the policy. + Policy pulumi.StringPtrInput + // The region where the bucket resides. + Region pulumi.StringPtrInput +} + +func (SpacesBucketPolicyState) ElementType() reflect.Type { + return reflect.TypeOf((*spacesBucketPolicyState)(nil)).Elem() +} + +type spacesBucketPolicyArgs struct { + // The name of the bucket to which to apply the policy. + Bucket string `pulumi:"bucket"` + // The text of the policy. + Policy string `pulumi:"policy"` + // The region where the bucket resides. + Region string `pulumi:"region"` +} + +// The set of arguments for constructing a SpacesBucketPolicy resource. +type SpacesBucketPolicyArgs struct { + // The name of the bucket to which to apply the policy. + Bucket pulumi.StringInput + // The text of the policy. + Policy pulumi.StringInput + // The region where the bucket resides. + Region pulumi.StringInput +} + +func (SpacesBucketPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*spacesBucketPolicyArgs)(nil)).Elem() +} + +type SpacesBucketPolicyInput interface { + pulumi.Input + + ToSpacesBucketPolicyOutput() SpacesBucketPolicyOutput + ToSpacesBucketPolicyOutputWithContext(ctx context.Context) SpacesBucketPolicyOutput +} + +func (*SpacesBucketPolicy) ElementType() reflect.Type { + return reflect.TypeOf((**SpacesBucketPolicy)(nil)).Elem() +} + +func (i *SpacesBucketPolicy) ToSpacesBucketPolicyOutput() SpacesBucketPolicyOutput { + return i.ToSpacesBucketPolicyOutputWithContext(context.Background()) +} + +func (i *SpacesBucketPolicy) ToSpacesBucketPolicyOutputWithContext(ctx context.Context) SpacesBucketPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpacesBucketPolicyOutput) +} + +// SpacesBucketPolicyArrayInput is an input type that accepts SpacesBucketPolicyArray and SpacesBucketPolicyArrayOutput values. +// You can construct a concrete instance of `SpacesBucketPolicyArrayInput` via: +// +// SpacesBucketPolicyArray{ SpacesBucketPolicyArgs{...} } +type SpacesBucketPolicyArrayInput interface { + pulumi.Input + + ToSpacesBucketPolicyArrayOutput() SpacesBucketPolicyArrayOutput + ToSpacesBucketPolicyArrayOutputWithContext(context.Context) SpacesBucketPolicyArrayOutput +} + +type SpacesBucketPolicyArray []SpacesBucketPolicyInput + +func (SpacesBucketPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*SpacesBucketPolicy)(nil)).Elem() +} + +func (i SpacesBucketPolicyArray) ToSpacesBucketPolicyArrayOutput() SpacesBucketPolicyArrayOutput { + return i.ToSpacesBucketPolicyArrayOutputWithContext(context.Background()) +} + +func (i SpacesBucketPolicyArray) ToSpacesBucketPolicyArrayOutputWithContext(ctx context.Context) SpacesBucketPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpacesBucketPolicyArrayOutput) +} + +// SpacesBucketPolicyMapInput is an input type that accepts SpacesBucketPolicyMap and SpacesBucketPolicyMapOutput values. +// You can construct a concrete instance of `SpacesBucketPolicyMapInput` via: +// +// SpacesBucketPolicyMap{ "key": SpacesBucketPolicyArgs{...} } +type SpacesBucketPolicyMapInput interface { + pulumi.Input + + ToSpacesBucketPolicyMapOutput() SpacesBucketPolicyMapOutput + ToSpacesBucketPolicyMapOutputWithContext(context.Context) SpacesBucketPolicyMapOutput +} + +type SpacesBucketPolicyMap map[string]SpacesBucketPolicyInput + +func (SpacesBucketPolicyMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*SpacesBucketPolicy)(nil)).Elem() +} + +func (i SpacesBucketPolicyMap) ToSpacesBucketPolicyMapOutput() SpacesBucketPolicyMapOutput { + return i.ToSpacesBucketPolicyMapOutputWithContext(context.Background()) +} + +func (i SpacesBucketPolicyMap) ToSpacesBucketPolicyMapOutputWithContext(ctx context.Context) SpacesBucketPolicyMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpacesBucketPolicyMapOutput) +} + +type SpacesBucketPolicyOutput struct{ *pulumi.OutputState } + +func (SpacesBucketPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SpacesBucketPolicy)(nil)).Elem() +} + +func (o SpacesBucketPolicyOutput) ToSpacesBucketPolicyOutput() SpacesBucketPolicyOutput { + return o +} + +func (o SpacesBucketPolicyOutput) ToSpacesBucketPolicyOutputWithContext(ctx context.Context) SpacesBucketPolicyOutput { + return o +} + +type SpacesBucketPolicyArrayOutput struct{ *pulumi.OutputState } + +func (SpacesBucketPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*SpacesBucketPolicy)(nil)).Elem() +} + +func (o SpacesBucketPolicyArrayOutput) ToSpacesBucketPolicyArrayOutput() SpacesBucketPolicyArrayOutput { + return o +} + +func (o SpacesBucketPolicyArrayOutput) ToSpacesBucketPolicyArrayOutputWithContext(ctx context.Context) SpacesBucketPolicyArrayOutput { + return o +} + +func (o SpacesBucketPolicyArrayOutput) Index(i pulumi.IntInput) SpacesBucketPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *SpacesBucketPolicy { + return vs[0].([]*SpacesBucketPolicy)[vs[1].(int)] + }).(SpacesBucketPolicyOutput) +} + +type SpacesBucketPolicyMapOutput struct{ *pulumi.OutputState } + +func (SpacesBucketPolicyMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*SpacesBucketPolicy)(nil)).Elem() +} + +func (o SpacesBucketPolicyMapOutput) ToSpacesBucketPolicyMapOutput() SpacesBucketPolicyMapOutput { + return o +} + +func (o SpacesBucketPolicyMapOutput) ToSpacesBucketPolicyMapOutputWithContext(ctx context.Context) SpacesBucketPolicyMapOutput { + return o +} + +func (o SpacesBucketPolicyMapOutput) MapIndex(k pulumi.StringInput) SpacesBucketPolicyOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *SpacesBucketPolicy { + return vs[0].(map[string]*SpacesBucketPolicy)[vs[1].(string)] + }).(SpacesBucketPolicyOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*SpacesBucketPolicyInput)(nil)).Elem(), &SpacesBucketPolicy{}) + pulumi.RegisterInputType(reflect.TypeOf((*SpacesBucketPolicyArrayInput)(nil)).Elem(), SpacesBucketPolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SpacesBucketPolicyMapInput)(nil)).Elem(), SpacesBucketPolicyMap{}) + pulumi.RegisterOutputType(SpacesBucketPolicyOutput{}) + pulumi.RegisterOutputType(SpacesBucketPolicyArrayOutput{}) + pulumi.RegisterOutputType(SpacesBucketPolicyMapOutput{}) +} diff --git a/sdk/nodejs/app.ts b/sdk/nodejs/app.ts index a5d521b6..72fe6b81 100644 --- a/sdk/nodejs/app.ts +++ b/sdk/nodejs/app.ts @@ -64,6 +64,9 @@ import * as utilities from "./utilities"; * * const mono_repo_example = new digitalocean.App("mono-repo-example", { * spec: { + * alerts: [{ + * rule: "DEPLOYMENT_FAILED", + * }], * databases: [{ * engine: "PG", * name: "starter-db", @@ -77,6 +80,12 @@ import * as utilities from "./utilities"; * // Build a Go project in the api/ directory that listens on port 3000 * // and serves it at https://foo.example.com/api * services: [{ + * alerts: [{ + * operator: "GREATER_THAN", + * rule: "CPU_UTILIZATION", + * value: 75, + * window: "TEN_MINUTES", + * }], * environmentSlug: "go", * github: { * branch: "main", @@ -86,6 +95,12 @@ import * as utilities from "./utilities"; * httpPort: 3000, * instanceCount: 2, * instanceSizeSlug: "professional-xs", + * logDestinations: [{ + * name: "MyLogs", + * papertrail: { + * endpoint: "syslog+tls://example.com:12345", + * }, + * }], * name: "api", * routes: [{ * path: "/api", diff --git a/sdk/nodejs/containerRegistry.ts b/sdk/nodejs/containerRegistry.ts index f5d89ad1..89febdc6 100644 --- a/sdk/nodejs/containerRegistry.ts +++ b/sdk/nodejs/containerRegistry.ts @@ -56,12 +56,30 @@ export class ContainerRegistry extends pulumi.CustomResource { return obj['__pulumiType'] === ContainerRegistry.__pulumiType; } + /** + * The date and time when the registry was created + */ + public /*out*/ readonly createdAt!: pulumi.Output; + /** + * The URL endpoint of the container registry. Ex: `registry.digitalocean.com/my_registry` + */ public /*out*/ readonly endpoint!: pulumi.Output; /** * The name of the container_registry */ public readonly name!: pulumi.Output; + /** + * The slug identifier of for region where registry data will be stored. When not provided, a region will be selected automatically. + */ + public readonly region!: pulumi.Output; + /** + * The domain of the container registry. Ex: `registry.digitalocean.com` + */ public /*out*/ readonly serverUrl!: pulumi.Output; + /** + * The amount of storage used in the registry in bytes. + */ + public /*out*/ readonly storageUsageBytes!: pulumi.Output; /** * The slug identifier for the subscription tier to use (`starter`, `basic`, or `professional`) */ @@ -80,9 +98,12 @@ export class ContainerRegistry extends pulumi.CustomResource { opts = opts || {}; if (opts.id) { const state = argsOrState as ContainerRegistryState | undefined; + resourceInputs["createdAt"] = state ? state.createdAt : undefined; resourceInputs["endpoint"] = state ? state.endpoint : undefined; resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["region"] = state ? state.region : undefined; resourceInputs["serverUrl"] = state ? state.serverUrl : undefined; + resourceInputs["storageUsageBytes"] = state ? state.storageUsageBytes : undefined; resourceInputs["subscriptionTierSlug"] = state ? state.subscriptionTierSlug : undefined; } else { const args = argsOrState as ContainerRegistryArgs | undefined; @@ -90,9 +111,12 @@ export class ContainerRegistry extends pulumi.CustomResource { throw new Error("Missing required property 'subscriptionTierSlug'"); } resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["region"] = args ? args.region : undefined; resourceInputs["subscriptionTierSlug"] = args ? args.subscriptionTierSlug : undefined; + resourceInputs["createdAt"] = undefined /*out*/; resourceInputs["endpoint"] = undefined /*out*/; resourceInputs["serverUrl"] = undefined /*out*/; + resourceInputs["storageUsageBytes"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(ContainerRegistry.__pulumiType, name, resourceInputs, opts); @@ -103,12 +127,30 @@ export class ContainerRegistry extends pulumi.CustomResource { * Input properties used for looking up and filtering ContainerRegistry resources. */ export interface ContainerRegistryState { + /** + * The date and time when the registry was created + */ + createdAt?: pulumi.Input; + /** + * The URL endpoint of the container registry. Ex: `registry.digitalocean.com/my_registry` + */ endpoint?: pulumi.Input; /** * The name of the container_registry */ name?: pulumi.Input; + /** + * The slug identifier of for region where registry data will be stored. When not provided, a region will be selected automatically. + */ + region?: pulumi.Input; + /** + * The domain of the container registry. Ex: `registry.digitalocean.com` + */ serverUrl?: pulumi.Input; + /** + * The amount of storage used in the registry in bytes. + */ + storageUsageBytes?: pulumi.Input; /** * The slug identifier for the subscription tier to use (`starter`, `basic`, or `professional`) */ @@ -123,6 +165,10 @@ export interface ContainerRegistryArgs { * The name of the container_registry */ name?: pulumi.Input; + /** + * The slug identifier of for region where registry data will be stored. When not provided, a region will be selected automatically. + */ + region?: pulumi.Input; /** * The slug identifier for the subscription tier to use (`starter`, `basic`, or `professional`) */ diff --git a/sdk/nodejs/dnsRecord.ts b/sdk/nodejs/dnsRecord.ts index 7c6f9153..57305f8e 100644 --- a/sdk/nodejs/dnsRecord.ts +++ b/sdk/nodejs/dnsRecord.ts @@ -97,7 +97,7 @@ export class DnsRecord extends pulumi.CustomResource { */ public readonly tag!: pulumi.Output; /** - * The time to live for the record, in seconds. Must be at least 0. + * The time to live for the record, in seconds. Must be at least 0. Defaults to 1800. */ public readonly ttl!: pulumi.Output; /** @@ -198,7 +198,7 @@ export interface DnsRecordState { */ tag?: pulumi.Input; /** - * The time to live for the record, in seconds. Must be at least 0. + * The time to live for the record, in seconds. Must be at least 0. Defaults to 1800. */ ttl?: pulumi.Input; /** @@ -244,7 +244,7 @@ export interface DnsRecordArgs { */ tag?: pulumi.Input; /** - * The time to live for the record, in seconds. Must be at least 0. + * The time to live for the record, in seconds. Must be at least 0. Defaults to 1800. */ ttl?: pulumi.Input; /** diff --git a/sdk/nodejs/getContainerRegistry.ts b/sdk/nodejs/getContainerRegistry.ts index 286c7a7f..ff05d69b 100644 --- a/sdk/nodejs/getContainerRegistry.ts +++ b/sdk/nodejs/getContainerRegistry.ts @@ -51,6 +51,13 @@ export interface GetContainerRegistryArgs { * A collection of values returned by getContainerRegistry. */ export interface GetContainerRegistryResult { + /** + * The date and time when the registry was created + */ + readonly createdAt: string; + /** + * The URL endpoint of the container registry. Ex: `registry.digitalocean.com/my_registry` + */ readonly endpoint: string; /** * The provider-assigned unique ID for this managed resource. @@ -60,11 +67,20 @@ export interface GetContainerRegistryResult { * The name of the container registry */ readonly name: string; + /** + * The slug identifier for the region + */ + readonly region: string; + /** + * The domain of the container registry. Ex: `registry.digitalocean.com` + */ readonly serverUrl: string; + /** + * The amount of storage used in the registry in bytes. + */ + readonly storageUsageBytes: number; /** * The slug identifier for the subscription tier - * * `endpoint`: The URL endpoint of the container registry. Ex: `registry.digitalocean.com/my_registry` - * * `serverUrl`: The domain of the container registry. Ex: `registry.digitalocean.com` */ readonly subscriptionTierSlug: string; } diff --git a/sdk/nodejs/index.ts b/sdk/nodejs/index.ts index 8ef4654f..76e14601 100644 --- a/sdk/nodejs/index.ts +++ b/sdk/nodejs/index.ts @@ -70,6 +70,7 @@ export * from "./projectResources"; export * from "./provider"; export * from "./spacesBucket"; export * from "./spacesBucketObject"; +export * from "./spacesBucketPolicy"; export * from "./sshKey"; export * from "./tag"; export * from "./volume"; @@ -117,6 +118,7 @@ import { Project } from "./project"; import { ProjectResources } from "./projectResources"; import { SpacesBucket } from "./spacesBucket"; import { SpacesBucketObject } from "./spacesBucketObject"; +import { SpacesBucketPolicy } from "./spacesBucketPolicy"; import { SshKey } from "./sshKey"; import { Tag } from "./tag"; import { Volume } from "./volume"; @@ -182,6 +184,8 @@ const _module = { return new SpacesBucket(name, undefined, { urn }) case "digitalocean:index/spacesBucketObject:SpacesBucketObject": return new SpacesBucketObject(name, undefined, { urn }) + case "digitalocean:index/spacesBucketPolicy:SpacesBucketPolicy": + return new SpacesBucketPolicy(name, undefined, { urn }) case "digitalocean:index/sshKey:SshKey": return new SshKey(name, undefined, { urn }) case "digitalocean:index/tag:Tag": @@ -226,6 +230,7 @@ pulumi.runtime.registerResourceModule("digitalocean", "index/project", _module) pulumi.runtime.registerResourceModule("digitalocean", "index/projectResources", _module) pulumi.runtime.registerResourceModule("digitalocean", "index/spacesBucket", _module) pulumi.runtime.registerResourceModule("digitalocean", "index/spacesBucketObject", _module) +pulumi.runtime.registerResourceModule("digitalocean", "index/spacesBucketPolicy", _module) pulumi.runtime.registerResourceModule("digitalocean", "index/sshKey", _module) pulumi.runtime.registerResourceModule("digitalocean", "index/tag", _module) pulumi.runtime.registerResourceModule("digitalocean", "index/volume", _module) diff --git a/sdk/nodejs/spacesBucketPolicy.ts b/sdk/nodejs/spacesBucketPolicy.ts new file mode 100644 index 00000000..27f69f0f --- /dev/null +++ b/sdk/nodejs/spacesBucketPolicy.ts @@ -0,0 +1,161 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +/** + * ## Example Usage + * ### Limiting access to specific IP addresses + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as digitalocean from "@pulumi/digitalocean"; + * + * const foobarSpacesBucket = new digitalocean.SpacesBucket("foobarSpacesBucket", {region: "nyc3"}); + * const foobarSpacesBucketPolicy = new digitalocean.SpacesBucketPolicy("foobarSpacesBucketPolicy", { + * region: foobarSpacesBucket.region, + * bucket: foobarSpacesBucket.name, + * policy: pulumi.all([foobarSpacesBucket.name, foobarSpacesBucket.name]).apply(([foobarSpacesBucketName, foobarSpacesBucketName1]) => JSON.stringify({ + * Version: "2012-10-17", + * Statement: [{ + * Sid: "IPAllow", + * Effect: "Deny", + * Principal: "*", + * Action: "s3:*", + * Resource: [ + * `arn:aws:s3:::${foobarSpacesBucketName}`, + * `arn:aws:s3:::${foobarSpacesBucketName1}/*`, + * ], + * Condition: { + * NotIpAddress: { + * "aws:SourceIp": "54.240.143.0/24", + * }, + * }, + * }], + * })), + * }); + * ``` + * + * !> **Warning:** Before using this policy, replace the 54.240.143.0/24 IP address range in this example with an appropriate value for your use case. Otherwise, you will lose the ability to access your bucket. + * + * ## Import + * + * Bucket policies can be imported using the `region` and `bucket` attributes (delimited by a comma) + * + * ```sh + * $ pulumi import digitalocean:index/spacesBucketPolicy:SpacesBucketPolicy foobar `region`,`bucket` + * ``` + */ +export class SpacesBucketPolicy extends pulumi.CustomResource { + /** + * Get an existing SpacesBucketPolicy resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: SpacesBucketPolicyState, opts?: pulumi.CustomResourceOptions): SpacesBucketPolicy { + return new SpacesBucketPolicy(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'digitalocean:index/spacesBucketPolicy:SpacesBucketPolicy'; + + /** + * Returns true if the given object is an instance of SpacesBucketPolicy. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is SpacesBucketPolicy { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === SpacesBucketPolicy.__pulumiType; + } + + /** + * The name of the bucket to which to apply the policy. + */ + public readonly bucket!: pulumi.Output; + /** + * The text of the policy. + */ + public readonly policy!: pulumi.Output; + /** + * The region where the bucket resides. + */ + public readonly region!: pulumi.Output; + + /** + * Create a SpacesBucketPolicy resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: SpacesBucketPolicyArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: SpacesBucketPolicyArgs | SpacesBucketPolicyState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as SpacesBucketPolicyState | undefined; + resourceInputs["bucket"] = state ? state.bucket : undefined; + resourceInputs["policy"] = state ? state.policy : undefined; + resourceInputs["region"] = state ? state.region : undefined; + } else { + const args = argsOrState as SpacesBucketPolicyArgs | undefined; + if ((!args || args.bucket === undefined) && !opts.urn) { + throw new Error("Missing required property 'bucket'"); + } + if ((!args || args.policy === undefined) && !opts.urn) { + throw new Error("Missing required property 'policy'"); + } + if ((!args || args.region === undefined) && !opts.urn) { + throw new Error("Missing required property 'region'"); + } + resourceInputs["bucket"] = args ? args.bucket : undefined; + resourceInputs["policy"] = args ? args.policy : undefined; + resourceInputs["region"] = args ? args.region : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(SpacesBucketPolicy.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering SpacesBucketPolicy resources. + */ +export interface SpacesBucketPolicyState { + /** + * The name of the bucket to which to apply the policy. + */ + bucket?: pulumi.Input; + /** + * The text of the policy. + */ + policy?: pulumi.Input; + /** + * The region where the bucket resides. + */ + region?: pulumi.Input; +} + +/** + * The set of arguments for constructing a SpacesBucketPolicy resource. + */ +export interface SpacesBucketPolicyArgs { + /** + * The name of the bucket to which to apply the policy. + */ + bucket: pulumi.Input; + /** + * The text of the policy. + */ + policy: pulumi.Input; + /** + * The region where the bucket resides. + */ + region: pulumi.Input; +} diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 15c5e9c7..51222fb7 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -81,6 +81,7 @@ "provider.ts", "spacesBucket.ts", "spacesBucketObject.ts", + "spacesBucketPolicy.ts", "sshKey.ts", "tag.ts", "types/enums/index.ts", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 89568d73..4e895d0c 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -5,6 +5,10 @@ import * as pulumi from "@pulumi/pulumi"; import { input as inputs, output as outputs, enums } from "../types"; export interface AppSpec { + /** + * Describes an alert policy for the component. + */ + alerts?: pulumi.Input[]>; databases?: pulumi.Input[]>; /** * Describes a domain where the application will be made available. @@ -32,6 +36,17 @@ export interface AppSpec { workers?: pulumi.Input[]>; } +export interface AppSpecAlert { + /** + * Determines whether or not the alert is disabled (default: `false`). + */ + disabled?: pulumi.Input; + /** + * The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. + */ + rule: pulumi.Input; +} + export interface AppSpecDatabase { /** * The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if `clusterName` is not set, a new cluster will be provisioned. @@ -96,12 +111,16 @@ export interface AppSpecEnv { */ type?: pulumi.Input; /** - * The value of the environment variable. + * The threshold for the type of the warning. */ value?: pulumi.Input; } export interface AppSpecJob { + /** + * Describes an alert policy for the component. + */ + alerts?: pulumi.Input[]>; /** * An optional build command to run while building this component from source. */ @@ -150,6 +169,10 @@ export interface AppSpecJob { * - `FAILED_DEPLOY`: Indicates a job that runs after a component fails to deploy. */ kind?: pulumi.Input; + /** + * Describes a log forwarding destination. + */ + logDestinations?: pulumi.Input[]>; /** * The name of the component. */ @@ -164,6 +187,29 @@ export interface AppSpecJob { sourceDir?: pulumi.Input; } +export interface AppSpecJobAlert { + /** + * Determines whether or not the alert is disabled (default: `false`). + */ + disabled?: pulumi.Input; + /** + * The operator to use. This is either of `GREATER_THAN` or `LESS_THAN`. + */ + operator: pulumi.Input; + /** + * The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. + */ + rule: pulumi.Input; + /** + * The threshold for the type of the warning. + */ + value: pulumi.Input; + /** + * The time before alerts should be triggered. This is may be one of: `FIVE_MINUTES`, `TEN_MINUTES`, `THIRTY_MINUTES`, `ONE_HOUR`. + */ + window: pulumi.Input; +} + export interface AppSpecJobEnv { /** * The name of the environment variable. @@ -178,7 +224,7 @@ export interface AppSpecJobEnv { */ type?: pulumi.Input; /** - * The value of the environment variable. + * The threshold for the type of the warning. */ value?: pulumi.Input; } @@ -243,7 +289,55 @@ export interface AppSpecJobImage { tag?: pulumi.Input; } +export interface AppSpecJobLogDestination { + /** + * Datadog configuration. + */ + datadog?: pulumi.Input; + /** + * Logtail configuration. + */ + logtail?: pulumi.Input; + /** + * The name of the component. + */ + name: pulumi.Input; + /** + * Papertrail configuration. + */ + papertrail?: pulumi.Input; +} + +export interface AppSpecJobLogDestinationDatadog { + /** + * Datadog API key. + */ + apiKey: pulumi.Input; + /** + * Datadog HTTP log intake endpoint. + */ + endpoint?: pulumi.Input; +} + +export interface AppSpecJobLogDestinationLogtail { + /** + * Logtail token. + */ + token: pulumi.Input; +} + +export interface AppSpecJobLogDestinationPapertrail { + /** + * Datadog HTTP log intake endpoint. + */ + endpoint: pulumi.Input; +} + export interface AppSpecService { + /** + * Describes an alert policy for the component. + */ + alerts?: pulumi.Input[]>; /** * An optional build command to run while building this component from source. */ @@ -300,6 +394,10 @@ export interface AppSpecService { * A list of ports on which this service will listen for internal traffic. */ internalPorts?: pulumi.Input[]>; + /** + * Describes a log forwarding destination. + */ + logDestinations?: pulumi.Input[]>; /** * The name of the component. */ @@ -315,6 +413,29 @@ export interface AppSpecService { sourceDir?: pulumi.Input; } +export interface AppSpecServiceAlert { + /** + * Determines whether or not the alert is disabled (default: `false`). + */ + disabled?: pulumi.Input; + /** + * The operator to use. This is either of `GREATER_THAN` or `LESS_THAN`. + */ + operator: pulumi.Input; + /** + * The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. + */ + rule: pulumi.Input; + /** + * The threshold for the type of the warning. + */ + value: pulumi.Input; + /** + * The time before alerts should be triggered. This is may be one of: `FIVE_MINUTES`, `TEN_MINUTES`, `THIRTY_MINUTES`, `ONE_HOUR`. + */ + window: pulumi.Input; +} + export interface AppSpecServiceCors { /** * Whether browsers should expose the response to the client-side JavaScript code when the request's credentials mode is `include`. This configures the `Access-Control-Allow-Credentials` header. @@ -371,7 +492,7 @@ export interface AppSpecServiceEnv { */ type?: pulumi.Input; /** - * The value of the environment variable. + * The threshold for the type of the warning. */ value?: pulumi.Input; } @@ -463,6 +584,50 @@ export interface AppSpecServiceImage { tag?: pulumi.Input; } +export interface AppSpecServiceLogDestination { + /** + * Datadog configuration. + */ + datadog?: pulumi.Input; + /** + * Logtail configuration. + */ + logtail?: pulumi.Input; + /** + * The name of the component. + */ + name: pulumi.Input; + /** + * Papertrail configuration. + */ + papertrail?: pulumi.Input; +} + +export interface AppSpecServiceLogDestinationDatadog { + /** + * Datadog API key. + */ + apiKey: pulumi.Input; + /** + * Datadog HTTP log intake endpoint. + */ + endpoint?: pulumi.Input; +} + +export interface AppSpecServiceLogDestinationLogtail { + /** + * Logtail token. + */ + token: pulumi.Input; +} + +export interface AppSpecServiceLogDestinationPapertrail { + /** + * Datadog HTTP log intake endpoint. + */ + endpoint: pulumi.Input; +} + export interface AppSpecServiceRoute { /** * Paths must start with `/` and must be unique within the app. @@ -590,7 +755,7 @@ export interface AppSpecStaticSiteEnv { */ type?: pulumi.Input; /** - * The value of the environment variable. + * The threshold for the type of the warning. */ value?: pulumi.Input; } @@ -648,6 +813,10 @@ export interface AppSpecStaticSiteRoute { } export interface AppSpecWorker { + /** + * Describes an alert policy for the component. + */ + alerts?: pulumi.Input[]>; /** * An optional build command to run while building this component from source. */ @@ -688,6 +857,10 @@ export interface AppSpecWorker { * The instance size to use for this component. This determines the plan (basic or professional) and the available CPU and memory. The list of available instance sizes can be [found with the API](https://docs.digitalocean.com/reference/api/api-reference/#operation/list_instance_sizes) or using the [doctl CLI](https://docs.digitalocean.com/reference/doctl/) (`doctl apps tier instance-size list`). Default: `basic-xxs` */ instanceSizeSlug?: pulumi.Input; + /** + * Describes a log forwarding destination. + */ + logDestinations?: pulumi.Input[]>; /** * The name of the component. */ @@ -702,6 +875,29 @@ export interface AppSpecWorker { sourceDir?: pulumi.Input; } +export interface AppSpecWorkerAlert { + /** + * Determines whether or not the alert is disabled (default: `false`). + */ + disabled?: pulumi.Input; + /** + * The operator to use. This is either of `GREATER_THAN` or `LESS_THAN`. + */ + operator: pulumi.Input; + /** + * The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. + */ + rule: pulumi.Input; + /** + * The threshold for the type of the warning. + */ + value: pulumi.Input; + /** + * The time before alerts should be triggered. This is may be one of: `FIVE_MINUTES`, `TEN_MINUTES`, `THIRTY_MINUTES`, `ONE_HOUR`. + */ + window: pulumi.Input; +} + export interface AppSpecWorkerEnv { /** * The name of the environment variable. @@ -716,7 +912,7 @@ export interface AppSpecWorkerEnv { */ type?: pulumi.Input; /** - * The value of the environment variable. + * The threshold for the type of the warning. */ value?: pulumi.Input; } @@ -781,6 +977,50 @@ export interface AppSpecWorkerImage { tag?: pulumi.Input; } +export interface AppSpecWorkerLogDestination { + /** + * Datadog configuration. + */ + datadog?: pulumi.Input; + /** + * Logtail configuration. + */ + logtail?: pulumi.Input; + /** + * The name of the component. + */ + name: pulumi.Input; + /** + * Papertrail configuration. + */ + papertrail?: pulumi.Input; +} + +export interface AppSpecWorkerLogDestinationDatadog { + /** + * Datadog API key. + */ + apiKey: pulumi.Input; + /** + * Datadog HTTP log intake endpoint. + */ + endpoint?: pulumi.Input; +} + +export interface AppSpecWorkerLogDestinationLogtail { + /** + * Logtail token. + */ + token: pulumi.Input; +} + +export interface AppSpecWorkerLogDestinationPapertrail { + /** + * Datadog HTTP log intake endpoint. + */ + endpoint: pulumi.Input; +} + export interface DatabaseClusterMaintenanceWindow { /** * The day of the week on which to apply maintenance updates. @@ -975,58 +1215,58 @@ export interface GetDomainsSort { key: string; } -export interface GetDropletsFilter { +export interface GetDropletsFilterArgs { /** * Set to `true` to require that a field match all of the `values` instead of just one or more of * them. This is useful when matching against multi-valued fields such as lists or sets where you want to ensure * that all of the `values` are present in the list or set. */ - all?: boolean; + all?: pulumi.Input; /** * Filter the Droplets by this key. This may be one of `backups`, `createdAt`, `disk`, `id`, * `image`, `ipv4Address`, `ipv4AddressPrivate`, `ipv6`, `ipv6Address`, `ipv6AddressPrivate`, `locked`, * `memory`, `monitoring`, `name`, `priceHourly`, `priceMonthly`, `privateNetworking`, `region`, `size`, * `status`, `tags`, `urn`, `vcpus`, `volumeIds`, or `vpcUuid`. */ - key: string; + key: pulumi.Input; /** * One of `exact` (default), `re`, or `substring`. For string-typed fields, specify `re` to * match by using the `values` as regular expressions, or specify `substring` to match by treating the `values` as * substrings to find within the string field. */ - matchBy?: string; + matchBy?: pulumi.Input; /** * A list of values to match against the `key` field. Only retrieves Droplets * where the `key` field takes on one or more of the values provided here. */ - values: string[]; + values: pulumi.Input[]>; } -export interface GetDropletsFilterArgs { +export interface GetDropletsFilter { /** * Set to `true` to require that a field match all of the `values` instead of just one or more of * them. This is useful when matching against multi-valued fields such as lists or sets where you want to ensure * that all of the `values` are present in the list or set. */ - all?: pulumi.Input; + all?: boolean; /** * Filter the Droplets by this key. This may be one of `backups`, `createdAt`, `disk`, `id`, * `image`, `ipv4Address`, `ipv4AddressPrivate`, `ipv6`, `ipv6Address`, `ipv6AddressPrivate`, `locked`, * `memory`, `monitoring`, `name`, `priceHourly`, `priceMonthly`, `privateNetworking`, `region`, `size`, * `status`, `tags`, `urn`, `vcpus`, `volumeIds`, or `vpcUuid`. */ - key: pulumi.Input; + key: string; /** * One of `exact` (default), `re`, or `substring`. For string-typed fields, specify `re` to * match by using the `values` as regular expressions, or specify `substring` to match by treating the `values` as * substrings to find within the string field. */ - matchBy?: pulumi.Input; + matchBy?: string; /** * A list of values to match against the `key` field. Only retrieves Droplets * where the `key` field takes on one or more of the values provided here. */ - values: pulumi.Input[]>; + values: string[]; } export interface GetDropletsSortArgs { @@ -1285,54 +1525,54 @@ export interface GetImagesSortArgs { key: pulumi.Input; } -export interface GetProjectsFilter { +export interface GetProjectsFilterArgs { /** * Set to `true` to require that a field match all of the `values` instead of just one or more of * them. This is useful when matching against multi-valued fields such as lists or sets where you want to ensure * that all of the `values` are present in the list or set. */ - all?: boolean; + all?: pulumi.Input; /** * Filter the projects by this key. This may be one of `name`, * `purpose`, `description`, `environment`, or `isDefault`. */ - key: string; + key: pulumi.Input; /** * One of `exact` (default), `re`, or `substring`. For string-typed fields, specify `re` to * match by using the `values` as regular expressions, or specify `substring` to match by treating the `values` as * substrings to find within the string field. */ - matchBy?: string; + matchBy?: pulumi.Input; /** * A list of values to match against the `key` field. Only retrieves projects * where the `key` field takes on one or more of the values provided here. */ - values: string[]; + values: pulumi.Input[]>; } -export interface GetProjectsFilterArgs { +export interface GetProjectsFilter { /** * Set to `true` to require that a field match all of the `values` instead of just one or more of * them. This is useful when matching against multi-valued fields such as lists or sets where you want to ensure * that all of the `values` are present in the list or set. */ - all?: pulumi.Input; + all?: boolean; /** * Filter the projects by this key. This may be one of `name`, * `purpose`, `description`, `environment`, or `isDefault`. */ - key: pulumi.Input; + key: string; /** * One of `exact` (default), `re`, or `substring`. For string-typed fields, specify `re` to * match by using the `values` as regular expressions, or specify `substring` to match by treating the `values` as * substrings to find within the string field. */ - matchBy?: pulumi.Input; + matchBy?: string; /** * A list of values to match against the `key` field. Only retrieves projects * where the `key` field takes on one or more of the values provided here. */ - values: pulumi.Input[]>; + values: string[]; } export interface GetProjectsSort { @@ -1433,54 +1673,54 @@ export interface GetRecordsSort { key: string; } -export interface GetRegionsFilterArgs { +export interface GetRegionsFilter { /** * Set to `true` to require that a field match all of the `values` instead of just one or more of * them. This is useful when matching against multi-valued fields such as lists or sets where you want to ensure * that all of the `values` are present in the list or set. */ - all?: pulumi.Input; + all?: boolean; /** * Filter the regions by this key. This may be one of `slug`, * `name`, `available`, `features`, or `sizes`. */ - key: pulumi.Input; + key: string; /** * One of `exact` (default), `re`, or `substring`. For string-typed fields, specify `re` to * match by using the `values` as regular expressions, or specify `substring` to match by treating the `values` as * substrings to find within the string field. */ - matchBy?: pulumi.Input; + matchBy?: string; /** * A list of values to match against the `key` field. Only retrieves regions * where the `key` field takes on one or more of the values provided here. */ - values: pulumi.Input[]>; + values: string[]; } -export interface GetRegionsFilter { +export interface GetRegionsFilterArgs { /** * Set to `true` to require that a field match all of the `values` instead of just one or more of * them. This is useful when matching against multi-valued fields such as lists or sets where you want to ensure * that all of the `values` are present in the list or set. */ - all?: boolean; + all?: pulumi.Input; /** * Filter the regions by this key. This may be one of `slug`, * `name`, `available`, `features`, or `sizes`. */ - key: string; + key: pulumi.Input; /** * One of `exact` (default), `re`, or `substring`. For string-typed fields, specify `re` to * match by using the `values` as regular expressions, or specify `substring` to match by treating the `values` as * substrings to find within the string field. */ - matchBy?: string; + matchBy?: pulumi.Input; /** * A list of values to match against the `key` field. Only retrieves regions * where the `key` field takes on one or more of the values provided here. */ - values: string[]; + values: pulumi.Input[]>; } export interface GetRegionsSort { @@ -1559,108 +1799,98 @@ export interface GetSizesFilter { values: string[]; } -export interface GetSizesSort { +export interface GetSizesSortArgs { /** * The sort direction. This may be either `asc` or `desc`. */ - direction?: string; + direction?: pulumi.Input; /** * Sort the sizes by this key. This may be one of `slug`, * `memory`, `vcpus`, `disk`, `transfer`, `priceMonthly`, or `priceHourly`. */ - key: string; + key: pulumi.Input; } -export interface GetSizesSortArgs { +export interface GetSizesSort { /** * The sort direction. This may be either `asc` or `desc`. */ - direction?: pulumi.Input; + direction?: string; /** * Sort the sizes by this key. This may be one of `slug`, * `memory`, `vcpus`, `disk`, `transfer`, `priceMonthly`, or `priceHourly`. */ - key: pulumi.Input; + key: string; } -export interface GetSpacesBucketsFilter { +export interface GetSpacesBucketsFilterArgs { /** * Set to `true` to require that a field match all of the `values` instead of just one or more of * them. This is useful when matching against multi-valued fields such as lists or sets where you want to ensure * that all of the `values` are present in the list or set. */ - all?: boolean; + all?: pulumi.Input; /** * Filter the images by this key. This may be one of `bucketDomainName`, `name`, `region`, or `urn`. */ - key: string; + key: pulumi.Input; /** * One of `exact` (default), `re`, or `substring`. For string-typed fields, specify `re` to * match by using the `values` as regular expressions, or specify `substring` to match by treating the `values` as * substrings to find within the string field. */ - matchBy?: string; + matchBy?: pulumi.Input; /** * A list of values to match against the `key` field. Only retrieves Spaces buckets * where the `key` field takes on one or more of the values provided here. */ - values: string[]; + values: pulumi.Input[]>; } -export interface GetSpacesBucketsFilterArgs { +export interface GetSpacesBucketsFilter { /** * Set to `true` to require that a field match all of the `values` instead of just one or more of * them. This is useful when matching against multi-valued fields such as lists or sets where you want to ensure * that all of the `values` are present in the list or set. */ - all?: pulumi.Input; + all?: boolean; /** * Filter the images by this key. This may be one of `bucketDomainName`, `name`, `region`, or `urn`. */ - key: pulumi.Input; + key: string; /** * One of `exact` (default), `re`, or `substring`. For string-typed fields, specify `re` to * match by using the `values` as regular expressions, or specify `substring` to match by treating the `values` as * substrings to find within the string field. */ - matchBy?: pulumi.Input; + matchBy?: string; /** * A list of values to match against the `key` field. Only retrieves Spaces buckets * where the `key` field takes on one or more of the values provided here. */ - values: pulumi.Input[]>; + values: string[]; } -export interface GetSpacesBucketsSort { +export interface GetSpacesBucketsSortArgs { /** * The sort direction. This may be either `asc` or `desc`. */ - direction?: string; + direction?: pulumi.Input; /** * Sort the images by this key. This may be one of `bucketDomainName`, `name`, `region`, or `urn`. */ - key: string; + key: pulumi.Input; } -export interface GetSpacesBucketsSortArgs { +export interface GetSpacesBucketsSort { /** * The sort direction. This may be either `asc` or `desc`. */ - direction?: pulumi.Input; + direction?: string; /** * Sort the images by this key. This may be one of `bucketDomainName`, `name`, `region`, or `urn`. */ - key: pulumi.Input; -} - -export interface GetSshKeysFilterArgs { - all?: pulumi.Input; - /** - * Filter the SSH Keys by this key. This may be one of `name`, `publicKey`, or `fingerprint`. - */ - key: pulumi.Input; - matchBy?: pulumi.Input; - values: pulumi.Input[]>; + key: string; } export interface GetSshKeysFilter { @@ -1673,96 +1903,106 @@ export interface GetSshKeysFilter { values: string[]; } -export interface GetSshKeysSort { +export interface GetSshKeysFilterArgs { + all?: pulumi.Input; + /** + * Filter the SSH Keys by this key. This may be one of `name`, `publicKey`, or `fingerprint`. + */ + key: pulumi.Input; + matchBy?: pulumi.Input; + values: pulumi.Input[]>; +} + +export interface GetSshKeysSortArgs { /** * The sort direction. This may be either `asc` or `desc`. */ - direction?: string; + direction?: pulumi.Input; /** * Sort the SSH Keys by this key. This may be one of `name`, `publicKey`, or `fingerprint`. */ - key: string; + key: pulumi.Input; } -export interface GetSshKeysSortArgs { +export interface GetSshKeysSort { /** * The sort direction. This may be either `asc` or `desc`. */ - direction?: pulumi.Input; + direction?: string; /** * Sort the SSH Keys by this key. This may be one of `name`, `publicKey`, or `fingerprint`. */ - key: pulumi.Input; + key: string; } -export interface GetTagsFilter { +export interface GetTagsFilterArgs { /** * Set to `true` to require that a field match all of the `values` instead of just one or more of * them. This is useful when matching against multi-valued fields such as lists or sets where you want to ensure * that all of the `values` are present in the list or set. */ - all?: boolean; + all?: pulumi.Input; /** * Filter the tags by this key. This may be one of `name`, `totalResourceCount`, `dropletsCount`, `imagesCount`, `volumesCount`, `volumeSnapshotsCount`, or `databasesCount`. */ - key: string; + key: pulumi.Input; /** * One of `exact` (default), `re`, or `substring`. For string-typed fields, specify `re` to * match by using the `values` as regular expressions, or specify `substring` to match by treating the `values` as * substrings to find within the string field. */ - matchBy?: string; + matchBy?: pulumi.Input; /** * Only retrieves tags which keys has value that matches * one of the values provided here. */ - values: string[]; + values: pulumi.Input[]>; } -export interface GetTagsFilterArgs { +export interface GetTagsFilter { /** * Set to `true` to require that a field match all of the `values` instead of just one or more of * them. This is useful when matching against multi-valued fields such as lists or sets where you want to ensure * that all of the `values` are present in the list or set. */ - all?: pulumi.Input; + all?: boolean; /** * Filter the tags by this key. This may be one of `name`, `totalResourceCount`, `dropletsCount`, `imagesCount`, `volumesCount`, `volumeSnapshotsCount`, or `databasesCount`. */ - key: pulumi.Input; + key: string; /** * One of `exact` (default), `re`, or `substring`. For string-typed fields, specify `re` to * match by using the `values` as regular expressions, or specify `substring` to match by treating the `values` as * substrings to find within the string field. */ - matchBy?: pulumi.Input; + matchBy?: string; /** * Only retrieves tags which keys has value that matches * one of the values provided here. */ - values: pulumi.Input[]>; + values: string[]; } -export interface GetTagsSort { +export interface GetTagsSortArgs { /** * The sort direction. This may be either `asc` or `desc`. */ - direction?: string; + direction?: pulumi.Input; /** * Sort the tags by this key. This may be one of `name`, `totalResourceCount`, `dropletsCount`, `imagesCount`, `volumesCount`, `volumeSnapshotsCount`, or `databasesCount`. */ - key: string; + key: pulumi.Input; } -export interface GetTagsSortArgs { +export interface GetTagsSort { /** * The sort direction. This may be either `asc` or `desc`. */ - direction?: pulumi.Input; + direction?: string; /** * Sort the tags by this key. This may be one of `name`, `totalResourceCount`, `dropletsCount`, `imagesCount`, `volumesCount`, `volumeSnapshotsCount`, or `databasesCount`. */ - key: pulumi.Input; + key: string; } export interface KubernetesClusterKubeConfig { @@ -2110,4 +2350,3 @@ export interface SpacesBucketVersioning { */ enabled?: pulumi.Input; } - diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 82df35a1..3b128c6b 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -5,6 +5,10 @@ import * as pulumi from "@pulumi/pulumi"; import { input as inputs, output as outputs, enums } from "../types"; export interface AppSpec { + /** + * Describes an alert policy for the component. + */ + alerts?: outputs.AppSpecAlert[]; databases?: outputs.AppSpecDatabase[]; /** * Describes a domain where the application will be made available. @@ -32,6 +36,17 @@ export interface AppSpec { workers?: outputs.AppSpecWorker[]; } +export interface AppSpecAlert { + /** + * Determines whether or not the alert is disabled (default: `false`). + */ + disabled?: boolean; + /** + * The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. + */ + rule: string; +} + export interface AppSpecDatabase { /** * The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if `clusterName` is not set, a new cluster will be provisioned. @@ -96,12 +111,16 @@ export interface AppSpecEnv { */ type: string; /** - * The value of the environment variable. + * The threshold for the type of the warning. */ value?: string; } export interface AppSpecJob { + /** + * Describes an alert policy for the component. + */ + alerts?: outputs.AppSpecJobAlert[]; /** * An optional build command to run while building this component from source. */ @@ -150,6 +169,10 @@ export interface AppSpecJob { * - `FAILED_DEPLOY`: Indicates a job that runs after a component fails to deploy. */ kind?: string; + /** + * Describes a log forwarding destination. + */ + logDestinations?: outputs.AppSpecJobLogDestination[]; /** * The name of the component. */ @@ -164,6 +187,29 @@ export interface AppSpecJob { sourceDir?: string; } +export interface AppSpecJobAlert { + /** + * Determines whether or not the alert is disabled (default: `false`). + */ + disabled?: boolean; + /** + * The operator to use. This is either of `GREATER_THAN` or `LESS_THAN`. + */ + operator: string; + /** + * The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. + */ + rule: string; + /** + * The threshold for the type of the warning. + */ + value: number; + /** + * The time before alerts should be triggered. This is may be one of: `FIVE_MINUTES`, `TEN_MINUTES`, `THIRTY_MINUTES`, `ONE_HOUR`. + */ + window: string; +} + export interface AppSpecJobEnv { /** * The name of the environment variable. @@ -178,7 +224,7 @@ export interface AppSpecJobEnv { */ type: string; /** - * The value of the environment variable. + * The threshold for the type of the warning. */ value?: string; } @@ -243,7 +289,55 @@ export interface AppSpecJobImage { tag?: string; } +export interface AppSpecJobLogDestination { + /** + * Datadog configuration. + */ + datadog?: outputs.AppSpecJobLogDestinationDatadog; + /** + * Logtail configuration. + */ + logtail?: outputs.AppSpecJobLogDestinationLogtail; + /** + * The name of the component. + */ + name: string; + /** + * Papertrail configuration. + */ + papertrail?: outputs.AppSpecJobLogDestinationPapertrail; +} + +export interface AppSpecJobLogDestinationDatadog { + /** + * Datadog API key. + */ + apiKey: string; + /** + * Datadog HTTP log intake endpoint. + */ + endpoint?: string; +} + +export interface AppSpecJobLogDestinationLogtail { + /** + * Logtail token. + */ + token: string; +} + +export interface AppSpecJobLogDestinationPapertrail { + /** + * Datadog HTTP log intake endpoint. + */ + endpoint: string; +} + export interface AppSpecService { + /** + * Describes an alert policy for the component. + */ + alerts?: outputs.AppSpecServiceAlert[]; /** * An optional build command to run while building this component from source. */ @@ -300,6 +394,10 @@ export interface AppSpecService { * A list of ports on which this service will listen for internal traffic. */ internalPorts?: number[]; + /** + * Describes a log forwarding destination. + */ + logDestinations?: outputs.AppSpecServiceLogDestination[]; /** * The name of the component. */ @@ -315,6 +413,29 @@ export interface AppSpecService { sourceDir?: string; } +export interface AppSpecServiceAlert { + /** + * Determines whether or not the alert is disabled (default: `false`). + */ + disabled?: boolean; + /** + * The operator to use. This is either of `GREATER_THAN` or `LESS_THAN`. + */ + operator: string; + /** + * The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. + */ + rule: string; + /** + * The threshold for the type of the warning. + */ + value: number; + /** + * The time before alerts should be triggered. This is may be one of: `FIVE_MINUTES`, `TEN_MINUTES`, `THIRTY_MINUTES`, `ONE_HOUR`. + */ + window: string; +} + export interface AppSpecServiceCors { /** * Whether browsers should expose the response to the client-side JavaScript code when the request's credentials mode is `include`. This configures the `Access-Control-Allow-Credentials` header. @@ -371,7 +492,7 @@ export interface AppSpecServiceEnv { */ type: string; /** - * The value of the environment variable. + * The threshold for the type of the warning. */ value?: string; } @@ -463,6 +584,50 @@ export interface AppSpecServiceImage { tag?: string; } +export interface AppSpecServiceLogDestination { + /** + * Datadog configuration. + */ + datadog?: outputs.AppSpecServiceLogDestinationDatadog; + /** + * Logtail configuration. + */ + logtail?: outputs.AppSpecServiceLogDestinationLogtail; + /** + * The name of the component. + */ + name: string; + /** + * Papertrail configuration. + */ + papertrail?: outputs.AppSpecServiceLogDestinationPapertrail; +} + +export interface AppSpecServiceLogDestinationDatadog { + /** + * Datadog API key. + */ + apiKey: string; + /** + * Datadog HTTP log intake endpoint. + */ + endpoint?: string; +} + +export interface AppSpecServiceLogDestinationLogtail { + /** + * Logtail token. + */ + token: string; +} + +export interface AppSpecServiceLogDestinationPapertrail { + /** + * Datadog HTTP log intake endpoint. + */ + endpoint: string; +} + export interface AppSpecServiceRoute { /** * Paths must start with `/` and must be unique within the app. @@ -590,7 +755,7 @@ export interface AppSpecStaticSiteEnv { */ type: string; /** - * The value of the environment variable. + * The threshold for the type of the warning. */ value?: string; } @@ -648,6 +813,10 @@ export interface AppSpecStaticSiteRoute { } export interface AppSpecWorker { + /** + * Describes an alert policy for the component. + */ + alerts?: outputs.AppSpecWorkerAlert[]; /** * An optional build command to run while building this component from source. */ @@ -688,6 +857,10 @@ export interface AppSpecWorker { * The instance size to use for this component. This determines the plan (basic or professional) and the available CPU and memory. The list of available instance sizes can be [found with the API](https://docs.digitalocean.com/reference/api/api-reference/#operation/list_instance_sizes) or using the [doctl CLI](https://docs.digitalocean.com/reference/doctl/) (`doctl apps tier instance-size list`). Default: `basic-xxs` */ instanceSizeSlug?: string; + /** + * Describes a log forwarding destination. + */ + logDestinations?: outputs.AppSpecWorkerLogDestination[]; /** * The name of the component. */ @@ -702,6 +875,29 @@ export interface AppSpecWorker { sourceDir?: string; } +export interface AppSpecWorkerAlert { + /** + * Determines whether or not the alert is disabled (default: `false`). + */ + disabled?: boolean; + /** + * The operator to use. This is either of `GREATER_THAN` or `LESS_THAN`. + */ + operator: string; + /** + * The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. + */ + rule: string; + /** + * The threshold for the type of the warning. + */ + value: number; + /** + * The time before alerts should be triggered. This is may be one of: `FIVE_MINUTES`, `TEN_MINUTES`, `THIRTY_MINUTES`, `ONE_HOUR`. + */ + window: string; +} + export interface AppSpecWorkerEnv { /** * The name of the environment variable. @@ -716,7 +912,7 @@ export interface AppSpecWorkerEnv { */ type: string; /** - * The value of the environment variable. + * The threshold for the type of the warning. */ value?: string; } @@ -781,6 +977,50 @@ export interface AppSpecWorkerImage { tag?: string; } +export interface AppSpecWorkerLogDestination { + /** + * Datadog configuration. + */ + datadog?: outputs.AppSpecWorkerLogDestinationDatadog; + /** + * Logtail configuration. + */ + logtail?: outputs.AppSpecWorkerLogDestinationLogtail; + /** + * The name of the component. + */ + name: string; + /** + * Papertrail configuration. + */ + papertrail?: outputs.AppSpecWorkerLogDestinationPapertrail; +} + +export interface AppSpecWorkerLogDestinationDatadog { + /** + * Datadog API key. + */ + apiKey: string; + /** + * Datadog HTTP log intake endpoint. + */ + endpoint?: string; +} + +export interface AppSpecWorkerLogDestinationLogtail { + /** + * Logtail token. + */ + token: string; +} + +export interface AppSpecWorkerLogDestinationPapertrail { + /** + * Datadog HTTP log intake endpoint. + */ + endpoint: string; +} + export interface DatabaseClusterMaintenanceWindow { /** * The day of the week on which to apply maintenance updates. @@ -906,6 +1146,7 @@ export interface FirewallPendingChange { } export interface GetAppSpec { + alerts?: outputs.GetAppSpecAlert[]; databases?: outputs.GetAppSpecDatabase[]; /** * @deprecated This attribute has been replaced by `domain` which supports additional functionality. @@ -926,6 +1167,11 @@ export interface GetAppSpec { workers?: outputs.GetAppSpecWorker[]; } +export interface GetAppSpecAlert { + disabled?: boolean; + rule: string; +} + export interface GetAppSpecDatabase { /** * The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if `clusterName` is not set, a new cluster will be provisioned. @@ -977,6 +1223,7 @@ export interface GetAppSpecEnv { } export interface GetAppSpecJob { + alerts?: outputs.GetAppSpecJobAlert[]; /** * An optional build command to run while building this component from source. */ @@ -1025,6 +1272,7 @@ export interface GetAppSpecJob { * - `FAILED_DEPLOY`: Indicates a job that runs after a component fails to deploy. */ kind?: string; + logDestinations?: outputs.GetAppSpecJobLogDestination[]; /** * The name of the component. */ @@ -1039,6 +1287,17 @@ export interface GetAppSpecJob { sourceDir?: string; } +export interface GetAppSpecJobAlert { + disabled?: boolean; + operator: string; + rule: string; + /** + * The value of the environment variable. + */ + value: number; + window: string; +} + export interface GetAppSpecJobEnv { /** * The name of the environment variable. @@ -1118,7 +1377,31 @@ export interface GetAppSpecJobImage { tag?: string; } +export interface GetAppSpecJobLogDestination { + datadog?: outputs.GetAppSpecJobLogDestinationDatadog; + logtail?: outputs.GetAppSpecJobLogDestinationLogtail; + /** + * The name of the component. + */ + name: string; + papertrail?: outputs.GetAppSpecJobLogDestinationPapertrail; +} + +export interface GetAppSpecJobLogDestinationDatadog { + apiKey: string; + endpoint?: string; +} + +export interface GetAppSpecJobLogDestinationLogtail { + token: string; +} + +export interface GetAppSpecJobLogDestinationPapertrail { + endpoint: string; +} + export interface GetAppSpecService { + alerts?: outputs.GetAppSpecServiceAlert[]; /** * An optional build command to run while building this component from source. */ @@ -1172,6 +1455,7 @@ export interface GetAppSpecService { * A list of ports on which this service will listen for internal traffic. */ internalPorts?: number[]; + logDestinations?: outputs.GetAppSpecServiceLogDestination[]; /** * The name of the component. */ @@ -1187,6 +1471,17 @@ export interface GetAppSpecService { sourceDir?: string; } +export interface GetAppSpecServiceAlert { + disabled?: boolean; + operator: string; + rule: string; + /** + * The value of the environment variable. + */ + value: number; + window: string; +} + export interface GetAppSpecServiceCors { allowCredentials?: boolean; allowHeaders?: string[]; @@ -1308,6 +1603,29 @@ export interface GetAppSpecServiceImage { tag?: string; } +export interface GetAppSpecServiceLogDestination { + datadog?: outputs.GetAppSpecServiceLogDestinationDatadog; + logtail?: outputs.GetAppSpecServiceLogDestinationLogtail; + /** + * The name of the component. + */ + name: string; + papertrail?: outputs.GetAppSpecServiceLogDestinationPapertrail; +} + +export interface GetAppSpecServiceLogDestinationDatadog { + apiKey: string; + endpoint?: string; +} + +export interface GetAppSpecServiceLogDestinationLogtail { + token: string; +} + +export interface GetAppSpecServiceLogDestinationPapertrail { + endpoint: string; +} + export interface GetAppSpecServiceRoute { /** * Paths must start with `/` and must be unique within the app. @@ -1463,6 +1781,7 @@ export interface GetAppSpecStaticSiteRoute { } export interface GetAppSpecWorker { + alerts?: outputs.GetAppSpecWorkerAlert[]; /** * An optional build command to run while building this component from source. */ @@ -1503,6 +1822,7 @@ export interface GetAppSpecWorker { * The instance size to use for this component. */ instanceSizeSlug?: string; + logDestinations?: outputs.GetAppSpecWorkerLogDestination[]; /** * The name of the component. */ @@ -1517,6 +1837,17 @@ export interface GetAppSpecWorker { sourceDir?: string; } +export interface GetAppSpecWorkerAlert { + disabled?: boolean; + operator: string; + rule: string; + /** + * The value of the environment variable. + */ + value: number; + window: string; +} + export interface GetAppSpecWorkerEnv { /** * The name of the environment variable. @@ -1596,6 +1927,29 @@ export interface GetAppSpecWorkerImage { tag?: string; } +export interface GetAppSpecWorkerLogDestination { + datadog?: outputs.GetAppSpecWorkerLogDestinationDatadog; + logtail?: outputs.GetAppSpecWorkerLogDestinationLogtail; + /** + * The name of the component. + */ + name: string; + papertrail?: outputs.GetAppSpecWorkerLogDestinationPapertrail; +} + +export interface GetAppSpecWorkerLogDestinationDatadog { + apiKey: string; + endpoint?: string; +} + +export interface GetAppSpecWorkerLogDestinationLogtail { + token: string; +} + +export interface GetAppSpecWorkerLogDestinationPapertrail { + endpoint: string; +} + export interface GetDatabaseClusterMaintenanceWindow { /** * The day of the week on which to apply maintenance updates. @@ -2886,4 +3240,3 @@ export interface SpacesBucketVersioning { */ enabled?: boolean; } - diff --git a/sdk/python/pulumi_digitalocean/__init__.py b/sdk/python/pulumi_digitalocean/__init__.py index c7f8edf1..11b46667 100644 --- a/sdk/python/pulumi_digitalocean/__init__.py +++ b/sdk/python/pulumi_digitalocean/__init__.py @@ -71,6 +71,7 @@ from .provider import * from .spaces_bucket import * from .spaces_bucket_object import * +from .spaces_bucket_policy import * from .ssh_key import * from .tag import * from .volume import * @@ -306,6 +307,14 @@ "digitalocean:index/spacesBucketObject:SpacesBucketObject": "SpacesBucketObject" } }, + { + "pkg": "digitalocean", + "mod": "index/spacesBucketPolicy", + "fqn": "pulumi_digitalocean", + "classes": { + "digitalocean:index/spacesBucketPolicy:SpacesBucketPolicy": "SpacesBucketPolicy" + } + }, { "pkg": "digitalocean", "mod": "index/sshKey", diff --git a/sdk/python/pulumi_digitalocean/_inputs.py b/sdk/python/pulumi_digitalocean/_inputs.py index 541deea7..8e34acb9 100644 --- a/sdk/python/pulumi_digitalocean/_inputs.py +++ b/sdk/python/pulumi_digitalocean/_inputs.py @@ -11,16 +11,23 @@ __all__ = [ 'AppSpecArgs', + 'AppSpecAlertArgs', 'AppSpecDatabaseArgs', 'AppSpecDomainNameArgs', 'AppSpecEnvArgs', 'AppSpecJobArgs', + 'AppSpecJobAlertArgs', 'AppSpecJobEnvArgs', 'AppSpecJobGitArgs', 'AppSpecJobGithubArgs', 'AppSpecJobGitlabArgs', 'AppSpecJobImageArgs', + 'AppSpecJobLogDestinationArgs', + 'AppSpecJobLogDestinationDatadogArgs', + 'AppSpecJobLogDestinationLogtailArgs', + 'AppSpecJobLogDestinationPapertrailArgs', 'AppSpecServiceArgs', + 'AppSpecServiceAlertArgs', 'AppSpecServiceCorsArgs', 'AppSpecServiceCorsAllowOriginsArgs', 'AppSpecServiceEnvArgs', @@ -29,6 +36,10 @@ 'AppSpecServiceGitlabArgs', 'AppSpecServiceHealthCheckArgs', 'AppSpecServiceImageArgs', + 'AppSpecServiceLogDestinationArgs', + 'AppSpecServiceLogDestinationDatadogArgs', + 'AppSpecServiceLogDestinationLogtailArgs', + 'AppSpecServiceLogDestinationPapertrailArgs', 'AppSpecServiceRouteArgs', 'AppSpecStaticSiteArgs', 'AppSpecStaticSiteCorsArgs', @@ -39,11 +50,16 @@ 'AppSpecStaticSiteGitlabArgs', 'AppSpecStaticSiteRouteArgs', 'AppSpecWorkerArgs', + 'AppSpecWorkerAlertArgs', 'AppSpecWorkerEnvArgs', 'AppSpecWorkerGitArgs', 'AppSpecWorkerGithubArgs', 'AppSpecWorkerGitlabArgs', 'AppSpecWorkerImageArgs', + 'AppSpecWorkerLogDestinationArgs', + 'AppSpecWorkerLogDestinationDatadogArgs', + 'AppSpecWorkerLogDestinationLogtailArgs', + 'AppSpecWorkerLogDestinationPapertrailArgs', 'DatabaseClusterMaintenanceWindowArgs', 'DatabaseFirewallRuleArgs', 'FirewallInboundRuleArgs', @@ -94,6 +110,7 @@ class AppSpecArgs: def __init__(__self__, *, name: pulumi.Input[str], + alerts: Optional[pulumi.Input[Sequence[pulumi.Input['AppSpecAlertArgs']]]] = None, databases: Optional[pulumi.Input[Sequence[pulumi.Input['AppSpecDatabaseArgs']]]] = None, domain_names: Optional[pulumi.Input[Sequence[pulumi.Input['AppSpecDomainNameArgs']]]] = None, domains: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -105,11 +122,14 @@ def __init__(__self__, *, workers: Optional[pulumi.Input[Sequence[pulumi.Input['AppSpecWorkerArgs']]]] = None): """ :param pulumi.Input[str] name: The name of the component. + :param pulumi.Input[Sequence[pulumi.Input['AppSpecAlertArgs']]] alerts: Describes an alert policy for the component. :param pulumi.Input[Sequence[pulumi.Input['AppSpecDomainNameArgs']]] domain_names: Describes a domain where the application will be made available. :param pulumi.Input[Sequence[pulumi.Input['AppSpecEnvArgs']]] envs: Describes an environment variable made available to an app competent. :param pulumi.Input[str] region: The slug for the DigitalOcean data center region hosting the app. """ pulumi.set(__self__, "name", name) + if alerts is not None: + pulumi.set(__self__, "alerts", alerts) if databases is not None: pulumi.set(__self__, "databases", databases) if domain_names is not None: @@ -144,6 +164,18 @@ def name(self) -> pulumi.Input[str]: def name(self, value: pulumi.Input[str]): pulumi.set(self, "name", value) + @property + @pulumi.getter + def alerts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AppSpecAlertArgs']]]]: + """ + Describes an alert policy for the component. + """ + return pulumi.get(self, "alerts") + + @alerts.setter + def alerts(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AppSpecAlertArgs']]]]): + pulumi.set(self, "alerts", value) + @property @pulumi.getter def databases(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AppSpecDatabaseArgs']]]]: @@ -235,6 +267,44 @@ def workers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AppSpecWor pulumi.set(self, "workers", value) +@pulumi.input_type +class AppSpecAlertArgs: + def __init__(__self__, *, + rule: pulumi.Input[str], + disabled: Optional[pulumi.Input[bool]] = None): + """ + :param pulumi.Input[str] rule: The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. + :param pulumi.Input[bool] disabled: Determines whether or not the alert is disabled (default: `false`). + """ + pulumi.set(__self__, "rule", rule) + if disabled is not None: + pulumi.set(__self__, "disabled", disabled) + + @property + @pulumi.getter + def rule(self) -> pulumi.Input[str]: + """ + The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. + """ + return pulumi.get(self, "rule") + + @rule.setter + def rule(self, value: pulumi.Input[str]): + pulumi.set(self, "rule", value) + + @property + @pulumi.getter + def disabled(self) -> Optional[pulumi.Input[bool]]: + """ + Determines whether or not the alert is disabled (default: `false`). + """ + return pulumi.get(self, "disabled") + + @disabled.setter + def disabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "disabled", value) + + @pulumi.input_type class AppSpecDatabaseArgs: def __init__(__self__, *, @@ -435,7 +505,7 @@ def __init__(__self__, *, :param pulumi.Input[str] key: The name of the environment variable. :param pulumi.Input[str] scope: The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). :param pulumi.Input[str] type: The type of the environment variable, `GENERAL` or `SECRET`. - :param pulumi.Input[str] value: The value of the environment variable. + :param pulumi.Input[str] value: The threshold for the type of the warning. """ if key is not None: pulumi.set(__self__, "key", key) @@ -486,7 +556,7 @@ def type(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def value(self) -> Optional[pulumi.Input[str]]: """ - The value of the environment variable. + The threshold for the type of the warning. """ return pulumi.get(self, "value") @@ -499,6 +569,7 @@ def value(self, value: Optional[pulumi.Input[str]]): class AppSpecJobArgs: def __init__(__self__, *, name: pulumi.Input[str], + alerts: Optional[pulumi.Input[Sequence[pulumi.Input['AppSpecJobAlertArgs']]]] = None, build_command: Optional[pulumi.Input[str]] = None, dockerfile_path: Optional[pulumi.Input[str]] = None, environment_slug: Optional[pulumi.Input[str]] = None, @@ -510,10 +581,12 @@ def __init__(__self__, *, instance_count: Optional[pulumi.Input[int]] = None, instance_size_slug: Optional[pulumi.Input[str]] = None, kind: Optional[pulumi.Input[str]] = None, + log_destinations: Optional[pulumi.Input[Sequence[pulumi.Input['AppSpecJobLogDestinationArgs']]]] = None, run_command: Optional[pulumi.Input[str]] = None, source_dir: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[str] name: The name of the component. + :param pulumi.Input[Sequence[pulumi.Input['AppSpecJobAlertArgs']]] alerts: Describes an alert policy for the component. :param pulumi.Input[str] build_command: An optional build command to run while building this component from source. :param pulumi.Input[str] dockerfile_path: The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. :param pulumi.Input[str] environment_slug: An environment slug describing the type of this app. @@ -529,10 +602,13 @@ def __init__(__self__, *, - `PRE_DEPLOY`: Indicates a job that runs before an app deployment. - `POST_DEPLOY`: Indicates a job that runs after an app deployment. - `FAILED_DEPLOY`: Indicates a job that runs after a component fails to deploy. + :param pulumi.Input[Sequence[pulumi.Input['AppSpecJobLogDestinationArgs']]] log_destinations: Describes a log forwarding destination. :param pulumi.Input[str] run_command: An optional run command to override the component's default. :param pulumi.Input[str] source_dir: An optional path to the working directory to use for the build. """ pulumi.set(__self__, "name", name) + if alerts is not None: + pulumi.set(__self__, "alerts", alerts) if build_command is not None: pulumi.set(__self__, "build_command", build_command) if dockerfile_path is not None: @@ -555,6 +631,8 @@ def __init__(__self__, *, pulumi.set(__self__, "instance_size_slug", instance_size_slug) if kind is not None: pulumi.set(__self__, "kind", kind) + if log_destinations is not None: + pulumi.set(__self__, "log_destinations", log_destinations) if run_command is not None: pulumi.set(__self__, "run_command", run_command) if source_dir is not None: @@ -572,6 +650,18 @@ def name(self) -> pulumi.Input[str]: def name(self, value: pulumi.Input[str]): pulumi.set(self, "name", value) + @property + @pulumi.getter + def alerts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AppSpecJobAlertArgs']]]]: + """ + Describes an alert policy for the component. + """ + return pulumi.get(self, "alerts") + + @alerts.setter + def alerts(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AppSpecJobAlertArgs']]]]): + pulumi.set(self, "alerts", value) + @property @pulumi.getter(name="buildCommand") def build_command(self) -> Optional[pulumi.Input[str]]: @@ -708,6 +798,18 @@ def kind(self) -> Optional[pulumi.Input[str]]: def kind(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "kind", value) + @property + @pulumi.getter(name="logDestinations") + def log_destinations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AppSpecJobLogDestinationArgs']]]]: + """ + Describes a log forwarding destination. + """ + return pulumi.get(self, "log_destinations") + + @log_destinations.setter + def log_destinations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AppSpecJobLogDestinationArgs']]]]): + pulumi.set(self, "log_destinations", value) + @property @pulumi.getter(name="runCommand") def run_command(self) -> Optional[pulumi.Input[str]]: @@ -733,6 +835,89 @@ def source_dir(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "source_dir", value) +@pulumi.input_type +class AppSpecJobAlertArgs: + def __init__(__self__, *, + operator: pulumi.Input[str], + rule: pulumi.Input[str], + value: pulumi.Input[float], + window: pulumi.Input[str], + disabled: Optional[pulumi.Input[bool]] = None): + """ + :param pulumi.Input[str] operator: The operator to use. This is either of `GREATER_THAN` or `LESS_THAN`. + :param pulumi.Input[str] rule: The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. + :param pulumi.Input[float] value: The threshold for the type of the warning. + :param pulumi.Input[str] window: The time before alerts should be triggered. This is may be one of: `FIVE_MINUTES`, `TEN_MINUTES`, `THIRTY_MINUTES`, `ONE_HOUR`. + :param pulumi.Input[bool] disabled: Determines whether or not the alert is disabled (default: `false`). + """ + pulumi.set(__self__, "operator", operator) + pulumi.set(__self__, "rule", rule) + pulumi.set(__self__, "value", value) + pulumi.set(__self__, "window", window) + if disabled is not None: + pulumi.set(__self__, "disabled", disabled) + + @property + @pulumi.getter + def operator(self) -> pulumi.Input[str]: + """ + The operator to use. This is either of `GREATER_THAN` or `LESS_THAN`. + """ + return pulumi.get(self, "operator") + + @operator.setter + def operator(self, value: pulumi.Input[str]): + pulumi.set(self, "operator", value) + + @property + @pulumi.getter + def rule(self) -> pulumi.Input[str]: + """ + The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. + """ + return pulumi.get(self, "rule") + + @rule.setter + def rule(self, value: pulumi.Input[str]): + pulumi.set(self, "rule", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[float]: + """ + The threshold for the type of the warning. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[float]): + pulumi.set(self, "value", value) + + @property + @pulumi.getter + def window(self) -> pulumi.Input[str]: + """ + The time before alerts should be triggered. This is may be one of: `FIVE_MINUTES`, `TEN_MINUTES`, `THIRTY_MINUTES`, `ONE_HOUR`. + """ + return pulumi.get(self, "window") + + @window.setter + def window(self, value: pulumi.Input[str]): + pulumi.set(self, "window", value) + + @property + @pulumi.getter + def disabled(self) -> Optional[pulumi.Input[bool]]: + """ + Determines whether or not the alert is disabled (default: `false`). + """ + return pulumi.get(self, "disabled") + + @disabled.setter + def disabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "disabled", value) + + @pulumi.input_type class AppSpecJobEnvArgs: def __init__(__self__, *, @@ -744,7 +929,7 @@ def __init__(__self__, *, :param pulumi.Input[str] key: The name of the environment variable. :param pulumi.Input[str] scope: The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). :param pulumi.Input[str] type: The type of the environment variable, `GENERAL` or `SECRET`. - :param pulumi.Input[str] value: The value of the environment variable. + :param pulumi.Input[str] value: The threshold for the type of the warning. """ if key is not None: pulumi.set(__self__, "key", key) @@ -795,7 +980,7 @@ def type(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def value(self) -> Optional[pulumi.Input[str]]: """ - The value of the environment variable. + The threshold for the type of the warning. """ return pulumi.get(self, "value") @@ -1022,10 +1207,163 @@ def tag(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "tag", value) +@pulumi.input_type +class AppSpecJobLogDestinationArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + datadog: Optional[pulumi.Input['AppSpecJobLogDestinationDatadogArgs']] = None, + logtail: Optional[pulumi.Input['AppSpecJobLogDestinationLogtailArgs']] = None, + papertrail: Optional[pulumi.Input['AppSpecJobLogDestinationPapertrailArgs']] = None): + """ + :param pulumi.Input[str] name: The name of the component. + :param pulumi.Input['AppSpecJobLogDestinationDatadogArgs'] datadog: Datadog configuration. + :param pulumi.Input['AppSpecJobLogDestinationLogtailArgs'] logtail: Logtail configuration. + :param pulumi.Input['AppSpecJobLogDestinationPapertrailArgs'] papertrail: Papertrail configuration. + """ + pulumi.set(__self__, "name", name) + if datadog is not None: + pulumi.set(__self__, "datadog", datadog) + if logtail is not None: + pulumi.set(__self__, "logtail", logtail) + if papertrail is not None: + pulumi.set(__self__, "papertrail", papertrail) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + The name of the component. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def datadog(self) -> Optional[pulumi.Input['AppSpecJobLogDestinationDatadogArgs']]: + """ + Datadog configuration. + """ + return pulumi.get(self, "datadog") + + @datadog.setter + def datadog(self, value: Optional[pulumi.Input['AppSpecJobLogDestinationDatadogArgs']]): + pulumi.set(self, "datadog", value) + + @property + @pulumi.getter + def logtail(self) -> Optional[pulumi.Input['AppSpecJobLogDestinationLogtailArgs']]: + """ + Logtail configuration. + """ + return pulumi.get(self, "logtail") + + @logtail.setter + def logtail(self, value: Optional[pulumi.Input['AppSpecJobLogDestinationLogtailArgs']]): + pulumi.set(self, "logtail", value) + + @property + @pulumi.getter + def papertrail(self) -> Optional[pulumi.Input['AppSpecJobLogDestinationPapertrailArgs']]: + """ + Papertrail configuration. + """ + return pulumi.get(self, "papertrail") + + @papertrail.setter + def papertrail(self, value: Optional[pulumi.Input['AppSpecJobLogDestinationPapertrailArgs']]): + pulumi.set(self, "papertrail", value) + + +@pulumi.input_type +class AppSpecJobLogDestinationDatadogArgs: + def __init__(__self__, *, + api_key: pulumi.Input[str], + endpoint: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] api_key: Datadog API key. + :param pulumi.Input[str] endpoint: Datadog HTTP log intake endpoint. + """ + pulumi.set(__self__, "api_key", api_key) + if endpoint is not None: + pulumi.set(__self__, "endpoint", endpoint) + + @property + @pulumi.getter(name="apiKey") + def api_key(self) -> pulumi.Input[str]: + """ + Datadog API key. + """ + return pulumi.get(self, "api_key") + + @api_key.setter + def api_key(self, value: pulumi.Input[str]): + pulumi.set(self, "api_key", value) + + @property + @pulumi.getter + def endpoint(self) -> Optional[pulumi.Input[str]]: + """ + Datadog HTTP log intake endpoint. + """ + return pulumi.get(self, "endpoint") + + @endpoint.setter + def endpoint(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "endpoint", value) + + +@pulumi.input_type +class AppSpecJobLogDestinationLogtailArgs: + def __init__(__self__, *, + token: pulumi.Input[str]): + """ + :param pulumi.Input[str] token: Logtail token. + """ + pulumi.set(__self__, "token", token) + + @property + @pulumi.getter + def token(self) -> pulumi.Input[str]: + """ + Logtail token. + """ + return pulumi.get(self, "token") + + @token.setter + def token(self, value: pulumi.Input[str]): + pulumi.set(self, "token", value) + + +@pulumi.input_type +class AppSpecJobLogDestinationPapertrailArgs: + def __init__(__self__, *, + endpoint: pulumi.Input[str]): + """ + :param pulumi.Input[str] endpoint: Datadog HTTP log intake endpoint. + """ + pulumi.set(__self__, "endpoint", endpoint) + + @property + @pulumi.getter + def endpoint(self) -> pulumi.Input[str]: + """ + Datadog HTTP log intake endpoint. + """ + return pulumi.get(self, "endpoint") + + @endpoint.setter + def endpoint(self, value: pulumi.Input[str]): + pulumi.set(self, "endpoint", value) + + @pulumi.input_type class AppSpecServiceArgs: def __init__(__self__, *, name: pulumi.Input[str], + alerts: Optional[pulumi.Input[Sequence[pulumi.Input['AppSpecServiceAlertArgs']]]] = None, build_command: Optional[pulumi.Input[str]] = None, cors: Optional[pulumi.Input['AppSpecServiceCorsArgs']] = None, dockerfile_path: Optional[pulumi.Input[str]] = None, @@ -1040,11 +1378,13 @@ def __init__(__self__, *, instance_count: Optional[pulumi.Input[int]] = None, instance_size_slug: Optional[pulumi.Input[str]] = None, internal_ports: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, + log_destinations: Optional[pulumi.Input[Sequence[pulumi.Input['AppSpecServiceLogDestinationArgs']]]] = None, routes: Optional[pulumi.Input[Sequence[pulumi.Input['AppSpecServiceRouteArgs']]]] = None, run_command: Optional[pulumi.Input[str]] = None, source_dir: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[str] name: The name of the component. + :param pulumi.Input[Sequence[pulumi.Input['AppSpecServiceAlertArgs']]] alerts: Describes an alert policy for the component. :param pulumi.Input[str] build_command: An optional build command to run while building this component from source. :param pulumi.Input['AppSpecServiceCorsArgs'] cors: The [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) policies of the app. :param pulumi.Input[str] dockerfile_path: The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. @@ -1059,10 +1399,13 @@ def __init__(__self__, *, :param pulumi.Input[int] instance_count: The amount of instances that this component should be scaled to. :param pulumi.Input[str] instance_size_slug: The instance size to use for this component. This determines the plan (basic or professional) and the available CPU and memory. The list of available instance sizes can be [found with the API](https://docs.digitalocean.com/reference/api/api-reference/#operation/list_instance_sizes) or using the [doctl CLI](https://docs.digitalocean.com/reference/doctl/) (`doctl apps tier instance-size list`). Default: `basic-xxs` :param pulumi.Input[Sequence[pulumi.Input[int]]] internal_ports: A list of ports on which this service will listen for internal traffic. + :param pulumi.Input[Sequence[pulumi.Input['AppSpecServiceLogDestinationArgs']]] log_destinations: Describes a log forwarding destination. :param pulumi.Input[str] run_command: An optional run command to override the component's default. :param pulumi.Input[str] source_dir: An optional path to the working directory to use for the build. """ pulumi.set(__self__, "name", name) + if alerts is not None: + pulumi.set(__self__, "alerts", alerts) if build_command is not None: pulumi.set(__self__, "build_command", build_command) if cors is not None: @@ -1091,6 +1434,8 @@ def __init__(__self__, *, pulumi.set(__self__, "instance_size_slug", instance_size_slug) if internal_ports is not None: pulumi.set(__self__, "internal_ports", internal_ports) + if log_destinations is not None: + pulumi.set(__self__, "log_destinations", log_destinations) if routes is not None: pulumi.set(__self__, "routes", routes) if run_command is not None: @@ -1110,6 +1455,18 @@ def name(self) -> pulumi.Input[str]: def name(self, value: pulumi.Input[str]): pulumi.set(self, "name", value) + @property + @pulumi.getter + def alerts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AppSpecServiceAlertArgs']]]]: + """ + Describes an alert policy for the component. + """ + return pulumi.get(self, "alerts") + + @alerts.setter + def alerts(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AppSpecServiceAlertArgs']]]]): + pulumi.set(self, "alerts", value) + @property @pulumi.getter(name="buildCommand") def build_command(self) -> Optional[pulumi.Input[str]]: @@ -1278,6 +1635,18 @@ def internal_ports(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]: def internal_ports(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]): pulumi.set(self, "internal_ports", value) + @property + @pulumi.getter(name="logDestinations") + def log_destinations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AppSpecServiceLogDestinationArgs']]]]: + """ + Describes a log forwarding destination. + """ + return pulumi.get(self, "log_destinations") + + @log_destinations.setter + def log_destinations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AppSpecServiceLogDestinationArgs']]]]): + pulumi.set(self, "log_destinations", value) + @property @pulumi.getter def routes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AppSpecServiceRouteArgs']]]]: @@ -1312,6 +1681,89 @@ def source_dir(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "source_dir", value) +@pulumi.input_type +class AppSpecServiceAlertArgs: + def __init__(__self__, *, + operator: pulumi.Input[str], + rule: pulumi.Input[str], + value: pulumi.Input[float], + window: pulumi.Input[str], + disabled: Optional[pulumi.Input[bool]] = None): + """ + :param pulumi.Input[str] operator: The operator to use. This is either of `GREATER_THAN` or `LESS_THAN`. + :param pulumi.Input[str] rule: The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. + :param pulumi.Input[float] value: The threshold for the type of the warning. + :param pulumi.Input[str] window: The time before alerts should be triggered. This is may be one of: `FIVE_MINUTES`, `TEN_MINUTES`, `THIRTY_MINUTES`, `ONE_HOUR`. + :param pulumi.Input[bool] disabled: Determines whether or not the alert is disabled (default: `false`). + """ + pulumi.set(__self__, "operator", operator) + pulumi.set(__self__, "rule", rule) + pulumi.set(__self__, "value", value) + pulumi.set(__self__, "window", window) + if disabled is not None: + pulumi.set(__self__, "disabled", disabled) + + @property + @pulumi.getter + def operator(self) -> pulumi.Input[str]: + """ + The operator to use. This is either of `GREATER_THAN` or `LESS_THAN`. + """ + return pulumi.get(self, "operator") + + @operator.setter + def operator(self, value: pulumi.Input[str]): + pulumi.set(self, "operator", value) + + @property + @pulumi.getter + def rule(self) -> pulumi.Input[str]: + """ + The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. + """ + return pulumi.get(self, "rule") + + @rule.setter + def rule(self, value: pulumi.Input[str]): + pulumi.set(self, "rule", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[float]: + """ + The threshold for the type of the warning. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[float]): + pulumi.set(self, "value", value) + + @property + @pulumi.getter + def window(self) -> pulumi.Input[str]: + """ + The time before alerts should be triggered. This is may be one of: `FIVE_MINUTES`, `TEN_MINUTES`, `THIRTY_MINUTES`, `ONE_HOUR`. + """ + return pulumi.get(self, "window") + + @window.setter + def window(self, value: pulumi.Input[str]): + pulumi.set(self, "window", value) + + @property + @pulumi.getter + def disabled(self) -> Optional[pulumi.Input[bool]]: + """ + Determines whether or not the alert is disabled (default: `false`). + """ + return pulumi.get(self, "disabled") + + @disabled.setter + def disabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "disabled", value) + + @pulumi.input_type class AppSpecServiceCorsArgs: def __init__(__self__, *, @@ -1481,7 +1933,7 @@ def __init__(__self__, *, :param pulumi.Input[str] key: The name of the environment variable. :param pulumi.Input[str] scope: The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). :param pulumi.Input[str] type: The type of the environment variable, `GENERAL` or `SECRET`. - :param pulumi.Input[str] value: The value of the environment variable. + :param pulumi.Input[str] value: The threshold for the type of the warning. """ if key is not None: pulumi.set(__self__, "key", key) @@ -1532,7 +1984,7 @@ def type(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def value(self) -> Optional[pulumi.Input[str]]: """ - The value of the environment variable. + The threshold for the type of the warning. """ return pulumi.get(self, "value") @@ -1862,6 +2314,158 @@ def tag(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "tag", value) +@pulumi.input_type +class AppSpecServiceLogDestinationArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + datadog: Optional[pulumi.Input['AppSpecServiceLogDestinationDatadogArgs']] = None, + logtail: Optional[pulumi.Input['AppSpecServiceLogDestinationLogtailArgs']] = None, + papertrail: Optional[pulumi.Input['AppSpecServiceLogDestinationPapertrailArgs']] = None): + """ + :param pulumi.Input[str] name: The name of the component. + :param pulumi.Input['AppSpecServiceLogDestinationDatadogArgs'] datadog: Datadog configuration. + :param pulumi.Input['AppSpecServiceLogDestinationLogtailArgs'] logtail: Logtail configuration. + :param pulumi.Input['AppSpecServiceLogDestinationPapertrailArgs'] papertrail: Papertrail configuration. + """ + pulumi.set(__self__, "name", name) + if datadog is not None: + pulumi.set(__self__, "datadog", datadog) + if logtail is not None: + pulumi.set(__self__, "logtail", logtail) + if papertrail is not None: + pulumi.set(__self__, "papertrail", papertrail) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + The name of the component. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def datadog(self) -> Optional[pulumi.Input['AppSpecServiceLogDestinationDatadogArgs']]: + """ + Datadog configuration. + """ + return pulumi.get(self, "datadog") + + @datadog.setter + def datadog(self, value: Optional[pulumi.Input['AppSpecServiceLogDestinationDatadogArgs']]): + pulumi.set(self, "datadog", value) + + @property + @pulumi.getter + def logtail(self) -> Optional[pulumi.Input['AppSpecServiceLogDestinationLogtailArgs']]: + """ + Logtail configuration. + """ + return pulumi.get(self, "logtail") + + @logtail.setter + def logtail(self, value: Optional[pulumi.Input['AppSpecServiceLogDestinationLogtailArgs']]): + pulumi.set(self, "logtail", value) + + @property + @pulumi.getter + def papertrail(self) -> Optional[pulumi.Input['AppSpecServiceLogDestinationPapertrailArgs']]: + """ + Papertrail configuration. + """ + return pulumi.get(self, "papertrail") + + @papertrail.setter + def papertrail(self, value: Optional[pulumi.Input['AppSpecServiceLogDestinationPapertrailArgs']]): + pulumi.set(self, "papertrail", value) + + +@pulumi.input_type +class AppSpecServiceLogDestinationDatadogArgs: + def __init__(__self__, *, + api_key: pulumi.Input[str], + endpoint: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] api_key: Datadog API key. + :param pulumi.Input[str] endpoint: Datadog HTTP log intake endpoint. + """ + pulumi.set(__self__, "api_key", api_key) + if endpoint is not None: + pulumi.set(__self__, "endpoint", endpoint) + + @property + @pulumi.getter(name="apiKey") + def api_key(self) -> pulumi.Input[str]: + """ + Datadog API key. + """ + return pulumi.get(self, "api_key") + + @api_key.setter + def api_key(self, value: pulumi.Input[str]): + pulumi.set(self, "api_key", value) + + @property + @pulumi.getter + def endpoint(self) -> Optional[pulumi.Input[str]]: + """ + Datadog HTTP log intake endpoint. + """ + return pulumi.get(self, "endpoint") + + @endpoint.setter + def endpoint(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "endpoint", value) + + +@pulumi.input_type +class AppSpecServiceLogDestinationLogtailArgs: + def __init__(__self__, *, + token: pulumi.Input[str]): + """ + :param pulumi.Input[str] token: Logtail token. + """ + pulumi.set(__self__, "token", token) + + @property + @pulumi.getter + def token(self) -> pulumi.Input[str]: + """ + Logtail token. + """ + return pulumi.get(self, "token") + + @token.setter + def token(self, value: pulumi.Input[str]): + pulumi.set(self, "token", value) + + +@pulumi.input_type +class AppSpecServiceLogDestinationPapertrailArgs: + def __init__(__self__, *, + endpoint: pulumi.Input[str]): + """ + :param pulumi.Input[str] endpoint: Datadog HTTP log intake endpoint. + """ + pulumi.set(__self__, "endpoint", endpoint) + + @property + @pulumi.getter + def endpoint(self) -> pulumi.Input[str]: + """ + Datadog HTTP log intake endpoint. + """ + return pulumi.get(self, "endpoint") + + @endpoint.setter + def endpoint(self, value: pulumi.Input[str]): + pulumi.set(self, "endpoint", value) + + @pulumi.input_type class AppSpecServiceRouteArgs: def __init__(__self__, *, @@ -2312,7 +2916,7 @@ def __init__(__self__, *, :param pulumi.Input[str] key: The name of the environment variable. :param pulumi.Input[str] scope: The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). :param pulumi.Input[str] type: The type of the environment variable, `GENERAL` or `SECRET`. - :param pulumi.Input[str] value: The value of the environment variable. + :param pulumi.Input[str] value: The threshold for the type of the warning. """ if key is not None: pulumi.set(__self__, "key", key) @@ -2363,7 +2967,7 @@ def type(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def value(self) -> Optional[pulumi.Input[str]]: """ - The value of the environment variable. + The threshold for the type of the warning. """ return pulumi.get(self, "value") @@ -2564,6 +3168,7 @@ def preserve_path_prefix(self, value: Optional[pulumi.Input[bool]]): class AppSpecWorkerArgs: def __init__(__self__, *, name: pulumi.Input[str], + alerts: Optional[pulumi.Input[Sequence[pulumi.Input['AppSpecWorkerAlertArgs']]]] = None, build_command: Optional[pulumi.Input[str]] = None, dockerfile_path: Optional[pulumi.Input[str]] = None, environment_slug: Optional[pulumi.Input[str]] = None, @@ -2574,10 +3179,12 @@ def __init__(__self__, *, image: Optional[pulumi.Input['AppSpecWorkerImageArgs']] = None, instance_count: Optional[pulumi.Input[int]] = None, instance_size_slug: Optional[pulumi.Input[str]] = None, + log_destinations: Optional[pulumi.Input[Sequence[pulumi.Input['AppSpecWorkerLogDestinationArgs']]]] = None, run_command: Optional[pulumi.Input[str]] = None, source_dir: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[str] name: The name of the component. + :param pulumi.Input[Sequence[pulumi.Input['AppSpecWorkerAlertArgs']]] alerts: Describes an alert policy for the component. :param pulumi.Input[str] build_command: An optional build command to run while building this component from source. :param pulumi.Input[str] dockerfile_path: The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. :param pulumi.Input[str] environment_slug: An environment slug describing the type of this app. @@ -2588,10 +3195,13 @@ def __init__(__self__, *, :param pulumi.Input['AppSpecWorkerImageArgs'] image: An image to use as the component's source. Only one of `git`, `github`, `gitlab`, or `image` may be set. :param pulumi.Input[int] instance_count: The amount of instances that this component should be scaled to. :param pulumi.Input[str] instance_size_slug: The instance size to use for this component. This determines the plan (basic or professional) and the available CPU and memory. The list of available instance sizes can be [found with the API](https://docs.digitalocean.com/reference/api/api-reference/#operation/list_instance_sizes) or using the [doctl CLI](https://docs.digitalocean.com/reference/doctl/) (`doctl apps tier instance-size list`). Default: `basic-xxs` + :param pulumi.Input[Sequence[pulumi.Input['AppSpecWorkerLogDestinationArgs']]] log_destinations: Describes a log forwarding destination. :param pulumi.Input[str] run_command: An optional run command to override the component's default. :param pulumi.Input[str] source_dir: An optional path to the working directory to use for the build. """ pulumi.set(__self__, "name", name) + if alerts is not None: + pulumi.set(__self__, "alerts", alerts) if build_command is not None: pulumi.set(__self__, "build_command", build_command) if dockerfile_path is not None: @@ -2612,6 +3222,8 @@ def __init__(__self__, *, pulumi.set(__self__, "instance_count", instance_count) if instance_size_slug is not None: pulumi.set(__self__, "instance_size_slug", instance_size_slug) + if log_destinations is not None: + pulumi.set(__self__, "log_destinations", log_destinations) if run_command is not None: pulumi.set(__self__, "run_command", run_command) if source_dir is not None: @@ -2629,6 +3241,18 @@ def name(self) -> pulumi.Input[str]: def name(self, value: pulumi.Input[str]): pulumi.set(self, "name", value) + @property + @pulumi.getter + def alerts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AppSpecWorkerAlertArgs']]]]: + """ + Describes an alert policy for the component. + """ + return pulumi.get(self, "alerts") + + @alerts.setter + def alerts(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AppSpecWorkerAlertArgs']]]]): + pulumi.set(self, "alerts", value) + @property @pulumi.getter(name="buildCommand") def build_command(self) -> Optional[pulumi.Input[str]]: @@ -2749,6 +3373,18 @@ def instance_size_slug(self) -> Optional[pulumi.Input[str]]: def instance_size_slug(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "instance_size_slug", value) + @property + @pulumi.getter(name="logDestinations") + def log_destinations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AppSpecWorkerLogDestinationArgs']]]]: + """ + Describes a log forwarding destination. + """ + return pulumi.get(self, "log_destinations") + + @log_destinations.setter + def log_destinations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AppSpecWorkerLogDestinationArgs']]]]): + pulumi.set(self, "log_destinations", value) + @property @pulumi.getter(name="runCommand") def run_command(self) -> Optional[pulumi.Input[str]]: @@ -2774,6 +3410,89 @@ def source_dir(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "source_dir", value) +@pulumi.input_type +class AppSpecWorkerAlertArgs: + def __init__(__self__, *, + operator: pulumi.Input[str], + rule: pulumi.Input[str], + value: pulumi.Input[float], + window: pulumi.Input[str], + disabled: Optional[pulumi.Input[bool]] = None): + """ + :param pulumi.Input[str] operator: The operator to use. This is either of `GREATER_THAN` or `LESS_THAN`. + :param pulumi.Input[str] rule: The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. + :param pulumi.Input[float] value: The threshold for the type of the warning. + :param pulumi.Input[str] window: The time before alerts should be triggered. This is may be one of: `FIVE_MINUTES`, `TEN_MINUTES`, `THIRTY_MINUTES`, `ONE_HOUR`. + :param pulumi.Input[bool] disabled: Determines whether or not the alert is disabled (default: `false`). + """ + pulumi.set(__self__, "operator", operator) + pulumi.set(__self__, "rule", rule) + pulumi.set(__self__, "value", value) + pulumi.set(__self__, "window", window) + if disabled is not None: + pulumi.set(__self__, "disabled", disabled) + + @property + @pulumi.getter + def operator(self) -> pulumi.Input[str]: + """ + The operator to use. This is either of `GREATER_THAN` or `LESS_THAN`. + """ + return pulumi.get(self, "operator") + + @operator.setter + def operator(self, value: pulumi.Input[str]): + pulumi.set(self, "operator", value) + + @property + @pulumi.getter + def rule(self) -> pulumi.Input[str]: + """ + The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. + """ + return pulumi.get(self, "rule") + + @rule.setter + def rule(self, value: pulumi.Input[str]): + pulumi.set(self, "rule", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[float]: + """ + The threshold for the type of the warning. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[float]): + pulumi.set(self, "value", value) + + @property + @pulumi.getter + def window(self) -> pulumi.Input[str]: + """ + The time before alerts should be triggered. This is may be one of: `FIVE_MINUTES`, `TEN_MINUTES`, `THIRTY_MINUTES`, `ONE_HOUR`. + """ + return pulumi.get(self, "window") + + @window.setter + def window(self, value: pulumi.Input[str]): + pulumi.set(self, "window", value) + + @property + @pulumi.getter + def disabled(self) -> Optional[pulumi.Input[bool]]: + """ + Determines whether or not the alert is disabled (default: `false`). + """ + return pulumi.get(self, "disabled") + + @disabled.setter + def disabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "disabled", value) + + @pulumi.input_type class AppSpecWorkerEnvArgs: def __init__(__self__, *, @@ -2785,7 +3504,7 @@ def __init__(__self__, *, :param pulumi.Input[str] key: The name of the environment variable. :param pulumi.Input[str] scope: The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). :param pulumi.Input[str] type: The type of the environment variable, `GENERAL` or `SECRET`. - :param pulumi.Input[str] value: The value of the environment variable. + :param pulumi.Input[str] value: The threshold for the type of the warning. """ if key is not None: pulumi.set(__self__, "key", key) @@ -2836,7 +3555,7 @@ def type(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def value(self) -> Optional[pulumi.Input[str]]: """ - The value of the environment variable. + The threshold for the type of the warning. """ return pulumi.get(self, "value") @@ -3063,6 +3782,158 @@ def tag(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "tag", value) +@pulumi.input_type +class AppSpecWorkerLogDestinationArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + datadog: Optional[pulumi.Input['AppSpecWorkerLogDestinationDatadogArgs']] = None, + logtail: Optional[pulumi.Input['AppSpecWorkerLogDestinationLogtailArgs']] = None, + papertrail: Optional[pulumi.Input['AppSpecWorkerLogDestinationPapertrailArgs']] = None): + """ + :param pulumi.Input[str] name: The name of the component. + :param pulumi.Input['AppSpecWorkerLogDestinationDatadogArgs'] datadog: Datadog configuration. + :param pulumi.Input['AppSpecWorkerLogDestinationLogtailArgs'] logtail: Logtail configuration. + :param pulumi.Input['AppSpecWorkerLogDestinationPapertrailArgs'] papertrail: Papertrail configuration. + """ + pulumi.set(__self__, "name", name) + if datadog is not None: + pulumi.set(__self__, "datadog", datadog) + if logtail is not None: + pulumi.set(__self__, "logtail", logtail) + if papertrail is not None: + pulumi.set(__self__, "papertrail", papertrail) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + The name of the component. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def datadog(self) -> Optional[pulumi.Input['AppSpecWorkerLogDestinationDatadogArgs']]: + """ + Datadog configuration. + """ + return pulumi.get(self, "datadog") + + @datadog.setter + def datadog(self, value: Optional[pulumi.Input['AppSpecWorkerLogDestinationDatadogArgs']]): + pulumi.set(self, "datadog", value) + + @property + @pulumi.getter + def logtail(self) -> Optional[pulumi.Input['AppSpecWorkerLogDestinationLogtailArgs']]: + """ + Logtail configuration. + """ + return pulumi.get(self, "logtail") + + @logtail.setter + def logtail(self, value: Optional[pulumi.Input['AppSpecWorkerLogDestinationLogtailArgs']]): + pulumi.set(self, "logtail", value) + + @property + @pulumi.getter + def papertrail(self) -> Optional[pulumi.Input['AppSpecWorkerLogDestinationPapertrailArgs']]: + """ + Papertrail configuration. + """ + return pulumi.get(self, "papertrail") + + @papertrail.setter + def papertrail(self, value: Optional[pulumi.Input['AppSpecWorkerLogDestinationPapertrailArgs']]): + pulumi.set(self, "papertrail", value) + + +@pulumi.input_type +class AppSpecWorkerLogDestinationDatadogArgs: + def __init__(__self__, *, + api_key: pulumi.Input[str], + endpoint: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] api_key: Datadog API key. + :param pulumi.Input[str] endpoint: Datadog HTTP log intake endpoint. + """ + pulumi.set(__self__, "api_key", api_key) + if endpoint is not None: + pulumi.set(__self__, "endpoint", endpoint) + + @property + @pulumi.getter(name="apiKey") + def api_key(self) -> pulumi.Input[str]: + """ + Datadog API key. + """ + return pulumi.get(self, "api_key") + + @api_key.setter + def api_key(self, value: pulumi.Input[str]): + pulumi.set(self, "api_key", value) + + @property + @pulumi.getter + def endpoint(self) -> Optional[pulumi.Input[str]]: + """ + Datadog HTTP log intake endpoint. + """ + return pulumi.get(self, "endpoint") + + @endpoint.setter + def endpoint(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "endpoint", value) + + +@pulumi.input_type +class AppSpecWorkerLogDestinationLogtailArgs: + def __init__(__self__, *, + token: pulumi.Input[str]): + """ + :param pulumi.Input[str] token: Logtail token. + """ + pulumi.set(__self__, "token", token) + + @property + @pulumi.getter + def token(self) -> pulumi.Input[str]: + """ + Logtail token. + """ + return pulumi.get(self, "token") + + @token.setter + def token(self, value: pulumi.Input[str]): + pulumi.set(self, "token", value) + + +@pulumi.input_type +class AppSpecWorkerLogDestinationPapertrailArgs: + def __init__(__self__, *, + endpoint: pulumi.Input[str]): + """ + :param pulumi.Input[str] endpoint: Datadog HTTP log intake endpoint. + """ + pulumi.set(__self__, "endpoint", endpoint) + + @property + @pulumi.getter + def endpoint(self) -> pulumi.Input[str]: + """ + Datadog HTTP log intake endpoint. + """ + return pulumi.get(self, "endpoint") + + @endpoint.setter + def endpoint(self, value: pulumi.Input[str]): + pulumi.set(self, "endpoint", value) + + @pulumi.input_type class DatabaseClusterMaintenanceWindowArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_digitalocean/app.py b/sdk/python/pulumi_digitalocean/app.py index 12964c6b..8730859c 100644 --- a/sdk/python/pulumi_digitalocean/app.py +++ b/sdk/python/pulumi_digitalocean/app.py @@ -201,6 +201,9 @@ def __init__(__self__, import pulumi_digitalocean as digitalocean mono_repo_example = digitalocean.App("mono-repo-example", spec=digitalocean.AppSpecArgs( + alerts=[digitalocean.AppSpecAlertArgs( + rule="DEPLOYMENT_FAILED", + )], databases=[digitalocean.AppSpecDatabaseArgs( engine="PG", name="starter-db", @@ -212,6 +215,12 @@ def __init__(__self__, name="mono-repo-example", region="ams", services=[digitalocean.AppSpecServiceArgs( + alert=[{ + "operator": "GREATER_THAN", + "rule": "CPU_UTILIZATION", + "value": 75, + "window": "TEN_MINUTES", + }], environment_slug="go", github=digitalocean.AppSpecServiceGithubArgs( branch="main", @@ -221,6 +230,12 @@ def __init__(__self__, http_port=3000, instance_count=2, instance_size_slug="professional-xs", + log_destination=[{ + "name": "MyLogs", + "papertrail": { + "endpoint": "syslog+tls://example.com:12345", + }, + }], name="api", routes=[digitalocean.AppSpecServiceRouteArgs( path="/api", @@ -315,6 +330,9 @@ def __init__(__self__, import pulumi_digitalocean as digitalocean mono_repo_example = digitalocean.App("mono-repo-example", spec=digitalocean.AppSpecArgs( + alerts=[digitalocean.AppSpecAlertArgs( + rule="DEPLOYMENT_FAILED", + )], databases=[digitalocean.AppSpecDatabaseArgs( engine="PG", name="starter-db", @@ -326,6 +344,12 @@ def __init__(__self__, name="mono-repo-example", region="ams", services=[digitalocean.AppSpecServiceArgs( + alert=[{ + "operator": "GREATER_THAN", + "rule": "CPU_UTILIZATION", + "value": 75, + "window": "TEN_MINUTES", + }], environment_slug="go", github=digitalocean.AppSpecServiceGithubArgs( branch="main", @@ -335,6 +359,12 @@ def __init__(__self__, http_port=3000, instance_count=2, instance_size_slug="professional-xs", + log_destination=[{ + "name": "MyLogs", + "papertrail": { + "endpoint": "syslog+tls://example.com:12345", + }, + }], name="api", routes=[digitalocean.AppSpecServiceRouteArgs( path="/api", diff --git a/sdk/python/pulumi_digitalocean/container_registry.py b/sdk/python/pulumi_digitalocean/container_registry.py index 772d1292..b9695438 100644 --- a/sdk/python/pulumi_digitalocean/container_registry.py +++ b/sdk/python/pulumi_digitalocean/container_registry.py @@ -14,15 +14,19 @@ class ContainerRegistryArgs: def __init__(__self__, *, subscription_tier_slug: pulumi.Input[str], - name: Optional[pulumi.Input[str]] = None): + name: Optional[pulumi.Input[str]] = None, + region: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a ContainerRegistry resource. :param pulumi.Input[str] subscription_tier_slug: The slug identifier for the subscription tier to use (`starter`, `basic`, or `professional`) :param pulumi.Input[str] name: The name of the container_registry + :param pulumi.Input[str] region: The slug identifier of for region where registry data will be stored. When not provided, a region will be selected automatically. """ pulumi.set(__self__, "subscription_tier_slug", subscription_tier_slug) if name is not None: pulumi.set(__self__, "name", name) + if region is not None: + pulumi.set(__self__, "region", region) @property @pulumi.getter(name="subscriptionTierSlug") @@ -48,31 +52,72 @@ def name(self) -> Optional[pulumi.Input[str]]: def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) + @property + @pulumi.getter + def region(self) -> Optional[pulumi.Input[str]]: + """ + The slug identifier of for region where registry data will be stored. When not provided, a region will be selected automatically. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "region", value) + @pulumi.input_type class _ContainerRegistryState: def __init__(__self__, *, + created_at: Optional[pulumi.Input[str]] = None, endpoint: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, + region: Optional[pulumi.Input[str]] = None, server_url: Optional[pulumi.Input[str]] = None, + storage_usage_bytes: Optional[pulumi.Input[int]] = None, subscription_tier_slug: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering ContainerRegistry resources. + :param pulumi.Input[str] created_at: The date and time when the registry was created + :param pulumi.Input[str] endpoint: The URL endpoint of the container registry. Ex: `registry.digitalocean.com/my_registry` :param pulumi.Input[str] name: The name of the container_registry + :param pulumi.Input[str] region: The slug identifier of for region where registry data will be stored. When not provided, a region will be selected automatically. + :param pulumi.Input[str] server_url: The domain of the container registry. Ex: `registry.digitalocean.com` + :param pulumi.Input[int] storage_usage_bytes: The amount of storage used in the registry in bytes. :param pulumi.Input[str] subscription_tier_slug: The slug identifier for the subscription tier to use (`starter`, `basic`, or `professional`) """ + if created_at is not None: + pulumi.set(__self__, "created_at", created_at) if endpoint is not None: pulumi.set(__self__, "endpoint", endpoint) if name is not None: pulumi.set(__self__, "name", name) + if region is not None: + pulumi.set(__self__, "region", region) if server_url is not None: pulumi.set(__self__, "server_url", server_url) + if storage_usage_bytes is not None: + pulumi.set(__self__, "storage_usage_bytes", storage_usage_bytes) if subscription_tier_slug is not None: pulumi.set(__self__, "subscription_tier_slug", subscription_tier_slug) + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> Optional[pulumi.Input[str]]: + """ + The date and time when the registry was created + """ + return pulumi.get(self, "created_at") + + @created_at.setter + def created_at(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "created_at", value) + @property @pulumi.getter def endpoint(self) -> Optional[pulumi.Input[str]]: + """ + The URL endpoint of the container registry. Ex: `registry.digitalocean.com/my_registry` + """ return pulumi.get(self, "endpoint") @endpoint.setter @@ -91,15 +136,42 @@ def name(self) -> Optional[pulumi.Input[str]]: def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) + @property + @pulumi.getter + def region(self) -> Optional[pulumi.Input[str]]: + """ + The slug identifier of for region where registry data will be stored. When not provided, a region will be selected automatically. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "region", value) + @property @pulumi.getter(name="serverUrl") def server_url(self) -> Optional[pulumi.Input[str]]: + """ + The domain of the container registry. Ex: `registry.digitalocean.com` + """ return pulumi.get(self, "server_url") @server_url.setter def server_url(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "server_url", value) + @property + @pulumi.getter(name="storageUsageBytes") + def storage_usage_bytes(self) -> Optional[pulumi.Input[int]]: + """ + The amount of storage used in the registry in bytes. + """ + return pulumi.get(self, "storage_usage_bytes") + + @storage_usage_bytes.setter + def storage_usage_bytes(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "storage_usage_bytes", value) + @property @pulumi.getter(name="subscriptionTierSlug") def subscription_tier_slug(self) -> Optional[pulumi.Input[str]]: @@ -119,6 +191,7 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, name: Optional[pulumi.Input[str]] = None, + region: Optional[pulumi.Input[str]] = None, subscription_tier_slug: Optional[pulumi.Input[str]] = None, __props__=None): """ @@ -146,6 +219,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] name: The name of the container_registry + :param pulumi.Input[str] region: The slug identifier of for region where registry data will be stored. When not provided, a region will be selected automatically. :param pulumi.Input[str] subscription_tier_slug: The slug identifier for the subscription tier to use (`starter`, `basic`, or `professional`) """ ... @@ -192,6 +266,7 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, name: Optional[pulumi.Input[str]] = None, + region: Optional[pulumi.Input[str]] = None, subscription_tier_slug: Optional[pulumi.Input[str]] = None, __props__=None): if opts is None: @@ -206,11 +281,14 @@ def _internal_init(__self__, __props__ = ContainerRegistryArgs.__new__(ContainerRegistryArgs) __props__.__dict__["name"] = name + __props__.__dict__["region"] = region if subscription_tier_slug is None and not opts.urn: raise TypeError("Missing required property 'subscription_tier_slug'") __props__.__dict__["subscription_tier_slug"] = subscription_tier_slug + __props__.__dict__["created_at"] = None __props__.__dict__["endpoint"] = None __props__.__dict__["server_url"] = None + __props__.__dict__["storage_usage_bytes"] = None super(ContainerRegistry, __self__).__init__( 'digitalocean:index/containerRegistry:ContainerRegistry', resource_name, @@ -221,9 +299,12 @@ def _internal_init(__self__, def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, + created_at: Optional[pulumi.Input[str]] = None, endpoint: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, + region: Optional[pulumi.Input[str]] = None, server_url: Optional[pulumi.Input[str]] = None, + storage_usage_bytes: Optional[pulumi.Input[int]] = None, subscription_tier_slug: Optional[pulumi.Input[str]] = None) -> 'ContainerRegistry': """ Get an existing ContainerRegistry resource's state with the given name, id, and optional extra @@ -232,22 +313,41 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] created_at: The date and time when the registry was created + :param pulumi.Input[str] endpoint: The URL endpoint of the container registry. Ex: `registry.digitalocean.com/my_registry` :param pulumi.Input[str] name: The name of the container_registry + :param pulumi.Input[str] region: The slug identifier of for region where registry data will be stored. When not provided, a region will be selected automatically. + :param pulumi.Input[str] server_url: The domain of the container registry. Ex: `registry.digitalocean.com` + :param pulumi.Input[int] storage_usage_bytes: The amount of storage used in the registry in bytes. :param pulumi.Input[str] subscription_tier_slug: The slug identifier for the subscription tier to use (`starter`, `basic`, or `professional`) """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) __props__ = _ContainerRegistryState.__new__(_ContainerRegistryState) + __props__.__dict__["created_at"] = created_at __props__.__dict__["endpoint"] = endpoint __props__.__dict__["name"] = name + __props__.__dict__["region"] = region __props__.__dict__["server_url"] = server_url + __props__.__dict__["storage_usage_bytes"] = storage_usage_bytes __props__.__dict__["subscription_tier_slug"] = subscription_tier_slug return ContainerRegistry(resource_name, opts=opts, __props__=__props__) + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> pulumi.Output[str]: + """ + The date and time when the registry was created + """ + return pulumi.get(self, "created_at") + @property @pulumi.getter def endpoint(self) -> pulumi.Output[str]: + """ + The URL endpoint of the container registry. Ex: `registry.digitalocean.com/my_registry` + """ return pulumi.get(self, "endpoint") @property @@ -258,11 +358,30 @@ def name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "name") + @property + @pulumi.getter + def region(self) -> pulumi.Output[str]: + """ + The slug identifier of for region where registry data will be stored. When not provided, a region will be selected automatically. + """ + return pulumi.get(self, "region") + @property @pulumi.getter(name="serverUrl") def server_url(self) -> pulumi.Output[str]: + """ + The domain of the container registry. Ex: `registry.digitalocean.com` + """ return pulumi.get(self, "server_url") + @property + @pulumi.getter(name="storageUsageBytes") + def storage_usage_bytes(self) -> pulumi.Output[int]: + """ + The amount of storage used in the registry in bytes. + """ + return pulumi.get(self, "storage_usage_bytes") + @property @pulumi.getter(name="subscriptionTierSlug") def subscription_tier_slug(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_digitalocean/dns_record.py b/sdk/python/pulumi_digitalocean/dns_record.py index 57c9aa74..3e8d13dc 100644 --- a/sdk/python/pulumi_digitalocean/dns_record.py +++ b/sdk/python/pulumi_digitalocean/dns_record.py @@ -34,7 +34,7 @@ def __init__(__self__, *, :param pulumi.Input[int] port: The port of the record. Only valid when type is `SRV`. Must be between 1 and 65535. :param pulumi.Input[int] priority: The priority of the record. Only valid when type is `MX` or `SRV`. Must be between 0 and 65535. :param pulumi.Input[str] tag: The tag of the record. Only valid when type is `CAA`. Must be one of `issue`, `issuewild`, or `iodef`. - :param pulumi.Input[int] ttl: The time to live for the record, in seconds. Must be at least 0. + :param pulumi.Input[int] ttl: The time to live for the record, in seconds. Must be at least 0. Defaults to 1800. :param pulumi.Input[int] weight: The weight of the record. Only valid when type is `SRV`. Must be between 0 and 65535. """ pulumi.set(__self__, "domain", domain) @@ -155,7 +155,7 @@ def tag(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def ttl(self) -> Optional[pulumi.Input[int]]: """ - The time to live for the record, in seconds. Must be at least 0. + The time to live for the record, in seconds. Must be at least 0. Defaults to 1800. """ return pulumi.get(self, "ttl") @@ -199,7 +199,7 @@ def __init__(__self__, *, :param pulumi.Input[int] port: The port of the record. Only valid when type is `SRV`. Must be between 1 and 65535. :param pulumi.Input[int] priority: The priority of the record. Only valid when type is `MX` or `SRV`. Must be between 0 and 65535. :param pulumi.Input[str] tag: The tag of the record. Only valid when type is `CAA`. Must be one of `issue`, `issuewild`, or `iodef`. - :param pulumi.Input[int] ttl: The time to live for the record, in seconds. Must be at least 0. + :param pulumi.Input[int] ttl: The time to live for the record, in seconds. Must be at least 0. Defaults to 1800. :param pulumi.Input[Union[str, 'RecordType']] type: The type of record. Must be one of `A`, `AAAA`, `CAA`, `CNAME`, `MX`, `NS`, `TXT`, or `SRV`. :param pulumi.Input[str] value: The value of the record. :param pulumi.Input[int] weight: The weight of the record. Only valid when type is `SRV`. Must be between 0 and 65535. @@ -315,7 +315,7 @@ def tag(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def ttl(self) -> Optional[pulumi.Input[int]]: """ - The time to live for the record, in seconds. Must be at least 0. + The time to live for the record, in seconds. Must be at least 0. Defaults to 1800. """ return pulumi.get(self, "ttl") @@ -417,7 +417,7 @@ def __init__(__self__, :param pulumi.Input[int] port: The port of the record. Only valid when type is `SRV`. Must be between 1 and 65535. :param pulumi.Input[int] priority: The priority of the record. Only valid when type is `MX` or `SRV`. Must be between 0 and 65535. :param pulumi.Input[str] tag: The tag of the record. Only valid when type is `CAA`. Must be one of `issue`, `issuewild`, or `iodef`. - :param pulumi.Input[int] ttl: The time to live for the record, in seconds. Must be at least 0. + :param pulumi.Input[int] ttl: The time to live for the record, in seconds. Must be at least 0. Defaults to 1800. :param pulumi.Input[Union[str, 'RecordType']] type: The type of record. Must be one of `A`, `AAAA`, `CAA`, `CNAME`, `MX`, `NS`, `TXT`, or `SRV`. :param pulumi.Input[str] value: The value of the record. :param pulumi.Input[int] weight: The weight of the record. Only valid when type is `SRV`. Must be between 0 and 65535. @@ -550,7 +550,7 @@ def get(resource_name: str, :param pulumi.Input[int] port: The port of the record. Only valid when type is `SRV`. Must be between 1 and 65535. :param pulumi.Input[int] priority: The priority of the record. Only valid when type is `MX` or `SRV`. Must be between 0 and 65535. :param pulumi.Input[str] tag: The tag of the record. Only valid when type is `CAA`. Must be one of `issue`, `issuewild`, or `iodef`. - :param pulumi.Input[int] ttl: The time to live for the record, in seconds. Must be at least 0. + :param pulumi.Input[int] ttl: The time to live for the record, in seconds. Must be at least 0. Defaults to 1800. :param pulumi.Input[Union[str, 'RecordType']] type: The type of record. Must be one of `A`, `AAAA`, `CAA`, `CNAME`, `MX`, `NS`, `TXT`, or `SRV`. :param pulumi.Input[str] value: The value of the record. :param pulumi.Input[int] weight: The weight of the record. Only valid when type is `SRV`. Must be between 0 and 65535. @@ -632,7 +632,7 @@ def tag(self) -> pulumi.Output[Optional[str]]: @pulumi.getter def ttl(self) -> pulumi.Output[int]: """ - The time to live for the record, in seconds. Must be at least 0. + The time to live for the record, in seconds. Must be at least 0. Defaults to 1800. """ return pulumi.get(self, "ttl") diff --git a/sdk/python/pulumi_digitalocean/get_container_registry.py b/sdk/python/pulumi_digitalocean/get_container_registry.py index 04047679..f7fcb423 100644 --- a/sdk/python/pulumi_digitalocean/get_container_registry.py +++ b/sdk/python/pulumi_digitalocean/get_container_registry.py @@ -20,7 +20,10 @@ class GetContainerRegistryResult: """ A collection of values returned by getContainerRegistry. """ - def __init__(__self__, endpoint=None, id=None, name=None, server_url=None, subscription_tier_slug=None): + def __init__(__self__, created_at=None, endpoint=None, id=None, name=None, region=None, server_url=None, storage_usage_bytes=None, subscription_tier_slug=None): + if created_at and not isinstance(created_at, str): + raise TypeError("Expected argument 'created_at' to be a str") + pulumi.set(__self__, "created_at", created_at) if endpoint and not isinstance(endpoint, str): raise TypeError("Expected argument 'endpoint' to be a str") pulumi.set(__self__, "endpoint", endpoint) @@ -30,16 +33,33 @@ def __init__(__self__, endpoint=None, id=None, name=None, server_url=None, subsc if name and not isinstance(name, str): raise TypeError("Expected argument 'name' to be a str") pulumi.set(__self__, "name", name) + if region and not isinstance(region, str): + raise TypeError("Expected argument 'region' to be a str") + pulumi.set(__self__, "region", region) if server_url and not isinstance(server_url, str): raise TypeError("Expected argument 'server_url' to be a str") pulumi.set(__self__, "server_url", server_url) + if storage_usage_bytes and not isinstance(storage_usage_bytes, int): + raise TypeError("Expected argument 'storage_usage_bytes' to be a int") + pulumi.set(__self__, "storage_usage_bytes", storage_usage_bytes) if subscription_tier_slug and not isinstance(subscription_tier_slug, str): raise TypeError("Expected argument 'subscription_tier_slug' to be a str") pulumi.set(__self__, "subscription_tier_slug", subscription_tier_slug) + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> str: + """ + The date and time when the registry was created + """ + return pulumi.get(self, "created_at") + @property @pulumi.getter def endpoint(self) -> str: + """ + The URL endpoint of the container registry. Ex: `registry.digitalocean.com/my_registry` + """ return pulumi.get(self, "endpoint") @property @@ -58,18 +78,35 @@ def name(self) -> str: """ return pulumi.get(self, "name") + @property + @pulumi.getter + def region(self) -> str: + """ + The slug identifier for the region + """ + return pulumi.get(self, "region") + @property @pulumi.getter(name="serverUrl") def server_url(self) -> str: + """ + The domain of the container registry. Ex: `registry.digitalocean.com` + """ return pulumi.get(self, "server_url") + @property + @pulumi.getter(name="storageUsageBytes") + def storage_usage_bytes(self) -> int: + """ + The amount of storage used in the registry in bytes. + """ + return pulumi.get(self, "storage_usage_bytes") + @property @pulumi.getter(name="subscriptionTierSlug") def subscription_tier_slug(self) -> str: """ The slug identifier for the subscription tier - * `endpoint`: The URL endpoint of the container registry. Ex: `registry.digitalocean.com/my_registry` - * `server_url`: The domain of the container registry. Ex: `registry.digitalocean.com` """ return pulumi.get(self, "subscription_tier_slug") @@ -80,10 +117,13 @@ def __await__(self): if False: yield self return GetContainerRegistryResult( + created_at=self.created_at, endpoint=self.endpoint, id=self.id, name=self.name, + region=self.region, server_url=self.server_url, + storage_usage_bytes=self.storage_usage_bytes, subscription_tier_slug=self.subscription_tier_slug) @@ -121,10 +161,13 @@ def get_container_registry(name: Optional[str] = None, __ret__ = pulumi.runtime.invoke('digitalocean:index/getContainerRegistry:getContainerRegistry', __args__, opts=opts, typ=GetContainerRegistryResult).value return AwaitableGetContainerRegistryResult( + created_at=__ret__.created_at, endpoint=__ret__.endpoint, id=__ret__.id, name=__ret__.name, + region=__ret__.region, server_url=__ret__.server_url, + storage_usage_bytes=__ret__.storage_usage_bytes, subscription_tier_slug=__ret__.subscription_tier_slug) diff --git a/sdk/python/pulumi_digitalocean/outputs.py b/sdk/python/pulumi_digitalocean/outputs.py index cddd0d6c..f1e47d01 100644 --- a/sdk/python/pulumi_digitalocean/outputs.py +++ b/sdk/python/pulumi_digitalocean/outputs.py @@ -12,16 +12,23 @@ __all__ = [ 'AppSpec', + 'AppSpecAlert', 'AppSpecDatabase', 'AppSpecDomainName', 'AppSpecEnv', 'AppSpecJob', + 'AppSpecJobAlert', 'AppSpecJobEnv', 'AppSpecJobGit', 'AppSpecJobGithub', 'AppSpecJobGitlab', 'AppSpecJobImage', + 'AppSpecJobLogDestination', + 'AppSpecJobLogDestinationDatadog', + 'AppSpecJobLogDestinationLogtail', + 'AppSpecJobLogDestinationPapertrail', 'AppSpecService', + 'AppSpecServiceAlert', 'AppSpecServiceCors', 'AppSpecServiceCorsAllowOrigins', 'AppSpecServiceEnv', @@ -30,6 +37,10 @@ 'AppSpecServiceGitlab', 'AppSpecServiceHealthCheck', 'AppSpecServiceImage', + 'AppSpecServiceLogDestination', + 'AppSpecServiceLogDestinationDatadog', + 'AppSpecServiceLogDestinationLogtail', + 'AppSpecServiceLogDestinationPapertrail', 'AppSpecServiceRoute', 'AppSpecStaticSite', 'AppSpecStaticSiteCors', @@ -40,11 +51,16 @@ 'AppSpecStaticSiteGitlab', 'AppSpecStaticSiteRoute', 'AppSpecWorker', + 'AppSpecWorkerAlert', 'AppSpecWorkerEnv', 'AppSpecWorkerGit', 'AppSpecWorkerGithub', 'AppSpecWorkerGitlab', 'AppSpecWorkerImage', + 'AppSpecWorkerLogDestination', + 'AppSpecWorkerLogDestinationDatadog', + 'AppSpecWorkerLogDestinationLogtail', + 'AppSpecWorkerLogDestinationPapertrail', 'DatabaseClusterMaintenanceWindow', 'DatabaseFirewallRule', 'FirewallInboundRule', @@ -68,15 +84,22 @@ 'SpacesBucketLifecycleRuleNoncurrentVersionExpiration', 'SpacesBucketVersioning', 'GetAppSpecResult', + 'GetAppSpecAlertResult', 'GetAppSpecDatabaseResult', 'GetAppSpecEnvResult', 'GetAppSpecJobResult', + 'GetAppSpecJobAlertResult', 'GetAppSpecJobEnvResult', 'GetAppSpecJobGitResult', 'GetAppSpecJobGithubResult', 'GetAppSpecJobGitlabResult', 'GetAppSpecJobImageResult', + 'GetAppSpecJobLogDestinationResult', + 'GetAppSpecJobLogDestinationDatadogResult', + 'GetAppSpecJobLogDestinationLogtailResult', + 'GetAppSpecJobLogDestinationPapertrailResult', 'GetAppSpecServiceResult', + 'GetAppSpecServiceAlertResult', 'GetAppSpecServiceCorsResult', 'GetAppSpecServiceCorsAllowOriginsResult', 'GetAppSpecServiceEnvResult', @@ -85,6 +108,10 @@ 'GetAppSpecServiceGitlabResult', 'GetAppSpecServiceHealthCheckResult', 'GetAppSpecServiceImageResult', + 'GetAppSpecServiceLogDestinationResult', + 'GetAppSpecServiceLogDestinationDatadogResult', + 'GetAppSpecServiceLogDestinationLogtailResult', + 'GetAppSpecServiceLogDestinationPapertrailResult', 'GetAppSpecServiceRouteResult', 'GetAppSpecStaticSiteResult', 'GetAppSpecStaticSiteCorsResult', @@ -95,11 +122,16 @@ 'GetAppSpecStaticSiteGitlabResult', 'GetAppSpecStaticSiteRouteResult', 'GetAppSpecWorkerResult', + 'GetAppSpecWorkerAlertResult', 'GetAppSpecWorkerEnvResult', 'GetAppSpecWorkerGitResult', 'GetAppSpecWorkerGithubResult', 'GetAppSpecWorkerGitlabResult', 'GetAppSpecWorkerImageResult', + 'GetAppSpecWorkerLogDestinationResult', + 'GetAppSpecWorkerLogDestinationDatadogResult', + 'GetAppSpecWorkerLogDestinationLogtailResult', + 'GetAppSpecWorkerLogDestinationPapertrailResult', 'GetDatabaseClusterMaintenanceWindowResult', 'GetDomainsDomainResult', 'GetDomainsFilterResult', @@ -167,6 +199,7 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, name: str, + alerts: Optional[Sequence['outputs.AppSpecAlert']] = None, databases: Optional[Sequence['outputs.AppSpecDatabase']] = None, domain_names: Optional[Sequence['outputs.AppSpecDomainName']] = None, domains: Optional[Sequence[str]] = None, @@ -178,11 +211,14 @@ def __init__(__self__, *, workers: Optional[Sequence['outputs.AppSpecWorker']] = None): """ :param str name: The name of the component. + :param Sequence['AppSpecAlertArgs'] alerts: Describes an alert policy for the component. :param Sequence['AppSpecDomainNameArgs'] domain_names: Describes a domain where the application will be made available. :param Sequence['AppSpecEnvArgs'] envs: Describes an environment variable made available to an app competent. :param str region: The slug for the DigitalOcean data center region hosting the app. """ pulumi.set(__self__, "name", name) + if alerts is not None: + pulumi.set(__self__, "alerts", alerts) if databases is not None: pulumi.set(__self__, "databases", databases) if domain_names is not None: @@ -210,6 +246,14 @@ def name(self) -> str: """ return pulumi.get(self, "name") + @property + @pulumi.getter + def alerts(self) -> Optional[Sequence['outputs.AppSpecAlert']]: + """ + Describes an alert policy for the component. + """ + return pulumi.get(self, "alerts") + @property @pulumi.getter def databases(self) -> Optional[Sequence['outputs.AppSpecDatabase']]: @@ -265,6 +309,36 @@ def workers(self) -> Optional[Sequence['outputs.AppSpecWorker']]: return pulumi.get(self, "workers") +@pulumi.output_type +class AppSpecAlert(dict): + def __init__(__self__, *, + rule: str, + disabled: Optional[bool] = None): + """ + :param str rule: The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. + :param bool disabled: Determines whether or not the alert is disabled (default: `false`). + """ + pulumi.set(__self__, "rule", rule) + if disabled is not None: + pulumi.set(__self__, "disabled", disabled) + + @property + @pulumi.getter + def rule(self) -> str: + """ + The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. + """ + return pulumi.get(self, "rule") + + @property + @pulumi.getter + def disabled(self) -> Optional[bool]: + """ + Determines whether or not the alert is disabled (default: `false`). + """ + return pulumi.get(self, "disabled") + + @pulumi.output_type class AppSpecDatabase(dict): @staticmethod @@ -442,7 +516,7 @@ def __init__(__self__, *, :param str key: The name of the environment variable. :param str scope: The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). :param str type: The type of the environment variable, `GENERAL` or `SECRET`. - :param str value: The value of the environment variable. + :param str value: The threshold for the type of the warning. """ if key is not None: pulumi.set(__self__, "key", key) @@ -481,7 +555,7 @@ def type(self) -> Optional[str]: @pulumi.getter def value(self) -> Optional[str]: """ - The value of the environment variable. + The threshold for the type of the warning. """ return pulumi.get(self, "value") @@ -501,6 +575,8 @@ def __key_warning(key: str): suggest = "instance_count" elif key == "instanceSizeSlug": suggest = "instance_size_slug" + elif key == "logDestinations": + suggest = "log_destinations" elif key == "runCommand": suggest = "run_command" elif key == "sourceDir": @@ -519,6 +595,7 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, name: str, + alerts: Optional[Sequence['outputs.AppSpecJobAlert']] = None, build_command: Optional[str] = None, dockerfile_path: Optional[str] = None, environment_slug: Optional[str] = None, @@ -530,10 +607,12 @@ def __init__(__self__, *, instance_count: Optional[int] = None, instance_size_slug: Optional[str] = None, kind: Optional[str] = None, + log_destinations: Optional[Sequence['outputs.AppSpecJobLogDestination']] = None, run_command: Optional[str] = None, source_dir: Optional[str] = None): """ :param str name: The name of the component. + :param Sequence['AppSpecJobAlertArgs'] alerts: Describes an alert policy for the component. :param str build_command: An optional build command to run while building this component from source. :param str dockerfile_path: The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. :param str environment_slug: An environment slug describing the type of this app. @@ -549,10 +628,13 @@ def __init__(__self__, *, - `PRE_DEPLOY`: Indicates a job that runs before an app deployment. - `POST_DEPLOY`: Indicates a job that runs after an app deployment. - `FAILED_DEPLOY`: Indicates a job that runs after a component fails to deploy. + :param Sequence['AppSpecJobLogDestinationArgs'] log_destinations: Describes a log forwarding destination. :param str run_command: An optional run command to override the component's default. :param str source_dir: An optional path to the working directory to use for the build. """ pulumi.set(__self__, "name", name) + if alerts is not None: + pulumi.set(__self__, "alerts", alerts) if build_command is not None: pulumi.set(__self__, "build_command", build_command) if dockerfile_path is not None: @@ -575,6 +657,8 @@ def __init__(__self__, *, pulumi.set(__self__, "instance_size_slug", instance_size_slug) if kind is not None: pulumi.set(__self__, "kind", kind) + if log_destinations is not None: + pulumi.set(__self__, "log_destinations", log_destinations) if run_command is not None: pulumi.set(__self__, "run_command", run_command) if source_dir is not None: @@ -588,6 +672,14 @@ def name(self) -> str: """ return pulumi.get(self, "name") + @property + @pulumi.getter + def alerts(self) -> Optional[Sequence['outputs.AppSpecJobAlert']]: + """ + Describes an alert policy for the component. + """ + return pulumi.get(self, "alerts") + @property @pulumi.getter(name="buildCommand") def build_command(self) -> Optional[str]: @@ -680,6 +772,14 @@ def kind(self) -> Optional[str]: """ return pulumi.get(self, "kind") + @property + @pulumi.getter(name="logDestinations") + def log_destinations(self) -> Optional[Sequence['outputs.AppSpecJobLogDestination']]: + """ + Describes a log forwarding destination. + """ + return pulumi.get(self, "log_destinations") + @property @pulumi.getter(name="runCommand") def run_command(self) -> Optional[str]: @@ -697,6 +797,69 @@ def source_dir(self) -> Optional[str]: return pulumi.get(self, "source_dir") +@pulumi.output_type +class AppSpecJobAlert(dict): + def __init__(__self__, *, + operator: str, + rule: str, + value: float, + window: str, + disabled: Optional[bool] = None): + """ + :param str operator: The operator to use. This is either of `GREATER_THAN` or `LESS_THAN`. + :param str rule: The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. + :param float value: The threshold for the type of the warning. + :param str window: The time before alerts should be triggered. This is may be one of: `FIVE_MINUTES`, `TEN_MINUTES`, `THIRTY_MINUTES`, `ONE_HOUR`. + :param bool disabled: Determines whether or not the alert is disabled (default: `false`). + """ + pulumi.set(__self__, "operator", operator) + pulumi.set(__self__, "rule", rule) + pulumi.set(__self__, "value", value) + pulumi.set(__self__, "window", window) + if disabled is not None: + pulumi.set(__self__, "disabled", disabled) + + @property + @pulumi.getter + def operator(self) -> str: + """ + The operator to use. This is either of `GREATER_THAN` or `LESS_THAN`. + """ + return pulumi.get(self, "operator") + + @property + @pulumi.getter + def rule(self) -> str: + """ + The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. + """ + return pulumi.get(self, "rule") + + @property + @pulumi.getter + def value(self) -> float: + """ + The threshold for the type of the warning. + """ + return pulumi.get(self, "value") + + @property + @pulumi.getter + def window(self) -> str: + """ + The time before alerts should be triggered. This is may be one of: `FIVE_MINUTES`, `TEN_MINUTES`, `THIRTY_MINUTES`, `ONE_HOUR`. + """ + return pulumi.get(self, "window") + + @property + @pulumi.getter + def disabled(self) -> Optional[bool]: + """ + Determines whether or not the alert is disabled (default: `false`). + """ + return pulumi.get(self, "disabled") + + @pulumi.output_type class AppSpecJobEnv(dict): def __init__(__self__, *, @@ -708,7 +871,7 @@ def __init__(__self__, *, :param str key: The name of the environment variable. :param str scope: The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). :param str type: The type of the environment variable, `GENERAL` or `SECRET`. - :param str value: The value of the environment variable. + :param str value: The threshold for the type of the warning. """ if key is not None: pulumi.set(__self__, "key", key) @@ -747,7 +910,7 @@ def type(self) -> Optional[str]: @pulumi.getter def value(self) -> Optional[str]: """ - The value of the environment variable. + The threshold for the type of the warning. """ return pulumi.get(self, "value") @@ -990,6 +1153,143 @@ def tag(self) -> Optional[str]: return pulumi.get(self, "tag") +@pulumi.output_type +class AppSpecJobLogDestination(dict): + def __init__(__self__, *, + name: str, + datadog: Optional['outputs.AppSpecJobLogDestinationDatadog'] = None, + logtail: Optional['outputs.AppSpecJobLogDestinationLogtail'] = None, + papertrail: Optional['outputs.AppSpecJobLogDestinationPapertrail'] = None): + """ + :param str name: The name of the component. + :param 'AppSpecJobLogDestinationDatadogArgs' datadog: Datadog configuration. + :param 'AppSpecJobLogDestinationLogtailArgs' logtail: Logtail configuration. + :param 'AppSpecJobLogDestinationPapertrailArgs' papertrail: Papertrail configuration. + """ + pulumi.set(__self__, "name", name) + if datadog is not None: + pulumi.set(__self__, "datadog", datadog) + if logtail is not None: + pulumi.set(__self__, "logtail", logtail) + if papertrail is not None: + pulumi.set(__self__, "papertrail", papertrail) + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the component. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def datadog(self) -> Optional['outputs.AppSpecJobLogDestinationDatadog']: + """ + Datadog configuration. + """ + return pulumi.get(self, "datadog") + + @property + @pulumi.getter + def logtail(self) -> Optional['outputs.AppSpecJobLogDestinationLogtail']: + """ + Logtail configuration. + """ + return pulumi.get(self, "logtail") + + @property + @pulumi.getter + def papertrail(self) -> Optional['outputs.AppSpecJobLogDestinationPapertrail']: + """ + Papertrail configuration. + """ + return pulumi.get(self, "papertrail") + + +@pulumi.output_type +class AppSpecJobLogDestinationDatadog(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "apiKey": + suggest = "api_key" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AppSpecJobLogDestinationDatadog. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AppSpecJobLogDestinationDatadog.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AppSpecJobLogDestinationDatadog.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + api_key: str, + endpoint: Optional[str] = None): + """ + :param str api_key: Datadog API key. + :param str endpoint: Datadog HTTP log intake endpoint. + """ + pulumi.set(__self__, "api_key", api_key) + if endpoint is not None: + pulumi.set(__self__, "endpoint", endpoint) + + @property + @pulumi.getter(name="apiKey") + def api_key(self) -> str: + """ + Datadog API key. + """ + return pulumi.get(self, "api_key") + + @property + @pulumi.getter + def endpoint(self) -> Optional[str]: + """ + Datadog HTTP log intake endpoint. + """ + return pulumi.get(self, "endpoint") + + +@pulumi.output_type +class AppSpecJobLogDestinationLogtail(dict): + def __init__(__self__, *, + token: str): + """ + :param str token: Logtail token. + """ + pulumi.set(__self__, "token", token) + + @property + @pulumi.getter + def token(self) -> str: + """ + Logtail token. + """ + return pulumi.get(self, "token") + + +@pulumi.output_type +class AppSpecJobLogDestinationPapertrail(dict): + def __init__(__self__, *, + endpoint: str): + """ + :param str endpoint: Datadog HTTP log intake endpoint. + """ + pulumi.set(__self__, "endpoint", endpoint) + + @property + @pulumi.getter + def endpoint(self) -> str: + """ + Datadog HTTP log intake endpoint. + """ + return pulumi.get(self, "endpoint") + + @pulumi.output_type class AppSpecService(dict): @staticmethod @@ -1011,6 +1311,8 @@ def __key_warning(key: str): suggest = "instance_size_slug" elif key == "internalPorts": suggest = "internal_ports" + elif key == "logDestinations": + suggest = "log_destinations" elif key == "runCommand": suggest = "run_command" elif key == "sourceDir": @@ -1029,6 +1331,7 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, name: str, + alerts: Optional[Sequence['outputs.AppSpecServiceAlert']] = None, build_command: Optional[str] = None, cors: Optional['outputs.AppSpecServiceCors'] = None, dockerfile_path: Optional[str] = None, @@ -1043,11 +1346,13 @@ def __init__(__self__, *, instance_count: Optional[int] = None, instance_size_slug: Optional[str] = None, internal_ports: Optional[Sequence[int]] = None, + log_destinations: Optional[Sequence['outputs.AppSpecServiceLogDestination']] = None, routes: Optional[Sequence['outputs.AppSpecServiceRoute']] = None, run_command: Optional[str] = None, source_dir: Optional[str] = None): """ :param str name: The name of the component. + :param Sequence['AppSpecServiceAlertArgs'] alerts: Describes an alert policy for the component. :param str build_command: An optional build command to run while building this component from source. :param 'AppSpecServiceCorsArgs' cors: The [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) policies of the app. :param str dockerfile_path: The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. @@ -1062,10 +1367,13 @@ def __init__(__self__, *, :param int instance_count: The amount of instances that this component should be scaled to. :param str instance_size_slug: The instance size to use for this component. This determines the plan (basic or professional) and the available CPU and memory. The list of available instance sizes can be [found with the API](https://docs.digitalocean.com/reference/api/api-reference/#operation/list_instance_sizes) or using the [doctl CLI](https://docs.digitalocean.com/reference/doctl/) (`doctl apps tier instance-size list`). Default: `basic-xxs` :param Sequence[int] internal_ports: A list of ports on which this service will listen for internal traffic. + :param Sequence['AppSpecServiceLogDestinationArgs'] log_destinations: Describes a log forwarding destination. :param str run_command: An optional run command to override the component's default. :param str source_dir: An optional path to the working directory to use for the build. """ pulumi.set(__self__, "name", name) + if alerts is not None: + pulumi.set(__self__, "alerts", alerts) if build_command is not None: pulumi.set(__self__, "build_command", build_command) if cors is not None: @@ -1094,6 +1402,8 @@ def __init__(__self__, *, pulumi.set(__self__, "instance_size_slug", instance_size_slug) if internal_ports is not None: pulumi.set(__self__, "internal_ports", internal_ports) + if log_destinations is not None: + pulumi.set(__self__, "log_destinations", log_destinations) if routes is not None: pulumi.set(__self__, "routes", routes) if run_command is not None: @@ -1109,6 +1419,14 @@ def name(self) -> str: """ return pulumi.get(self, "name") + @property + @pulumi.getter + def alerts(self) -> Optional[Sequence['outputs.AppSpecServiceAlert']]: + """ + Describes an alert policy for the component. + """ + return pulumi.get(self, "alerts") + @property @pulumi.getter(name="buildCommand") def build_command(self) -> Optional[str]: @@ -1221,6 +1539,14 @@ def internal_ports(self) -> Optional[Sequence[int]]: """ return pulumi.get(self, "internal_ports") + @property + @pulumi.getter(name="logDestinations") + def log_destinations(self) -> Optional[Sequence['outputs.AppSpecServiceLogDestination']]: + """ + Describes a log forwarding destination. + """ + return pulumi.get(self, "log_destinations") + @property @pulumi.getter def routes(self) -> Optional[Sequence['outputs.AppSpecServiceRoute']]: @@ -1243,6 +1569,69 @@ def source_dir(self) -> Optional[str]: return pulumi.get(self, "source_dir") +@pulumi.output_type +class AppSpecServiceAlert(dict): + def __init__(__self__, *, + operator: str, + rule: str, + value: float, + window: str, + disabled: Optional[bool] = None): + """ + :param str operator: The operator to use. This is either of `GREATER_THAN` or `LESS_THAN`. + :param str rule: The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. + :param float value: The threshold for the type of the warning. + :param str window: The time before alerts should be triggered. This is may be one of: `FIVE_MINUTES`, `TEN_MINUTES`, `THIRTY_MINUTES`, `ONE_HOUR`. + :param bool disabled: Determines whether or not the alert is disabled (default: `false`). + """ + pulumi.set(__self__, "operator", operator) + pulumi.set(__self__, "rule", rule) + pulumi.set(__self__, "value", value) + pulumi.set(__self__, "window", window) + if disabled is not None: + pulumi.set(__self__, "disabled", disabled) + + @property + @pulumi.getter + def operator(self) -> str: + """ + The operator to use. This is either of `GREATER_THAN` or `LESS_THAN`. + """ + return pulumi.get(self, "operator") + + @property + @pulumi.getter + def rule(self) -> str: + """ + The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. + """ + return pulumi.get(self, "rule") + + @property + @pulumi.getter + def value(self) -> float: + """ + The threshold for the type of the warning. + """ + return pulumi.get(self, "value") + + @property + @pulumi.getter + def window(self) -> str: + """ + The time before alerts should be triggered. This is may be one of: `FIVE_MINUTES`, `TEN_MINUTES`, `THIRTY_MINUTES`, `ONE_HOUR`. + """ + return pulumi.get(self, "window") + + @property + @pulumi.getter + def disabled(self) -> Optional[bool]: + """ + Determines whether or not the alert is disabled (default: `false`). + """ + return pulumi.get(self, "disabled") + + @pulumi.output_type class AppSpecServiceCors(dict): @staticmethod @@ -1403,7 +1792,7 @@ def __init__(__self__, *, :param str key: The name of the environment variable. :param str scope: The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). :param str type: The type of the environment variable, `GENERAL` or `SECRET`. - :param str value: The value of the environment variable. + :param str value: The threshold for the type of the warning. """ if key is not None: pulumi.set(__self__, "key", key) @@ -1442,7 +1831,7 @@ def type(self) -> Optional[str]: @pulumi.getter def value(self) -> Optional[str]: """ - The value of the environment variable. + The threshold for the type of the warning. """ return pulumi.get(self, "value") @@ -1791,6 +2180,143 @@ def tag(self) -> Optional[str]: return pulumi.get(self, "tag") +@pulumi.output_type +class AppSpecServiceLogDestination(dict): + def __init__(__self__, *, + name: str, + datadog: Optional['outputs.AppSpecServiceLogDestinationDatadog'] = None, + logtail: Optional['outputs.AppSpecServiceLogDestinationLogtail'] = None, + papertrail: Optional['outputs.AppSpecServiceLogDestinationPapertrail'] = None): + """ + :param str name: The name of the component. + :param 'AppSpecServiceLogDestinationDatadogArgs' datadog: Datadog configuration. + :param 'AppSpecServiceLogDestinationLogtailArgs' logtail: Logtail configuration. + :param 'AppSpecServiceLogDestinationPapertrailArgs' papertrail: Papertrail configuration. + """ + pulumi.set(__self__, "name", name) + if datadog is not None: + pulumi.set(__self__, "datadog", datadog) + if logtail is not None: + pulumi.set(__self__, "logtail", logtail) + if papertrail is not None: + pulumi.set(__self__, "papertrail", papertrail) + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the component. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def datadog(self) -> Optional['outputs.AppSpecServiceLogDestinationDatadog']: + """ + Datadog configuration. + """ + return pulumi.get(self, "datadog") + + @property + @pulumi.getter + def logtail(self) -> Optional['outputs.AppSpecServiceLogDestinationLogtail']: + """ + Logtail configuration. + """ + return pulumi.get(self, "logtail") + + @property + @pulumi.getter + def papertrail(self) -> Optional['outputs.AppSpecServiceLogDestinationPapertrail']: + """ + Papertrail configuration. + """ + return pulumi.get(self, "papertrail") + + +@pulumi.output_type +class AppSpecServiceLogDestinationDatadog(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "apiKey": + suggest = "api_key" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AppSpecServiceLogDestinationDatadog. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AppSpecServiceLogDestinationDatadog.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AppSpecServiceLogDestinationDatadog.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + api_key: str, + endpoint: Optional[str] = None): + """ + :param str api_key: Datadog API key. + :param str endpoint: Datadog HTTP log intake endpoint. + """ + pulumi.set(__self__, "api_key", api_key) + if endpoint is not None: + pulumi.set(__self__, "endpoint", endpoint) + + @property + @pulumi.getter(name="apiKey") + def api_key(self) -> str: + """ + Datadog API key. + """ + return pulumi.get(self, "api_key") + + @property + @pulumi.getter + def endpoint(self) -> Optional[str]: + """ + Datadog HTTP log intake endpoint. + """ + return pulumi.get(self, "endpoint") + + +@pulumi.output_type +class AppSpecServiceLogDestinationLogtail(dict): + def __init__(__self__, *, + token: str): + """ + :param str token: Logtail token. + """ + pulumi.set(__self__, "token", token) + + @property + @pulumi.getter + def token(self) -> str: + """ + Logtail token. + """ + return pulumi.get(self, "token") + + +@pulumi.output_type +class AppSpecServiceLogDestinationPapertrail(dict): + def __init__(__self__, *, + endpoint: str): + """ + :param str endpoint: Datadog HTTP log intake endpoint. + """ + pulumi.set(__self__, "endpoint", endpoint) + + @property + @pulumi.getter + def endpoint(self) -> str: + """ + Datadog HTTP log intake endpoint. + """ + return pulumi.get(self, "endpoint") + + @pulumi.output_type class AppSpecServiceRoute(dict): @staticmethod @@ -2212,7 +2738,7 @@ def __init__(__self__, *, :param str key: The name of the environment variable. :param str scope: The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). :param str type: The type of the environment variable, `GENERAL` or `SECRET`. - :param str value: The value of the environment variable. + :param str value: The threshold for the type of the warning. """ if key is not None: pulumi.set(__self__, "key", key) @@ -2251,7 +2777,7 @@ def type(self) -> Optional[str]: @pulumi.getter def value(self) -> Optional[str]: """ - The value of the environment variable. + The threshold for the type of the warning. """ return pulumi.get(self, "value") @@ -2487,6 +3013,8 @@ def __key_warning(key: str): suggest = "instance_count" elif key == "instanceSizeSlug": suggest = "instance_size_slug" + elif key == "logDestinations": + suggest = "log_destinations" elif key == "runCommand": suggest = "run_command" elif key == "sourceDir": @@ -2505,6 +3033,7 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, name: str, + alerts: Optional[Sequence['outputs.AppSpecWorkerAlert']] = None, build_command: Optional[str] = None, dockerfile_path: Optional[str] = None, environment_slug: Optional[str] = None, @@ -2515,10 +3044,12 @@ def __init__(__self__, *, image: Optional['outputs.AppSpecWorkerImage'] = None, instance_count: Optional[int] = None, instance_size_slug: Optional[str] = None, + log_destinations: Optional[Sequence['outputs.AppSpecWorkerLogDestination']] = None, run_command: Optional[str] = None, source_dir: Optional[str] = None): """ :param str name: The name of the component. + :param Sequence['AppSpecWorkerAlertArgs'] alerts: Describes an alert policy for the component. :param str build_command: An optional build command to run while building this component from source. :param str dockerfile_path: The path to a Dockerfile relative to the root of the repo. If set, overrides usage of buildpacks. :param str environment_slug: An environment slug describing the type of this app. @@ -2529,10 +3060,13 @@ def __init__(__self__, *, :param 'AppSpecWorkerImageArgs' image: An image to use as the component's source. Only one of `git`, `github`, `gitlab`, or `image` may be set. :param int instance_count: The amount of instances that this component should be scaled to. :param str instance_size_slug: The instance size to use for this component. This determines the plan (basic or professional) and the available CPU and memory. The list of available instance sizes can be [found with the API](https://docs.digitalocean.com/reference/api/api-reference/#operation/list_instance_sizes) or using the [doctl CLI](https://docs.digitalocean.com/reference/doctl/) (`doctl apps tier instance-size list`). Default: `basic-xxs` + :param Sequence['AppSpecWorkerLogDestinationArgs'] log_destinations: Describes a log forwarding destination. :param str run_command: An optional run command to override the component's default. :param str source_dir: An optional path to the working directory to use for the build. """ pulumi.set(__self__, "name", name) + if alerts is not None: + pulumi.set(__self__, "alerts", alerts) if build_command is not None: pulumi.set(__self__, "build_command", build_command) if dockerfile_path is not None: @@ -2553,6 +3087,8 @@ def __init__(__self__, *, pulumi.set(__self__, "instance_count", instance_count) if instance_size_slug is not None: pulumi.set(__self__, "instance_size_slug", instance_size_slug) + if log_destinations is not None: + pulumi.set(__self__, "log_destinations", log_destinations) if run_command is not None: pulumi.set(__self__, "run_command", run_command) if source_dir is not None: @@ -2566,6 +3102,14 @@ def name(self) -> str: """ return pulumi.get(self, "name") + @property + @pulumi.getter + def alerts(self) -> Optional[Sequence['outputs.AppSpecWorkerAlert']]: + """ + Describes an alert policy for the component. + """ + return pulumi.get(self, "alerts") + @property @pulumi.getter(name="buildCommand") def build_command(self) -> Optional[str]: @@ -2646,6 +3190,14 @@ def instance_size_slug(self) -> Optional[str]: """ return pulumi.get(self, "instance_size_slug") + @property + @pulumi.getter(name="logDestinations") + def log_destinations(self) -> Optional[Sequence['outputs.AppSpecWorkerLogDestination']]: + """ + Describes a log forwarding destination. + """ + return pulumi.get(self, "log_destinations") + @property @pulumi.getter(name="runCommand") def run_command(self) -> Optional[str]: @@ -2663,6 +3215,69 @@ def source_dir(self) -> Optional[str]: return pulumi.get(self, "source_dir") +@pulumi.output_type +class AppSpecWorkerAlert(dict): + def __init__(__self__, *, + operator: str, + rule: str, + value: float, + window: str, + disabled: Optional[bool] = None): + """ + :param str operator: The operator to use. This is either of `GREATER_THAN` or `LESS_THAN`. + :param str rule: The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. + :param float value: The threshold for the type of the warning. + :param str window: The time before alerts should be triggered. This is may be one of: `FIVE_MINUTES`, `TEN_MINUTES`, `THIRTY_MINUTES`, `ONE_HOUR`. + :param bool disabled: Determines whether or not the alert is disabled (default: `false`). + """ + pulumi.set(__self__, "operator", operator) + pulumi.set(__self__, "rule", rule) + pulumi.set(__self__, "value", value) + pulumi.set(__self__, "window", window) + if disabled is not None: + pulumi.set(__self__, "disabled", disabled) + + @property + @pulumi.getter + def operator(self) -> str: + """ + The operator to use. This is either of `GREATER_THAN` or `LESS_THAN`. + """ + return pulumi.get(self, "operator") + + @property + @pulumi.getter + def rule(self) -> str: + """ + The type of the alert to configure. Component app alert policies can be: `CPU_UTILIZATION`, `MEM_UTILIZATION`, or `RESTART_COUNT`. + """ + return pulumi.get(self, "rule") + + @property + @pulumi.getter + def value(self) -> float: + """ + The threshold for the type of the warning. + """ + return pulumi.get(self, "value") + + @property + @pulumi.getter + def window(self) -> str: + """ + The time before alerts should be triggered. This is may be one of: `FIVE_MINUTES`, `TEN_MINUTES`, `THIRTY_MINUTES`, `ONE_HOUR`. + """ + return pulumi.get(self, "window") + + @property + @pulumi.getter + def disabled(self) -> Optional[bool]: + """ + Determines whether or not the alert is disabled (default: `false`). + """ + return pulumi.get(self, "disabled") + + @pulumi.output_type class AppSpecWorkerEnv(dict): def __init__(__self__, *, @@ -2674,7 +3289,7 @@ def __init__(__self__, *, :param str key: The name of the environment variable. :param str scope: The visibility scope of the environment variable. One of `RUN_TIME`, `BUILD_TIME`, or `RUN_AND_BUILD_TIME` (default). :param str type: The type of the environment variable, `GENERAL` or `SECRET`. - :param str value: The value of the environment variable. + :param str value: The threshold for the type of the warning. """ if key is not None: pulumi.set(__self__, "key", key) @@ -2713,7 +3328,7 @@ def type(self) -> Optional[str]: @pulumi.getter def value(self) -> Optional[str]: """ - The value of the environment variable. + The threshold for the type of the warning. """ return pulumi.get(self, "value") @@ -2956,6 +3571,143 @@ def tag(self) -> Optional[str]: return pulumi.get(self, "tag") +@pulumi.output_type +class AppSpecWorkerLogDestination(dict): + def __init__(__self__, *, + name: str, + datadog: Optional['outputs.AppSpecWorkerLogDestinationDatadog'] = None, + logtail: Optional['outputs.AppSpecWorkerLogDestinationLogtail'] = None, + papertrail: Optional['outputs.AppSpecWorkerLogDestinationPapertrail'] = None): + """ + :param str name: The name of the component. + :param 'AppSpecWorkerLogDestinationDatadogArgs' datadog: Datadog configuration. + :param 'AppSpecWorkerLogDestinationLogtailArgs' logtail: Logtail configuration. + :param 'AppSpecWorkerLogDestinationPapertrailArgs' papertrail: Papertrail configuration. + """ + pulumi.set(__self__, "name", name) + if datadog is not None: + pulumi.set(__self__, "datadog", datadog) + if logtail is not None: + pulumi.set(__self__, "logtail", logtail) + if papertrail is not None: + pulumi.set(__self__, "papertrail", papertrail) + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the component. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def datadog(self) -> Optional['outputs.AppSpecWorkerLogDestinationDatadog']: + """ + Datadog configuration. + """ + return pulumi.get(self, "datadog") + + @property + @pulumi.getter + def logtail(self) -> Optional['outputs.AppSpecWorkerLogDestinationLogtail']: + """ + Logtail configuration. + """ + return pulumi.get(self, "logtail") + + @property + @pulumi.getter + def papertrail(self) -> Optional['outputs.AppSpecWorkerLogDestinationPapertrail']: + """ + Papertrail configuration. + """ + return pulumi.get(self, "papertrail") + + +@pulumi.output_type +class AppSpecWorkerLogDestinationDatadog(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "apiKey": + suggest = "api_key" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AppSpecWorkerLogDestinationDatadog. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AppSpecWorkerLogDestinationDatadog.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AppSpecWorkerLogDestinationDatadog.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + api_key: str, + endpoint: Optional[str] = None): + """ + :param str api_key: Datadog API key. + :param str endpoint: Datadog HTTP log intake endpoint. + """ + pulumi.set(__self__, "api_key", api_key) + if endpoint is not None: + pulumi.set(__self__, "endpoint", endpoint) + + @property + @pulumi.getter(name="apiKey") + def api_key(self) -> str: + """ + Datadog API key. + """ + return pulumi.get(self, "api_key") + + @property + @pulumi.getter + def endpoint(self) -> Optional[str]: + """ + Datadog HTTP log intake endpoint. + """ + return pulumi.get(self, "endpoint") + + +@pulumi.output_type +class AppSpecWorkerLogDestinationLogtail(dict): + def __init__(__self__, *, + token: str): + """ + :param str token: Logtail token. + """ + pulumi.set(__self__, "token", token) + + @property + @pulumi.getter + def token(self) -> str: + """ + Logtail token. + """ + return pulumi.get(self, "token") + + +@pulumi.output_type +class AppSpecWorkerLogDestinationPapertrail(dict): + def __init__(__self__, *, + endpoint: str): + """ + :param str endpoint: Datadog HTTP log intake endpoint. + """ + pulumi.set(__self__, "endpoint", endpoint) + + @property + @pulumi.getter + def endpoint(self) -> str: + """ + Datadog HTTP log intake endpoint. + """ + return pulumi.get(self, "endpoint") + + @pulumi.output_type class DatabaseClusterMaintenanceWindow(dict): def __init__(__self__, *, @@ -4627,6 +5379,7 @@ class GetAppSpecResult(dict): def __init__(__self__, *, domains: Sequence[str], name: str, + alerts: Optional[Sequence['outputs.GetAppSpecAlertResult']] = None, databases: Optional[Sequence['outputs.GetAppSpecDatabaseResult']] = None, envs: Optional[Sequence['outputs.GetAppSpecEnvResult']] = None, jobs: Optional[Sequence['outputs.GetAppSpecJobResult']] = None, @@ -4640,6 +5393,8 @@ def __init__(__self__, *, """ pulumi.set(__self__, "domains", domains) pulumi.set(__self__, "name", name) + if alerts is not None: + pulumi.set(__self__, "alerts", alerts) if databases is not None: pulumi.set(__self__, "databases", databases) if envs is not None: @@ -4668,6 +5423,11 @@ def name(self) -> str: """ return pulumi.get(self, "name") + @property + @pulumi.getter + def alerts(self) -> Optional[Sequence['outputs.GetAppSpecAlertResult']]: + return pulumi.get(self, "alerts") + @property @pulumi.getter def databases(self) -> Optional[Sequence['outputs.GetAppSpecDatabaseResult']]: @@ -4703,8 +5463,28 @@ def static_sites(self) -> Optional[Sequence['outputs.GetAppSpecStaticSiteResult' @property @pulumi.getter - def workers(self) -> Optional[Sequence['outputs.GetAppSpecWorkerResult']]: - return pulumi.get(self, "workers") + def workers(self) -> Optional[Sequence['outputs.GetAppSpecWorkerResult']]: + return pulumi.get(self, "workers") + + +@pulumi.output_type +class GetAppSpecAlertResult(dict): + def __init__(__self__, *, + rule: str, + disabled: Optional[bool] = None): + pulumi.set(__self__, "rule", rule) + if disabled is not None: + pulumi.set(__self__, "disabled", disabled) + + @property + @pulumi.getter + def rule(self) -> str: + return pulumi.get(self, "rule") + + @property + @pulumi.getter + def disabled(self) -> Optional[bool]: + return pulumi.get(self, "disabled") @pulumi.output_type @@ -4856,6 +5636,7 @@ def value(self) -> Optional[str]: class GetAppSpecJobResult(dict): def __init__(__self__, *, name: str, + alerts: Optional[Sequence['outputs.GetAppSpecJobAlertResult']] = None, build_command: Optional[str] = None, dockerfile_path: Optional[str] = None, environment_slug: Optional[str] = None, @@ -4867,6 +5648,7 @@ def __init__(__self__, *, instance_count: Optional[int] = None, instance_size_slug: Optional[str] = None, kind: Optional[str] = None, + log_destinations: Optional[Sequence['outputs.GetAppSpecJobLogDestinationResult']] = None, run_command: Optional[str] = None, source_dir: Optional[str] = None): """ @@ -4890,6 +5672,8 @@ def __init__(__self__, *, :param str source_dir: An optional path to the working directory to use for the build. """ pulumi.set(__self__, "name", name) + if alerts is not None: + pulumi.set(__self__, "alerts", alerts) if build_command is not None: pulumi.set(__self__, "build_command", build_command) if dockerfile_path is not None: @@ -4912,6 +5696,8 @@ def __init__(__self__, *, pulumi.set(__self__, "instance_size_slug", instance_size_slug) if kind is not None: pulumi.set(__self__, "kind", kind) + if log_destinations is not None: + pulumi.set(__self__, "log_destinations", log_destinations) if run_command is not None: pulumi.set(__self__, "run_command", run_command) if source_dir is not None: @@ -4925,6 +5711,11 @@ def name(self) -> str: """ return pulumi.get(self, "name") + @property + @pulumi.getter + def alerts(self) -> Optional[Sequence['outputs.GetAppSpecJobAlertResult']]: + return pulumi.get(self, "alerts") + @property @pulumi.getter(name="buildCommand") def build_command(self) -> Optional[str]: @@ -5017,6 +5808,11 @@ def kind(self) -> Optional[str]: """ return pulumi.get(self, "kind") + @property + @pulumi.getter(name="logDestinations") + def log_destinations(self) -> Optional[Sequence['outputs.GetAppSpecJobLogDestinationResult']]: + return pulumi.get(self, "log_destinations") + @property @pulumi.getter(name="runCommand") def run_command(self) -> Optional[str]: @@ -5034,6 +5830,53 @@ def source_dir(self) -> Optional[str]: return pulumi.get(self, "source_dir") +@pulumi.output_type +class GetAppSpecJobAlertResult(dict): + def __init__(__self__, *, + operator: str, + rule: str, + value: float, + window: str, + disabled: Optional[bool] = None): + """ + :param float value: The value of the environment variable. + """ + pulumi.set(__self__, "operator", operator) + pulumi.set(__self__, "rule", rule) + pulumi.set(__self__, "value", value) + pulumi.set(__self__, "window", window) + if disabled is not None: + pulumi.set(__self__, "disabled", disabled) + + @property + @pulumi.getter + def operator(self) -> str: + return pulumi.get(self, "operator") + + @property + @pulumi.getter + def rule(self) -> str: + return pulumi.get(self, "rule") + + @property + @pulumi.getter + def value(self) -> float: + """ + The value of the environment variable. + """ + return pulumi.get(self, "value") + + @property + @pulumi.getter + def window(self) -> str: + return pulumi.get(self, "window") + + @property + @pulumi.getter + def disabled(self) -> Optional[bool]: + return pulumi.get(self, "disabled") + + @pulumi.output_type class GetAppSpecJobEnvResult(dict): def __init__(__self__, *, @@ -5258,6 +6101,92 @@ def tag(self) -> Optional[str]: return pulumi.get(self, "tag") +@pulumi.output_type +class GetAppSpecJobLogDestinationResult(dict): + def __init__(__self__, *, + name: str, + datadog: Optional['outputs.GetAppSpecJobLogDestinationDatadogResult'] = None, + logtail: Optional['outputs.GetAppSpecJobLogDestinationLogtailResult'] = None, + papertrail: Optional['outputs.GetAppSpecJobLogDestinationPapertrailResult'] = None): + """ + :param str name: The name of the component. + """ + pulumi.set(__self__, "name", name) + if datadog is not None: + pulumi.set(__self__, "datadog", datadog) + if logtail is not None: + pulumi.set(__self__, "logtail", logtail) + if papertrail is not None: + pulumi.set(__self__, "papertrail", papertrail) + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the component. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def datadog(self) -> Optional['outputs.GetAppSpecJobLogDestinationDatadogResult']: + return pulumi.get(self, "datadog") + + @property + @pulumi.getter + def logtail(self) -> Optional['outputs.GetAppSpecJobLogDestinationLogtailResult']: + return pulumi.get(self, "logtail") + + @property + @pulumi.getter + def papertrail(self) -> Optional['outputs.GetAppSpecJobLogDestinationPapertrailResult']: + return pulumi.get(self, "papertrail") + + +@pulumi.output_type +class GetAppSpecJobLogDestinationDatadogResult(dict): + def __init__(__self__, *, + api_key: str, + endpoint: Optional[str] = None): + pulumi.set(__self__, "api_key", api_key) + if endpoint is not None: + pulumi.set(__self__, "endpoint", endpoint) + + @property + @pulumi.getter(name="apiKey") + def api_key(self) -> str: + return pulumi.get(self, "api_key") + + @property + @pulumi.getter + def endpoint(self) -> Optional[str]: + return pulumi.get(self, "endpoint") + + +@pulumi.output_type +class GetAppSpecJobLogDestinationLogtailResult(dict): + def __init__(__self__, *, + token: str): + pulumi.set(__self__, "token", token) + + @property + @pulumi.getter + def token(self) -> str: + return pulumi.get(self, "token") + + +@pulumi.output_type +class GetAppSpecJobLogDestinationPapertrailResult(dict): + def __init__(__self__, *, + endpoint: str): + pulumi.set(__self__, "endpoint", endpoint) + + @property + @pulumi.getter + def endpoint(self) -> str: + return pulumi.get(self, "endpoint") + + @pulumi.output_type class GetAppSpecServiceResult(dict): def __init__(__self__, *, @@ -5265,6 +6194,7 @@ def __init__(__self__, *, name: str, routes: Sequence['outputs.GetAppSpecServiceRouteResult'], run_command: str, + alerts: Optional[Sequence['outputs.GetAppSpecServiceAlertResult']] = None, build_command: Optional[str] = None, cors: Optional['outputs.GetAppSpecServiceCorsResult'] = None, dockerfile_path: Optional[str] = None, @@ -5278,6 +6208,7 @@ def __init__(__self__, *, instance_count: Optional[int] = None, instance_size_slug: Optional[str] = None, internal_ports: Optional[Sequence[int]] = None, + log_destinations: Optional[Sequence['outputs.GetAppSpecServiceLogDestinationResult']] = None, source_dir: Optional[str] = None): """ :param int http_port: The internal port on which this service's run command will listen. @@ -5301,6 +6232,8 @@ def __init__(__self__, *, pulumi.set(__self__, "name", name) pulumi.set(__self__, "routes", routes) pulumi.set(__self__, "run_command", run_command) + if alerts is not None: + pulumi.set(__self__, "alerts", alerts) if build_command is not None: pulumi.set(__self__, "build_command", build_command) if cors is not None: @@ -5327,6 +6260,8 @@ def __init__(__self__, *, pulumi.set(__self__, "instance_size_slug", instance_size_slug) if internal_ports is not None: pulumi.set(__self__, "internal_ports", internal_ports) + if log_destinations is not None: + pulumi.set(__self__, "log_destinations", log_destinations) if source_dir is not None: pulumi.set(__self__, "source_dir", source_dir) @@ -5359,6 +6294,11 @@ def run_command(self) -> str: """ return pulumi.get(self, "run_command") + @property + @pulumi.getter + def alerts(self) -> Optional[Sequence['outputs.GetAppSpecServiceAlertResult']]: + return pulumi.get(self, "alerts") + @property @pulumi.getter(name="buildCommand") def build_command(self) -> Optional[str]: @@ -5460,6 +6400,11 @@ def internal_ports(self) -> Optional[Sequence[int]]: """ return pulumi.get(self, "internal_ports") + @property + @pulumi.getter(name="logDestinations") + def log_destinations(self) -> Optional[Sequence['outputs.GetAppSpecServiceLogDestinationResult']]: + return pulumi.get(self, "log_destinations") + @property @pulumi.getter(name="sourceDir") def source_dir(self) -> Optional[str]: @@ -5469,6 +6414,53 @@ def source_dir(self) -> Optional[str]: return pulumi.get(self, "source_dir") +@pulumi.output_type +class GetAppSpecServiceAlertResult(dict): + def __init__(__self__, *, + operator: str, + rule: str, + value: float, + window: str, + disabled: Optional[bool] = None): + """ + :param float value: The value of the environment variable. + """ + pulumi.set(__self__, "operator", operator) + pulumi.set(__self__, "rule", rule) + pulumi.set(__self__, "value", value) + pulumi.set(__self__, "window", window) + if disabled is not None: + pulumi.set(__self__, "disabled", disabled) + + @property + @pulumi.getter + def operator(self) -> str: + return pulumi.get(self, "operator") + + @property + @pulumi.getter + def rule(self) -> str: + return pulumi.get(self, "rule") + + @property + @pulumi.getter + def value(self) -> float: + """ + The value of the environment variable. + """ + return pulumi.get(self, "value") + + @property + @pulumi.getter + def window(self) -> str: + return pulumi.get(self, "window") + + @property + @pulumi.getter + def disabled(self) -> Optional[bool]: + return pulumi.get(self, "disabled") + + @pulumi.output_type class GetAppSpecServiceCorsResult(dict): def __init__(__self__, *, @@ -5854,6 +6846,92 @@ def tag(self) -> Optional[str]: return pulumi.get(self, "tag") +@pulumi.output_type +class GetAppSpecServiceLogDestinationResult(dict): + def __init__(__self__, *, + name: str, + datadog: Optional['outputs.GetAppSpecServiceLogDestinationDatadogResult'] = None, + logtail: Optional['outputs.GetAppSpecServiceLogDestinationLogtailResult'] = None, + papertrail: Optional['outputs.GetAppSpecServiceLogDestinationPapertrailResult'] = None): + """ + :param str name: The name of the component. + """ + pulumi.set(__self__, "name", name) + if datadog is not None: + pulumi.set(__self__, "datadog", datadog) + if logtail is not None: + pulumi.set(__self__, "logtail", logtail) + if papertrail is not None: + pulumi.set(__self__, "papertrail", papertrail) + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the component. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def datadog(self) -> Optional['outputs.GetAppSpecServiceLogDestinationDatadogResult']: + return pulumi.get(self, "datadog") + + @property + @pulumi.getter + def logtail(self) -> Optional['outputs.GetAppSpecServiceLogDestinationLogtailResult']: + return pulumi.get(self, "logtail") + + @property + @pulumi.getter + def papertrail(self) -> Optional['outputs.GetAppSpecServiceLogDestinationPapertrailResult']: + return pulumi.get(self, "papertrail") + + +@pulumi.output_type +class GetAppSpecServiceLogDestinationDatadogResult(dict): + def __init__(__self__, *, + api_key: str, + endpoint: Optional[str] = None): + pulumi.set(__self__, "api_key", api_key) + if endpoint is not None: + pulumi.set(__self__, "endpoint", endpoint) + + @property + @pulumi.getter(name="apiKey") + def api_key(self) -> str: + return pulumi.get(self, "api_key") + + @property + @pulumi.getter + def endpoint(self) -> Optional[str]: + return pulumi.get(self, "endpoint") + + +@pulumi.output_type +class GetAppSpecServiceLogDestinationLogtailResult(dict): + def __init__(__self__, *, + token: str): + pulumi.set(__self__, "token", token) + + @property + @pulumi.getter + def token(self) -> str: + return pulumi.get(self, "token") + + +@pulumi.output_type +class GetAppSpecServiceLogDestinationPapertrailResult(dict): + def __init__(__self__, *, + endpoint: str): + pulumi.set(__self__, "endpoint", endpoint) + + @property + @pulumi.getter + def endpoint(self) -> str: + return pulumi.get(self, "endpoint") + + @pulumi.output_type class GetAppSpecServiceRouteResult(dict): def __init__(__self__, *, @@ -6350,6 +7428,7 @@ def preserve_path_prefix(self) -> Optional[bool]: class GetAppSpecWorkerResult(dict): def __init__(__self__, *, name: str, + alerts: Optional[Sequence['outputs.GetAppSpecWorkerAlertResult']] = None, build_command: Optional[str] = None, dockerfile_path: Optional[str] = None, environment_slug: Optional[str] = None, @@ -6360,6 +7439,7 @@ def __init__(__self__, *, image: Optional['outputs.GetAppSpecWorkerImageResult'] = None, instance_count: Optional[int] = None, instance_size_slug: Optional[str] = None, + log_destinations: Optional[Sequence['outputs.GetAppSpecWorkerLogDestinationResult']] = None, run_command: Optional[str] = None, source_dir: Optional[str] = None): """ @@ -6378,6 +7458,8 @@ def __init__(__self__, *, :param str source_dir: An optional path to the working directory to use for the build. """ pulumi.set(__self__, "name", name) + if alerts is not None: + pulumi.set(__self__, "alerts", alerts) if build_command is not None: pulumi.set(__self__, "build_command", build_command) if dockerfile_path is not None: @@ -6398,6 +7480,8 @@ def __init__(__self__, *, pulumi.set(__self__, "instance_count", instance_count) if instance_size_slug is not None: pulumi.set(__self__, "instance_size_slug", instance_size_slug) + if log_destinations is not None: + pulumi.set(__self__, "log_destinations", log_destinations) if run_command is not None: pulumi.set(__self__, "run_command", run_command) if source_dir is not None: @@ -6411,6 +7495,11 @@ def name(self) -> str: """ return pulumi.get(self, "name") + @property + @pulumi.getter + def alerts(self) -> Optional[Sequence['outputs.GetAppSpecWorkerAlertResult']]: + return pulumi.get(self, "alerts") + @property @pulumi.getter(name="buildCommand") def build_command(self) -> Optional[str]: @@ -6491,6 +7580,11 @@ def instance_size_slug(self) -> Optional[str]: """ return pulumi.get(self, "instance_size_slug") + @property + @pulumi.getter(name="logDestinations") + def log_destinations(self) -> Optional[Sequence['outputs.GetAppSpecWorkerLogDestinationResult']]: + return pulumi.get(self, "log_destinations") + @property @pulumi.getter(name="runCommand") def run_command(self) -> Optional[str]: @@ -6508,6 +7602,53 @@ def source_dir(self) -> Optional[str]: return pulumi.get(self, "source_dir") +@pulumi.output_type +class GetAppSpecWorkerAlertResult(dict): + def __init__(__self__, *, + operator: str, + rule: str, + value: float, + window: str, + disabled: Optional[bool] = None): + """ + :param float value: The value of the environment variable. + """ + pulumi.set(__self__, "operator", operator) + pulumi.set(__self__, "rule", rule) + pulumi.set(__self__, "value", value) + pulumi.set(__self__, "window", window) + if disabled is not None: + pulumi.set(__self__, "disabled", disabled) + + @property + @pulumi.getter + def operator(self) -> str: + return pulumi.get(self, "operator") + + @property + @pulumi.getter + def rule(self) -> str: + return pulumi.get(self, "rule") + + @property + @pulumi.getter + def value(self) -> float: + """ + The value of the environment variable. + """ + return pulumi.get(self, "value") + + @property + @pulumi.getter + def window(self) -> str: + return pulumi.get(self, "window") + + @property + @pulumi.getter + def disabled(self) -> Optional[bool]: + return pulumi.get(self, "disabled") + + @pulumi.output_type class GetAppSpecWorkerEnvResult(dict): def __init__(__self__, *, @@ -6732,6 +7873,92 @@ def tag(self) -> Optional[str]: return pulumi.get(self, "tag") +@pulumi.output_type +class GetAppSpecWorkerLogDestinationResult(dict): + def __init__(__self__, *, + name: str, + datadog: Optional['outputs.GetAppSpecWorkerLogDestinationDatadogResult'] = None, + logtail: Optional['outputs.GetAppSpecWorkerLogDestinationLogtailResult'] = None, + papertrail: Optional['outputs.GetAppSpecWorkerLogDestinationPapertrailResult'] = None): + """ + :param str name: The name of the component. + """ + pulumi.set(__self__, "name", name) + if datadog is not None: + pulumi.set(__self__, "datadog", datadog) + if logtail is not None: + pulumi.set(__self__, "logtail", logtail) + if papertrail is not None: + pulumi.set(__self__, "papertrail", papertrail) + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the component. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def datadog(self) -> Optional['outputs.GetAppSpecWorkerLogDestinationDatadogResult']: + return pulumi.get(self, "datadog") + + @property + @pulumi.getter + def logtail(self) -> Optional['outputs.GetAppSpecWorkerLogDestinationLogtailResult']: + return pulumi.get(self, "logtail") + + @property + @pulumi.getter + def papertrail(self) -> Optional['outputs.GetAppSpecWorkerLogDestinationPapertrailResult']: + return pulumi.get(self, "papertrail") + + +@pulumi.output_type +class GetAppSpecWorkerLogDestinationDatadogResult(dict): + def __init__(__self__, *, + api_key: str, + endpoint: Optional[str] = None): + pulumi.set(__self__, "api_key", api_key) + if endpoint is not None: + pulumi.set(__self__, "endpoint", endpoint) + + @property + @pulumi.getter(name="apiKey") + def api_key(self) -> str: + return pulumi.get(self, "api_key") + + @property + @pulumi.getter + def endpoint(self) -> Optional[str]: + return pulumi.get(self, "endpoint") + + +@pulumi.output_type +class GetAppSpecWorkerLogDestinationLogtailResult(dict): + def __init__(__self__, *, + token: str): + pulumi.set(__self__, "token", token) + + @property + @pulumi.getter + def token(self) -> str: + return pulumi.get(self, "token") + + +@pulumi.output_type +class GetAppSpecWorkerLogDestinationPapertrailResult(dict): + def __init__(__self__, *, + endpoint: str): + pulumi.set(__self__, "endpoint", endpoint) + + @property + @pulumi.getter + def endpoint(self) -> str: + return pulumi.get(self, "endpoint") + + @pulumi.output_type class GetDatabaseClusterMaintenanceWindowResult(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_digitalocean/spaces_bucket_policy.py b/sdk/python/pulumi_digitalocean/spaces_bucket_policy.py new file mode 100644 index 00000000..7d050c76 --- /dev/null +++ b/sdk/python/pulumi_digitalocean/spaces_bucket_policy.py @@ -0,0 +1,324 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['SpacesBucketPolicyArgs', 'SpacesBucketPolicy'] + +@pulumi.input_type +class SpacesBucketPolicyArgs: + def __init__(__self__, *, + bucket: pulumi.Input[str], + policy: pulumi.Input[str], + region: pulumi.Input[str]): + """ + The set of arguments for constructing a SpacesBucketPolicy resource. + :param pulumi.Input[str] bucket: The name of the bucket to which to apply the policy. + :param pulumi.Input[str] policy: The text of the policy. + :param pulumi.Input[str] region: The region where the bucket resides. + """ + pulumi.set(__self__, "bucket", bucket) + pulumi.set(__self__, "policy", policy) + pulumi.set(__self__, "region", region) + + @property + @pulumi.getter + def bucket(self) -> pulumi.Input[str]: + """ + The name of the bucket to which to apply the policy. + """ + return pulumi.get(self, "bucket") + + @bucket.setter + def bucket(self, value: pulumi.Input[str]): + pulumi.set(self, "bucket", value) + + @property + @pulumi.getter + def policy(self) -> pulumi.Input[str]: + """ + The text of the policy. + """ + return pulumi.get(self, "policy") + + @policy.setter + def policy(self, value: pulumi.Input[str]): + pulumi.set(self, "policy", value) + + @property + @pulumi.getter + def region(self) -> pulumi.Input[str]: + """ + The region where the bucket resides. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[str]): + pulumi.set(self, "region", value) + + +@pulumi.input_type +class _SpacesBucketPolicyState: + def __init__(__self__, *, + bucket: Optional[pulumi.Input[str]] = None, + policy: Optional[pulumi.Input[str]] = None, + region: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering SpacesBucketPolicy resources. + :param pulumi.Input[str] bucket: The name of the bucket to which to apply the policy. + :param pulumi.Input[str] policy: The text of the policy. + :param pulumi.Input[str] region: The region where the bucket resides. + """ + if bucket is not None: + pulumi.set(__self__, "bucket", bucket) + if policy is not None: + pulumi.set(__self__, "policy", policy) + if region is not None: + pulumi.set(__self__, "region", region) + + @property + @pulumi.getter + def bucket(self) -> Optional[pulumi.Input[str]]: + """ + The name of the bucket to which to apply the policy. + """ + return pulumi.get(self, "bucket") + + @bucket.setter + def bucket(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "bucket", value) + + @property + @pulumi.getter + def policy(self) -> Optional[pulumi.Input[str]]: + """ + The text of the policy. + """ + return pulumi.get(self, "policy") + + @policy.setter + def policy(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "policy", value) + + @property + @pulumi.getter + def region(self) -> Optional[pulumi.Input[str]]: + """ + The region where the bucket resides. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "region", value) + + +class SpacesBucketPolicy(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + bucket: Optional[pulumi.Input[str]] = None, + policy: Optional[pulumi.Input[str]] = None, + region: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + ## Example Usage + ### Limiting access to specific IP addresses + + ```python + import pulumi + import json + import pulumi_digitalocean as digitalocean + + foobar_spaces_bucket = digitalocean.SpacesBucket("foobarSpacesBucket", region="nyc3") + foobar_spaces_bucket_policy = digitalocean.SpacesBucketPolicy("foobarSpacesBucketPolicy", + region=foobar_spaces_bucket.region, + bucket=foobar_spaces_bucket.name, + policy=pulumi.Output.all(foobar_spaces_bucket.name, foobar_spaces_bucket.name).apply(lambda foobarSpacesBucketName, foobarSpacesBucketName1: json.dumps({ + "Version": "2012-10-17", + "Statement": [{ + "Sid": "IPAllow", + "Effect": "Deny", + "Principal": "*", + "Action": "s3:*", + "Resource": [ + f"arn:aws:s3:::{foobar_spaces_bucket_name}", + f"arn:aws:s3:::{foobar_spaces_bucket_name1}/*", + ], + "Condition": { + "NotIpAddress": { + "aws:SourceIp": "54.240.143.0/24", + }, + }, + }], + }))) + ``` + + !> **Warning:** Before using this policy, replace the 54.240.143.0/24 IP address range in this example with an appropriate value for your use case. Otherwise, you will lose the ability to access your bucket. + + ## Import + + Bucket policies can be imported using the `region` and `bucket` attributes (delimited by a comma) + + ```sh + $ pulumi import digitalocean:index/spacesBucketPolicy:SpacesBucketPolicy foobar `region`,`bucket` + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] bucket: The name of the bucket to which to apply the policy. + :param pulumi.Input[str] policy: The text of the policy. + :param pulumi.Input[str] region: The region where the bucket resides. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: SpacesBucketPolicyArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + ## Example Usage + ### Limiting access to specific IP addresses + + ```python + import pulumi + import json + import pulumi_digitalocean as digitalocean + + foobar_spaces_bucket = digitalocean.SpacesBucket("foobarSpacesBucket", region="nyc3") + foobar_spaces_bucket_policy = digitalocean.SpacesBucketPolicy("foobarSpacesBucketPolicy", + region=foobar_spaces_bucket.region, + bucket=foobar_spaces_bucket.name, + policy=pulumi.Output.all(foobar_spaces_bucket.name, foobar_spaces_bucket.name).apply(lambda foobarSpacesBucketName, foobarSpacesBucketName1: json.dumps({ + "Version": "2012-10-17", + "Statement": [{ + "Sid": "IPAllow", + "Effect": "Deny", + "Principal": "*", + "Action": "s3:*", + "Resource": [ + f"arn:aws:s3:::{foobar_spaces_bucket_name}", + f"arn:aws:s3:::{foobar_spaces_bucket_name1}/*", + ], + "Condition": { + "NotIpAddress": { + "aws:SourceIp": "54.240.143.0/24", + }, + }, + }], + }))) + ``` + + !> **Warning:** Before using this policy, replace the 54.240.143.0/24 IP address range in this example with an appropriate value for your use case. Otherwise, you will lose the ability to access your bucket. + + ## Import + + Bucket policies can be imported using the `region` and `bucket` attributes (delimited by a comma) + + ```sh + $ pulumi import digitalocean:index/spacesBucketPolicy:SpacesBucketPolicy foobar `region`,`bucket` + ``` + + :param str resource_name: The name of the resource. + :param SpacesBucketPolicyArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(SpacesBucketPolicyArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + bucket: Optional[pulumi.Input[str]] = None, + policy: Optional[pulumi.Input[str]] = None, + region: Optional[pulumi.Input[str]] = None, + __props__=None): + if opts is None: + opts = pulumi.ResourceOptions() + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.version is None: + opts.version = _utilities.get_version() + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = SpacesBucketPolicyArgs.__new__(SpacesBucketPolicyArgs) + + if bucket is None and not opts.urn: + raise TypeError("Missing required property 'bucket'") + __props__.__dict__["bucket"] = bucket + if policy is None and not opts.urn: + raise TypeError("Missing required property 'policy'") + __props__.__dict__["policy"] = policy + if region is None and not opts.urn: + raise TypeError("Missing required property 'region'") + __props__.__dict__["region"] = region + super(SpacesBucketPolicy, __self__).__init__( + 'digitalocean:index/spacesBucketPolicy:SpacesBucketPolicy', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + bucket: Optional[pulumi.Input[str]] = None, + policy: Optional[pulumi.Input[str]] = None, + region: Optional[pulumi.Input[str]] = None) -> 'SpacesBucketPolicy': + """ + Get an existing SpacesBucketPolicy resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] bucket: The name of the bucket to which to apply the policy. + :param pulumi.Input[str] policy: The text of the policy. + :param pulumi.Input[str] region: The region where the bucket resides. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _SpacesBucketPolicyState.__new__(_SpacesBucketPolicyState) + + __props__.__dict__["bucket"] = bucket + __props__.__dict__["policy"] = policy + __props__.__dict__["region"] = region + return SpacesBucketPolicy(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def bucket(self) -> pulumi.Output[str]: + """ + The name of the bucket to which to apply the policy. + """ + return pulumi.get(self, "bucket") + + @property + @pulumi.getter + def policy(self) -> pulumi.Output[str]: + """ + The text of the policy. + """ + return pulumi.get(self, "policy") + + @property + @pulumi.getter + def region(self) -> pulumi.Output[str]: + """ + The region where the bucket resides. + """ + return pulumi.get(self, "region") +