diff --git a/provider/cmd/pulumi-resource-spotinst/bridge-metadata.json b/provider/cmd/pulumi-resource-spotinst/bridge-metadata.json index b5a5bf3e..0a931210 100644 --- a/provider/cmd/pulumi-resource-spotinst/bridge-metadata.json +++ b/provider/cmd/pulumi-resource-spotinst/bridge-metadata.json @@ -1975,6 +1975,118 @@ "spotinst_ocean_spark_virtual_node_group": { "current": "spotinst:spark/oceanVirtualNodeGroup:OceanVirtualNodeGroup" }, + "spotinst_oceancd_strategy": { + "current": "spotinst:oceancd/strategy:Strategy", + "fields": { + "canary": { + "maxItemsOne": true, + "elem": { + "fields": { + "background_verification": { + "maxItemsOne": true, + "elem": { + "fields": { + "template_names": { + "maxItemsOne": false + } + } + } + }, + "steps": { + "maxItemsOne": false, + "elem": { + "fields": { + "pause": { + "maxItemsOne": true + }, + "set_canary_scale": { + "maxItemsOne": true + }, + "set_header_route": { + "maxItemsOne": true, + "elem": { + "fields": { + "match": { + "maxItemsOne": false, + "elem": { + "fields": { + "header_value": { + "maxItemsOne": true + } + } + } + } + } + } + }, + "verification": { + "maxItemsOne": true, + "elem": { + "fields": { + "template_names": { + "maxItemsOne": false + } + } + } + } + } + } + } + } + } + }, + "rolling": { + "maxItemsOne": true, + "elem": { + "fields": { + "steps": { + "maxItemsOne": false, + "elem": { + "fields": { + "pause": { + "maxItemsOne": true + }, + "verification": { + "maxItemsOne": true, + "elem": { + "fields": { + "template_names": { + "maxItemsOne": false + } + } + } + } + } + } + } + } + } + } + } + }, + "spotinst_oceancd_verification_provider": { + "current": "spotinst:oceancd/verificationProvider:VerificationProvider", + "fields": { + "cloud_watch": { + "maxItemsOne": true + }, + "cluster_ids": { + "maxItemsOne": false + }, + "datadog": { + "maxItemsOne": true + }, + "jenkins": { + "maxItemsOne": true + }, + "new_relic": { + "maxItemsOne": true + }, + "prometheus": { + "maxItemsOne": true + } + } + }, "spotinst_organization_policy": { "current": "spotinst:organization/policy:Policy", "fields": { diff --git a/provider/cmd/pulumi-resource-spotinst/schema.json b/provider/cmd/pulumi-resource-spotinst/schema.json index 249f288f..71fee679 100644 --- a/provider/cmd/pulumi-resource-spotinst/schema.json +++ b/provider/cmd/pulumi-resource-spotinst/schema.json @@ -8002,6 +8002,292 @@ "state" ] }, + "spotinst:oceancd/StrategyCanary:StrategyCanary": { + "properties": { + "backgroundVerification": { + "$ref": "#/types/spotinst:oceancd/StrategyCanaryBackgroundVerification:StrategyCanaryBackgroundVerification", + "description": "A list of background verifications.\n" + }, + "steps": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:oceancd/StrategyCanaryStep:StrategyCanaryStep" + }, + "description": "A set of separate conditions of rollout processing.\n" + } + }, + "type": "object", + "required": [ + "steps" + ] + }, + "spotinst:oceancd/StrategyCanaryBackgroundVerification:StrategyCanaryBackgroundVerification": { + "properties": { + "templateNames": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object", + "required": [ + "templateNames" + ] + }, + "spotinst:oceancd/StrategyCanaryStep:StrategyCanaryStep": { + "properties": { + "pause": { + "$ref": "#/types/spotinst:oceancd/StrategyCanaryStepPause:StrategyCanaryStepPause" + }, + "setCanaryScale": { + "$ref": "#/types/spotinst:oceancd/StrategyCanaryStepSetCanaryScale:StrategyCanaryStepSetCanaryScale" + }, + "setHeaderRoute": { + "$ref": "#/types/spotinst:oceancd/StrategyCanaryStepSetHeaderRoute:StrategyCanaryStepSetHeaderRoute" + }, + "setWeight": { + "type": "integer" + }, + "stepName": { + "type": "string" + }, + "verification": { + "$ref": "#/types/spotinst:oceancd/StrategyCanaryStepVerification:StrategyCanaryStepVerification" + } + }, + "type": "object" + }, + "spotinst:oceancd/StrategyCanaryStepPause:StrategyCanaryStepPause": { + "properties": { + "duration": { + "type": "string" + } + }, + "type": "object" + }, + "spotinst:oceancd/StrategyCanaryStepSetCanaryScale:StrategyCanaryStepSetCanaryScale": { + "properties": { + "matchTrafficWeight": { + "type": "boolean" + }, + "replicas": { + "type": "integer" + }, + "weight": { + "type": "integer" + } + }, + "type": "object" + }, + "spotinst:oceancd/StrategyCanaryStepSetHeaderRoute:StrategyCanaryStepSetHeaderRoute": { + "properties": { + "headerRouteName": { + "type": "string" + }, + "matches": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:oceancd/StrategyCanaryStepSetHeaderRouteMatch:StrategyCanaryStepSetHeaderRouteMatch" + } + } + }, + "type": "object", + "required": [ + "headerRouteName", + "matches" + ] + }, + "spotinst:oceancd/StrategyCanaryStepSetHeaderRouteMatch:StrategyCanaryStepSetHeaderRouteMatch": { + "properties": { + "headerName": { + "type": "string" + }, + "headerValue": { + "$ref": "#/types/spotinst:oceancd/StrategyCanaryStepSetHeaderRouteMatchHeaderValue:StrategyCanaryStepSetHeaderRouteMatchHeaderValue" + } + }, + "type": "object", + "required": [ + "headerName", + "headerValue" + ] + }, + "spotinst:oceancd/StrategyCanaryStepSetHeaderRouteMatchHeaderValue:StrategyCanaryStepSetHeaderRouteMatchHeaderValue": { + "properties": { + "exact": { + "type": "string" + }, + "prefix": { + "type": "string" + }, + "regex": { + "type": "string" + } + }, + "type": "object" + }, + "spotinst:oceancd/StrategyCanaryStepVerification:StrategyCanaryStepVerification": { + "properties": { + "templateNames": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object", + "required": [ + "templateNames" + ] + }, + "spotinst:oceancd/StrategyRolling:StrategyRolling": { + "properties": { + "steps": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:oceancd/StrategyRollingStep:StrategyRollingStep" + }, + "description": "A set of separate conditions of rollout processing.\n" + } + }, + "type": "object", + "required": [ + "steps" + ] + }, + "spotinst:oceancd/StrategyRollingStep:StrategyRollingStep": { + "properties": { + "pause": { + "$ref": "#/types/spotinst:oceancd/StrategyRollingStepPause:StrategyRollingStepPause" + }, + "stepsName": { + "type": "string" + }, + "verification": { + "$ref": "#/types/spotinst:oceancd/StrategyRollingStepVerification:StrategyRollingStepVerification" + } + }, + "type": "object" + }, + "spotinst:oceancd/StrategyRollingStepPause:StrategyRollingStepPause": { + "properties": { + "duration": { + "type": "string" + } + }, + "type": "object" + }, + "spotinst:oceancd/StrategyRollingStepVerification:StrategyRollingStepVerification": { + "properties": { + "templateNames": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object", + "required": [ + "templateNames" + ] + }, + "spotinst:oceancd/VerificationProviderCloudWatch:VerificationProviderCloudWatch": { + "properties": { + "iamArn": { + "type": "string", + "description": "Set label key.\n" + } + }, + "type": "object", + "required": [ + "iamArn" + ] + }, + "spotinst:oceancd/VerificationProviderDatadog:VerificationProviderDatadog": { + "properties": { + "address": { + "type": "string", + "description": "DataDog API URL.\n" + }, + "apiKey": { + "type": "string", + "description": "API key required by the Datadog Agent to submit metrics and events to Datadog.\n" + }, + "appKey": { + "type": "string", + "description": "API key that gives users access to Datadog’s programmatic API.\n" + } + }, + "type": "object", + "required": [ + "address", + "apiKey", + "appKey" + ] + }, + "spotinst:oceancd/VerificationProviderJenkins:VerificationProviderJenkins": { + "properties": { + "apiToken": { + "type": "string", + "description": "The Jenkins server’s access apiToken.\n" + }, + "baseUrl": { + "type": "string", + "description": "The address of the Jenkins server within the cluster.\n" + }, + "username": { + "type": "string", + "description": "The Jenkins server’s access username.\n" + } + }, + "type": "object", + "required": [ + "apiToken", + "baseUrl", + "username" + ] + }, + "spotinst:oceancd/VerificationProviderNewRelic:VerificationProviderNewRelic": { + "properties": { + "accountId": { + "type": "string" + }, + "baseUrlNerdGraph": { + "type": "string", + "description": "The base URL for NerdGraph for a proxy.\n" + }, + "baseUrlRest": { + "type": "string", + "description": "The base URL of the New Relic REST API for a proxy.\n" + }, + "personalApiKey": { + "type": "string", + "description": "The NewRelic user key\n" + }, + "region": { + "type": "string", + "description": "A region which the account is attached to. Default is \"us\".\n" + } + }, + "type": "object", + "required": [ + "accountId", + "personalApiKey" + ] + }, + "spotinst:oceancd/VerificationProviderPrometheus:VerificationProviderPrometheus": { + "properties": { + "address": { + "type": "string", + "description": "The address which the Prometheus server available on.\n" + } + }, + "type": "object", + "required": [ + "address" + ] + }, "spotinst:organization/PolicyPolicyContent:PolicyPolicyContent": { "properties": { "statements": { @@ -17141,6 +17427,171 @@ "type": "object" } }, + "spotinst:oceancd/strategy:Strategy": { + "description": "Manages a Spotinst OceanCD Strategy resource.\n\n", + "properties": { + "canary": { + "$ref": "#/types/spotinst:oceancd/StrategyCanary:StrategyCanary", + "description": "Represents Canary strategy. Cannot be defined when Rolling object is defined.\n" + }, + "rolling": { + "$ref": "#/types/spotinst:oceancd/StrategyRolling:StrategyRolling", + "description": "Represents Rolling Update strategy. Cannot be defined when Canary object is defined.\n" + }, + "strategyName": { + "type": "string" + } + }, + "required": [ + "strategyName" + ], + "inputProperties": { + "canary": { + "$ref": "#/types/spotinst:oceancd/StrategyCanary:StrategyCanary", + "description": "Represents Canary strategy. Cannot be defined when Rolling object is defined.\n" + }, + "rolling": { + "$ref": "#/types/spotinst:oceancd/StrategyRolling:StrategyRolling", + "description": "Represents Rolling Update strategy. Cannot be defined when Canary object is defined.\n" + }, + "strategyName": { + "type": "string" + } + }, + "requiredInputs": [ + "strategyName" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering Strategy resources.\n", + "properties": { + "canary": { + "$ref": "#/types/spotinst:oceancd/StrategyCanary:StrategyCanary", + "description": "Represents Canary strategy. Cannot be defined when Rolling object is defined.\n" + }, + "rolling": { + "$ref": "#/types/spotinst:oceancd/StrategyRolling:StrategyRolling", + "description": "Represents Rolling Update strategy. Cannot be defined when Canary object is defined.\n" + }, + "strategyName": { + "type": "string" + } + }, + "type": "object" + } + }, + "spotinst:oceancd/verificationProvider:VerificationProvider": { + "description": "Manages a Spotinst OceanCD Verfification Provider resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spotinst from \"@pulumi/spotinst\";\n\nconst example = new spotinst.oceancd.VerificationProvider(\"example\", {\n name: \"test-verification-provider\",\n clusterIds: [\n \"Example-Cluster-Id-1\",\n \"Example-Cluster-Id-2\",\n \"Example-Cluster-Id-3\",\n ],\n datadog: {\n address: \"1024\",\n apiKey: \"512\",\n appKey: \"0\",\n },\n cloudWatch: {\n iamArn: \"arn:aws:iam::123456789012:role/GetMetricData\",\n },\n prometheus: {\n address: \"http://localhost:9090\",\n },\n newRelic: {\n personalApiKey: \"AUO32RN20oUMD-40283\",\n accountId: \"account-0189718\",\n region: \"eu\",\n baseUrlRest: \"https://rest.api.newrelic.eu\",\n baseUrlNerdGraph: \"https://nerdgraph.api.newrelic.eu\",\n },\n jenkins: {\n baseUrl: \"http://localhost:9090\",\n username: \"test-user\",\n apiToken: \"AbCDeeFFGG\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_spotinst as spotinst\n\nexample = spotinst.oceancd.VerificationProvider(\"example\",\n name=\"test-verification-provider\",\n cluster_ids=[\n \"Example-Cluster-Id-1\",\n \"Example-Cluster-Id-2\",\n \"Example-Cluster-Id-3\",\n ],\n datadog=spotinst.oceancd.VerificationProviderDatadogArgs(\n address=\"1024\",\n api_key=\"512\",\n app_key=\"0\",\n ),\n cloud_watch=spotinst.oceancd.VerificationProviderCloudWatchArgs(\n iam_arn=\"arn:aws:iam::123456789012:role/GetMetricData\",\n ),\n prometheus=spotinst.oceancd.VerificationProviderPrometheusArgs(\n address=\"http://localhost:9090\",\n ),\n new_relic=spotinst.oceancd.VerificationProviderNewRelicArgs(\n personal_api_key=\"AUO32RN20oUMD-40283\",\n account_id=\"account-0189718\",\n region=\"eu\",\n base_url_rest=\"https://rest.api.newrelic.eu\",\n base_url_nerd_graph=\"https://nerdgraph.api.newrelic.eu\",\n ),\n jenkins=spotinst.oceancd.VerificationProviderJenkinsArgs(\n base_url=\"http://localhost:9090\",\n username=\"test-user\",\n api_token=\"AbCDeeFFGG\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing SpotInst = Pulumi.SpotInst;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new SpotInst.Oceancd.VerificationProvider(\"example\", new()\n {\n Name = \"test-verification-provider\",\n ClusterIds = new[]\n {\n \"Example-Cluster-Id-1\",\n \"Example-Cluster-Id-2\",\n \"Example-Cluster-Id-3\",\n },\n Datadog = new SpotInst.Oceancd.Inputs.VerificationProviderDatadogArgs\n {\n Address = \"1024\",\n ApiKey = \"512\",\n AppKey = \"0\",\n },\n CloudWatch = new SpotInst.Oceancd.Inputs.VerificationProviderCloudWatchArgs\n {\n IamArn = \"arn:aws:iam::123456789012:role/GetMetricData\",\n },\n Prometheus = new SpotInst.Oceancd.Inputs.VerificationProviderPrometheusArgs\n {\n Address = \"http://localhost:9090\",\n },\n NewRelic = new SpotInst.Oceancd.Inputs.VerificationProviderNewRelicArgs\n {\n PersonalApiKey = \"AUO32RN20oUMD-40283\",\n AccountId = \"account-0189718\",\n Region = \"eu\",\n BaseUrlRest = \"https://rest.api.newrelic.eu\",\n BaseUrlNerdGraph = \"https://nerdgraph.api.newrelic.eu\",\n },\n Jenkins = new SpotInst.Oceancd.Inputs.VerificationProviderJenkinsArgs\n {\n BaseUrl = \"http://localhost:9090\",\n Username = \"test-user\",\n ApiToken = \"AbCDeeFFGG\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-spotinst/sdk/v3/go/spotinst/oceancd\"\n\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 := oceancd.NewVerificationProvider(ctx, \"example\", \u0026oceancd.VerificationProviderArgs{\n\t\t\tName: pulumi.String(\"test-verification-provider\"),\n\t\t\tClusterIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Example-Cluster-Id-1\"),\n\t\t\t\tpulumi.String(\"Example-Cluster-Id-2\"),\n\t\t\t\tpulumi.String(\"Example-Cluster-Id-3\"),\n\t\t\t},\n\t\t\tDatadog: \u0026oceancd.VerificationProviderDatadogArgs{\n\t\t\t\tAddress: pulumi.String(\"1024\"),\n\t\t\t\tApiKey: pulumi.String(\"512\"),\n\t\t\t\tAppKey: pulumi.String(\"0\"),\n\t\t\t},\n\t\t\tCloudWatch: \u0026oceancd.VerificationProviderCloudWatchArgs{\n\t\t\t\tIamArn: pulumi.String(\"arn:aws:iam::123456789012:role/GetMetricData\"),\n\t\t\t},\n\t\t\tPrometheus: \u0026oceancd.VerificationProviderPrometheusArgs{\n\t\t\t\tAddress: pulumi.String(\"http://localhost:9090\"),\n\t\t\t},\n\t\t\tNewRelic: \u0026oceancd.VerificationProviderNewRelicArgs{\n\t\t\t\tPersonalApiKey: pulumi.String(\"AUO32RN20oUMD-40283\"),\n\t\t\t\tAccountId: pulumi.String(\"account-0189718\"),\n\t\t\t\tRegion: pulumi.String(\"eu\"),\n\t\t\t\tBaseUrlRest: pulumi.String(\"https://rest.api.newrelic.eu\"),\n\t\t\t\tBaseUrlNerdGraph: pulumi.String(\"https://nerdgraph.api.newrelic.eu\"),\n\t\t\t},\n\t\t\tJenkins: \u0026oceancd.VerificationProviderJenkinsArgs{\n\t\t\t\tBaseUrl: pulumi.String(\"http://localhost:9090\"),\n\t\t\t\tUsername: pulumi.String(\"test-user\"),\n\t\t\t\tApiToken: pulumi.String(\"AbCDeeFFGG\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spotinst.oceancd.VerificationProvider;\nimport com.pulumi.spotinst.oceancd.VerificationProviderArgs;\nimport com.pulumi.spotinst.oceancd.inputs.VerificationProviderDatadogArgs;\nimport com.pulumi.spotinst.oceancd.inputs.VerificationProviderCloudWatchArgs;\nimport com.pulumi.spotinst.oceancd.inputs.VerificationProviderPrometheusArgs;\nimport com.pulumi.spotinst.oceancd.inputs.VerificationProviderNewRelicArgs;\nimport com.pulumi.spotinst.oceancd.inputs.VerificationProviderJenkinsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new VerificationProvider(\"example\", VerificationProviderArgs.builder() \n .name(\"test-verification-provider\")\n .clusterIds( \n \"Example-Cluster-Id-1\",\n \"Example-Cluster-Id-2\",\n \"Example-Cluster-Id-3\")\n .datadog(VerificationProviderDatadogArgs.builder()\n .address(1024)\n .apiKey(512)\n .appKey(0)\n .build())\n .cloudWatch(VerificationProviderCloudWatchArgs.builder()\n .iamArn(\"arn:aws:iam::123456789012:role/GetMetricData\")\n .build())\n .prometheus(VerificationProviderPrometheusArgs.builder()\n .address(\"http://localhost:9090\")\n .build())\n .newRelic(VerificationProviderNewRelicArgs.builder()\n .personalApiKey(\"AUO32RN20oUMD-40283\")\n .accountId(\"account-0189718\")\n .region(\"eu\")\n .baseUrlRest(\"https://rest.api.newrelic.eu\")\n .baseUrlNerdGraph(\"https://nerdgraph.api.newrelic.eu\")\n .build())\n .jenkins(VerificationProviderJenkinsArgs.builder()\n .baseUrl(\"http://localhost:9090\")\n .username(\"test-user\")\n .apiToken(\"AbCDeeFFGG\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: spotinst:oceancd:VerificationProvider\n properties:\n name: test-verification-provider\n clusterIds:\n - Example-Cluster-Id-1\n - Example-Cluster-Id-2\n - Example-Cluster-Id-3\n datadog:\n address: 1024\n apiKey: 512\n appKey: 0\n cloudWatch:\n iamArn: arn:aws:iam::123456789012:role/GetMetricData\n prometheus:\n address: http://localhost:9090\n newRelic:\n personalApiKey: AUO32RN20oUMD-40283\n accountId: account-0189718\n region: eu\n baseUrlRest: https://rest.api.newrelic.eu\n baseUrlNerdGraph: https://nerdgraph.api.newrelic.eu\n jenkins:\n baseUrl: http://localhost:9090\n username: test-user\n apiToken: AbCDeeFFGG\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n```\noutput \"name\" {\n value = spotinst_oceancd_verification_provider.example.name\n}\n```\n", + "properties": { + "cloudWatch": { + "$ref": "#/types/spotinst:oceancd/VerificationProviderCloudWatch:VerificationProviderCloudWatch", + "description": "Specify the credentials for CloudWatch verification provider.\n" + }, + "clusterIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of cluster IDs that this Verification Provider will be applied to.\n" + }, + "datadog": { + "$ref": "#/types/spotinst:oceancd/VerificationProviderDatadog:VerificationProviderDatadog", + "description": "Specify the credentials for datadog verification provider.\n" + }, + "jenkins": { + "$ref": "#/types/spotinst:oceancd/VerificationProviderJenkins:VerificationProviderJenkins", + "description": "Specify the credentials for Jenkins verification provider.\n" + }, + "name": { + "type": "string", + "description": "Identifier name for Ocean CD Verification Provider. Must be unique.\n" + }, + "newRelic": { + "$ref": "#/types/spotinst:oceancd/VerificationProviderNewRelic:VerificationProviderNewRelic", + "description": "Specify the credentials for New Relic verification provider.\n" + }, + "prometheus": { + "$ref": "#/types/spotinst:oceancd/VerificationProviderPrometheus:VerificationProviderPrometheus", + "description": "Specify the credentials for prometheus verification provider.\n" + } + }, + "required": [ + "clusterIds", + "name" + ], + "inputProperties": { + "cloudWatch": { + "$ref": "#/types/spotinst:oceancd/VerificationProviderCloudWatch:VerificationProviderCloudWatch", + "description": "Specify the credentials for CloudWatch verification provider.\n" + }, + "clusterIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of cluster IDs that this Verification Provider will be applied to.\n" + }, + "datadog": { + "$ref": "#/types/spotinst:oceancd/VerificationProviderDatadog:VerificationProviderDatadog", + "description": "Specify the credentials for datadog verification provider.\n" + }, + "jenkins": { + "$ref": "#/types/spotinst:oceancd/VerificationProviderJenkins:VerificationProviderJenkins", + "description": "Specify the credentials for Jenkins verification provider.\n" + }, + "name": { + "type": "string", + "description": "Identifier name for Ocean CD Verification Provider. Must be unique.\n" + }, + "newRelic": { + "$ref": "#/types/spotinst:oceancd/VerificationProviderNewRelic:VerificationProviderNewRelic", + "description": "Specify the credentials for New Relic verification provider.\n" + }, + "prometheus": { + "$ref": "#/types/spotinst:oceancd/VerificationProviderPrometheus:VerificationProviderPrometheus", + "description": "Specify the credentials for prometheus verification provider.\n" + } + }, + "requiredInputs": [ + "clusterIds" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering VerificationProvider resources.\n", + "properties": { + "cloudWatch": { + "$ref": "#/types/spotinst:oceancd/VerificationProviderCloudWatch:VerificationProviderCloudWatch", + "description": "Specify the credentials for CloudWatch verification provider.\n" + }, + "clusterIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of cluster IDs that this Verification Provider will be applied to.\n" + }, + "datadog": { + "$ref": "#/types/spotinst:oceancd/VerificationProviderDatadog:VerificationProviderDatadog", + "description": "Specify the credentials for datadog verification provider.\n" + }, + "jenkins": { + "$ref": "#/types/spotinst:oceancd/VerificationProviderJenkins:VerificationProviderJenkins", + "description": "Specify the credentials for Jenkins verification provider.\n" + }, + "name": { + "type": "string", + "description": "Identifier name for Ocean CD Verification Provider. Must be unique.\n" + }, + "newRelic": { + "$ref": "#/types/spotinst:oceancd/VerificationProviderNewRelic:VerificationProviderNewRelic", + "description": "Specify the credentials for New Relic verification provider.\n" + }, + "prometheus": { + "$ref": "#/types/spotinst:oceancd/VerificationProviderPrometheus:VerificationProviderPrometheus", + "description": "Specify the credentials for prometheus verification provider.\n" + } + }, + "type": "object" + } + }, "spotinst:organization/policy:Policy": { "description": "Provides a Spotinst access policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spotinst from \"@pulumi/spotinst\";\n\nconst terraformPolicy = new spotinst.organization.Policy(\"terraform_policy\", {\n name: \"test-policy\",\n description: \"policy by terraform\",\n policyContents: [{\n statements: [\n {\n actions: [\"ocean:deleteCluster\"],\n effect: \"DENY\",\n resources: [\n \"o-abcd1234\",\n \"o-defg6789\",\n ],\n },\n {\n actions: [\"ocean:createCluster\"],\n effect: \"DENY\",\n resources: [\n \"o-fhau4752\",\n \"o-761owf4r3\",\n ],\n },\n ],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_spotinst as spotinst\n\nterraform_policy = spotinst.organization.Policy(\"terraform_policy\",\n name=\"test-policy\",\n description=\"policy by terraform\",\n policy_contents=[spotinst.organization.PolicyPolicyContentArgs(\n statements=[\n spotinst.organization.PolicyPolicyContentStatementArgs(\n actions=[\"ocean:deleteCluster\"],\n effect=\"DENY\",\n resources=[\n \"o-abcd1234\",\n \"o-defg6789\",\n ],\n ),\n spotinst.organization.PolicyPolicyContentStatementArgs(\n actions=[\"ocean:createCluster\"],\n effect=\"DENY\",\n resources=[\n \"o-fhau4752\",\n \"o-761owf4r3\",\n ],\n ),\n ],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing SpotInst = Pulumi.SpotInst;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var terraformPolicy = new SpotInst.Organization.Policy(\"terraform_policy\", new()\n {\n Name = \"test-policy\",\n Description = \"policy by terraform\",\n PolicyContents = new[]\n {\n new SpotInst.Organization.Inputs.PolicyPolicyContentArgs\n {\n Statements = new[]\n {\n new SpotInst.Organization.Inputs.PolicyPolicyContentStatementArgs\n {\n Actions = new[]\n {\n \"ocean:deleteCluster\",\n },\n Effect = \"DENY\",\n Resources = new[]\n {\n \"o-abcd1234\",\n \"o-defg6789\",\n },\n },\n new SpotInst.Organization.Inputs.PolicyPolicyContentStatementArgs\n {\n Actions = new[]\n {\n \"ocean:createCluster\",\n },\n Effect = \"DENY\",\n Resources = new[]\n {\n \"o-fhau4752\",\n \"o-761owf4r3\",\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-spotinst/sdk/v3/go/spotinst/organization\"\n\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 := organization.NewPolicy(ctx, \"terraform_policy\", \u0026organization.PolicyArgs{\n\t\t\tName: pulumi.String(\"test-policy\"),\n\t\t\tDescription: pulumi.String(\"policy by terraform\"),\n\t\t\tPolicyContents: organization.PolicyPolicyContentArray{\n\t\t\t\t\u0026organization.PolicyPolicyContentArgs{\n\t\t\t\t\tStatements: organization.PolicyPolicyContentStatementArray{\n\t\t\t\t\t\t\u0026organization.PolicyPolicyContentStatementArgs{\n\t\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"ocean:deleteCluster\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tEffect: pulumi.String(\"DENY\"),\n\t\t\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"o-abcd1234\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"o-defg6789\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026organization.PolicyPolicyContentStatementArgs{\n\t\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"ocean:createCluster\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tEffect: pulumi.String(\"DENY\"),\n\t\t\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"o-fhau4752\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"o-761owf4r3\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spotinst.organization.Policy;\nimport com.pulumi.spotinst.organization.PolicyArgs;\nimport com.pulumi.spotinst.organization.inputs.PolicyPolicyContentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var terraformPolicy = new Policy(\"terraformPolicy\", PolicyArgs.builder() \n .name(\"test-policy\")\n .description(\"policy by terraform\")\n .policyContents(PolicyPolicyContentArgs.builder()\n .statements( \n PolicyPolicyContentStatementArgs.builder()\n .actions(\"ocean:deleteCluster\")\n .effect(\"DENY\")\n .resources( \n \"o-abcd1234\",\n \"o-defg6789\")\n .build(),\n PolicyPolicyContentStatementArgs.builder()\n .actions(\"ocean:createCluster\")\n .effect(\"DENY\")\n .resources( \n \"o-fhau4752\",\n \"o-761owf4r3\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n terraformPolicy:\n type: spotinst:organization:Policy\n name: terraform_policy\n properties:\n name: test-policy\n description: policy by terraform\n policyContents:\n - statements:\n - actions:\n - ocean:deleteCluster\n effect: DENY\n resources:\n - o-abcd1234\n - o-defg6789\n - actions:\n - ocean:createCluster\n effect: DENY\n resources:\n - o-fhau4752\n - o-761owf4r3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { diff --git a/provider/go.mod b/provider/go.mod index d193b0a6..8b009112 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -205,7 +205,7 @@ require ( github.com/spf13/cast v1.5.0 // indirect github.com/spf13/cobra v1.8.0 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/spotinst/spotinst-sdk-go v1.345.0 // indirect + github.com/spotinst/spotinst-sdk-go v1.348.0 // indirect github.com/stretchr/testify v1.9.0 // indirect github.com/texttheater/golang-levenshtein v1.0.1 // indirect github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7 // indirect diff --git a/provider/go.sum b/provider/go.sum index 95bfcb04..bf5cb97f 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -2959,8 +2959,8 @@ github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= -github.com/spotinst/spotinst-sdk-go v1.345.0 h1:zXHeXV6vI2avfQheMSXLsIdL7pnffEid/UQ3dlB+K9w= -github.com/spotinst/spotinst-sdk-go v1.345.0/go.mod h1:Tn4/eb0SFY6IXmxz71CClujvbD/PuT+EO6Ta8v6AML4= +github.com/spotinst/spotinst-sdk-go v1.348.0 h1:1E3hIrSxO0UelxXxiXmtPWJV2OadFicGV//zXM+Anmc= +github.com/spotinst/spotinst-sdk-go v1.348.0/go.mod h1:Tn4/eb0SFY6IXmxz71CClujvbD/PuT+EO6Ta8v6AML4= github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980/go.mod h1:AO3tvPzVZ/ayst6UlUKUv6rcPQInYe3IknH3jYhAKu8= github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= diff --git a/provider/resources.go b/provider/resources.go index 6f2ee07e..d76caa3e 100644 --- a/provider/resources.go +++ b/provider/resources.go @@ -38,13 +38,14 @@ const ( // packages: mainPkg = "spotinst" // modules: - awsMod = "Aws" - ecsMod = "Ecs" - gcpMod = "Gcp" - gkeMod = "Gke" - azureMod = "Azure" - mainMod = "Index" - sparkMod = "Spark" + awsMod = "Aws" + ecsMod = "Ecs" + gcpMod = "Gcp" + gkeMod = "Gke" + azureMod = "Azure" + mainMod = "Index" + sparkMod = "Spark" + oceancdMod = "Oceancd" ) var namespaceMap = map[string]string{ @@ -182,6 +183,7 @@ func Provider() tfbridge.ProviderInfo { prov.MustComputeTokens(tks.KnownModules("spotinst_", "", []string{ "organization", "multai", + "oceancd", }, tks.MakeStandard(mainPkg))) prov.MustApplyAutoAliases() diff --git a/sdk/dotnet/Oceancd/Inputs/StrategyCanaryArgs.cs b/sdk/dotnet/Oceancd/Inputs/StrategyCanaryArgs.cs new file mode 100644 index 00000000..6863e9e2 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/StrategyCanaryArgs.cs @@ -0,0 +1,38 @@ +// *** 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.SpotInst.Oceancd.Inputs +{ + + public sealed class StrategyCanaryArgs : global::Pulumi.ResourceArgs + { + /// + /// A list of background verifications. + /// + [Input("backgroundVerification")] + public Input? BackgroundVerification { get; set; } + + [Input("steps", required: true)] + private InputList? _steps; + + /// + /// A set of separate conditions of rollout processing. + /// + public InputList Steps + { + get => _steps ?? (_steps = new InputList()); + set => _steps = value; + } + + public StrategyCanaryArgs() + { + } + public static new StrategyCanaryArgs Empty => new StrategyCanaryArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/StrategyCanaryBackgroundVerificationArgs.cs b/sdk/dotnet/Oceancd/Inputs/StrategyCanaryBackgroundVerificationArgs.cs new file mode 100644 index 00000000..5d1b327e --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/StrategyCanaryBackgroundVerificationArgs.cs @@ -0,0 +1,28 @@ +// *** 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.SpotInst.Oceancd.Inputs +{ + + public sealed class StrategyCanaryBackgroundVerificationArgs : global::Pulumi.ResourceArgs + { + [Input("templateNames", required: true)] + private InputList? _templateNames; + public InputList TemplateNames + { + get => _templateNames ?? (_templateNames = new InputList()); + set => _templateNames = value; + } + + public StrategyCanaryBackgroundVerificationArgs() + { + } + public static new StrategyCanaryBackgroundVerificationArgs Empty => new StrategyCanaryBackgroundVerificationArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/StrategyCanaryBackgroundVerificationGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/StrategyCanaryBackgroundVerificationGetArgs.cs new file mode 100644 index 00000000..b2e79c0e --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/StrategyCanaryBackgroundVerificationGetArgs.cs @@ -0,0 +1,28 @@ +// *** 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.SpotInst.Oceancd.Inputs +{ + + public sealed class StrategyCanaryBackgroundVerificationGetArgs : global::Pulumi.ResourceArgs + { + [Input("templateNames", required: true)] + private InputList? _templateNames; + public InputList TemplateNames + { + get => _templateNames ?? (_templateNames = new InputList()); + set => _templateNames = value; + } + + public StrategyCanaryBackgroundVerificationGetArgs() + { + } + public static new StrategyCanaryBackgroundVerificationGetArgs Empty => new StrategyCanaryBackgroundVerificationGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/StrategyCanaryGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/StrategyCanaryGetArgs.cs new file mode 100644 index 00000000..b5019c16 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/StrategyCanaryGetArgs.cs @@ -0,0 +1,38 @@ +// *** 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.SpotInst.Oceancd.Inputs +{ + + public sealed class StrategyCanaryGetArgs : global::Pulumi.ResourceArgs + { + /// + /// A list of background verifications. + /// + [Input("backgroundVerification")] + public Input? BackgroundVerification { get; set; } + + [Input("steps", required: true)] + private InputList? _steps; + + /// + /// A set of separate conditions of rollout processing. + /// + public InputList Steps + { + get => _steps ?? (_steps = new InputList()); + set => _steps = value; + } + + public StrategyCanaryGetArgs() + { + } + public static new StrategyCanaryGetArgs Empty => new StrategyCanaryGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/StrategyCanaryStepArgs.cs b/sdk/dotnet/Oceancd/Inputs/StrategyCanaryStepArgs.cs new file mode 100644 index 00000000..b8e3ddb2 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/StrategyCanaryStepArgs.cs @@ -0,0 +1,38 @@ +// *** 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.SpotInst.Oceancd.Inputs +{ + + public sealed class StrategyCanaryStepArgs : global::Pulumi.ResourceArgs + { + [Input("pause")] + public Input? Pause { get; set; } + + [Input("setCanaryScale")] + public Input? SetCanaryScale { get; set; } + + [Input("setHeaderRoute")] + public Input? SetHeaderRoute { get; set; } + + [Input("setWeight")] + public Input? SetWeight { get; set; } + + [Input("stepName")] + public Input? StepName { get; set; } + + [Input("verification")] + public Input? Verification { get; set; } + + public StrategyCanaryStepArgs() + { + } + public static new StrategyCanaryStepArgs Empty => new StrategyCanaryStepArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/StrategyCanaryStepGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/StrategyCanaryStepGetArgs.cs new file mode 100644 index 00000000..2362c723 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/StrategyCanaryStepGetArgs.cs @@ -0,0 +1,38 @@ +// *** 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.SpotInst.Oceancd.Inputs +{ + + public sealed class StrategyCanaryStepGetArgs : global::Pulumi.ResourceArgs + { + [Input("pause")] + public Input? Pause { get; set; } + + [Input("setCanaryScale")] + public Input? SetCanaryScale { get; set; } + + [Input("setHeaderRoute")] + public Input? SetHeaderRoute { get; set; } + + [Input("setWeight")] + public Input? SetWeight { get; set; } + + [Input("stepName")] + public Input? StepName { get; set; } + + [Input("verification")] + public Input? Verification { get; set; } + + public StrategyCanaryStepGetArgs() + { + } + public static new StrategyCanaryStepGetArgs Empty => new StrategyCanaryStepGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/StrategyCanaryStepPauseArgs.cs b/sdk/dotnet/Oceancd/Inputs/StrategyCanaryStepPauseArgs.cs new file mode 100644 index 00000000..3ec8d3f1 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/StrategyCanaryStepPauseArgs.cs @@ -0,0 +1,23 @@ +// *** 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.SpotInst.Oceancd.Inputs +{ + + public sealed class StrategyCanaryStepPauseArgs : global::Pulumi.ResourceArgs + { + [Input("duration")] + public Input? Duration { get; set; } + + public StrategyCanaryStepPauseArgs() + { + } + public static new StrategyCanaryStepPauseArgs Empty => new StrategyCanaryStepPauseArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/StrategyCanaryStepPauseGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/StrategyCanaryStepPauseGetArgs.cs new file mode 100644 index 00000000..50b28060 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/StrategyCanaryStepPauseGetArgs.cs @@ -0,0 +1,23 @@ +// *** 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.SpotInst.Oceancd.Inputs +{ + + public sealed class StrategyCanaryStepPauseGetArgs : global::Pulumi.ResourceArgs + { + [Input("duration")] + public Input? Duration { get; set; } + + public StrategyCanaryStepPauseGetArgs() + { + } + public static new StrategyCanaryStepPauseGetArgs Empty => new StrategyCanaryStepPauseGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/StrategyCanaryStepSetCanaryScaleArgs.cs b/sdk/dotnet/Oceancd/Inputs/StrategyCanaryStepSetCanaryScaleArgs.cs new file mode 100644 index 00000000..aa7571da --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/StrategyCanaryStepSetCanaryScaleArgs.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.SpotInst.Oceancd.Inputs +{ + + public sealed class StrategyCanaryStepSetCanaryScaleArgs : global::Pulumi.ResourceArgs + { + [Input("matchTrafficWeight")] + public Input? MatchTrafficWeight { get; set; } + + [Input("replicas")] + public Input? Replicas { get; set; } + + [Input("weight")] + public Input? Weight { get; set; } + + public StrategyCanaryStepSetCanaryScaleArgs() + { + } + public static new StrategyCanaryStepSetCanaryScaleArgs Empty => new StrategyCanaryStepSetCanaryScaleArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/StrategyCanaryStepSetCanaryScaleGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/StrategyCanaryStepSetCanaryScaleGetArgs.cs new file mode 100644 index 00000000..a5530274 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/StrategyCanaryStepSetCanaryScaleGetArgs.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.SpotInst.Oceancd.Inputs +{ + + public sealed class StrategyCanaryStepSetCanaryScaleGetArgs : global::Pulumi.ResourceArgs + { + [Input("matchTrafficWeight")] + public Input? MatchTrafficWeight { get; set; } + + [Input("replicas")] + public Input? Replicas { get; set; } + + [Input("weight")] + public Input? Weight { get; set; } + + public StrategyCanaryStepSetCanaryScaleGetArgs() + { + } + public static new StrategyCanaryStepSetCanaryScaleGetArgs Empty => new StrategyCanaryStepSetCanaryScaleGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/StrategyCanaryStepSetHeaderRouteArgs.cs b/sdk/dotnet/Oceancd/Inputs/StrategyCanaryStepSetHeaderRouteArgs.cs new file mode 100644 index 00000000..332b0dca --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/StrategyCanaryStepSetHeaderRouteArgs.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.SpotInst.Oceancd.Inputs +{ + + public sealed class StrategyCanaryStepSetHeaderRouteArgs : global::Pulumi.ResourceArgs + { + [Input("headerRouteName", required: true)] + public Input HeaderRouteName { get; set; } = null!; + + [Input("matches", required: true)] + private InputList? _matches; + public InputList Matches + { + get => _matches ?? (_matches = new InputList()); + set => _matches = value; + } + + public StrategyCanaryStepSetHeaderRouteArgs() + { + } + public static new StrategyCanaryStepSetHeaderRouteArgs Empty => new StrategyCanaryStepSetHeaderRouteArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/StrategyCanaryStepSetHeaderRouteGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/StrategyCanaryStepSetHeaderRouteGetArgs.cs new file mode 100644 index 00000000..e6ebb354 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/StrategyCanaryStepSetHeaderRouteGetArgs.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.SpotInst.Oceancd.Inputs +{ + + public sealed class StrategyCanaryStepSetHeaderRouteGetArgs : global::Pulumi.ResourceArgs + { + [Input("headerRouteName", required: true)] + public Input HeaderRouteName { get; set; } = null!; + + [Input("matches", required: true)] + private InputList? _matches; + public InputList Matches + { + get => _matches ?? (_matches = new InputList()); + set => _matches = value; + } + + public StrategyCanaryStepSetHeaderRouteGetArgs() + { + } + public static new StrategyCanaryStepSetHeaderRouteGetArgs Empty => new StrategyCanaryStepSetHeaderRouteGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/StrategyCanaryStepSetHeaderRouteMatchArgs.cs b/sdk/dotnet/Oceancd/Inputs/StrategyCanaryStepSetHeaderRouteMatchArgs.cs new file mode 100644 index 00000000..9a1b8633 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/StrategyCanaryStepSetHeaderRouteMatchArgs.cs @@ -0,0 +1,26 @@ +// *** 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.SpotInst.Oceancd.Inputs +{ + + public sealed class StrategyCanaryStepSetHeaderRouteMatchArgs : global::Pulumi.ResourceArgs + { + [Input("headerName", required: true)] + public Input HeaderName { get; set; } = null!; + + [Input("headerValue", required: true)] + public Input HeaderValue { get; set; } = null!; + + public StrategyCanaryStepSetHeaderRouteMatchArgs() + { + } + public static new StrategyCanaryStepSetHeaderRouteMatchArgs Empty => new StrategyCanaryStepSetHeaderRouteMatchArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/StrategyCanaryStepSetHeaderRouteMatchGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/StrategyCanaryStepSetHeaderRouteMatchGetArgs.cs new file mode 100644 index 00000000..03adb323 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/StrategyCanaryStepSetHeaderRouteMatchGetArgs.cs @@ -0,0 +1,26 @@ +// *** 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.SpotInst.Oceancd.Inputs +{ + + public sealed class StrategyCanaryStepSetHeaderRouteMatchGetArgs : global::Pulumi.ResourceArgs + { + [Input("headerName", required: true)] + public Input HeaderName { get; set; } = null!; + + [Input("headerValue", required: true)] + public Input HeaderValue { get; set; } = null!; + + public StrategyCanaryStepSetHeaderRouteMatchGetArgs() + { + } + public static new StrategyCanaryStepSetHeaderRouteMatchGetArgs Empty => new StrategyCanaryStepSetHeaderRouteMatchGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/StrategyCanaryStepSetHeaderRouteMatchHeaderValueArgs.cs b/sdk/dotnet/Oceancd/Inputs/StrategyCanaryStepSetHeaderRouteMatchHeaderValueArgs.cs new file mode 100644 index 00000000..7a965442 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/StrategyCanaryStepSetHeaderRouteMatchHeaderValueArgs.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.SpotInst.Oceancd.Inputs +{ + + public sealed class StrategyCanaryStepSetHeaderRouteMatchHeaderValueArgs : global::Pulumi.ResourceArgs + { + [Input("exact")] + public Input? Exact { get; set; } + + [Input("prefix")] + public Input? Prefix { get; set; } + + [Input("regex")] + public Input? Regex { get; set; } + + public StrategyCanaryStepSetHeaderRouteMatchHeaderValueArgs() + { + } + public static new StrategyCanaryStepSetHeaderRouteMatchHeaderValueArgs Empty => new StrategyCanaryStepSetHeaderRouteMatchHeaderValueArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/StrategyCanaryStepSetHeaderRouteMatchHeaderValueGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/StrategyCanaryStepSetHeaderRouteMatchHeaderValueGetArgs.cs new file mode 100644 index 00000000..52f26b48 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/StrategyCanaryStepSetHeaderRouteMatchHeaderValueGetArgs.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.SpotInst.Oceancd.Inputs +{ + + public sealed class StrategyCanaryStepSetHeaderRouteMatchHeaderValueGetArgs : global::Pulumi.ResourceArgs + { + [Input("exact")] + public Input? Exact { get; set; } + + [Input("prefix")] + public Input? Prefix { get; set; } + + [Input("regex")] + public Input? Regex { get; set; } + + public StrategyCanaryStepSetHeaderRouteMatchHeaderValueGetArgs() + { + } + public static new StrategyCanaryStepSetHeaderRouteMatchHeaderValueGetArgs Empty => new StrategyCanaryStepSetHeaderRouteMatchHeaderValueGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/StrategyCanaryStepVerificationArgs.cs b/sdk/dotnet/Oceancd/Inputs/StrategyCanaryStepVerificationArgs.cs new file mode 100644 index 00000000..aeb6e1f4 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/StrategyCanaryStepVerificationArgs.cs @@ -0,0 +1,28 @@ +// *** 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.SpotInst.Oceancd.Inputs +{ + + public sealed class StrategyCanaryStepVerificationArgs : global::Pulumi.ResourceArgs + { + [Input("templateNames", required: true)] + private InputList? _templateNames; + public InputList TemplateNames + { + get => _templateNames ?? (_templateNames = new InputList()); + set => _templateNames = value; + } + + public StrategyCanaryStepVerificationArgs() + { + } + public static new StrategyCanaryStepVerificationArgs Empty => new StrategyCanaryStepVerificationArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/StrategyCanaryStepVerificationGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/StrategyCanaryStepVerificationGetArgs.cs new file mode 100644 index 00000000..0e69b956 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/StrategyCanaryStepVerificationGetArgs.cs @@ -0,0 +1,28 @@ +// *** 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.SpotInst.Oceancd.Inputs +{ + + public sealed class StrategyCanaryStepVerificationGetArgs : global::Pulumi.ResourceArgs + { + [Input("templateNames", required: true)] + private InputList? _templateNames; + public InputList TemplateNames + { + get => _templateNames ?? (_templateNames = new InputList()); + set => _templateNames = value; + } + + public StrategyCanaryStepVerificationGetArgs() + { + } + public static new StrategyCanaryStepVerificationGetArgs Empty => new StrategyCanaryStepVerificationGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/StrategyRollingArgs.cs b/sdk/dotnet/Oceancd/Inputs/StrategyRollingArgs.cs new file mode 100644 index 00000000..bbc4efbb --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/StrategyRollingArgs.cs @@ -0,0 +1,32 @@ +// *** 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.SpotInst.Oceancd.Inputs +{ + + public sealed class StrategyRollingArgs : global::Pulumi.ResourceArgs + { + [Input("steps", required: true)] + private InputList? _steps; + + /// + /// A set of separate conditions of rollout processing. + /// + public InputList Steps + { + get => _steps ?? (_steps = new InputList()); + set => _steps = value; + } + + public StrategyRollingArgs() + { + } + public static new StrategyRollingArgs Empty => new StrategyRollingArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/StrategyRollingGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/StrategyRollingGetArgs.cs new file mode 100644 index 00000000..5de6cc76 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/StrategyRollingGetArgs.cs @@ -0,0 +1,32 @@ +// *** 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.SpotInst.Oceancd.Inputs +{ + + public sealed class StrategyRollingGetArgs : global::Pulumi.ResourceArgs + { + [Input("steps", required: true)] + private InputList? _steps; + + /// + /// A set of separate conditions of rollout processing. + /// + public InputList Steps + { + get => _steps ?? (_steps = new InputList()); + set => _steps = value; + } + + public StrategyRollingGetArgs() + { + } + public static new StrategyRollingGetArgs Empty => new StrategyRollingGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/StrategyRollingStepArgs.cs b/sdk/dotnet/Oceancd/Inputs/StrategyRollingStepArgs.cs new file mode 100644 index 00000000..240b3a29 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/StrategyRollingStepArgs.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.SpotInst.Oceancd.Inputs +{ + + public sealed class StrategyRollingStepArgs : global::Pulumi.ResourceArgs + { + [Input("pause")] + public Input? Pause { get; set; } + + [Input("stepsName")] + public Input? StepsName { get; set; } + + [Input("verification")] + public Input? Verification { get; set; } + + public StrategyRollingStepArgs() + { + } + public static new StrategyRollingStepArgs Empty => new StrategyRollingStepArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/StrategyRollingStepGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/StrategyRollingStepGetArgs.cs new file mode 100644 index 00000000..bd298cff --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/StrategyRollingStepGetArgs.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.SpotInst.Oceancd.Inputs +{ + + public sealed class StrategyRollingStepGetArgs : global::Pulumi.ResourceArgs + { + [Input("pause")] + public Input? Pause { get; set; } + + [Input("stepsName")] + public Input? StepsName { get; set; } + + [Input("verification")] + public Input? Verification { get; set; } + + public StrategyRollingStepGetArgs() + { + } + public static new StrategyRollingStepGetArgs Empty => new StrategyRollingStepGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/StrategyRollingStepPauseArgs.cs b/sdk/dotnet/Oceancd/Inputs/StrategyRollingStepPauseArgs.cs new file mode 100644 index 00000000..6006ba2e --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/StrategyRollingStepPauseArgs.cs @@ -0,0 +1,23 @@ +// *** 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.SpotInst.Oceancd.Inputs +{ + + public sealed class StrategyRollingStepPauseArgs : global::Pulumi.ResourceArgs + { + [Input("duration")] + public Input? Duration { get; set; } + + public StrategyRollingStepPauseArgs() + { + } + public static new StrategyRollingStepPauseArgs Empty => new StrategyRollingStepPauseArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/StrategyRollingStepPauseGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/StrategyRollingStepPauseGetArgs.cs new file mode 100644 index 00000000..5c91ba87 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/StrategyRollingStepPauseGetArgs.cs @@ -0,0 +1,23 @@ +// *** 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.SpotInst.Oceancd.Inputs +{ + + public sealed class StrategyRollingStepPauseGetArgs : global::Pulumi.ResourceArgs + { + [Input("duration")] + public Input? Duration { get; set; } + + public StrategyRollingStepPauseGetArgs() + { + } + public static new StrategyRollingStepPauseGetArgs Empty => new StrategyRollingStepPauseGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/StrategyRollingStepVerificationArgs.cs b/sdk/dotnet/Oceancd/Inputs/StrategyRollingStepVerificationArgs.cs new file mode 100644 index 00000000..73722fd8 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/StrategyRollingStepVerificationArgs.cs @@ -0,0 +1,28 @@ +// *** 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.SpotInst.Oceancd.Inputs +{ + + public sealed class StrategyRollingStepVerificationArgs : global::Pulumi.ResourceArgs + { + [Input("templateNames", required: true)] + private InputList? _templateNames; + public InputList TemplateNames + { + get => _templateNames ?? (_templateNames = new InputList()); + set => _templateNames = value; + } + + public StrategyRollingStepVerificationArgs() + { + } + public static new StrategyRollingStepVerificationArgs Empty => new StrategyRollingStepVerificationArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/StrategyRollingStepVerificationGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/StrategyRollingStepVerificationGetArgs.cs new file mode 100644 index 00000000..9b4596d1 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/StrategyRollingStepVerificationGetArgs.cs @@ -0,0 +1,28 @@ +// *** 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.SpotInst.Oceancd.Inputs +{ + + public sealed class StrategyRollingStepVerificationGetArgs : global::Pulumi.ResourceArgs + { + [Input("templateNames", required: true)] + private InputList? _templateNames; + public InputList TemplateNames + { + get => _templateNames ?? (_templateNames = new InputList()); + set => _templateNames = value; + } + + public StrategyRollingStepVerificationGetArgs() + { + } + public static new StrategyRollingStepVerificationGetArgs Empty => new StrategyRollingStepVerificationGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationProviderCloudWatchArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationProviderCloudWatchArgs.cs new file mode 100644 index 00000000..e7485462 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationProviderCloudWatchArgs.cs @@ -0,0 +1,26 @@ +// *** 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.SpotInst.Oceancd.Inputs +{ + + public sealed class VerificationProviderCloudWatchArgs : global::Pulumi.ResourceArgs + { + /// + /// Set label key. + /// + [Input("iamArn", required: true)] + public Input IamArn { get; set; } = null!; + + public VerificationProviderCloudWatchArgs() + { + } + public static new VerificationProviderCloudWatchArgs Empty => new VerificationProviderCloudWatchArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationProviderCloudWatchGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationProviderCloudWatchGetArgs.cs new file mode 100644 index 00000000..92a3aaa9 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationProviderCloudWatchGetArgs.cs @@ -0,0 +1,26 @@ +// *** 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.SpotInst.Oceancd.Inputs +{ + + public sealed class VerificationProviderCloudWatchGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Set label key. + /// + [Input("iamArn", required: true)] + public Input IamArn { get; set; } = null!; + + public VerificationProviderCloudWatchGetArgs() + { + } + public static new VerificationProviderCloudWatchGetArgs Empty => new VerificationProviderCloudWatchGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationProviderDatadogArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationProviderDatadogArgs.cs new file mode 100644 index 00000000..2e2761a3 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationProviderDatadogArgs.cs @@ -0,0 +1,38 @@ +// *** 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.SpotInst.Oceancd.Inputs +{ + + public sealed class VerificationProviderDatadogArgs : global::Pulumi.ResourceArgs + { + /// + /// DataDog API URL. + /// + [Input("address", required: true)] + public Input Address { get; set; } = null!; + + /// + /// API key required by the Datadog Agent to submit metrics and events to Datadog. + /// + [Input("apiKey", required: true)] + public Input ApiKey { get; set; } = null!; + + /// + /// API key that gives users access to Datadog’s programmatic API. + /// + [Input("appKey", required: true)] + public Input AppKey { get; set; } = null!; + + public VerificationProviderDatadogArgs() + { + } + public static new VerificationProviderDatadogArgs Empty => new VerificationProviderDatadogArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationProviderDatadogGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationProviderDatadogGetArgs.cs new file mode 100644 index 00000000..9eb25165 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationProviderDatadogGetArgs.cs @@ -0,0 +1,38 @@ +// *** 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.SpotInst.Oceancd.Inputs +{ + + public sealed class VerificationProviderDatadogGetArgs : global::Pulumi.ResourceArgs + { + /// + /// DataDog API URL. + /// + [Input("address", required: true)] + public Input Address { get; set; } = null!; + + /// + /// API key required by the Datadog Agent to submit metrics and events to Datadog. + /// + [Input("apiKey", required: true)] + public Input ApiKey { get; set; } = null!; + + /// + /// API key that gives users access to Datadog’s programmatic API. + /// + [Input("appKey", required: true)] + public Input AppKey { get; set; } = null!; + + public VerificationProviderDatadogGetArgs() + { + } + public static new VerificationProviderDatadogGetArgs Empty => new VerificationProviderDatadogGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationProviderJenkinsArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationProviderJenkinsArgs.cs new file mode 100644 index 00000000..44c483f0 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationProviderJenkinsArgs.cs @@ -0,0 +1,38 @@ +// *** 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.SpotInst.Oceancd.Inputs +{ + + public sealed class VerificationProviderJenkinsArgs : global::Pulumi.ResourceArgs + { + /// + /// The Jenkins server’s access apiToken. + /// + [Input("apiToken", required: true)] + public Input ApiToken { get; set; } = null!; + + /// + /// The address of the Jenkins server within the cluster. + /// + [Input("baseUrl", required: true)] + public Input BaseUrl { get; set; } = null!; + + /// + /// The Jenkins server’s access username. + /// + [Input("username", required: true)] + public Input Username { get; set; } = null!; + + public VerificationProviderJenkinsArgs() + { + } + public static new VerificationProviderJenkinsArgs Empty => new VerificationProviderJenkinsArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationProviderJenkinsGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationProviderJenkinsGetArgs.cs new file mode 100644 index 00000000..7a5085a9 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationProviderJenkinsGetArgs.cs @@ -0,0 +1,38 @@ +// *** 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.SpotInst.Oceancd.Inputs +{ + + public sealed class VerificationProviderJenkinsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The Jenkins server’s access apiToken. + /// + [Input("apiToken", required: true)] + public Input ApiToken { get; set; } = null!; + + /// + /// The address of the Jenkins server within the cluster. + /// + [Input("baseUrl", required: true)] + public Input BaseUrl { get; set; } = null!; + + /// + /// The Jenkins server’s access username. + /// + [Input("username", required: true)] + public Input Username { get; set; } = null!; + + public VerificationProviderJenkinsGetArgs() + { + } + public static new VerificationProviderJenkinsGetArgs Empty => new VerificationProviderJenkinsGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationProviderNewRelicArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationProviderNewRelicArgs.cs new file mode 100644 index 00000000..f0f44934 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationProviderNewRelicArgs.cs @@ -0,0 +1,47 @@ +// *** 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.SpotInst.Oceancd.Inputs +{ + + public sealed class VerificationProviderNewRelicArgs : global::Pulumi.ResourceArgs + { + [Input("accountId", required: true)] + public Input AccountId { get; set; } = null!; + + /// + /// The base URL for NerdGraph for a proxy. + /// + [Input("baseUrlNerdGraph")] + public Input? BaseUrlNerdGraph { get; set; } + + /// + /// The base URL of the New Relic REST API for a proxy. + /// + [Input("baseUrlRest")] + public Input? BaseUrlRest { get; set; } + + /// + /// The NewRelic user key + /// + [Input("personalApiKey", required: true)] + public Input PersonalApiKey { get; set; } = null!; + + /// + /// A region which the account is attached to. Default is "us". + /// + [Input("region")] + public Input? Region { get; set; } + + public VerificationProviderNewRelicArgs() + { + } + public static new VerificationProviderNewRelicArgs Empty => new VerificationProviderNewRelicArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationProviderNewRelicGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationProviderNewRelicGetArgs.cs new file mode 100644 index 00000000..5476e2a5 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationProviderNewRelicGetArgs.cs @@ -0,0 +1,47 @@ +// *** 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.SpotInst.Oceancd.Inputs +{ + + public sealed class VerificationProviderNewRelicGetArgs : global::Pulumi.ResourceArgs + { + [Input("accountId", required: true)] + public Input AccountId { get; set; } = null!; + + /// + /// The base URL for NerdGraph for a proxy. + /// + [Input("baseUrlNerdGraph")] + public Input? BaseUrlNerdGraph { get; set; } + + /// + /// The base URL of the New Relic REST API for a proxy. + /// + [Input("baseUrlRest")] + public Input? BaseUrlRest { get; set; } + + /// + /// The NewRelic user key + /// + [Input("personalApiKey", required: true)] + public Input PersonalApiKey { get; set; } = null!; + + /// + /// A region which the account is attached to. Default is "us". + /// + [Input("region")] + public Input? Region { get; set; } + + public VerificationProviderNewRelicGetArgs() + { + } + public static new VerificationProviderNewRelicGetArgs Empty => new VerificationProviderNewRelicGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationProviderPrometheusArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationProviderPrometheusArgs.cs new file mode 100644 index 00000000..5eec14fe --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationProviderPrometheusArgs.cs @@ -0,0 +1,26 @@ +// *** 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.SpotInst.Oceancd.Inputs +{ + + public sealed class VerificationProviderPrometheusArgs : global::Pulumi.ResourceArgs + { + /// + /// The address which the Prometheus server available on. + /// + [Input("address", required: true)] + public Input Address { get; set; } = null!; + + public VerificationProviderPrometheusArgs() + { + } + public static new VerificationProviderPrometheusArgs Empty => new VerificationProviderPrometheusArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationProviderPrometheusGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationProviderPrometheusGetArgs.cs new file mode 100644 index 00000000..73342b15 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationProviderPrometheusGetArgs.cs @@ -0,0 +1,26 @@ +// *** 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.SpotInst.Oceancd.Inputs +{ + + public sealed class VerificationProviderPrometheusGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The address which the Prometheus server available on. + /// + [Input("address", required: true)] + public Input Address { get; set; } = null!; + + public VerificationProviderPrometheusGetArgs() + { + } + public static new VerificationProviderPrometheusGetArgs Empty => new VerificationProviderPrometheusGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/StrategyCanary.cs b/sdk/dotnet/Oceancd/Outputs/StrategyCanary.cs new file mode 100644 index 00000000..296a2734 --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/StrategyCanary.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.SpotInst.Oceancd.Outputs +{ + + [OutputType] + public sealed class StrategyCanary + { + /// + /// A list of background verifications. + /// + public readonly Outputs.StrategyCanaryBackgroundVerification? BackgroundVerification; + /// + /// A set of separate conditions of rollout processing. + /// + public readonly ImmutableArray Steps; + + [OutputConstructor] + private StrategyCanary( + Outputs.StrategyCanaryBackgroundVerification? backgroundVerification, + + ImmutableArray steps) + { + BackgroundVerification = backgroundVerification; + Steps = steps; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/StrategyCanaryBackgroundVerification.cs b/sdk/dotnet/Oceancd/Outputs/StrategyCanaryBackgroundVerification.cs new file mode 100644 index 00000000..3580aba6 --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/StrategyCanaryBackgroundVerification.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.SpotInst.Oceancd.Outputs +{ + + [OutputType] + public sealed class StrategyCanaryBackgroundVerification + { + public readonly ImmutableArray TemplateNames; + + [OutputConstructor] + private StrategyCanaryBackgroundVerification(ImmutableArray templateNames) + { + TemplateNames = templateNames; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/StrategyCanaryStep.cs b/sdk/dotnet/Oceancd/Outputs/StrategyCanaryStep.cs new file mode 100644 index 00000000..34372d5c --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/StrategyCanaryStep.cs @@ -0,0 +1,45 @@ +// *** 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.SpotInst.Oceancd.Outputs +{ + + [OutputType] + public sealed class StrategyCanaryStep + { + public readonly Outputs.StrategyCanaryStepPause? Pause; + public readonly Outputs.StrategyCanaryStepSetCanaryScale? SetCanaryScale; + public readonly Outputs.StrategyCanaryStepSetHeaderRoute? SetHeaderRoute; + public readonly int? SetWeight; + public readonly string? StepName; + public readonly Outputs.StrategyCanaryStepVerification? Verification; + + [OutputConstructor] + private StrategyCanaryStep( + Outputs.StrategyCanaryStepPause? pause, + + Outputs.StrategyCanaryStepSetCanaryScale? setCanaryScale, + + Outputs.StrategyCanaryStepSetHeaderRoute? setHeaderRoute, + + int? setWeight, + + string? stepName, + + Outputs.StrategyCanaryStepVerification? verification) + { + Pause = pause; + SetCanaryScale = setCanaryScale; + SetHeaderRoute = setHeaderRoute; + SetWeight = setWeight; + StepName = stepName; + Verification = verification; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/StrategyCanaryStepPause.cs b/sdk/dotnet/Oceancd/Outputs/StrategyCanaryStepPause.cs new file mode 100644 index 00000000..a8d8b1da --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/StrategyCanaryStepPause.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.SpotInst.Oceancd.Outputs +{ + + [OutputType] + public sealed class StrategyCanaryStepPause + { + public readonly string? Duration; + + [OutputConstructor] + private StrategyCanaryStepPause(string? duration) + { + Duration = duration; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/StrategyCanaryStepSetCanaryScale.cs b/sdk/dotnet/Oceancd/Outputs/StrategyCanaryStepSetCanaryScale.cs new file mode 100644 index 00000000..542f7ca1 --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/StrategyCanaryStepSetCanaryScale.cs @@ -0,0 +1,33 @@ +// *** 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.SpotInst.Oceancd.Outputs +{ + + [OutputType] + public sealed class StrategyCanaryStepSetCanaryScale + { + public readonly bool? MatchTrafficWeight; + public readonly int? Replicas; + public readonly int? Weight; + + [OutputConstructor] + private StrategyCanaryStepSetCanaryScale( + bool? matchTrafficWeight, + + int? replicas, + + int? weight) + { + MatchTrafficWeight = matchTrafficWeight; + Replicas = replicas; + Weight = weight; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/StrategyCanaryStepSetHeaderRoute.cs b/sdk/dotnet/Oceancd/Outputs/StrategyCanaryStepSetHeaderRoute.cs new file mode 100644 index 00000000..7ae9baf6 --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/StrategyCanaryStepSetHeaderRoute.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.SpotInst.Oceancd.Outputs +{ + + [OutputType] + public sealed class StrategyCanaryStepSetHeaderRoute + { + public readonly string HeaderRouteName; + public readonly ImmutableArray Matches; + + [OutputConstructor] + private StrategyCanaryStepSetHeaderRoute( + string headerRouteName, + + ImmutableArray matches) + { + HeaderRouteName = headerRouteName; + Matches = matches; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/StrategyCanaryStepSetHeaderRouteMatch.cs b/sdk/dotnet/Oceancd/Outputs/StrategyCanaryStepSetHeaderRouteMatch.cs new file mode 100644 index 00000000..f78210de --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/StrategyCanaryStepSetHeaderRouteMatch.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.SpotInst.Oceancd.Outputs +{ + + [OutputType] + public sealed class StrategyCanaryStepSetHeaderRouteMatch + { + public readonly string HeaderName; + public readonly Outputs.StrategyCanaryStepSetHeaderRouteMatchHeaderValue HeaderValue; + + [OutputConstructor] + private StrategyCanaryStepSetHeaderRouteMatch( + string headerName, + + Outputs.StrategyCanaryStepSetHeaderRouteMatchHeaderValue headerValue) + { + HeaderName = headerName; + HeaderValue = headerValue; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/StrategyCanaryStepSetHeaderRouteMatchHeaderValue.cs b/sdk/dotnet/Oceancd/Outputs/StrategyCanaryStepSetHeaderRouteMatchHeaderValue.cs new file mode 100644 index 00000000..c612d5e2 --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/StrategyCanaryStepSetHeaderRouteMatchHeaderValue.cs @@ -0,0 +1,33 @@ +// *** 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.SpotInst.Oceancd.Outputs +{ + + [OutputType] + public sealed class StrategyCanaryStepSetHeaderRouteMatchHeaderValue + { + public readonly string? Exact; + public readonly string? Prefix; + public readonly string? Regex; + + [OutputConstructor] + private StrategyCanaryStepSetHeaderRouteMatchHeaderValue( + string? exact, + + string? prefix, + + string? regex) + { + Exact = exact; + Prefix = prefix; + Regex = regex; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/StrategyCanaryStepVerification.cs b/sdk/dotnet/Oceancd/Outputs/StrategyCanaryStepVerification.cs new file mode 100644 index 00000000..6bac1b84 --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/StrategyCanaryStepVerification.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.SpotInst.Oceancd.Outputs +{ + + [OutputType] + public sealed class StrategyCanaryStepVerification + { + public readonly ImmutableArray TemplateNames; + + [OutputConstructor] + private StrategyCanaryStepVerification(ImmutableArray templateNames) + { + TemplateNames = templateNames; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/StrategyRolling.cs b/sdk/dotnet/Oceancd/Outputs/StrategyRolling.cs new file mode 100644 index 00000000..84646729 --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/StrategyRolling.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.SpotInst.Oceancd.Outputs +{ + + [OutputType] + public sealed class StrategyRolling + { + /// + /// A set of separate conditions of rollout processing. + /// + public readonly ImmutableArray Steps; + + [OutputConstructor] + private StrategyRolling(ImmutableArray steps) + { + Steps = steps; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/StrategyRollingStep.cs b/sdk/dotnet/Oceancd/Outputs/StrategyRollingStep.cs new file mode 100644 index 00000000..8f24a179 --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/StrategyRollingStep.cs @@ -0,0 +1,33 @@ +// *** 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.SpotInst.Oceancd.Outputs +{ + + [OutputType] + public sealed class StrategyRollingStep + { + public readonly Outputs.StrategyRollingStepPause? Pause; + public readonly string? StepsName; + public readonly Outputs.StrategyRollingStepVerification? Verification; + + [OutputConstructor] + private StrategyRollingStep( + Outputs.StrategyRollingStepPause? pause, + + string? stepsName, + + Outputs.StrategyRollingStepVerification? verification) + { + Pause = pause; + StepsName = stepsName; + Verification = verification; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/StrategyRollingStepPause.cs b/sdk/dotnet/Oceancd/Outputs/StrategyRollingStepPause.cs new file mode 100644 index 00000000..768bd986 --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/StrategyRollingStepPause.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.SpotInst.Oceancd.Outputs +{ + + [OutputType] + public sealed class StrategyRollingStepPause + { + public readonly string? Duration; + + [OutputConstructor] + private StrategyRollingStepPause(string? duration) + { + Duration = duration; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/StrategyRollingStepVerification.cs b/sdk/dotnet/Oceancd/Outputs/StrategyRollingStepVerification.cs new file mode 100644 index 00000000..45e98be0 --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/StrategyRollingStepVerification.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.SpotInst.Oceancd.Outputs +{ + + [OutputType] + public sealed class StrategyRollingStepVerification + { + public readonly ImmutableArray TemplateNames; + + [OutputConstructor] + private StrategyRollingStepVerification(ImmutableArray templateNames) + { + TemplateNames = templateNames; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/VerificationProviderCloudWatch.cs b/sdk/dotnet/Oceancd/Outputs/VerificationProviderCloudWatch.cs new file mode 100644 index 00000000..905b57c4 --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/VerificationProviderCloudWatch.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.SpotInst.Oceancd.Outputs +{ + + [OutputType] + public sealed class VerificationProviderCloudWatch + { + /// + /// Set label key. + /// + public readonly string IamArn; + + [OutputConstructor] + private VerificationProviderCloudWatch(string iamArn) + { + IamArn = iamArn; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/VerificationProviderDatadog.cs b/sdk/dotnet/Oceancd/Outputs/VerificationProviderDatadog.cs new file mode 100644 index 00000000..6e56a917 --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/VerificationProviderDatadog.cs @@ -0,0 +1,42 @@ +// *** 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.SpotInst.Oceancd.Outputs +{ + + [OutputType] + public sealed class VerificationProviderDatadog + { + /// + /// DataDog API URL. + /// + public readonly string Address; + /// + /// API key required by the Datadog Agent to submit metrics and events to Datadog. + /// + public readonly string ApiKey; + /// + /// API key that gives users access to Datadog’s programmatic API. + /// + public readonly string AppKey; + + [OutputConstructor] + private VerificationProviderDatadog( + string address, + + string apiKey, + + string appKey) + { + Address = address; + ApiKey = apiKey; + AppKey = appKey; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/VerificationProviderJenkins.cs b/sdk/dotnet/Oceancd/Outputs/VerificationProviderJenkins.cs new file mode 100644 index 00000000..d8d8388c --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/VerificationProviderJenkins.cs @@ -0,0 +1,42 @@ +// *** 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.SpotInst.Oceancd.Outputs +{ + + [OutputType] + public sealed class VerificationProviderJenkins + { + /// + /// The Jenkins server’s access apiToken. + /// + public readonly string ApiToken; + /// + /// The address of the Jenkins server within the cluster. + /// + public readonly string BaseUrl; + /// + /// The Jenkins server’s access username. + /// + public readonly string Username; + + [OutputConstructor] + private VerificationProviderJenkins( + string apiToken, + + string baseUrl, + + string username) + { + ApiToken = apiToken; + BaseUrl = baseUrl; + Username = username; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/VerificationProviderNewRelic.cs b/sdk/dotnet/Oceancd/Outputs/VerificationProviderNewRelic.cs new file mode 100644 index 00000000..3d457e79 --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/VerificationProviderNewRelic.cs @@ -0,0 +1,53 @@ +// *** 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.SpotInst.Oceancd.Outputs +{ + + [OutputType] + public sealed class VerificationProviderNewRelic + { + public readonly string AccountId; + /// + /// The base URL for NerdGraph for a proxy. + /// + public readonly string? BaseUrlNerdGraph; + /// + /// The base URL of the New Relic REST API for a proxy. + /// + public readonly string? BaseUrlRest; + /// + /// The NewRelic user key + /// + public readonly string PersonalApiKey; + /// + /// A region which the account is attached to. Default is "us". + /// + public readonly string? Region; + + [OutputConstructor] + private VerificationProviderNewRelic( + string accountId, + + string? baseUrlNerdGraph, + + string? baseUrlRest, + + string personalApiKey, + + string? region) + { + AccountId = accountId; + BaseUrlNerdGraph = baseUrlNerdGraph; + BaseUrlRest = baseUrlRest; + PersonalApiKey = personalApiKey; + Region = region; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/VerificationProviderPrometheus.cs b/sdk/dotnet/Oceancd/Outputs/VerificationProviderPrometheus.cs new file mode 100644 index 00000000..8ca3bb64 --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/VerificationProviderPrometheus.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.SpotInst.Oceancd.Outputs +{ + + [OutputType] + public sealed class VerificationProviderPrometheus + { + /// + /// The address which the Prometheus server available on. + /// + public readonly string Address; + + [OutputConstructor] + private VerificationProviderPrometheus(string address) + { + Address = address; + } + } +} diff --git a/sdk/dotnet/Oceancd/README.md b/sdk/dotnet/Oceancd/README.md new file mode 100644 index 00000000..e5394a31 --- /dev/null +++ b/sdk/dotnet/Oceancd/README.md @@ -0,0 +1 @@ +A Pulumi package for creating and managing spotinst cloud resources. diff --git a/sdk/dotnet/Oceancd/Strategy.cs b/sdk/dotnet/Oceancd/Strategy.cs new file mode 100644 index 00000000..2057f87b --- /dev/null +++ b/sdk/dotnet/Oceancd/Strategy.cs @@ -0,0 +1,122 @@ +// *** 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.SpotInst.Oceancd +{ + /// + /// Manages a Spotinst OceanCD Strategy resource. + /// + [SpotInstResourceType("spotinst:oceancd/strategy:Strategy")] + public partial class Strategy : global::Pulumi.CustomResource + { + /// + /// Represents Canary strategy. Cannot be defined when Rolling object is defined. + /// + [Output("canary")] + public Output Canary { get; private set; } = null!; + + /// + /// Represents Rolling Update strategy. Cannot be defined when Canary object is defined. + /// + [Output("rolling")] + public Output Rolling { get; private set; } = null!; + + [Output("strategyName")] + public Output StrategyName { get; private set; } = null!; + + + /// + /// Create a Strategy 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 Strategy(string name, StrategyArgs args, CustomResourceOptions? options = null) + : base("spotinst:oceancd/strategy:Strategy", name, args ?? new StrategyArgs(), MakeResourceOptions(options, "")) + { + } + + private Strategy(string name, Input id, StrategyState? state = null, CustomResourceOptions? options = null) + : base("spotinst:oceancd/strategy:Strategy", 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 Strategy 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 Strategy Get(string name, Input id, StrategyState? state = null, CustomResourceOptions? options = null) + { + return new Strategy(name, id, state, options); + } + } + + public sealed class StrategyArgs : global::Pulumi.ResourceArgs + { + /// + /// Represents Canary strategy. Cannot be defined when Rolling object is defined. + /// + [Input("canary")] + public Input? Canary { get; set; } + + /// + /// Represents Rolling Update strategy. Cannot be defined when Canary object is defined. + /// + [Input("rolling")] + public Input? Rolling { get; set; } + + [Input("strategyName", required: true)] + public Input StrategyName { get; set; } = null!; + + public StrategyArgs() + { + } + public static new StrategyArgs Empty => new StrategyArgs(); + } + + public sealed class StrategyState : global::Pulumi.ResourceArgs + { + /// + /// Represents Canary strategy. Cannot be defined when Rolling object is defined. + /// + [Input("canary")] + public Input? Canary { get; set; } + + /// + /// Represents Rolling Update strategy. Cannot be defined when Canary object is defined. + /// + [Input("rolling")] + public Input? Rolling { get; set; } + + [Input("strategyName")] + public Input? StrategyName { get; set; } + + public StrategyState() + { + } + public static new StrategyState Empty => new StrategyState(); + } +} diff --git a/sdk/dotnet/Oceancd/VerificationProvider.cs b/sdk/dotnet/Oceancd/VerificationProvider.cs new file mode 100644 index 00000000..dd3fde61 --- /dev/null +++ b/sdk/dotnet/Oceancd/VerificationProvider.cs @@ -0,0 +1,267 @@ +// *** 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.SpotInst.Oceancd +{ + /// + /// Manages a Spotinst OceanCD Verfification Provider resource. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using SpotInst = Pulumi.SpotInst; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new SpotInst.Oceancd.VerificationProvider("example", new() + /// { + /// Name = "test-verification-provider", + /// ClusterIds = new[] + /// { + /// "Example-Cluster-Id-1", + /// "Example-Cluster-Id-2", + /// "Example-Cluster-Id-3", + /// }, + /// Datadog = new SpotInst.Oceancd.Inputs.VerificationProviderDatadogArgs + /// { + /// Address = "1024", + /// ApiKey = "512", + /// AppKey = "0", + /// }, + /// CloudWatch = new SpotInst.Oceancd.Inputs.VerificationProviderCloudWatchArgs + /// { + /// IamArn = "arn:aws:iam::123456789012:role/GetMetricData", + /// }, + /// Prometheus = new SpotInst.Oceancd.Inputs.VerificationProviderPrometheusArgs + /// { + /// Address = "http://localhost:9090", + /// }, + /// NewRelic = new SpotInst.Oceancd.Inputs.VerificationProviderNewRelicArgs + /// { + /// PersonalApiKey = "AUO32RN20oUMD-40283", + /// AccountId = "account-0189718", + /// Region = "eu", + /// BaseUrlRest = "https://rest.api.newrelic.eu", + /// BaseUrlNerdGraph = "https://nerdgraph.api.newrelic.eu", + /// }, + /// Jenkins = new SpotInst.Oceancd.Inputs.VerificationProviderJenkinsArgs + /// { + /// BaseUrl = "http://localhost:9090", + /// Username = "test-user", + /// ApiToken = "AbCDeeFFGG", + /// }, + /// }); + /// + /// }); + /// ``` + /// + [SpotInstResourceType("spotinst:oceancd/verificationProvider:VerificationProvider")] + public partial class VerificationProvider : global::Pulumi.CustomResource + { + /// + /// Specify the credentials for CloudWatch verification provider. + /// + [Output("cloudWatch")] + public Output CloudWatch { get; private set; } = null!; + + /// + /// List of cluster IDs that this Verification Provider will be applied to. + /// + [Output("clusterIds")] + public Output> ClusterIds { get; private set; } = null!; + + /// + /// Specify the credentials for datadog verification provider. + /// + [Output("datadog")] + public Output Datadog { get; private set; } = null!; + + /// + /// Specify the credentials for Jenkins verification provider. + /// + [Output("jenkins")] + public Output Jenkins { get; private set; } = null!; + + /// + /// Identifier name for Ocean CD Verification Provider. Must be unique. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Specify the credentials for New Relic verification provider. + /// + [Output("newRelic")] + public Output NewRelic { get; private set; } = null!; + + /// + /// Specify the credentials for prometheus verification provider. + /// + [Output("prometheus")] + public Output Prometheus { get; private set; } = null!; + + + /// + /// Create a VerificationProvider 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 VerificationProvider(string name, VerificationProviderArgs args, CustomResourceOptions? options = null) + : base("spotinst:oceancd/verificationProvider:VerificationProvider", name, args ?? new VerificationProviderArgs(), MakeResourceOptions(options, "")) + { + } + + private VerificationProvider(string name, Input id, VerificationProviderState? state = null, CustomResourceOptions? options = null) + : base("spotinst:oceancd/verificationProvider:VerificationProvider", 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 VerificationProvider 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 VerificationProvider Get(string name, Input id, VerificationProviderState? state = null, CustomResourceOptions? options = null) + { + return new VerificationProvider(name, id, state, options); + } + } + + public sealed class VerificationProviderArgs : global::Pulumi.ResourceArgs + { + /// + /// Specify the credentials for CloudWatch verification provider. + /// + [Input("cloudWatch")] + public Input? CloudWatch { get; set; } + + [Input("clusterIds", required: true)] + private InputList? _clusterIds; + + /// + /// List of cluster IDs that this Verification Provider will be applied to. + /// + public InputList ClusterIds + { + get => _clusterIds ?? (_clusterIds = new InputList()); + set => _clusterIds = value; + } + + /// + /// Specify the credentials for datadog verification provider. + /// + [Input("datadog")] + public Input? Datadog { get; set; } + + /// + /// Specify the credentials for Jenkins verification provider. + /// + [Input("jenkins")] + public Input? Jenkins { get; set; } + + /// + /// Identifier name for Ocean CD Verification Provider. Must be unique. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Specify the credentials for New Relic verification provider. + /// + [Input("newRelic")] + public Input? NewRelic { get; set; } + + /// + /// Specify the credentials for prometheus verification provider. + /// + [Input("prometheus")] + public Input? Prometheus { get; set; } + + public VerificationProviderArgs() + { + } + public static new VerificationProviderArgs Empty => new VerificationProviderArgs(); + } + + public sealed class VerificationProviderState : global::Pulumi.ResourceArgs + { + /// + /// Specify the credentials for CloudWatch verification provider. + /// + [Input("cloudWatch")] + public Input? CloudWatch { get; set; } + + [Input("clusterIds")] + private InputList? _clusterIds; + + /// + /// List of cluster IDs that this Verification Provider will be applied to. + /// + public InputList ClusterIds + { + get => _clusterIds ?? (_clusterIds = new InputList()); + set => _clusterIds = value; + } + + /// + /// Specify the credentials for datadog verification provider. + /// + [Input("datadog")] + public Input? Datadog { get; set; } + + /// + /// Specify the credentials for Jenkins verification provider. + /// + [Input("jenkins")] + public Input? Jenkins { get; set; } + + /// + /// Identifier name for Ocean CD Verification Provider. Must be unique. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Specify the credentials for New Relic verification provider. + /// + [Input("newRelic")] + public Input? NewRelic { get; set; } + + /// + /// Specify the credentials for prometheus verification provider. + /// + [Input("prometheus")] + public Input? Prometheus { get; set; } + + public VerificationProviderState() + { + } + public static new VerificationProviderState Empty => new VerificationProviderState(); + } +} diff --git a/sdk/go/spotinst/oceancd/init.go b/sdk/go/spotinst/oceancd/init.go new file mode 100644 index 00000000..739f99e6 --- /dev/null +++ b/sdk/go/spotinst/oceancd/init.go @@ -0,0 +1,51 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package oceancd + +import ( + "fmt" + + "github.com/blang/semver" + "github.com/pulumi/pulumi-spotinst/sdk/v3/go/spotinst/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type module struct { + version semver.Version +} + +func (m *module) Version() semver.Version { + return m.version +} + +func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) { + switch typ { + case "spotinst:oceancd/strategy:Strategy": + r = &Strategy{} + case "spotinst:oceancd/verificationProvider:VerificationProvider": + r = &VerificationProvider{} + default: + return nil, fmt.Errorf("unknown resource type: %s", typ) + } + + err = ctx.RegisterResource(typ, name, nil, r, pulumi.URN_(urn)) + return +} + +func init() { + version, err := internal.PkgVersion() + if err != nil { + version = semver.Version{Major: 1} + } + pulumi.RegisterResourceModule( + "spotinst", + "oceancd/strategy", + &module{version}, + ) + pulumi.RegisterResourceModule( + "spotinst", + "oceancd/verificationProvider", + &module{version}, + ) +} diff --git a/sdk/go/spotinst/oceancd/pulumiTypes.go b/sdk/go/spotinst/oceancd/pulumiTypes.go new file mode 100644 index 00000000..93c987ee --- /dev/null +++ b/sdk/go/spotinst/oceancd/pulumiTypes.go @@ -0,0 +1,2582 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package oceancd + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-spotinst/sdk/v3/go/spotinst/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +var _ = internal.GetEnvOrDefault + +type StrategyCanary struct { + // A list of background verifications. + BackgroundVerification *StrategyCanaryBackgroundVerification `pulumi:"backgroundVerification"` + // A set of separate conditions of rollout processing. + Steps []StrategyCanaryStep `pulumi:"steps"` +} + +// StrategyCanaryInput is an input type that accepts StrategyCanaryArgs and StrategyCanaryOutput values. +// You can construct a concrete instance of `StrategyCanaryInput` via: +// +// StrategyCanaryArgs{...} +type StrategyCanaryInput interface { + pulumi.Input + + ToStrategyCanaryOutput() StrategyCanaryOutput + ToStrategyCanaryOutputWithContext(context.Context) StrategyCanaryOutput +} + +type StrategyCanaryArgs struct { + // A list of background verifications. + BackgroundVerification StrategyCanaryBackgroundVerificationPtrInput `pulumi:"backgroundVerification"` + // A set of separate conditions of rollout processing. + Steps StrategyCanaryStepArrayInput `pulumi:"steps"` +} + +func (StrategyCanaryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StrategyCanary)(nil)).Elem() +} + +func (i StrategyCanaryArgs) ToStrategyCanaryOutput() StrategyCanaryOutput { + return i.ToStrategyCanaryOutputWithContext(context.Background()) +} + +func (i StrategyCanaryArgs) ToStrategyCanaryOutputWithContext(ctx context.Context) StrategyCanaryOutput { + return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryOutput) +} + +func (i StrategyCanaryArgs) ToStrategyCanaryPtrOutput() StrategyCanaryPtrOutput { + return i.ToStrategyCanaryPtrOutputWithContext(context.Background()) +} + +func (i StrategyCanaryArgs) ToStrategyCanaryPtrOutputWithContext(ctx context.Context) StrategyCanaryPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryOutput).ToStrategyCanaryPtrOutputWithContext(ctx) +} + +// StrategyCanaryPtrInput is an input type that accepts StrategyCanaryArgs, StrategyCanaryPtr and StrategyCanaryPtrOutput values. +// You can construct a concrete instance of `StrategyCanaryPtrInput` via: +// +// StrategyCanaryArgs{...} +// +// or: +// +// nil +type StrategyCanaryPtrInput interface { + pulumi.Input + + ToStrategyCanaryPtrOutput() StrategyCanaryPtrOutput + ToStrategyCanaryPtrOutputWithContext(context.Context) StrategyCanaryPtrOutput +} + +type strategyCanaryPtrType StrategyCanaryArgs + +func StrategyCanaryPtr(v *StrategyCanaryArgs) StrategyCanaryPtrInput { + return (*strategyCanaryPtrType)(v) +} + +func (*strategyCanaryPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**StrategyCanary)(nil)).Elem() +} + +func (i *strategyCanaryPtrType) ToStrategyCanaryPtrOutput() StrategyCanaryPtrOutput { + return i.ToStrategyCanaryPtrOutputWithContext(context.Background()) +} + +func (i *strategyCanaryPtrType) ToStrategyCanaryPtrOutputWithContext(ctx context.Context) StrategyCanaryPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryPtrOutput) +} + +type StrategyCanaryOutput struct{ *pulumi.OutputState } + +func (StrategyCanaryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StrategyCanary)(nil)).Elem() +} + +func (o StrategyCanaryOutput) ToStrategyCanaryOutput() StrategyCanaryOutput { + return o +} + +func (o StrategyCanaryOutput) ToStrategyCanaryOutputWithContext(ctx context.Context) StrategyCanaryOutput { + return o +} + +func (o StrategyCanaryOutput) ToStrategyCanaryPtrOutput() StrategyCanaryPtrOutput { + return o.ToStrategyCanaryPtrOutputWithContext(context.Background()) +} + +func (o StrategyCanaryOutput) ToStrategyCanaryPtrOutputWithContext(ctx context.Context) StrategyCanaryPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v StrategyCanary) *StrategyCanary { + return &v + }).(StrategyCanaryPtrOutput) +} + +// A list of background verifications. +func (o StrategyCanaryOutput) BackgroundVerification() StrategyCanaryBackgroundVerificationPtrOutput { + return o.ApplyT(func(v StrategyCanary) *StrategyCanaryBackgroundVerification { return v.BackgroundVerification }).(StrategyCanaryBackgroundVerificationPtrOutput) +} + +// A set of separate conditions of rollout processing. +func (o StrategyCanaryOutput) Steps() StrategyCanaryStepArrayOutput { + return o.ApplyT(func(v StrategyCanary) []StrategyCanaryStep { return v.Steps }).(StrategyCanaryStepArrayOutput) +} + +type StrategyCanaryPtrOutput struct{ *pulumi.OutputState } + +func (StrategyCanaryPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StrategyCanary)(nil)).Elem() +} + +func (o StrategyCanaryPtrOutput) ToStrategyCanaryPtrOutput() StrategyCanaryPtrOutput { + return o +} + +func (o StrategyCanaryPtrOutput) ToStrategyCanaryPtrOutputWithContext(ctx context.Context) StrategyCanaryPtrOutput { + return o +} + +func (o StrategyCanaryPtrOutput) Elem() StrategyCanaryOutput { + return o.ApplyT(func(v *StrategyCanary) StrategyCanary { + if v != nil { + return *v + } + var ret StrategyCanary + return ret + }).(StrategyCanaryOutput) +} + +// A list of background verifications. +func (o StrategyCanaryPtrOutput) BackgroundVerification() StrategyCanaryBackgroundVerificationPtrOutput { + return o.ApplyT(func(v *StrategyCanary) *StrategyCanaryBackgroundVerification { + if v == nil { + return nil + } + return v.BackgroundVerification + }).(StrategyCanaryBackgroundVerificationPtrOutput) +} + +// A set of separate conditions of rollout processing. +func (o StrategyCanaryPtrOutput) Steps() StrategyCanaryStepArrayOutput { + return o.ApplyT(func(v *StrategyCanary) []StrategyCanaryStep { + if v == nil { + return nil + } + return v.Steps + }).(StrategyCanaryStepArrayOutput) +} + +type StrategyCanaryBackgroundVerification struct { + TemplateNames []string `pulumi:"templateNames"` +} + +// StrategyCanaryBackgroundVerificationInput is an input type that accepts StrategyCanaryBackgroundVerificationArgs and StrategyCanaryBackgroundVerificationOutput values. +// You can construct a concrete instance of `StrategyCanaryBackgroundVerificationInput` via: +// +// StrategyCanaryBackgroundVerificationArgs{...} +type StrategyCanaryBackgroundVerificationInput interface { + pulumi.Input + + ToStrategyCanaryBackgroundVerificationOutput() StrategyCanaryBackgroundVerificationOutput + ToStrategyCanaryBackgroundVerificationOutputWithContext(context.Context) StrategyCanaryBackgroundVerificationOutput +} + +type StrategyCanaryBackgroundVerificationArgs struct { + TemplateNames pulumi.StringArrayInput `pulumi:"templateNames"` +} + +func (StrategyCanaryBackgroundVerificationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StrategyCanaryBackgroundVerification)(nil)).Elem() +} + +func (i StrategyCanaryBackgroundVerificationArgs) ToStrategyCanaryBackgroundVerificationOutput() StrategyCanaryBackgroundVerificationOutput { + return i.ToStrategyCanaryBackgroundVerificationOutputWithContext(context.Background()) +} + +func (i StrategyCanaryBackgroundVerificationArgs) ToStrategyCanaryBackgroundVerificationOutputWithContext(ctx context.Context) StrategyCanaryBackgroundVerificationOutput { + return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryBackgroundVerificationOutput) +} + +func (i StrategyCanaryBackgroundVerificationArgs) ToStrategyCanaryBackgroundVerificationPtrOutput() StrategyCanaryBackgroundVerificationPtrOutput { + return i.ToStrategyCanaryBackgroundVerificationPtrOutputWithContext(context.Background()) +} + +func (i StrategyCanaryBackgroundVerificationArgs) ToStrategyCanaryBackgroundVerificationPtrOutputWithContext(ctx context.Context) StrategyCanaryBackgroundVerificationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryBackgroundVerificationOutput).ToStrategyCanaryBackgroundVerificationPtrOutputWithContext(ctx) +} + +// StrategyCanaryBackgroundVerificationPtrInput is an input type that accepts StrategyCanaryBackgroundVerificationArgs, StrategyCanaryBackgroundVerificationPtr and StrategyCanaryBackgroundVerificationPtrOutput values. +// You can construct a concrete instance of `StrategyCanaryBackgroundVerificationPtrInput` via: +// +// StrategyCanaryBackgroundVerificationArgs{...} +// +// or: +// +// nil +type StrategyCanaryBackgroundVerificationPtrInput interface { + pulumi.Input + + ToStrategyCanaryBackgroundVerificationPtrOutput() StrategyCanaryBackgroundVerificationPtrOutput + ToStrategyCanaryBackgroundVerificationPtrOutputWithContext(context.Context) StrategyCanaryBackgroundVerificationPtrOutput +} + +type strategyCanaryBackgroundVerificationPtrType StrategyCanaryBackgroundVerificationArgs + +func StrategyCanaryBackgroundVerificationPtr(v *StrategyCanaryBackgroundVerificationArgs) StrategyCanaryBackgroundVerificationPtrInput { + return (*strategyCanaryBackgroundVerificationPtrType)(v) +} + +func (*strategyCanaryBackgroundVerificationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**StrategyCanaryBackgroundVerification)(nil)).Elem() +} + +func (i *strategyCanaryBackgroundVerificationPtrType) ToStrategyCanaryBackgroundVerificationPtrOutput() StrategyCanaryBackgroundVerificationPtrOutput { + return i.ToStrategyCanaryBackgroundVerificationPtrOutputWithContext(context.Background()) +} + +func (i *strategyCanaryBackgroundVerificationPtrType) ToStrategyCanaryBackgroundVerificationPtrOutputWithContext(ctx context.Context) StrategyCanaryBackgroundVerificationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryBackgroundVerificationPtrOutput) +} + +type StrategyCanaryBackgroundVerificationOutput struct{ *pulumi.OutputState } + +func (StrategyCanaryBackgroundVerificationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StrategyCanaryBackgroundVerification)(nil)).Elem() +} + +func (o StrategyCanaryBackgroundVerificationOutput) ToStrategyCanaryBackgroundVerificationOutput() StrategyCanaryBackgroundVerificationOutput { + return o +} + +func (o StrategyCanaryBackgroundVerificationOutput) ToStrategyCanaryBackgroundVerificationOutputWithContext(ctx context.Context) StrategyCanaryBackgroundVerificationOutput { + return o +} + +func (o StrategyCanaryBackgroundVerificationOutput) ToStrategyCanaryBackgroundVerificationPtrOutput() StrategyCanaryBackgroundVerificationPtrOutput { + return o.ToStrategyCanaryBackgroundVerificationPtrOutputWithContext(context.Background()) +} + +func (o StrategyCanaryBackgroundVerificationOutput) ToStrategyCanaryBackgroundVerificationPtrOutputWithContext(ctx context.Context) StrategyCanaryBackgroundVerificationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v StrategyCanaryBackgroundVerification) *StrategyCanaryBackgroundVerification { + return &v + }).(StrategyCanaryBackgroundVerificationPtrOutput) +} + +func (o StrategyCanaryBackgroundVerificationOutput) TemplateNames() pulumi.StringArrayOutput { + return o.ApplyT(func(v StrategyCanaryBackgroundVerification) []string { return v.TemplateNames }).(pulumi.StringArrayOutput) +} + +type StrategyCanaryBackgroundVerificationPtrOutput struct{ *pulumi.OutputState } + +func (StrategyCanaryBackgroundVerificationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StrategyCanaryBackgroundVerification)(nil)).Elem() +} + +func (o StrategyCanaryBackgroundVerificationPtrOutput) ToStrategyCanaryBackgroundVerificationPtrOutput() StrategyCanaryBackgroundVerificationPtrOutput { + return o +} + +func (o StrategyCanaryBackgroundVerificationPtrOutput) ToStrategyCanaryBackgroundVerificationPtrOutputWithContext(ctx context.Context) StrategyCanaryBackgroundVerificationPtrOutput { + return o +} + +func (o StrategyCanaryBackgroundVerificationPtrOutput) Elem() StrategyCanaryBackgroundVerificationOutput { + return o.ApplyT(func(v *StrategyCanaryBackgroundVerification) StrategyCanaryBackgroundVerification { + if v != nil { + return *v + } + var ret StrategyCanaryBackgroundVerification + return ret + }).(StrategyCanaryBackgroundVerificationOutput) +} + +func (o StrategyCanaryBackgroundVerificationPtrOutput) TemplateNames() pulumi.StringArrayOutput { + return o.ApplyT(func(v *StrategyCanaryBackgroundVerification) []string { + if v == nil { + return nil + } + return v.TemplateNames + }).(pulumi.StringArrayOutput) +} + +type StrategyCanaryStep struct { + Pause *StrategyCanaryStepPause `pulumi:"pause"` + SetCanaryScale *StrategyCanaryStepSetCanaryScale `pulumi:"setCanaryScale"` + SetHeaderRoute *StrategyCanaryStepSetHeaderRoute `pulumi:"setHeaderRoute"` + SetWeight *int `pulumi:"setWeight"` + StepName *string `pulumi:"stepName"` + Verification *StrategyCanaryStepVerification `pulumi:"verification"` +} + +// StrategyCanaryStepInput is an input type that accepts StrategyCanaryStepArgs and StrategyCanaryStepOutput values. +// You can construct a concrete instance of `StrategyCanaryStepInput` via: +// +// StrategyCanaryStepArgs{...} +type StrategyCanaryStepInput interface { + pulumi.Input + + ToStrategyCanaryStepOutput() StrategyCanaryStepOutput + ToStrategyCanaryStepOutputWithContext(context.Context) StrategyCanaryStepOutput +} + +type StrategyCanaryStepArgs struct { + Pause StrategyCanaryStepPausePtrInput `pulumi:"pause"` + SetCanaryScale StrategyCanaryStepSetCanaryScalePtrInput `pulumi:"setCanaryScale"` + SetHeaderRoute StrategyCanaryStepSetHeaderRoutePtrInput `pulumi:"setHeaderRoute"` + SetWeight pulumi.IntPtrInput `pulumi:"setWeight"` + StepName pulumi.StringPtrInput `pulumi:"stepName"` + Verification StrategyCanaryStepVerificationPtrInput `pulumi:"verification"` +} + +func (StrategyCanaryStepArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StrategyCanaryStep)(nil)).Elem() +} + +func (i StrategyCanaryStepArgs) ToStrategyCanaryStepOutput() StrategyCanaryStepOutput { + return i.ToStrategyCanaryStepOutputWithContext(context.Background()) +} + +func (i StrategyCanaryStepArgs) ToStrategyCanaryStepOutputWithContext(ctx context.Context) StrategyCanaryStepOutput { + return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryStepOutput) +} + +// StrategyCanaryStepArrayInput is an input type that accepts StrategyCanaryStepArray and StrategyCanaryStepArrayOutput values. +// You can construct a concrete instance of `StrategyCanaryStepArrayInput` via: +// +// StrategyCanaryStepArray{ StrategyCanaryStepArgs{...} } +type StrategyCanaryStepArrayInput interface { + pulumi.Input + + ToStrategyCanaryStepArrayOutput() StrategyCanaryStepArrayOutput + ToStrategyCanaryStepArrayOutputWithContext(context.Context) StrategyCanaryStepArrayOutput +} + +type StrategyCanaryStepArray []StrategyCanaryStepInput + +func (StrategyCanaryStepArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]StrategyCanaryStep)(nil)).Elem() +} + +func (i StrategyCanaryStepArray) ToStrategyCanaryStepArrayOutput() StrategyCanaryStepArrayOutput { + return i.ToStrategyCanaryStepArrayOutputWithContext(context.Background()) +} + +func (i StrategyCanaryStepArray) ToStrategyCanaryStepArrayOutputWithContext(ctx context.Context) StrategyCanaryStepArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryStepArrayOutput) +} + +type StrategyCanaryStepOutput struct{ *pulumi.OutputState } + +func (StrategyCanaryStepOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StrategyCanaryStep)(nil)).Elem() +} + +func (o StrategyCanaryStepOutput) ToStrategyCanaryStepOutput() StrategyCanaryStepOutput { + return o +} + +func (o StrategyCanaryStepOutput) ToStrategyCanaryStepOutputWithContext(ctx context.Context) StrategyCanaryStepOutput { + return o +} + +func (o StrategyCanaryStepOutput) Pause() StrategyCanaryStepPausePtrOutput { + return o.ApplyT(func(v StrategyCanaryStep) *StrategyCanaryStepPause { return v.Pause }).(StrategyCanaryStepPausePtrOutput) +} + +func (o StrategyCanaryStepOutput) SetCanaryScale() StrategyCanaryStepSetCanaryScalePtrOutput { + return o.ApplyT(func(v StrategyCanaryStep) *StrategyCanaryStepSetCanaryScale { return v.SetCanaryScale }).(StrategyCanaryStepSetCanaryScalePtrOutput) +} + +func (o StrategyCanaryStepOutput) SetHeaderRoute() StrategyCanaryStepSetHeaderRoutePtrOutput { + return o.ApplyT(func(v StrategyCanaryStep) *StrategyCanaryStepSetHeaderRoute { return v.SetHeaderRoute }).(StrategyCanaryStepSetHeaderRoutePtrOutput) +} + +func (o StrategyCanaryStepOutput) SetWeight() pulumi.IntPtrOutput { + return o.ApplyT(func(v StrategyCanaryStep) *int { return v.SetWeight }).(pulumi.IntPtrOutput) +} + +func (o StrategyCanaryStepOutput) StepName() pulumi.StringPtrOutput { + return o.ApplyT(func(v StrategyCanaryStep) *string { return v.StepName }).(pulumi.StringPtrOutput) +} + +func (o StrategyCanaryStepOutput) Verification() StrategyCanaryStepVerificationPtrOutput { + return o.ApplyT(func(v StrategyCanaryStep) *StrategyCanaryStepVerification { return v.Verification }).(StrategyCanaryStepVerificationPtrOutput) +} + +type StrategyCanaryStepArrayOutput struct{ *pulumi.OutputState } + +func (StrategyCanaryStepArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]StrategyCanaryStep)(nil)).Elem() +} + +func (o StrategyCanaryStepArrayOutput) ToStrategyCanaryStepArrayOutput() StrategyCanaryStepArrayOutput { + return o +} + +func (o StrategyCanaryStepArrayOutput) ToStrategyCanaryStepArrayOutputWithContext(ctx context.Context) StrategyCanaryStepArrayOutput { + return o +} + +func (o StrategyCanaryStepArrayOutput) Index(i pulumi.IntInput) StrategyCanaryStepOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) StrategyCanaryStep { + return vs[0].([]StrategyCanaryStep)[vs[1].(int)] + }).(StrategyCanaryStepOutput) +} + +type StrategyCanaryStepPause struct { + Duration *string `pulumi:"duration"` +} + +// StrategyCanaryStepPauseInput is an input type that accepts StrategyCanaryStepPauseArgs and StrategyCanaryStepPauseOutput values. +// You can construct a concrete instance of `StrategyCanaryStepPauseInput` via: +// +// StrategyCanaryStepPauseArgs{...} +type StrategyCanaryStepPauseInput interface { + pulumi.Input + + ToStrategyCanaryStepPauseOutput() StrategyCanaryStepPauseOutput + ToStrategyCanaryStepPauseOutputWithContext(context.Context) StrategyCanaryStepPauseOutput +} + +type StrategyCanaryStepPauseArgs struct { + Duration pulumi.StringPtrInput `pulumi:"duration"` +} + +func (StrategyCanaryStepPauseArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StrategyCanaryStepPause)(nil)).Elem() +} + +func (i StrategyCanaryStepPauseArgs) ToStrategyCanaryStepPauseOutput() StrategyCanaryStepPauseOutput { + return i.ToStrategyCanaryStepPauseOutputWithContext(context.Background()) +} + +func (i StrategyCanaryStepPauseArgs) ToStrategyCanaryStepPauseOutputWithContext(ctx context.Context) StrategyCanaryStepPauseOutput { + return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryStepPauseOutput) +} + +func (i StrategyCanaryStepPauseArgs) ToStrategyCanaryStepPausePtrOutput() StrategyCanaryStepPausePtrOutput { + return i.ToStrategyCanaryStepPausePtrOutputWithContext(context.Background()) +} + +func (i StrategyCanaryStepPauseArgs) ToStrategyCanaryStepPausePtrOutputWithContext(ctx context.Context) StrategyCanaryStepPausePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryStepPauseOutput).ToStrategyCanaryStepPausePtrOutputWithContext(ctx) +} + +// StrategyCanaryStepPausePtrInput is an input type that accepts StrategyCanaryStepPauseArgs, StrategyCanaryStepPausePtr and StrategyCanaryStepPausePtrOutput values. +// You can construct a concrete instance of `StrategyCanaryStepPausePtrInput` via: +// +// StrategyCanaryStepPauseArgs{...} +// +// or: +// +// nil +type StrategyCanaryStepPausePtrInput interface { + pulumi.Input + + ToStrategyCanaryStepPausePtrOutput() StrategyCanaryStepPausePtrOutput + ToStrategyCanaryStepPausePtrOutputWithContext(context.Context) StrategyCanaryStepPausePtrOutput +} + +type strategyCanaryStepPausePtrType StrategyCanaryStepPauseArgs + +func StrategyCanaryStepPausePtr(v *StrategyCanaryStepPauseArgs) StrategyCanaryStepPausePtrInput { + return (*strategyCanaryStepPausePtrType)(v) +} + +func (*strategyCanaryStepPausePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**StrategyCanaryStepPause)(nil)).Elem() +} + +func (i *strategyCanaryStepPausePtrType) ToStrategyCanaryStepPausePtrOutput() StrategyCanaryStepPausePtrOutput { + return i.ToStrategyCanaryStepPausePtrOutputWithContext(context.Background()) +} + +func (i *strategyCanaryStepPausePtrType) ToStrategyCanaryStepPausePtrOutputWithContext(ctx context.Context) StrategyCanaryStepPausePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryStepPausePtrOutput) +} + +type StrategyCanaryStepPauseOutput struct{ *pulumi.OutputState } + +func (StrategyCanaryStepPauseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StrategyCanaryStepPause)(nil)).Elem() +} + +func (o StrategyCanaryStepPauseOutput) ToStrategyCanaryStepPauseOutput() StrategyCanaryStepPauseOutput { + return o +} + +func (o StrategyCanaryStepPauseOutput) ToStrategyCanaryStepPauseOutputWithContext(ctx context.Context) StrategyCanaryStepPauseOutput { + return o +} + +func (o StrategyCanaryStepPauseOutput) ToStrategyCanaryStepPausePtrOutput() StrategyCanaryStepPausePtrOutput { + return o.ToStrategyCanaryStepPausePtrOutputWithContext(context.Background()) +} + +func (o StrategyCanaryStepPauseOutput) ToStrategyCanaryStepPausePtrOutputWithContext(ctx context.Context) StrategyCanaryStepPausePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v StrategyCanaryStepPause) *StrategyCanaryStepPause { + return &v + }).(StrategyCanaryStepPausePtrOutput) +} + +func (o StrategyCanaryStepPauseOutput) Duration() pulumi.StringPtrOutput { + return o.ApplyT(func(v StrategyCanaryStepPause) *string { return v.Duration }).(pulumi.StringPtrOutput) +} + +type StrategyCanaryStepPausePtrOutput struct{ *pulumi.OutputState } + +func (StrategyCanaryStepPausePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StrategyCanaryStepPause)(nil)).Elem() +} + +func (o StrategyCanaryStepPausePtrOutput) ToStrategyCanaryStepPausePtrOutput() StrategyCanaryStepPausePtrOutput { + return o +} + +func (o StrategyCanaryStepPausePtrOutput) ToStrategyCanaryStepPausePtrOutputWithContext(ctx context.Context) StrategyCanaryStepPausePtrOutput { + return o +} + +func (o StrategyCanaryStepPausePtrOutput) Elem() StrategyCanaryStepPauseOutput { + return o.ApplyT(func(v *StrategyCanaryStepPause) StrategyCanaryStepPause { + if v != nil { + return *v + } + var ret StrategyCanaryStepPause + return ret + }).(StrategyCanaryStepPauseOutput) +} + +func (o StrategyCanaryStepPausePtrOutput) Duration() pulumi.StringPtrOutput { + return o.ApplyT(func(v *StrategyCanaryStepPause) *string { + if v == nil { + return nil + } + return v.Duration + }).(pulumi.StringPtrOutput) +} + +type StrategyCanaryStepSetCanaryScale struct { + MatchTrafficWeight *bool `pulumi:"matchTrafficWeight"` + Replicas *int `pulumi:"replicas"` + Weight *int `pulumi:"weight"` +} + +// StrategyCanaryStepSetCanaryScaleInput is an input type that accepts StrategyCanaryStepSetCanaryScaleArgs and StrategyCanaryStepSetCanaryScaleOutput values. +// You can construct a concrete instance of `StrategyCanaryStepSetCanaryScaleInput` via: +// +// StrategyCanaryStepSetCanaryScaleArgs{...} +type StrategyCanaryStepSetCanaryScaleInput interface { + pulumi.Input + + ToStrategyCanaryStepSetCanaryScaleOutput() StrategyCanaryStepSetCanaryScaleOutput + ToStrategyCanaryStepSetCanaryScaleOutputWithContext(context.Context) StrategyCanaryStepSetCanaryScaleOutput +} + +type StrategyCanaryStepSetCanaryScaleArgs struct { + MatchTrafficWeight pulumi.BoolPtrInput `pulumi:"matchTrafficWeight"` + Replicas pulumi.IntPtrInput `pulumi:"replicas"` + Weight pulumi.IntPtrInput `pulumi:"weight"` +} + +func (StrategyCanaryStepSetCanaryScaleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StrategyCanaryStepSetCanaryScale)(nil)).Elem() +} + +func (i StrategyCanaryStepSetCanaryScaleArgs) ToStrategyCanaryStepSetCanaryScaleOutput() StrategyCanaryStepSetCanaryScaleOutput { + return i.ToStrategyCanaryStepSetCanaryScaleOutputWithContext(context.Background()) +} + +func (i StrategyCanaryStepSetCanaryScaleArgs) ToStrategyCanaryStepSetCanaryScaleOutputWithContext(ctx context.Context) StrategyCanaryStepSetCanaryScaleOutput { + return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryStepSetCanaryScaleOutput) +} + +func (i StrategyCanaryStepSetCanaryScaleArgs) ToStrategyCanaryStepSetCanaryScalePtrOutput() StrategyCanaryStepSetCanaryScalePtrOutput { + return i.ToStrategyCanaryStepSetCanaryScalePtrOutputWithContext(context.Background()) +} + +func (i StrategyCanaryStepSetCanaryScaleArgs) ToStrategyCanaryStepSetCanaryScalePtrOutputWithContext(ctx context.Context) StrategyCanaryStepSetCanaryScalePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryStepSetCanaryScaleOutput).ToStrategyCanaryStepSetCanaryScalePtrOutputWithContext(ctx) +} + +// StrategyCanaryStepSetCanaryScalePtrInput is an input type that accepts StrategyCanaryStepSetCanaryScaleArgs, StrategyCanaryStepSetCanaryScalePtr and StrategyCanaryStepSetCanaryScalePtrOutput values. +// You can construct a concrete instance of `StrategyCanaryStepSetCanaryScalePtrInput` via: +// +// StrategyCanaryStepSetCanaryScaleArgs{...} +// +// or: +// +// nil +type StrategyCanaryStepSetCanaryScalePtrInput interface { + pulumi.Input + + ToStrategyCanaryStepSetCanaryScalePtrOutput() StrategyCanaryStepSetCanaryScalePtrOutput + ToStrategyCanaryStepSetCanaryScalePtrOutputWithContext(context.Context) StrategyCanaryStepSetCanaryScalePtrOutput +} + +type strategyCanaryStepSetCanaryScalePtrType StrategyCanaryStepSetCanaryScaleArgs + +func StrategyCanaryStepSetCanaryScalePtr(v *StrategyCanaryStepSetCanaryScaleArgs) StrategyCanaryStepSetCanaryScalePtrInput { + return (*strategyCanaryStepSetCanaryScalePtrType)(v) +} + +func (*strategyCanaryStepSetCanaryScalePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**StrategyCanaryStepSetCanaryScale)(nil)).Elem() +} + +func (i *strategyCanaryStepSetCanaryScalePtrType) ToStrategyCanaryStepSetCanaryScalePtrOutput() StrategyCanaryStepSetCanaryScalePtrOutput { + return i.ToStrategyCanaryStepSetCanaryScalePtrOutputWithContext(context.Background()) +} + +func (i *strategyCanaryStepSetCanaryScalePtrType) ToStrategyCanaryStepSetCanaryScalePtrOutputWithContext(ctx context.Context) StrategyCanaryStepSetCanaryScalePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryStepSetCanaryScalePtrOutput) +} + +type StrategyCanaryStepSetCanaryScaleOutput struct{ *pulumi.OutputState } + +func (StrategyCanaryStepSetCanaryScaleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StrategyCanaryStepSetCanaryScale)(nil)).Elem() +} + +func (o StrategyCanaryStepSetCanaryScaleOutput) ToStrategyCanaryStepSetCanaryScaleOutput() StrategyCanaryStepSetCanaryScaleOutput { + return o +} + +func (o StrategyCanaryStepSetCanaryScaleOutput) ToStrategyCanaryStepSetCanaryScaleOutputWithContext(ctx context.Context) StrategyCanaryStepSetCanaryScaleOutput { + return o +} + +func (o StrategyCanaryStepSetCanaryScaleOutput) ToStrategyCanaryStepSetCanaryScalePtrOutput() StrategyCanaryStepSetCanaryScalePtrOutput { + return o.ToStrategyCanaryStepSetCanaryScalePtrOutputWithContext(context.Background()) +} + +func (o StrategyCanaryStepSetCanaryScaleOutput) ToStrategyCanaryStepSetCanaryScalePtrOutputWithContext(ctx context.Context) StrategyCanaryStepSetCanaryScalePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v StrategyCanaryStepSetCanaryScale) *StrategyCanaryStepSetCanaryScale { + return &v + }).(StrategyCanaryStepSetCanaryScalePtrOutput) +} + +func (o StrategyCanaryStepSetCanaryScaleOutput) MatchTrafficWeight() pulumi.BoolPtrOutput { + return o.ApplyT(func(v StrategyCanaryStepSetCanaryScale) *bool { return v.MatchTrafficWeight }).(pulumi.BoolPtrOutput) +} + +func (o StrategyCanaryStepSetCanaryScaleOutput) Replicas() pulumi.IntPtrOutput { + return o.ApplyT(func(v StrategyCanaryStepSetCanaryScale) *int { return v.Replicas }).(pulumi.IntPtrOutput) +} + +func (o StrategyCanaryStepSetCanaryScaleOutput) Weight() pulumi.IntPtrOutput { + return o.ApplyT(func(v StrategyCanaryStepSetCanaryScale) *int { return v.Weight }).(pulumi.IntPtrOutput) +} + +type StrategyCanaryStepSetCanaryScalePtrOutput struct{ *pulumi.OutputState } + +func (StrategyCanaryStepSetCanaryScalePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StrategyCanaryStepSetCanaryScale)(nil)).Elem() +} + +func (o StrategyCanaryStepSetCanaryScalePtrOutput) ToStrategyCanaryStepSetCanaryScalePtrOutput() StrategyCanaryStepSetCanaryScalePtrOutput { + return o +} + +func (o StrategyCanaryStepSetCanaryScalePtrOutput) ToStrategyCanaryStepSetCanaryScalePtrOutputWithContext(ctx context.Context) StrategyCanaryStepSetCanaryScalePtrOutput { + return o +} + +func (o StrategyCanaryStepSetCanaryScalePtrOutput) Elem() StrategyCanaryStepSetCanaryScaleOutput { + return o.ApplyT(func(v *StrategyCanaryStepSetCanaryScale) StrategyCanaryStepSetCanaryScale { + if v != nil { + return *v + } + var ret StrategyCanaryStepSetCanaryScale + return ret + }).(StrategyCanaryStepSetCanaryScaleOutput) +} + +func (o StrategyCanaryStepSetCanaryScalePtrOutput) MatchTrafficWeight() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *StrategyCanaryStepSetCanaryScale) *bool { + if v == nil { + return nil + } + return v.MatchTrafficWeight + }).(pulumi.BoolPtrOutput) +} + +func (o StrategyCanaryStepSetCanaryScalePtrOutput) Replicas() pulumi.IntPtrOutput { + return o.ApplyT(func(v *StrategyCanaryStepSetCanaryScale) *int { + if v == nil { + return nil + } + return v.Replicas + }).(pulumi.IntPtrOutput) +} + +func (o StrategyCanaryStepSetCanaryScalePtrOutput) Weight() pulumi.IntPtrOutput { + return o.ApplyT(func(v *StrategyCanaryStepSetCanaryScale) *int { + if v == nil { + return nil + } + return v.Weight + }).(pulumi.IntPtrOutput) +} + +type StrategyCanaryStepSetHeaderRoute struct { + HeaderRouteName string `pulumi:"headerRouteName"` + Matches []StrategyCanaryStepSetHeaderRouteMatch `pulumi:"matches"` +} + +// StrategyCanaryStepSetHeaderRouteInput is an input type that accepts StrategyCanaryStepSetHeaderRouteArgs and StrategyCanaryStepSetHeaderRouteOutput values. +// You can construct a concrete instance of `StrategyCanaryStepSetHeaderRouteInput` via: +// +// StrategyCanaryStepSetHeaderRouteArgs{...} +type StrategyCanaryStepSetHeaderRouteInput interface { + pulumi.Input + + ToStrategyCanaryStepSetHeaderRouteOutput() StrategyCanaryStepSetHeaderRouteOutput + ToStrategyCanaryStepSetHeaderRouteOutputWithContext(context.Context) StrategyCanaryStepSetHeaderRouteOutput +} + +type StrategyCanaryStepSetHeaderRouteArgs struct { + HeaderRouteName pulumi.StringInput `pulumi:"headerRouteName"` + Matches StrategyCanaryStepSetHeaderRouteMatchArrayInput `pulumi:"matches"` +} + +func (StrategyCanaryStepSetHeaderRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StrategyCanaryStepSetHeaderRoute)(nil)).Elem() +} + +func (i StrategyCanaryStepSetHeaderRouteArgs) ToStrategyCanaryStepSetHeaderRouteOutput() StrategyCanaryStepSetHeaderRouteOutput { + return i.ToStrategyCanaryStepSetHeaderRouteOutputWithContext(context.Background()) +} + +func (i StrategyCanaryStepSetHeaderRouteArgs) ToStrategyCanaryStepSetHeaderRouteOutputWithContext(ctx context.Context) StrategyCanaryStepSetHeaderRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryStepSetHeaderRouteOutput) +} + +func (i StrategyCanaryStepSetHeaderRouteArgs) ToStrategyCanaryStepSetHeaderRoutePtrOutput() StrategyCanaryStepSetHeaderRoutePtrOutput { + return i.ToStrategyCanaryStepSetHeaderRoutePtrOutputWithContext(context.Background()) +} + +func (i StrategyCanaryStepSetHeaderRouteArgs) ToStrategyCanaryStepSetHeaderRoutePtrOutputWithContext(ctx context.Context) StrategyCanaryStepSetHeaderRoutePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryStepSetHeaderRouteOutput).ToStrategyCanaryStepSetHeaderRoutePtrOutputWithContext(ctx) +} + +// StrategyCanaryStepSetHeaderRoutePtrInput is an input type that accepts StrategyCanaryStepSetHeaderRouteArgs, StrategyCanaryStepSetHeaderRoutePtr and StrategyCanaryStepSetHeaderRoutePtrOutput values. +// You can construct a concrete instance of `StrategyCanaryStepSetHeaderRoutePtrInput` via: +// +// StrategyCanaryStepSetHeaderRouteArgs{...} +// +// or: +// +// nil +type StrategyCanaryStepSetHeaderRoutePtrInput interface { + pulumi.Input + + ToStrategyCanaryStepSetHeaderRoutePtrOutput() StrategyCanaryStepSetHeaderRoutePtrOutput + ToStrategyCanaryStepSetHeaderRoutePtrOutputWithContext(context.Context) StrategyCanaryStepSetHeaderRoutePtrOutput +} + +type strategyCanaryStepSetHeaderRoutePtrType StrategyCanaryStepSetHeaderRouteArgs + +func StrategyCanaryStepSetHeaderRoutePtr(v *StrategyCanaryStepSetHeaderRouteArgs) StrategyCanaryStepSetHeaderRoutePtrInput { + return (*strategyCanaryStepSetHeaderRoutePtrType)(v) +} + +func (*strategyCanaryStepSetHeaderRoutePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**StrategyCanaryStepSetHeaderRoute)(nil)).Elem() +} + +func (i *strategyCanaryStepSetHeaderRoutePtrType) ToStrategyCanaryStepSetHeaderRoutePtrOutput() StrategyCanaryStepSetHeaderRoutePtrOutput { + return i.ToStrategyCanaryStepSetHeaderRoutePtrOutputWithContext(context.Background()) +} + +func (i *strategyCanaryStepSetHeaderRoutePtrType) ToStrategyCanaryStepSetHeaderRoutePtrOutputWithContext(ctx context.Context) StrategyCanaryStepSetHeaderRoutePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryStepSetHeaderRoutePtrOutput) +} + +type StrategyCanaryStepSetHeaderRouteOutput struct{ *pulumi.OutputState } + +func (StrategyCanaryStepSetHeaderRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StrategyCanaryStepSetHeaderRoute)(nil)).Elem() +} + +func (o StrategyCanaryStepSetHeaderRouteOutput) ToStrategyCanaryStepSetHeaderRouteOutput() StrategyCanaryStepSetHeaderRouteOutput { + return o +} + +func (o StrategyCanaryStepSetHeaderRouteOutput) ToStrategyCanaryStepSetHeaderRouteOutputWithContext(ctx context.Context) StrategyCanaryStepSetHeaderRouteOutput { + return o +} + +func (o StrategyCanaryStepSetHeaderRouteOutput) ToStrategyCanaryStepSetHeaderRoutePtrOutput() StrategyCanaryStepSetHeaderRoutePtrOutput { + return o.ToStrategyCanaryStepSetHeaderRoutePtrOutputWithContext(context.Background()) +} + +func (o StrategyCanaryStepSetHeaderRouteOutput) ToStrategyCanaryStepSetHeaderRoutePtrOutputWithContext(ctx context.Context) StrategyCanaryStepSetHeaderRoutePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v StrategyCanaryStepSetHeaderRoute) *StrategyCanaryStepSetHeaderRoute { + return &v + }).(StrategyCanaryStepSetHeaderRoutePtrOutput) +} + +func (o StrategyCanaryStepSetHeaderRouteOutput) HeaderRouteName() pulumi.StringOutput { + return o.ApplyT(func(v StrategyCanaryStepSetHeaderRoute) string { return v.HeaderRouteName }).(pulumi.StringOutput) +} + +func (o StrategyCanaryStepSetHeaderRouteOutput) Matches() StrategyCanaryStepSetHeaderRouteMatchArrayOutput { + return o.ApplyT(func(v StrategyCanaryStepSetHeaderRoute) []StrategyCanaryStepSetHeaderRouteMatch { return v.Matches }).(StrategyCanaryStepSetHeaderRouteMatchArrayOutput) +} + +type StrategyCanaryStepSetHeaderRoutePtrOutput struct{ *pulumi.OutputState } + +func (StrategyCanaryStepSetHeaderRoutePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StrategyCanaryStepSetHeaderRoute)(nil)).Elem() +} + +func (o StrategyCanaryStepSetHeaderRoutePtrOutput) ToStrategyCanaryStepSetHeaderRoutePtrOutput() StrategyCanaryStepSetHeaderRoutePtrOutput { + return o +} + +func (o StrategyCanaryStepSetHeaderRoutePtrOutput) ToStrategyCanaryStepSetHeaderRoutePtrOutputWithContext(ctx context.Context) StrategyCanaryStepSetHeaderRoutePtrOutput { + return o +} + +func (o StrategyCanaryStepSetHeaderRoutePtrOutput) Elem() StrategyCanaryStepSetHeaderRouteOutput { + return o.ApplyT(func(v *StrategyCanaryStepSetHeaderRoute) StrategyCanaryStepSetHeaderRoute { + if v != nil { + return *v + } + var ret StrategyCanaryStepSetHeaderRoute + return ret + }).(StrategyCanaryStepSetHeaderRouteOutput) +} + +func (o StrategyCanaryStepSetHeaderRoutePtrOutput) HeaderRouteName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *StrategyCanaryStepSetHeaderRoute) *string { + if v == nil { + return nil + } + return &v.HeaderRouteName + }).(pulumi.StringPtrOutput) +} + +func (o StrategyCanaryStepSetHeaderRoutePtrOutput) Matches() StrategyCanaryStepSetHeaderRouteMatchArrayOutput { + return o.ApplyT(func(v *StrategyCanaryStepSetHeaderRoute) []StrategyCanaryStepSetHeaderRouteMatch { + if v == nil { + return nil + } + return v.Matches + }).(StrategyCanaryStepSetHeaderRouteMatchArrayOutput) +} + +type StrategyCanaryStepSetHeaderRouteMatch struct { + HeaderName string `pulumi:"headerName"` + HeaderValue StrategyCanaryStepSetHeaderRouteMatchHeaderValue `pulumi:"headerValue"` +} + +// StrategyCanaryStepSetHeaderRouteMatchInput is an input type that accepts StrategyCanaryStepSetHeaderRouteMatchArgs and StrategyCanaryStepSetHeaderRouteMatchOutput values. +// You can construct a concrete instance of `StrategyCanaryStepSetHeaderRouteMatchInput` via: +// +// StrategyCanaryStepSetHeaderRouteMatchArgs{...} +type StrategyCanaryStepSetHeaderRouteMatchInput interface { + pulumi.Input + + ToStrategyCanaryStepSetHeaderRouteMatchOutput() StrategyCanaryStepSetHeaderRouteMatchOutput + ToStrategyCanaryStepSetHeaderRouteMatchOutputWithContext(context.Context) StrategyCanaryStepSetHeaderRouteMatchOutput +} + +type StrategyCanaryStepSetHeaderRouteMatchArgs struct { + HeaderName pulumi.StringInput `pulumi:"headerName"` + HeaderValue StrategyCanaryStepSetHeaderRouteMatchHeaderValueInput `pulumi:"headerValue"` +} + +func (StrategyCanaryStepSetHeaderRouteMatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StrategyCanaryStepSetHeaderRouteMatch)(nil)).Elem() +} + +func (i StrategyCanaryStepSetHeaderRouteMatchArgs) ToStrategyCanaryStepSetHeaderRouteMatchOutput() StrategyCanaryStepSetHeaderRouteMatchOutput { + return i.ToStrategyCanaryStepSetHeaderRouteMatchOutputWithContext(context.Background()) +} + +func (i StrategyCanaryStepSetHeaderRouteMatchArgs) ToStrategyCanaryStepSetHeaderRouteMatchOutputWithContext(ctx context.Context) StrategyCanaryStepSetHeaderRouteMatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryStepSetHeaderRouteMatchOutput) +} + +// StrategyCanaryStepSetHeaderRouteMatchArrayInput is an input type that accepts StrategyCanaryStepSetHeaderRouteMatchArray and StrategyCanaryStepSetHeaderRouteMatchArrayOutput values. +// You can construct a concrete instance of `StrategyCanaryStepSetHeaderRouteMatchArrayInput` via: +// +// StrategyCanaryStepSetHeaderRouteMatchArray{ StrategyCanaryStepSetHeaderRouteMatchArgs{...} } +type StrategyCanaryStepSetHeaderRouteMatchArrayInput interface { + pulumi.Input + + ToStrategyCanaryStepSetHeaderRouteMatchArrayOutput() StrategyCanaryStepSetHeaderRouteMatchArrayOutput + ToStrategyCanaryStepSetHeaderRouteMatchArrayOutputWithContext(context.Context) StrategyCanaryStepSetHeaderRouteMatchArrayOutput +} + +type StrategyCanaryStepSetHeaderRouteMatchArray []StrategyCanaryStepSetHeaderRouteMatchInput + +func (StrategyCanaryStepSetHeaderRouteMatchArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]StrategyCanaryStepSetHeaderRouteMatch)(nil)).Elem() +} + +func (i StrategyCanaryStepSetHeaderRouteMatchArray) ToStrategyCanaryStepSetHeaderRouteMatchArrayOutput() StrategyCanaryStepSetHeaderRouteMatchArrayOutput { + return i.ToStrategyCanaryStepSetHeaderRouteMatchArrayOutputWithContext(context.Background()) +} + +func (i StrategyCanaryStepSetHeaderRouteMatchArray) ToStrategyCanaryStepSetHeaderRouteMatchArrayOutputWithContext(ctx context.Context) StrategyCanaryStepSetHeaderRouteMatchArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryStepSetHeaderRouteMatchArrayOutput) +} + +type StrategyCanaryStepSetHeaderRouteMatchOutput struct{ *pulumi.OutputState } + +func (StrategyCanaryStepSetHeaderRouteMatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StrategyCanaryStepSetHeaderRouteMatch)(nil)).Elem() +} + +func (o StrategyCanaryStepSetHeaderRouteMatchOutput) ToStrategyCanaryStepSetHeaderRouteMatchOutput() StrategyCanaryStepSetHeaderRouteMatchOutput { + return o +} + +func (o StrategyCanaryStepSetHeaderRouteMatchOutput) ToStrategyCanaryStepSetHeaderRouteMatchOutputWithContext(ctx context.Context) StrategyCanaryStepSetHeaderRouteMatchOutput { + return o +} + +func (o StrategyCanaryStepSetHeaderRouteMatchOutput) HeaderName() pulumi.StringOutput { + return o.ApplyT(func(v StrategyCanaryStepSetHeaderRouteMatch) string { return v.HeaderName }).(pulumi.StringOutput) +} + +func (o StrategyCanaryStepSetHeaderRouteMatchOutput) HeaderValue() StrategyCanaryStepSetHeaderRouteMatchHeaderValueOutput { + return o.ApplyT(func(v StrategyCanaryStepSetHeaderRouteMatch) StrategyCanaryStepSetHeaderRouteMatchHeaderValue { + return v.HeaderValue + }).(StrategyCanaryStepSetHeaderRouteMatchHeaderValueOutput) +} + +type StrategyCanaryStepSetHeaderRouteMatchArrayOutput struct{ *pulumi.OutputState } + +func (StrategyCanaryStepSetHeaderRouteMatchArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]StrategyCanaryStepSetHeaderRouteMatch)(nil)).Elem() +} + +func (o StrategyCanaryStepSetHeaderRouteMatchArrayOutput) ToStrategyCanaryStepSetHeaderRouteMatchArrayOutput() StrategyCanaryStepSetHeaderRouteMatchArrayOutput { + return o +} + +func (o StrategyCanaryStepSetHeaderRouteMatchArrayOutput) ToStrategyCanaryStepSetHeaderRouteMatchArrayOutputWithContext(ctx context.Context) StrategyCanaryStepSetHeaderRouteMatchArrayOutput { + return o +} + +func (o StrategyCanaryStepSetHeaderRouteMatchArrayOutput) Index(i pulumi.IntInput) StrategyCanaryStepSetHeaderRouteMatchOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) StrategyCanaryStepSetHeaderRouteMatch { + return vs[0].([]StrategyCanaryStepSetHeaderRouteMatch)[vs[1].(int)] + }).(StrategyCanaryStepSetHeaderRouteMatchOutput) +} + +type StrategyCanaryStepSetHeaderRouteMatchHeaderValue struct { + Exact *string `pulumi:"exact"` + Prefix *string `pulumi:"prefix"` + Regex *string `pulumi:"regex"` +} + +// StrategyCanaryStepSetHeaderRouteMatchHeaderValueInput is an input type that accepts StrategyCanaryStepSetHeaderRouteMatchHeaderValueArgs and StrategyCanaryStepSetHeaderRouteMatchHeaderValueOutput values. +// You can construct a concrete instance of `StrategyCanaryStepSetHeaderRouteMatchHeaderValueInput` via: +// +// StrategyCanaryStepSetHeaderRouteMatchHeaderValueArgs{...} +type StrategyCanaryStepSetHeaderRouteMatchHeaderValueInput interface { + pulumi.Input + + ToStrategyCanaryStepSetHeaderRouteMatchHeaderValueOutput() StrategyCanaryStepSetHeaderRouteMatchHeaderValueOutput + ToStrategyCanaryStepSetHeaderRouteMatchHeaderValueOutputWithContext(context.Context) StrategyCanaryStepSetHeaderRouteMatchHeaderValueOutput +} + +type StrategyCanaryStepSetHeaderRouteMatchHeaderValueArgs struct { + Exact pulumi.StringPtrInput `pulumi:"exact"` + Prefix pulumi.StringPtrInput `pulumi:"prefix"` + Regex pulumi.StringPtrInput `pulumi:"regex"` +} + +func (StrategyCanaryStepSetHeaderRouteMatchHeaderValueArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StrategyCanaryStepSetHeaderRouteMatchHeaderValue)(nil)).Elem() +} + +func (i StrategyCanaryStepSetHeaderRouteMatchHeaderValueArgs) ToStrategyCanaryStepSetHeaderRouteMatchHeaderValueOutput() StrategyCanaryStepSetHeaderRouteMatchHeaderValueOutput { + return i.ToStrategyCanaryStepSetHeaderRouteMatchHeaderValueOutputWithContext(context.Background()) +} + +func (i StrategyCanaryStepSetHeaderRouteMatchHeaderValueArgs) ToStrategyCanaryStepSetHeaderRouteMatchHeaderValueOutputWithContext(ctx context.Context) StrategyCanaryStepSetHeaderRouteMatchHeaderValueOutput { + return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryStepSetHeaderRouteMatchHeaderValueOutput) +} + +type StrategyCanaryStepSetHeaderRouteMatchHeaderValueOutput struct{ *pulumi.OutputState } + +func (StrategyCanaryStepSetHeaderRouteMatchHeaderValueOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StrategyCanaryStepSetHeaderRouteMatchHeaderValue)(nil)).Elem() +} + +func (o StrategyCanaryStepSetHeaderRouteMatchHeaderValueOutput) ToStrategyCanaryStepSetHeaderRouteMatchHeaderValueOutput() StrategyCanaryStepSetHeaderRouteMatchHeaderValueOutput { + return o +} + +func (o StrategyCanaryStepSetHeaderRouteMatchHeaderValueOutput) ToStrategyCanaryStepSetHeaderRouteMatchHeaderValueOutputWithContext(ctx context.Context) StrategyCanaryStepSetHeaderRouteMatchHeaderValueOutput { + return o +} + +func (o StrategyCanaryStepSetHeaderRouteMatchHeaderValueOutput) Exact() pulumi.StringPtrOutput { + return o.ApplyT(func(v StrategyCanaryStepSetHeaderRouteMatchHeaderValue) *string { return v.Exact }).(pulumi.StringPtrOutput) +} + +func (o StrategyCanaryStepSetHeaderRouteMatchHeaderValueOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v StrategyCanaryStepSetHeaderRouteMatchHeaderValue) *string { return v.Prefix }).(pulumi.StringPtrOutput) +} + +func (o StrategyCanaryStepSetHeaderRouteMatchHeaderValueOutput) Regex() pulumi.StringPtrOutput { + return o.ApplyT(func(v StrategyCanaryStepSetHeaderRouteMatchHeaderValue) *string { return v.Regex }).(pulumi.StringPtrOutput) +} + +type StrategyCanaryStepVerification struct { + TemplateNames []string `pulumi:"templateNames"` +} + +// StrategyCanaryStepVerificationInput is an input type that accepts StrategyCanaryStepVerificationArgs and StrategyCanaryStepVerificationOutput values. +// You can construct a concrete instance of `StrategyCanaryStepVerificationInput` via: +// +// StrategyCanaryStepVerificationArgs{...} +type StrategyCanaryStepVerificationInput interface { + pulumi.Input + + ToStrategyCanaryStepVerificationOutput() StrategyCanaryStepVerificationOutput + ToStrategyCanaryStepVerificationOutputWithContext(context.Context) StrategyCanaryStepVerificationOutput +} + +type StrategyCanaryStepVerificationArgs struct { + TemplateNames pulumi.StringArrayInput `pulumi:"templateNames"` +} + +func (StrategyCanaryStepVerificationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StrategyCanaryStepVerification)(nil)).Elem() +} + +func (i StrategyCanaryStepVerificationArgs) ToStrategyCanaryStepVerificationOutput() StrategyCanaryStepVerificationOutput { + return i.ToStrategyCanaryStepVerificationOutputWithContext(context.Background()) +} + +func (i StrategyCanaryStepVerificationArgs) ToStrategyCanaryStepVerificationOutputWithContext(ctx context.Context) StrategyCanaryStepVerificationOutput { + return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryStepVerificationOutput) +} + +func (i StrategyCanaryStepVerificationArgs) ToStrategyCanaryStepVerificationPtrOutput() StrategyCanaryStepVerificationPtrOutput { + return i.ToStrategyCanaryStepVerificationPtrOutputWithContext(context.Background()) +} + +func (i StrategyCanaryStepVerificationArgs) ToStrategyCanaryStepVerificationPtrOutputWithContext(ctx context.Context) StrategyCanaryStepVerificationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryStepVerificationOutput).ToStrategyCanaryStepVerificationPtrOutputWithContext(ctx) +} + +// StrategyCanaryStepVerificationPtrInput is an input type that accepts StrategyCanaryStepVerificationArgs, StrategyCanaryStepVerificationPtr and StrategyCanaryStepVerificationPtrOutput values. +// You can construct a concrete instance of `StrategyCanaryStepVerificationPtrInput` via: +// +// StrategyCanaryStepVerificationArgs{...} +// +// or: +// +// nil +type StrategyCanaryStepVerificationPtrInput interface { + pulumi.Input + + ToStrategyCanaryStepVerificationPtrOutput() StrategyCanaryStepVerificationPtrOutput + ToStrategyCanaryStepVerificationPtrOutputWithContext(context.Context) StrategyCanaryStepVerificationPtrOutput +} + +type strategyCanaryStepVerificationPtrType StrategyCanaryStepVerificationArgs + +func StrategyCanaryStepVerificationPtr(v *StrategyCanaryStepVerificationArgs) StrategyCanaryStepVerificationPtrInput { + return (*strategyCanaryStepVerificationPtrType)(v) +} + +func (*strategyCanaryStepVerificationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**StrategyCanaryStepVerification)(nil)).Elem() +} + +func (i *strategyCanaryStepVerificationPtrType) ToStrategyCanaryStepVerificationPtrOutput() StrategyCanaryStepVerificationPtrOutput { + return i.ToStrategyCanaryStepVerificationPtrOutputWithContext(context.Background()) +} + +func (i *strategyCanaryStepVerificationPtrType) ToStrategyCanaryStepVerificationPtrOutputWithContext(ctx context.Context) StrategyCanaryStepVerificationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryStepVerificationPtrOutput) +} + +type StrategyCanaryStepVerificationOutput struct{ *pulumi.OutputState } + +func (StrategyCanaryStepVerificationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StrategyCanaryStepVerification)(nil)).Elem() +} + +func (o StrategyCanaryStepVerificationOutput) ToStrategyCanaryStepVerificationOutput() StrategyCanaryStepVerificationOutput { + return o +} + +func (o StrategyCanaryStepVerificationOutput) ToStrategyCanaryStepVerificationOutputWithContext(ctx context.Context) StrategyCanaryStepVerificationOutput { + return o +} + +func (o StrategyCanaryStepVerificationOutput) ToStrategyCanaryStepVerificationPtrOutput() StrategyCanaryStepVerificationPtrOutput { + return o.ToStrategyCanaryStepVerificationPtrOutputWithContext(context.Background()) +} + +func (o StrategyCanaryStepVerificationOutput) ToStrategyCanaryStepVerificationPtrOutputWithContext(ctx context.Context) StrategyCanaryStepVerificationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v StrategyCanaryStepVerification) *StrategyCanaryStepVerification { + return &v + }).(StrategyCanaryStepVerificationPtrOutput) +} + +func (o StrategyCanaryStepVerificationOutput) TemplateNames() pulumi.StringArrayOutput { + return o.ApplyT(func(v StrategyCanaryStepVerification) []string { return v.TemplateNames }).(pulumi.StringArrayOutput) +} + +type StrategyCanaryStepVerificationPtrOutput struct{ *pulumi.OutputState } + +func (StrategyCanaryStepVerificationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StrategyCanaryStepVerification)(nil)).Elem() +} + +func (o StrategyCanaryStepVerificationPtrOutput) ToStrategyCanaryStepVerificationPtrOutput() StrategyCanaryStepVerificationPtrOutput { + return o +} + +func (o StrategyCanaryStepVerificationPtrOutput) ToStrategyCanaryStepVerificationPtrOutputWithContext(ctx context.Context) StrategyCanaryStepVerificationPtrOutput { + return o +} + +func (o StrategyCanaryStepVerificationPtrOutput) Elem() StrategyCanaryStepVerificationOutput { + return o.ApplyT(func(v *StrategyCanaryStepVerification) StrategyCanaryStepVerification { + if v != nil { + return *v + } + var ret StrategyCanaryStepVerification + return ret + }).(StrategyCanaryStepVerificationOutput) +} + +func (o StrategyCanaryStepVerificationPtrOutput) TemplateNames() pulumi.StringArrayOutput { + return o.ApplyT(func(v *StrategyCanaryStepVerification) []string { + if v == nil { + return nil + } + return v.TemplateNames + }).(pulumi.StringArrayOutput) +} + +type StrategyRolling struct { + // A set of separate conditions of rollout processing. + Steps []StrategyRollingStep `pulumi:"steps"` +} + +// StrategyRollingInput is an input type that accepts StrategyRollingArgs and StrategyRollingOutput values. +// You can construct a concrete instance of `StrategyRollingInput` via: +// +// StrategyRollingArgs{...} +type StrategyRollingInput interface { + pulumi.Input + + ToStrategyRollingOutput() StrategyRollingOutput + ToStrategyRollingOutputWithContext(context.Context) StrategyRollingOutput +} + +type StrategyRollingArgs struct { + // A set of separate conditions of rollout processing. + Steps StrategyRollingStepArrayInput `pulumi:"steps"` +} + +func (StrategyRollingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StrategyRolling)(nil)).Elem() +} + +func (i StrategyRollingArgs) ToStrategyRollingOutput() StrategyRollingOutput { + return i.ToStrategyRollingOutputWithContext(context.Background()) +} + +func (i StrategyRollingArgs) ToStrategyRollingOutputWithContext(ctx context.Context) StrategyRollingOutput { + return pulumi.ToOutputWithContext(ctx, i).(StrategyRollingOutput) +} + +func (i StrategyRollingArgs) ToStrategyRollingPtrOutput() StrategyRollingPtrOutput { + return i.ToStrategyRollingPtrOutputWithContext(context.Background()) +} + +func (i StrategyRollingArgs) ToStrategyRollingPtrOutputWithContext(ctx context.Context) StrategyRollingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StrategyRollingOutput).ToStrategyRollingPtrOutputWithContext(ctx) +} + +// StrategyRollingPtrInput is an input type that accepts StrategyRollingArgs, StrategyRollingPtr and StrategyRollingPtrOutput values. +// You can construct a concrete instance of `StrategyRollingPtrInput` via: +// +// StrategyRollingArgs{...} +// +// or: +// +// nil +type StrategyRollingPtrInput interface { + pulumi.Input + + ToStrategyRollingPtrOutput() StrategyRollingPtrOutput + ToStrategyRollingPtrOutputWithContext(context.Context) StrategyRollingPtrOutput +} + +type strategyRollingPtrType StrategyRollingArgs + +func StrategyRollingPtr(v *StrategyRollingArgs) StrategyRollingPtrInput { + return (*strategyRollingPtrType)(v) +} + +func (*strategyRollingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**StrategyRolling)(nil)).Elem() +} + +func (i *strategyRollingPtrType) ToStrategyRollingPtrOutput() StrategyRollingPtrOutput { + return i.ToStrategyRollingPtrOutputWithContext(context.Background()) +} + +func (i *strategyRollingPtrType) ToStrategyRollingPtrOutputWithContext(ctx context.Context) StrategyRollingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StrategyRollingPtrOutput) +} + +type StrategyRollingOutput struct{ *pulumi.OutputState } + +func (StrategyRollingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StrategyRolling)(nil)).Elem() +} + +func (o StrategyRollingOutput) ToStrategyRollingOutput() StrategyRollingOutput { + return o +} + +func (o StrategyRollingOutput) ToStrategyRollingOutputWithContext(ctx context.Context) StrategyRollingOutput { + return o +} + +func (o StrategyRollingOutput) ToStrategyRollingPtrOutput() StrategyRollingPtrOutput { + return o.ToStrategyRollingPtrOutputWithContext(context.Background()) +} + +func (o StrategyRollingOutput) ToStrategyRollingPtrOutputWithContext(ctx context.Context) StrategyRollingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v StrategyRolling) *StrategyRolling { + return &v + }).(StrategyRollingPtrOutput) +} + +// A set of separate conditions of rollout processing. +func (o StrategyRollingOutput) Steps() StrategyRollingStepArrayOutput { + return o.ApplyT(func(v StrategyRolling) []StrategyRollingStep { return v.Steps }).(StrategyRollingStepArrayOutput) +} + +type StrategyRollingPtrOutput struct{ *pulumi.OutputState } + +func (StrategyRollingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StrategyRolling)(nil)).Elem() +} + +func (o StrategyRollingPtrOutput) ToStrategyRollingPtrOutput() StrategyRollingPtrOutput { + return o +} + +func (o StrategyRollingPtrOutput) ToStrategyRollingPtrOutputWithContext(ctx context.Context) StrategyRollingPtrOutput { + return o +} + +func (o StrategyRollingPtrOutput) Elem() StrategyRollingOutput { + return o.ApplyT(func(v *StrategyRolling) StrategyRolling { + if v != nil { + return *v + } + var ret StrategyRolling + return ret + }).(StrategyRollingOutput) +} + +// A set of separate conditions of rollout processing. +func (o StrategyRollingPtrOutput) Steps() StrategyRollingStepArrayOutput { + return o.ApplyT(func(v *StrategyRolling) []StrategyRollingStep { + if v == nil { + return nil + } + return v.Steps + }).(StrategyRollingStepArrayOutput) +} + +type StrategyRollingStep struct { + Pause *StrategyRollingStepPause `pulumi:"pause"` + StepsName *string `pulumi:"stepsName"` + Verification *StrategyRollingStepVerification `pulumi:"verification"` +} + +// StrategyRollingStepInput is an input type that accepts StrategyRollingStepArgs and StrategyRollingStepOutput values. +// You can construct a concrete instance of `StrategyRollingStepInput` via: +// +// StrategyRollingStepArgs{...} +type StrategyRollingStepInput interface { + pulumi.Input + + ToStrategyRollingStepOutput() StrategyRollingStepOutput + ToStrategyRollingStepOutputWithContext(context.Context) StrategyRollingStepOutput +} + +type StrategyRollingStepArgs struct { + Pause StrategyRollingStepPausePtrInput `pulumi:"pause"` + StepsName pulumi.StringPtrInput `pulumi:"stepsName"` + Verification StrategyRollingStepVerificationPtrInput `pulumi:"verification"` +} + +func (StrategyRollingStepArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StrategyRollingStep)(nil)).Elem() +} + +func (i StrategyRollingStepArgs) ToStrategyRollingStepOutput() StrategyRollingStepOutput { + return i.ToStrategyRollingStepOutputWithContext(context.Background()) +} + +func (i StrategyRollingStepArgs) ToStrategyRollingStepOutputWithContext(ctx context.Context) StrategyRollingStepOutput { + return pulumi.ToOutputWithContext(ctx, i).(StrategyRollingStepOutput) +} + +// StrategyRollingStepArrayInput is an input type that accepts StrategyRollingStepArray and StrategyRollingStepArrayOutput values. +// You can construct a concrete instance of `StrategyRollingStepArrayInput` via: +// +// StrategyRollingStepArray{ StrategyRollingStepArgs{...} } +type StrategyRollingStepArrayInput interface { + pulumi.Input + + ToStrategyRollingStepArrayOutput() StrategyRollingStepArrayOutput + ToStrategyRollingStepArrayOutputWithContext(context.Context) StrategyRollingStepArrayOutput +} + +type StrategyRollingStepArray []StrategyRollingStepInput + +func (StrategyRollingStepArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]StrategyRollingStep)(nil)).Elem() +} + +func (i StrategyRollingStepArray) ToStrategyRollingStepArrayOutput() StrategyRollingStepArrayOutput { + return i.ToStrategyRollingStepArrayOutputWithContext(context.Background()) +} + +func (i StrategyRollingStepArray) ToStrategyRollingStepArrayOutputWithContext(ctx context.Context) StrategyRollingStepArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(StrategyRollingStepArrayOutput) +} + +type StrategyRollingStepOutput struct{ *pulumi.OutputState } + +func (StrategyRollingStepOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StrategyRollingStep)(nil)).Elem() +} + +func (o StrategyRollingStepOutput) ToStrategyRollingStepOutput() StrategyRollingStepOutput { + return o +} + +func (o StrategyRollingStepOutput) ToStrategyRollingStepOutputWithContext(ctx context.Context) StrategyRollingStepOutput { + return o +} + +func (o StrategyRollingStepOutput) Pause() StrategyRollingStepPausePtrOutput { + return o.ApplyT(func(v StrategyRollingStep) *StrategyRollingStepPause { return v.Pause }).(StrategyRollingStepPausePtrOutput) +} + +func (o StrategyRollingStepOutput) StepsName() pulumi.StringPtrOutput { + return o.ApplyT(func(v StrategyRollingStep) *string { return v.StepsName }).(pulumi.StringPtrOutput) +} + +func (o StrategyRollingStepOutput) Verification() StrategyRollingStepVerificationPtrOutput { + return o.ApplyT(func(v StrategyRollingStep) *StrategyRollingStepVerification { return v.Verification }).(StrategyRollingStepVerificationPtrOutput) +} + +type StrategyRollingStepArrayOutput struct{ *pulumi.OutputState } + +func (StrategyRollingStepArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]StrategyRollingStep)(nil)).Elem() +} + +func (o StrategyRollingStepArrayOutput) ToStrategyRollingStepArrayOutput() StrategyRollingStepArrayOutput { + return o +} + +func (o StrategyRollingStepArrayOutput) ToStrategyRollingStepArrayOutputWithContext(ctx context.Context) StrategyRollingStepArrayOutput { + return o +} + +func (o StrategyRollingStepArrayOutput) Index(i pulumi.IntInput) StrategyRollingStepOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) StrategyRollingStep { + return vs[0].([]StrategyRollingStep)[vs[1].(int)] + }).(StrategyRollingStepOutput) +} + +type StrategyRollingStepPause struct { + Duration *string `pulumi:"duration"` +} + +// StrategyRollingStepPauseInput is an input type that accepts StrategyRollingStepPauseArgs and StrategyRollingStepPauseOutput values. +// You can construct a concrete instance of `StrategyRollingStepPauseInput` via: +// +// StrategyRollingStepPauseArgs{...} +type StrategyRollingStepPauseInput interface { + pulumi.Input + + ToStrategyRollingStepPauseOutput() StrategyRollingStepPauseOutput + ToStrategyRollingStepPauseOutputWithContext(context.Context) StrategyRollingStepPauseOutput +} + +type StrategyRollingStepPauseArgs struct { + Duration pulumi.StringPtrInput `pulumi:"duration"` +} + +func (StrategyRollingStepPauseArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StrategyRollingStepPause)(nil)).Elem() +} + +func (i StrategyRollingStepPauseArgs) ToStrategyRollingStepPauseOutput() StrategyRollingStepPauseOutput { + return i.ToStrategyRollingStepPauseOutputWithContext(context.Background()) +} + +func (i StrategyRollingStepPauseArgs) ToStrategyRollingStepPauseOutputWithContext(ctx context.Context) StrategyRollingStepPauseOutput { + return pulumi.ToOutputWithContext(ctx, i).(StrategyRollingStepPauseOutput) +} + +func (i StrategyRollingStepPauseArgs) ToStrategyRollingStepPausePtrOutput() StrategyRollingStepPausePtrOutput { + return i.ToStrategyRollingStepPausePtrOutputWithContext(context.Background()) +} + +func (i StrategyRollingStepPauseArgs) ToStrategyRollingStepPausePtrOutputWithContext(ctx context.Context) StrategyRollingStepPausePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StrategyRollingStepPauseOutput).ToStrategyRollingStepPausePtrOutputWithContext(ctx) +} + +// StrategyRollingStepPausePtrInput is an input type that accepts StrategyRollingStepPauseArgs, StrategyRollingStepPausePtr and StrategyRollingStepPausePtrOutput values. +// You can construct a concrete instance of `StrategyRollingStepPausePtrInput` via: +// +// StrategyRollingStepPauseArgs{...} +// +// or: +// +// nil +type StrategyRollingStepPausePtrInput interface { + pulumi.Input + + ToStrategyRollingStepPausePtrOutput() StrategyRollingStepPausePtrOutput + ToStrategyRollingStepPausePtrOutputWithContext(context.Context) StrategyRollingStepPausePtrOutput +} + +type strategyRollingStepPausePtrType StrategyRollingStepPauseArgs + +func StrategyRollingStepPausePtr(v *StrategyRollingStepPauseArgs) StrategyRollingStepPausePtrInput { + return (*strategyRollingStepPausePtrType)(v) +} + +func (*strategyRollingStepPausePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**StrategyRollingStepPause)(nil)).Elem() +} + +func (i *strategyRollingStepPausePtrType) ToStrategyRollingStepPausePtrOutput() StrategyRollingStepPausePtrOutput { + return i.ToStrategyRollingStepPausePtrOutputWithContext(context.Background()) +} + +func (i *strategyRollingStepPausePtrType) ToStrategyRollingStepPausePtrOutputWithContext(ctx context.Context) StrategyRollingStepPausePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StrategyRollingStepPausePtrOutput) +} + +type StrategyRollingStepPauseOutput struct{ *pulumi.OutputState } + +func (StrategyRollingStepPauseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StrategyRollingStepPause)(nil)).Elem() +} + +func (o StrategyRollingStepPauseOutput) ToStrategyRollingStepPauseOutput() StrategyRollingStepPauseOutput { + return o +} + +func (o StrategyRollingStepPauseOutput) ToStrategyRollingStepPauseOutputWithContext(ctx context.Context) StrategyRollingStepPauseOutput { + return o +} + +func (o StrategyRollingStepPauseOutput) ToStrategyRollingStepPausePtrOutput() StrategyRollingStepPausePtrOutput { + return o.ToStrategyRollingStepPausePtrOutputWithContext(context.Background()) +} + +func (o StrategyRollingStepPauseOutput) ToStrategyRollingStepPausePtrOutputWithContext(ctx context.Context) StrategyRollingStepPausePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v StrategyRollingStepPause) *StrategyRollingStepPause { + return &v + }).(StrategyRollingStepPausePtrOutput) +} + +func (o StrategyRollingStepPauseOutput) Duration() pulumi.StringPtrOutput { + return o.ApplyT(func(v StrategyRollingStepPause) *string { return v.Duration }).(pulumi.StringPtrOutput) +} + +type StrategyRollingStepPausePtrOutput struct{ *pulumi.OutputState } + +func (StrategyRollingStepPausePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StrategyRollingStepPause)(nil)).Elem() +} + +func (o StrategyRollingStepPausePtrOutput) ToStrategyRollingStepPausePtrOutput() StrategyRollingStepPausePtrOutput { + return o +} + +func (o StrategyRollingStepPausePtrOutput) ToStrategyRollingStepPausePtrOutputWithContext(ctx context.Context) StrategyRollingStepPausePtrOutput { + return o +} + +func (o StrategyRollingStepPausePtrOutput) Elem() StrategyRollingStepPauseOutput { + return o.ApplyT(func(v *StrategyRollingStepPause) StrategyRollingStepPause { + if v != nil { + return *v + } + var ret StrategyRollingStepPause + return ret + }).(StrategyRollingStepPauseOutput) +} + +func (o StrategyRollingStepPausePtrOutput) Duration() pulumi.StringPtrOutput { + return o.ApplyT(func(v *StrategyRollingStepPause) *string { + if v == nil { + return nil + } + return v.Duration + }).(pulumi.StringPtrOutput) +} + +type StrategyRollingStepVerification struct { + TemplateNames []string `pulumi:"templateNames"` +} + +// StrategyRollingStepVerificationInput is an input type that accepts StrategyRollingStepVerificationArgs and StrategyRollingStepVerificationOutput values. +// You can construct a concrete instance of `StrategyRollingStepVerificationInput` via: +// +// StrategyRollingStepVerificationArgs{...} +type StrategyRollingStepVerificationInput interface { + pulumi.Input + + ToStrategyRollingStepVerificationOutput() StrategyRollingStepVerificationOutput + ToStrategyRollingStepVerificationOutputWithContext(context.Context) StrategyRollingStepVerificationOutput +} + +type StrategyRollingStepVerificationArgs struct { + TemplateNames pulumi.StringArrayInput `pulumi:"templateNames"` +} + +func (StrategyRollingStepVerificationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StrategyRollingStepVerification)(nil)).Elem() +} + +func (i StrategyRollingStepVerificationArgs) ToStrategyRollingStepVerificationOutput() StrategyRollingStepVerificationOutput { + return i.ToStrategyRollingStepVerificationOutputWithContext(context.Background()) +} + +func (i StrategyRollingStepVerificationArgs) ToStrategyRollingStepVerificationOutputWithContext(ctx context.Context) StrategyRollingStepVerificationOutput { + return pulumi.ToOutputWithContext(ctx, i).(StrategyRollingStepVerificationOutput) +} + +func (i StrategyRollingStepVerificationArgs) ToStrategyRollingStepVerificationPtrOutput() StrategyRollingStepVerificationPtrOutput { + return i.ToStrategyRollingStepVerificationPtrOutputWithContext(context.Background()) +} + +func (i StrategyRollingStepVerificationArgs) ToStrategyRollingStepVerificationPtrOutputWithContext(ctx context.Context) StrategyRollingStepVerificationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StrategyRollingStepVerificationOutput).ToStrategyRollingStepVerificationPtrOutputWithContext(ctx) +} + +// StrategyRollingStepVerificationPtrInput is an input type that accepts StrategyRollingStepVerificationArgs, StrategyRollingStepVerificationPtr and StrategyRollingStepVerificationPtrOutput values. +// You can construct a concrete instance of `StrategyRollingStepVerificationPtrInput` via: +// +// StrategyRollingStepVerificationArgs{...} +// +// or: +// +// nil +type StrategyRollingStepVerificationPtrInput interface { + pulumi.Input + + ToStrategyRollingStepVerificationPtrOutput() StrategyRollingStepVerificationPtrOutput + ToStrategyRollingStepVerificationPtrOutputWithContext(context.Context) StrategyRollingStepVerificationPtrOutput +} + +type strategyRollingStepVerificationPtrType StrategyRollingStepVerificationArgs + +func StrategyRollingStepVerificationPtr(v *StrategyRollingStepVerificationArgs) StrategyRollingStepVerificationPtrInput { + return (*strategyRollingStepVerificationPtrType)(v) +} + +func (*strategyRollingStepVerificationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**StrategyRollingStepVerification)(nil)).Elem() +} + +func (i *strategyRollingStepVerificationPtrType) ToStrategyRollingStepVerificationPtrOutput() StrategyRollingStepVerificationPtrOutput { + return i.ToStrategyRollingStepVerificationPtrOutputWithContext(context.Background()) +} + +func (i *strategyRollingStepVerificationPtrType) ToStrategyRollingStepVerificationPtrOutputWithContext(ctx context.Context) StrategyRollingStepVerificationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StrategyRollingStepVerificationPtrOutput) +} + +type StrategyRollingStepVerificationOutput struct{ *pulumi.OutputState } + +func (StrategyRollingStepVerificationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StrategyRollingStepVerification)(nil)).Elem() +} + +func (o StrategyRollingStepVerificationOutput) ToStrategyRollingStepVerificationOutput() StrategyRollingStepVerificationOutput { + return o +} + +func (o StrategyRollingStepVerificationOutput) ToStrategyRollingStepVerificationOutputWithContext(ctx context.Context) StrategyRollingStepVerificationOutput { + return o +} + +func (o StrategyRollingStepVerificationOutput) ToStrategyRollingStepVerificationPtrOutput() StrategyRollingStepVerificationPtrOutput { + return o.ToStrategyRollingStepVerificationPtrOutputWithContext(context.Background()) +} + +func (o StrategyRollingStepVerificationOutput) ToStrategyRollingStepVerificationPtrOutputWithContext(ctx context.Context) StrategyRollingStepVerificationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v StrategyRollingStepVerification) *StrategyRollingStepVerification { + return &v + }).(StrategyRollingStepVerificationPtrOutput) +} + +func (o StrategyRollingStepVerificationOutput) TemplateNames() pulumi.StringArrayOutput { + return o.ApplyT(func(v StrategyRollingStepVerification) []string { return v.TemplateNames }).(pulumi.StringArrayOutput) +} + +type StrategyRollingStepVerificationPtrOutput struct{ *pulumi.OutputState } + +func (StrategyRollingStepVerificationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StrategyRollingStepVerification)(nil)).Elem() +} + +func (o StrategyRollingStepVerificationPtrOutput) ToStrategyRollingStepVerificationPtrOutput() StrategyRollingStepVerificationPtrOutput { + return o +} + +func (o StrategyRollingStepVerificationPtrOutput) ToStrategyRollingStepVerificationPtrOutputWithContext(ctx context.Context) StrategyRollingStepVerificationPtrOutput { + return o +} + +func (o StrategyRollingStepVerificationPtrOutput) Elem() StrategyRollingStepVerificationOutput { + return o.ApplyT(func(v *StrategyRollingStepVerification) StrategyRollingStepVerification { + if v != nil { + return *v + } + var ret StrategyRollingStepVerification + return ret + }).(StrategyRollingStepVerificationOutput) +} + +func (o StrategyRollingStepVerificationPtrOutput) TemplateNames() pulumi.StringArrayOutput { + return o.ApplyT(func(v *StrategyRollingStepVerification) []string { + if v == nil { + return nil + } + return v.TemplateNames + }).(pulumi.StringArrayOutput) +} + +type VerificationProviderCloudWatch struct { + // Set label key. + IamArn string `pulumi:"iamArn"` +} + +// VerificationProviderCloudWatchInput is an input type that accepts VerificationProviderCloudWatchArgs and VerificationProviderCloudWatchOutput values. +// You can construct a concrete instance of `VerificationProviderCloudWatchInput` via: +// +// VerificationProviderCloudWatchArgs{...} +type VerificationProviderCloudWatchInput interface { + pulumi.Input + + ToVerificationProviderCloudWatchOutput() VerificationProviderCloudWatchOutput + ToVerificationProviderCloudWatchOutputWithContext(context.Context) VerificationProviderCloudWatchOutput +} + +type VerificationProviderCloudWatchArgs struct { + // Set label key. + IamArn pulumi.StringInput `pulumi:"iamArn"` +} + +func (VerificationProviderCloudWatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationProviderCloudWatch)(nil)).Elem() +} + +func (i VerificationProviderCloudWatchArgs) ToVerificationProviderCloudWatchOutput() VerificationProviderCloudWatchOutput { + return i.ToVerificationProviderCloudWatchOutputWithContext(context.Background()) +} + +func (i VerificationProviderCloudWatchArgs) ToVerificationProviderCloudWatchOutputWithContext(ctx context.Context) VerificationProviderCloudWatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationProviderCloudWatchOutput) +} + +func (i VerificationProviderCloudWatchArgs) ToVerificationProviderCloudWatchPtrOutput() VerificationProviderCloudWatchPtrOutput { + return i.ToVerificationProviderCloudWatchPtrOutputWithContext(context.Background()) +} + +func (i VerificationProviderCloudWatchArgs) ToVerificationProviderCloudWatchPtrOutputWithContext(ctx context.Context) VerificationProviderCloudWatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationProviderCloudWatchOutput).ToVerificationProviderCloudWatchPtrOutputWithContext(ctx) +} + +// VerificationProviderCloudWatchPtrInput is an input type that accepts VerificationProviderCloudWatchArgs, VerificationProviderCloudWatchPtr and VerificationProviderCloudWatchPtrOutput values. +// You can construct a concrete instance of `VerificationProviderCloudWatchPtrInput` via: +// +// VerificationProviderCloudWatchArgs{...} +// +// or: +// +// nil +type VerificationProviderCloudWatchPtrInput interface { + pulumi.Input + + ToVerificationProviderCloudWatchPtrOutput() VerificationProviderCloudWatchPtrOutput + ToVerificationProviderCloudWatchPtrOutputWithContext(context.Context) VerificationProviderCloudWatchPtrOutput +} + +type verificationProviderCloudWatchPtrType VerificationProviderCloudWatchArgs + +func VerificationProviderCloudWatchPtr(v *VerificationProviderCloudWatchArgs) VerificationProviderCloudWatchPtrInput { + return (*verificationProviderCloudWatchPtrType)(v) +} + +func (*verificationProviderCloudWatchPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationProviderCloudWatch)(nil)).Elem() +} + +func (i *verificationProviderCloudWatchPtrType) ToVerificationProviderCloudWatchPtrOutput() VerificationProviderCloudWatchPtrOutput { + return i.ToVerificationProviderCloudWatchPtrOutputWithContext(context.Background()) +} + +func (i *verificationProviderCloudWatchPtrType) ToVerificationProviderCloudWatchPtrOutputWithContext(ctx context.Context) VerificationProviderCloudWatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationProviderCloudWatchPtrOutput) +} + +type VerificationProviderCloudWatchOutput struct{ *pulumi.OutputState } + +func (VerificationProviderCloudWatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationProviderCloudWatch)(nil)).Elem() +} + +func (o VerificationProviderCloudWatchOutput) ToVerificationProviderCloudWatchOutput() VerificationProviderCloudWatchOutput { + return o +} + +func (o VerificationProviderCloudWatchOutput) ToVerificationProviderCloudWatchOutputWithContext(ctx context.Context) VerificationProviderCloudWatchOutput { + return o +} + +func (o VerificationProviderCloudWatchOutput) ToVerificationProviderCloudWatchPtrOutput() VerificationProviderCloudWatchPtrOutput { + return o.ToVerificationProviderCloudWatchPtrOutputWithContext(context.Background()) +} + +func (o VerificationProviderCloudWatchOutput) ToVerificationProviderCloudWatchPtrOutputWithContext(ctx context.Context) VerificationProviderCloudWatchPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VerificationProviderCloudWatch) *VerificationProviderCloudWatch { + return &v + }).(VerificationProviderCloudWatchPtrOutput) +} + +// Set label key. +func (o VerificationProviderCloudWatchOutput) IamArn() pulumi.StringOutput { + return o.ApplyT(func(v VerificationProviderCloudWatch) string { return v.IamArn }).(pulumi.StringOutput) +} + +type VerificationProviderCloudWatchPtrOutput struct{ *pulumi.OutputState } + +func (VerificationProviderCloudWatchPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationProviderCloudWatch)(nil)).Elem() +} + +func (o VerificationProviderCloudWatchPtrOutput) ToVerificationProviderCloudWatchPtrOutput() VerificationProviderCloudWatchPtrOutput { + return o +} + +func (o VerificationProviderCloudWatchPtrOutput) ToVerificationProviderCloudWatchPtrOutputWithContext(ctx context.Context) VerificationProviderCloudWatchPtrOutput { + return o +} + +func (o VerificationProviderCloudWatchPtrOutput) Elem() VerificationProviderCloudWatchOutput { + return o.ApplyT(func(v *VerificationProviderCloudWatch) VerificationProviderCloudWatch { + if v != nil { + return *v + } + var ret VerificationProviderCloudWatch + return ret + }).(VerificationProviderCloudWatchOutput) +} + +// Set label key. +func (o VerificationProviderCloudWatchPtrOutput) IamArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VerificationProviderCloudWatch) *string { + if v == nil { + return nil + } + return &v.IamArn + }).(pulumi.StringPtrOutput) +} + +type VerificationProviderDatadog struct { + // DataDog API URL. + Address string `pulumi:"address"` + // API key required by the Datadog Agent to submit metrics and events to Datadog. + ApiKey string `pulumi:"apiKey"` + // API key that gives users access to Datadog’s programmatic API. + AppKey string `pulumi:"appKey"` +} + +// VerificationProviderDatadogInput is an input type that accepts VerificationProviderDatadogArgs and VerificationProviderDatadogOutput values. +// You can construct a concrete instance of `VerificationProviderDatadogInput` via: +// +// VerificationProviderDatadogArgs{...} +type VerificationProviderDatadogInput interface { + pulumi.Input + + ToVerificationProviderDatadogOutput() VerificationProviderDatadogOutput + ToVerificationProviderDatadogOutputWithContext(context.Context) VerificationProviderDatadogOutput +} + +type VerificationProviderDatadogArgs struct { + // DataDog API URL. + Address pulumi.StringInput `pulumi:"address"` + // API key required by the Datadog Agent to submit metrics and events to Datadog. + ApiKey pulumi.StringInput `pulumi:"apiKey"` + // API key that gives users access to Datadog’s programmatic API. + AppKey pulumi.StringInput `pulumi:"appKey"` +} + +func (VerificationProviderDatadogArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationProviderDatadog)(nil)).Elem() +} + +func (i VerificationProviderDatadogArgs) ToVerificationProviderDatadogOutput() VerificationProviderDatadogOutput { + return i.ToVerificationProviderDatadogOutputWithContext(context.Background()) +} + +func (i VerificationProviderDatadogArgs) ToVerificationProviderDatadogOutputWithContext(ctx context.Context) VerificationProviderDatadogOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationProviderDatadogOutput) +} + +func (i VerificationProviderDatadogArgs) ToVerificationProviderDatadogPtrOutput() VerificationProviderDatadogPtrOutput { + return i.ToVerificationProviderDatadogPtrOutputWithContext(context.Background()) +} + +func (i VerificationProviderDatadogArgs) ToVerificationProviderDatadogPtrOutputWithContext(ctx context.Context) VerificationProviderDatadogPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationProviderDatadogOutput).ToVerificationProviderDatadogPtrOutputWithContext(ctx) +} + +// VerificationProviderDatadogPtrInput is an input type that accepts VerificationProviderDatadogArgs, VerificationProviderDatadogPtr and VerificationProviderDatadogPtrOutput values. +// You can construct a concrete instance of `VerificationProviderDatadogPtrInput` via: +// +// VerificationProviderDatadogArgs{...} +// +// or: +// +// nil +type VerificationProviderDatadogPtrInput interface { + pulumi.Input + + ToVerificationProviderDatadogPtrOutput() VerificationProviderDatadogPtrOutput + ToVerificationProviderDatadogPtrOutputWithContext(context.Context) VerificationProviderDatadogPtrOutput +} + +type verificationProviderDatadogPtrType VerificationProviderDatadogArgs + +func VerificationProviderDatadogPtr(v *VerificationProviderDatadogArgs) VerificationProviderDatadogPtrInput { + return (*verificationProviderDatadogPtrType)(v) +} + +func (*verificationProviderDatadogPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationProviderDatadog)(nil)).Elem() +} + +func (i *verificationProviderDatadogPtrType) ToVerificationProviderDatadogPtrOutput() VerificationProviderDatadogPtrOutput { + return i.ToVerificationProviderDatadogPtrOutputWithContext(context.Background()) +} + +func (i *verificationProviderDatadogPtrType) ToVerificationProviderDatadogPtrOutputWithContext(ctx context.Context) VerificationProviderDatadogPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationProviderDatadogPtrOutput) +} + +type VerificationProviderDatadogOutput struct{ *pulumi.OutputState } + +func (VerificationProviderDatadogOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationProviderDatadog)(nil)).Elem() +} + +func (o VerificationProviderDatadogOutput) ToVerificationProviderDatadogOutput() VerificationProviderDatadogOutput { + return o +} + +func (o VerificationProviderDatadogOutput) ToVerificationProviderDatadogOutputWithContext(ctx context.Context) VerificationProviderDatadogOutput { + return o +} + +func (o VerificationProviderDatadogOutput) ToVerificationProviderDatadogPtrOutput() VerificationProviderDatadogPtrOutput { + return o.ToVerificationProviderDatadogPtrOutputWithContext(context.Background()) +} + +func (o VerificationProviderDatadogOutput) ToVerificationProviderDatadogPtrOutputWithContext(ctx context.Context) VerificationProviderDatadogPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VerificationProviderDatadog) *VerificationProviderDatadog { + return &v + }).(VerificationProviderDatadogPtrOutput) +} + +// DataDog API URL. +func (o VerificationProviderDatadogOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v VerificationProviderDatadog) string { return v.Address }).(pulumi.StringOutput) +} + +// API key required by the Datadog Agent to submit metrics and events to Datadog. +func (o VerificationProviderDatadogOutput) ApiKey() pulumi.StringOutput { + return o.ApplyT(func(v VerificationProviderDatadog) string { return v.ApiKey }).(pulumi.StringOutput) +} + +// API key that gives users access to Datadog’s programmatic API. +func (o VerificationProviderDatadogOutput) AppKey() pulumi.StringOutput { + return o.ApplyT(func(v VerificationProviderDatadog) string { return v.AppKey }).(pulumi.StringOutput) +} + +type VerificationProviderDatadogPtrOutput struct{ *pulumi.OutputState } + +func (VerificationProviderDatadogPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationProviderDatadog)(nil)).Elem() +} + +func (o VerificationProviderDatadogPtrOutput) ToVerificationProviderDatadogPtrOutput() VerificationProviderDatadogPtrOutput { + return o +} + +func (o VerificationProviderDatadogPtrOutput) ToVerificationProviderDatadogPtrOutputWithContext(ctx context.Context) VerificationProviderDatadogPtrOutput { + return o +} + +func (o VerificationProviderDatadogPtrOutput) Elem() VerificationProviderDatadogOutput { + return o.ApplyT(func(v *VerificationProviderDatadog) VerificationProviderDatadog { + if v != nil { + return *v + } + var ret VerificationProviderDatadog + return ret + }).(VerificationProviderDatadogOutput) +} + +// DataDog API URL. +func (o VerificationProviderDatadogPtrOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VerificationProviderDatadog) *string { + if v == nil { + return nil + } + return &v.Address + }).(pulumi.StringPtrOutput) +} + +// API key required by the Datadog Agent to submit metrics and events to Datadog. +func (o VerificationProviderDatadogPtrOutput) ApiKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VerificationProviderDatadog) *string { + if v == nil { + return nil + } + return &v.ApiKey + }).(pulumi.StringPtrOutput) +} + +// API key that gives users access to Datadog’s programmatic API. +func (o VerificationProviderDatadogPtrOutput) AppKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VerificationProviderDatadog) *string { + if v == nil { + return nil + } + return &v.AppKey + }).(pulumi.StringPtrOutput) +} + +type VerificationProviderJenkins struct { + // The Jenkins server’s access apiToken. + ApiToken string `pulumi:"apiToken"` + // The address of the Jenkins server within the cluster. + BaseUrl string `pulumi:"baseUrl"` + // The Jenkins server’s access username. + Username string `pulumi:"username"` +} + +// VerificationProviderJenkinsInput is an input type that accepts VerificationProviderJenkinsArgs and VerificationProviderJenkinsOutput values. +// You can construct a concrete instance of `VerificationProviderJenkinsInput` via: +// +// VerificationProviderJenkinsArgs{...} +type VerificationProviderJenkinsInput interface { + pulumi.Input + + ToVerificationProviderJenkinsOutput() VerificationProviderJenkinsOutput + ToVerificationProviderJenkinsOutputWithContext(context.Context) VerificationProviderJenkinsOutput +} + +type VerificationProviderJenkinsArgs struct { + // The Jenkins server’s access apiToken. + ApiToken pulumi.StringInput `pulumi:"apiToken"` + // The address of the Jenkins server within the cluster. + BaseUrl pulumi.StringInput `pulumi:"baseUrl"` + // The Jenkins server’s access username. + Username pulumi.StringInput `pulumi:"username"` +} + +func (VerificationProviderJenkinsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationProviderJenkins)(nil)).Elem() +} + +func (i VerificationProviderJenkinsArgs) ToVerificationProviderJenkinsOutput() VerificationProviderJenkinsOutput { + return i.ToVerificationProviderJenkinsOutputWithContext(context.Background()) +} + +func (i VerificationProviderJenkinsArgs) ToVerificationProviderJenkinsOutputWithContext(ctx context.Context) VerificationProviderJenkinsOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationProviderJenkinsOutput) +} + +func (i VerificationProviderJenkinsArgs) ToVerificationProviderJenkinsPtrOutput() VerificationProviderJenkinsPtrOutput { + return i.ToVerificationProviderJenkinsPtrOutputWithContext(context.Background()) +} + +func (i VerificationProviderJenkinsArgs) ToVerificationProviderJenkinsPtrOutputWithContext(ctx context.Context) VerificationProviderJenkinsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationProviderJenkinsOutput).ToVerificationProviderJenkinsPtrOutputWithContext(ctx) +} + +// VerificationProviderJenkinsPtrInput is an input type that accepts VerificationProviderJenkinsArgs, VerificationProviderJenkinsPtr and VerificationProviderJenkinsPtrOutput values. +// You can construct a concrete instance of `VerificationProviderJenkinsPtrInput` via: +// +// VerificationProviderJenkinsArgs{...} +// +// or: +// +// nil +type VerificationProviderJenkinsPtrInput interface { + pulumi.Input + + ToVerificationProviderJenkinsPtrOutput() VerificationProviderJenkinsPtrOutput + ToVerificationProviderJenkinsPtrOutputWithContext(context.Context) VerificationProviderJenkinsPtrOutput +} + +type verificationProviderJenkinsPtrType VerificationProviderJenkinsArgs + +func VerificationProviderJenkinsPtr(v *VerificationProviderJenkinsArgs) VerificationProviderJenkinsPtrInput { + return (*verificationProviderJenkinsPtrType)(v) +} + +func (*verificationProviderJenkinsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationProviderJenkins)(nil)).Elem() +} + +func (i *verificationProviderJenkinsPtrType) ToVerificationProviderJenkinsPtrOutput() VerificationProviderJenkinsPtrOutput { + return i.ToVerificationProviderJenkinsPtrOutputWithContext(context.Background()) +} + +func (i *verificationProviderJenkinsPtrType) ToVerificationProviderJenkinsPtrOutputWithContext(ctx context.Context) VerificationProviderJenkinsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationProviderJenkinsPtrOutput) +} + +type VerificationProviderJenkinsOutput struct{ *pulumi.OutputState } + +func (VerificationProviderJenkinsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationProviderJenkins)(nil)).Elem() +} + +func (o VerificationProviderJenkinsOutput) ToVerificationProviderJenkinsOutput() VerificationProviderJenkinsOutput { + return o +} + +func (o VerificationProviderJenkinsOutput) ToVerificationProviderJenkinsOutputWithContext(ctx context.Context) VerificationProviderJenkinsOutput { + return o +} + +func (o VerificationProviderJenkinsOutput) ToVerificationProviderJenkinsPtrOutput() VerificationProviderJenkinsPtrOutput { + return o.ToVerificationProviderJenkinsPtrOutputWithContext(context.Background()) +} + +func (o VerificationProviderJenkinsOutput) ToVerificationProviderJenkinsPtrOutputWithContext(ctx context.Context) VerificationProviderJenkinsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VerificationProviderJenkins) *VerificationProviderJenkins { + return &v + }).(VerificationProviderJenkinsPtrOutput) +} + +// The Jenkins server’s access apiToken. +func (o VerificationProviderJenkinsOutput) ApiToken() pulumi.StringOutput { + return o.ApplyT(func(v VerificationProviderJenkins) string { return v.ApiToken }).(pulumi.StringOutput) +} + +// The address of the Jenkins server within the cluster. +func (o VerificationProviderJenkinsOutput) BaseUrl() pulumi.StringOutput { + return o.ApplyT(func(v VerificationProviderJenkins) string { return v.BaseUrl }).(pulumi.StringOutput) +} + +// The Jenkins server’s access username. +func (o VerificationProviderJenkinsOutput) Username() pulumi.StringOutput { + return o.ApplyT(func(v VerificationProviderJenkins) string { return v.Username }).(pulumi.StringOutput) +} + +type VerificationProviderJenkinsPtrOutput struct{ *pulumi.OutputState } + +func (VerificationProviderJenkinsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationProviderJenkins)(nil)).Elem() +} + +func (o VerificationProviderJenkinsPtrOutput) ToVerificationProviderJenkinsPtrOutput() VerificationProviderJenkinsPtrOutput { + return o +} + +func (o VerificationProviderJenkinsPtrOutput) ToVerificationProviderJenkinsPtrOutputWithContext(ctx context.Context) VerificationProviderJenkinsPtrOutput { + return o +} + +func (o VerificationProviderJenkinsPtrOutput) Elem() VerificationProviderJenkinsOutput { + return o.ApplyT(func(v *VerificationProviderJenkins) VerificationProviderJenkins { + if v != nil { + return *v + } + var ret VerificationProviderJenkins + return ret + }).(VerificationProviderJenkinsOutput) +} + +// The Jenkins server’s access apiToken. +func (o VerificationProviderJenkinsPtrOutput) ApiToken() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VerificationProviderJenkins) *string { + if v == nil { + return nil + } + return &v.ApiToken + }).(pulumi.StringPtrOutput) +} + +// The address of the Jenkins server within the cluster. +func (o VerificationProviderJenkinsPtrOutput) BaseUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VerificationProviderJenkins) *string { + if v == nil { + return nil + } + return &v.BaseUrl + }).(pulumi.StringPtrOutput) +} + +// The Jenkins server’s access username. +func (o VerificationProviderJenkinsPtrOutput) Username() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VerificationProviderJenkins) *string { + if v == nil { + return nil + } + return &v.Username + }).(pulumi.StringPtrOutput) +} + +type VerificationProviderNewRelic struct { + AccountId string `pulumi:"accountId"` + // The base URL for NerdGraph for a proxy. + BaseUrlNerdGraph *string `pulumi:"baseUrlNerdGraph"` + // The base URL of the New Relic REST API for a proxy. + BaseUrlRest *string `pulumi:"baseUrlRest"` + // The NewRelic user key + PersonalApiKey string `pulumi:"personalApiKey"` + // A region which the account is attached to. Default is "us". + Region *string `pulumi:"region"` +} + +// VerificationProviderNewRelicInput is an input type that accepts VerificationProviderNewRelicArgs and VerificationProviderNewRelicOutput values. +// You can construct a concrete instance of `VerificationProviderNewRelicInput` via: +// +// VerificationProviderNewRelicArgs{...} +type VerificationProviderNewRelicInput interface { + pulumi.Input + + ToVerificationProviderNewRelicOutput() VerificationProviderNewRelicOutput + ToVerificationProviderNewRelicOutputWithContext(context.Context) VerificationProviderNewRelicOutput +} + +type VerificationProviderNewRelicArgs struct { + AccountId pulumi.StringInput `pulumi:"accountId"` + // The base URL for NerdGraph for a proxy. + BaseUrlNerdGraph pulumi.StringPtrInput `pulumi:"baseUrlNerdGraph"` + // The base URL of the New Relic REST API for a proxy. + BaseUrlRest pulumi.StringPtrInput `pulumi:"baseUrlRest"` + // The NewRelic user key + PersonalApiKey pulumi.StringInput `pulumi:"personalApiKey"` + // A region which the account is attached to. Default is "us". + Region pulumi.StringPtrInput `pulumi:"region"` +} + +func (VerificationProviderNewRelicArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationProviderNewRelic)(nil)).Elem() +} + +func (i VerificationProviderNewRelicArgs) ToVerificationProviderNewRelicOutput() VerificationProviderNewRelicOutput { + return i.ToVerificationProviderNewRelicOutputWithContext(context.Background()) +} + +func (i VerificationProviderNewRelicArgs) ToVerificationProviderNewRelicOutputWithContext(ctx context.Context) VerificationProviderNewRelicOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationProviderNewRelicOutput) +} + +func (i VerificationProviderNewRelicArgs) ToVerificationProviderNewRelicPtrOutput() VerificationProviderNewRelicPtrOutput { + return i.ToVerificationProviderNewRelicPtrOutputWithContext(context.Background()) +} + +func (i VerificationProviderNewRelicArgs) ToVerificationProviderNewRelicPtrOutputWithContext(ctx context.Context) VerificationProviderNewRelicPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationProviderNewRelicOutput).ToVerificationProviderNewRelicPtrOutputWithContext(ctx) +} + +// VerificationProviderNewRelicPtrInput is an input type that accepts VerificationProviderNewRelicArgs, VerificationProviderNewRelicPtr and VerificationProviderNewRelicPtrOutput values. +// You can construct a concrete instance of `VerificationProviderNewRelicPtrInput` via: +// +// VerificationProviderNewRelicArgs{...} +// +// or: +// +// nil +type VerificationProviderNewRelicPtrInput interface { + pulumi.Input + + ToVerificationProviderNewRelicPtrOutput() VerificationProviderNewRelicPtrOutput + ToVerificationProviderNewRelicPtrOutputWithContext(context.Context) VerificationProviderNewRelicPtrOutput +} + +type verificationProviderNewRelicPtrType VerificationProviderNewRelicArgs + +func VerificationProviderNewRelicPtr(v *VerificationProviderNewRelicArgs) VerificationProviderNewRelicPtrInput { + return (*verificationProviderNewRelicPtrType)(v) +} + +func (*verificationProviderNewRelicPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationProviderNewRelic)(nil)).Elem() +} + +func (i *verificationProviderNewRelicPtrType) ToVerificationProviderNewRelicPtrOutput() VerificationProviderNewRelicPtrOutput { + return i.ToVerificationProviderNewRelicPtrOutputWithContext(context.Background()) +} + +func (i *verificationProviderNewRelicPtrType) ToVerificationProviderNewRelicPtrOutputWithContext(ctx context.Context) VerificationProviderNewRelicPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationProviderNewRelicPtrOutput) +} + +type VerificationProviderNewRelicOutput struct{ *pulumi.OutputState } + +func (VerificationProviderNewRelicOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationProviderNewRelic)(nil)).Elem() +} + +func (o VerificationProviderNewRelicOutput) ToVerificationProviderNewRelicOutput() VerificationProviderNewRelicOutput { + return o +} + +func (o VerificationProviderNewRelicOutput) ToVerificationProviderNewRelicOutputWithContext(ctx context.Context) VerificationProviderNewRelicOutput { + return o +} + +func (o VerificationProviderNewRelicOutput) ToVerificationProviderNewRelicPtrOutput() VerificationProviderNewRelicPtrOutput { + return o.ToVerificationProviderNewRelicPtrOutputWithContext(context.Background()) +} + +func (o VerificationProviderNewRelicOutput) ToVerificationProviderNewRelicPtrOutputWithContext(ctx context.Context) VerificationProviderNewRelicPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VerificationProviderNewRelic) *VerificationProviderNewRelic { + return &v + }).(VerificationProviderNewRelicPtrOutput) +} + +func (o VerificationProviderNewRelicOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v VerificationProviderNewRelic) string { return v.AccountId }).(pulumi.StringOutput) +} + +// The base URL for NerdGraph for a proxy. +func (o VerificationProviderNewRelicOutput) BaseUrlNerdGraph() pulumi.StringPtrOutput { + return o.ApplyT(func(v VerificationProviderNewRelic) *string { return v.BaseUrlNerdGraph }).(pulumi.StringPtrOutput) +} + +// The base URL of the New Relic REST API for a proxy. +func (o VerificationProviderNewRelicOutput) BaseUrlRest() pulumi.StringPtrOutput { + return o.ApplyT(func(v VerificationProviderNewRelic) *string { return v.BaseUrlRest }).(pulumi.StringPtrOutput) +} + +// The NewRelic user key +func (o VerificationProviderNewRelicOutput) PersonalApiKey() pulumi.StringOutput { + return o.ApplyT(func(v VerificationProviderNewRelic) string { return v.PersonalApiKey }).(pulumi.StringOutput) +} + +// A region which the account is attached to. Default is "us". +func (o VerificationProviderNewRelicOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v VerificationProviderNewRelic) *string { return v.Region }).(pulumi.StringPtrOutput) +} + +type VerificationProviderNewRelicPtrOutput struct{ *pulumi.OutputState } + +func (VerificationProviderNewRelicPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationProviderNewRelic)(nil)).Elem() +} + +func (o VerificationProviderNewRelicPtrOutput) ToVerificationProviderNewRelicPtrOutput() VerificationProviderNewRelicPtrOutput { + return o +} + +func (o VerificationProviderNewRelicPtrOutput) ToVerificationProviderNewRelicPtrOutputWithContext(ctx context.Context) VerificationProviderNewRelicPtrOutput { + return o +} + +func (o VerificationProviderNewRelicPtrOutput) Elem() VerificationProviderNewRelicOutput { + return o.ApplyT(func(v *VerificationProviderNewRelic) VerificationProviderNewRelic { + if v != nil { + return *v + } + var ret VerificationProviderNewRelic + return ret + }).(VerificationProviderNewRelicOutput) +} + +func (o VerificationProviderNewRelicPtrOutput) AccountId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VerificationProviderNewRelic) *string { + if v == nil { + return nil + } + return &v.AccountId + }).(pulumi.StringPtrOutput) +} + +// The base URL for NerdGraph for a proxy. +func (o VerificationProviderNewRelicPtrOutput) BaseUrlNerdGraph() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VerificationProviderNewRelic) *string { + if v == nil { + return nil + } + return v.BaseUrlNerdGraph + }).(pulumi.StringPtrOutput) +} + +// The base URL of the New Relic REST API for a proxy. +func (o VerificationProviderNewRelicPtrOutput) BaseUrlRest() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VerificationProviderNewRelic) *string { + if v == nil { + return nil + } + return v.BaseUrlRest + }).(pulumi.StringPtrOutput) +} + +// The NewRelic user key +func (o VerificationProviderNewRelicPtrOutput) PersonalApiKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VerificationProviderNewRelic) *string { + if v == nil { + return nil + } + return &v.PersonalApiKey + }).(pulumi.StringPtrOutput) +} + +// A region which the account is attached to. Default is "us". +func (o VerificationProviderNewRelicPtrOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VerificationProviderNewRelic) *string { + if v == nil { + return nil + } + return v.Region + }).(pulumi.StringPtrOutput) +} + +type VerificationProviderPrometheus struct { + // The address which the Prometheus server available on. + Address string `pulumi:"address"` +} + +// VerificationProviderPrometheusInput is an input type that accepts VerificationProviderPrometheusArgs and VerificationProviderPrometheusOutput values. +// You can construct a concrete instance of `VerificationProviderPrometheusInput` via: +// +// VerificationProviderPrometheusArgs{...} +type VerificationProviderPrometheusInput interface { + pulumi.Input + + ToVerificationProviderPrometheusOutput() VerificationProviderPrometheusOutput + ToVerificationProviderPrometheusOutputWithContext(context.Context) VerificationProviderPrometheusOutput +} + +type VerificationProviderPrometheusArgs struct { + // The address which the Prometheus server available on. + Address pulumi.StringInput `pulumi:"address"` +} + +func (VerificationProviderPrometheusArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationProviderPrometheus)(nil)).Elem() +} + +func (i VerificationProviderPrometheusArgs) ToVerificationProviderPrometheusOutput() VerificationProviderPrometheusOutput { + return i.ToVerificationProviderPrometheusOutputWithContext(context.Background()) +} + +func (i VerificationProviderPrometheusArgs) ToVerificationProviderPrometheusOutputWithContext(ctx context.Context) VerificationProviderPrometheusOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationProviderPrometheusOutput) +} + +func (i VerificationProviderPrometheusArgs) ToVerificationProviderPrometheusPtrOutput() VerificationProviderPrometheusPtrOutput { + return i.ToVerificationProviderPrometheusPtrOutputWithContext(context.Background()) +} + +func (i VerificationProviderPrometheusArgs) ToVerificationProviderPrometheusPtrOutputWithContext(ctx context.Context) VerificationProviderPrometheusPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationProviderPrometheusOutput).ToVerificationProviderPrometheusPtrOutputWithContext(ctx) +} + +// VerificationProviderPrometheusPtrInput is an input type that accepts VerificationProviderPrometheusArgs, VerificationProviderPrometheusPtr and VerificationProviderPrometheusPtrOutput values. +// You can construct a concrete instance of `VerificationProviderPrometheusPtrInput` via: +// +// VerificationProviderPrometheusArgs{...} +// +// or: +// +// nil +type VerificationProviderPrometheusPtrInput interface { + pulumi.Input + + ToVerificationProviderPrometheusPtrOutput() VerificationProviderPrometheusPtrOutput + ToVerificationProviderPrometheusPtrOutputWithContext(context.Context) VerificationProviderPrometheusPtrOutput +} + +type verificationProviderPrometheusPtrType VerificationProviderPrometheusArgs + +func VerificationProviderPrometheusPtr(v *VerificationProviderPrometheusArgs) VerificationProviderPrometheusPtrInput { + return (*verificationProviderPrometheusPtrType)(v) +} + +func (*verificationProviderPrometheusPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationProviderPrometheus)(nil)).Elem() +} + +func (i *verificationProviderPrometheusPtrType) ToVerificationProviderPrometheusPtrOutput() VerificationProviderPrometheusPtrOutput { + return i.ToVerificationProviderPrometheusPtrOutputWithContext(context.Background()) +} + +func (i *verificationProviderPrometheusPtrType) ToVerificationProviderPrometheusPtrOutputWithContext(ctx context.Context) VerificationProviderPrometheusPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationProviderPrometheusPtrOutput) +} + +type VerificationProviderPrometheusOutput struct{ *pulumi.OutputState } + +func (VerificationProviderPrometheusOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationProviderPrometheus)(nil)).Elem() +} + +func (o VerificationProviderPrometheusOutput) ToVerificationProviderPrometheusOutput() VerificationProviderPrometheusOutput { + return o +} + +func (o VerificationProviderPrometheusOutput) ToVerificationProviderPrometheusOutputWithContext(ctx context.Context) VerificationProviderPrometheusOutput { + return o +} + +func (o VerificationProviderPrometheusOutput) ToVerificationProviderPrometheusPtrOutput() VerificationProviderPrometheusPtrOutput { + return o.ToVerificationProviderPrometheusPtrOutputWithContext(context.Background()) +} + +func (o VerificationProviderPrometheusOutput) ToVerificationProviderPrometheusPtrOutputWithContext(ctx context.Context) VerificationProviderPrometheusPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VerificationProviderPrometheus) *VerificationProviderPrometheus { + return &v + }).(VerificationProviderPrometheusPtrOutput) +} + +// The address which the Prometheus server available on. +func (o VerificationProviderPrometheusOutput) Address() pulumi.StringOutput { + return o.ApplyT(func(v VerificationProviderPrometheus) string { return v.Address }).(pulumi.StringOutput) +} + +type VerificationProviderPrometheusPtrOutput struct{ *pulumi.OutputState } + +func (VerificationProviderPrometheusPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationProviderPrometheus)(nil)).Elem() +} + +func (o VerificationProviderPrometheusPtrOutput) ToVerificationProviderPrometheusPtrOutput() VerificationProviderPrometheusPtrOutput { + return o +} + +func (o VerificationProviderPrometheusPtrOutput) ToVerificationProviderPrometheusPtrOutputWithContext(ctx context.Context) VerificationProviderPrometheusPtrOutput { + return o +} + +func (o VerificationProviderPrometheusPtrOutput) Elem() VerificationProviderPrometheusOutput { + return o.ApplyT(func(v *VerificationProviderPrometheus) VerificationProviderPrometheus { + if v != nil { + return *v + } + var ret VerificationProviderPrometheus + return ret + }).(VerificationProviderPrometheusOutput) +} + +// The address which the Prometheus server available on. +func (o VerificationProviderPrometheusPtrOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VerificationProviderPrometheus) *string { + if v == nil { + return nil + } + return &v.Address + }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*StrategyCanaryInput)(nil)).Elem(), StrategyCanaryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StrategyCanaryPtrInput)(nil)).Elem(), StrategyCanaryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StrategyCanaryBackgroundVerificationInput)(nil)).Elem(), StrategyCanaryBackgroundVerificationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StrategyCanaryBackgroundVerificationPtrInput)(nil)).Elem(), StrategyCanaryBackgroundVerificationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StrategyCanaryStepInput)(nil)).Elem(), StrategyCanaryStepArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StrategyCanaryStepArrayInput)(nil)).Elem(), StrategyCanaryStepArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*StrategyCanaryStepPauseInput)(nil)).Elem(), StrategyCanaryStepPauseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StrategyCanaryStepPausePtrInput)(nil)).Elem(), StrategyCanaryStepPauseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StrategyCanaryStepSetCanaryScaleInput)(nil)).Elem(), StrategyCanaryStepSetCanaryScaleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StrategyCanaryStepSetCanaryScalePtrInput)(nil)).Elem(), StrategyCanaryStepSetCanaryScaleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StrategyCanaryStepSetHeaderRouteInput)(nil)).Elem(), StrategyCanaryStepSetHeaderRouteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StrategyCanaryStepSetHeaderRoutePtrInput)(nil)).Elem(), StrategyCanaryStepSetHeaderRouteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StrategyCanaryStepSetHeaderRouteMatchInput)(nil)).Elem(), StrategyCanaryStepSetHeaderRouteMatchArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StrategyCanaryStepSetHeaderRouteMatchArrayInput)(nil)).Elem(), StrategyCanaryStepSetHeaderRouteMatchArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*StrategyCanaryStepSetHeaderRouteMatchHeaderValueInput)(nil)).Elem(), StrategyCanaryStepSetHeaderRouteMatchHeaderValueArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StrategyCanaryStepVerificationInput)(nil)).Elem(), StrategyCanaryStepVerificationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StrategyCanaryStepVerificationPtrInput)(nil)).Elem(), StrategyCanaryStepVerificationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StrategyRollingInput)(nil)).Elem(), StrategyRollingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StrategyRollingPtrInput)(nil)).Elem(), StrategyRollingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StrategyRollingStepInput)(nil)).Elem(), StrategyRollingStepArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StrategyRollingStepArrayInput)(nil)).Elem(), StrategyRollingStepArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*StrategyRollingStepPauseInput)(nil)).Elem(), StrategyRollingStepPauseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StrategyRollingStepPausePtrInput)(nil)).Elem(), StrategyRollingStepPauseArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StrategyRollingStepVerificationInput)(nil)).Elem(), StrategyRollingStepVerificationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StrategyRollingStepVerificationPtrInput)(nil)).Elem(), StrategyRollingStepVerificationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationProviderCloudWatchInput)(nil)).Elem(), VerificationProviderCloudWatchArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationProviderCloudWatchPtrInput)(nil)).Elem(), VerificationProviderCloudWatchArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationProviderDatadogInput)(nil)).Elem(), VerificationProviderDatadogArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationProviderDatadogPtrInput)(nil)).Elem(), VerificationProviderDatadogArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationProviderJenkinsInput)(nil)).Elem(), VerificationProviderJenkinsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationProviderJenkinsPtrInput)(nil)).Elem(), VerificationProviderJenkinsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationProviderNewRelicInput)(nil)).Elem(), VerificationProviderNewRelicArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationProviderNewRelicPtrInput)(nil)).Elem(), VerificationProviderNewRelicArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationProviderPrometheusInput)(nil)).Elem(), VerificationProviderPrometheusArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationProviderPrometheusPtrInput)(nil)).Elem(), VerificationProviderPrometheusArgs{}) + pulumi.RegisterOutputType(StrategyCanaryOutput{}) + pulumi.RegisterOutputType(StrategyCanaryPtrOutput{}) + pulumi.RegisterOutputType(StrategyCanaryBackgroundVerificationOutput{}) + pulumi.RegisterOutputType(StrategyCanaryBackgroundVerificationPtrOutput{}) + pulumi.RegisterOutputType(StrategyCanaryStepOutput{}) + pulumi.RegisterOutputType(StrategyCanaryStepArrayOutput{}) + pulumi.RegisterOutputType(StrategyCanaryStepPauseOutput{}) + pulumi.RegisterOutputType(StrategyCanaryStepPausePtrOutput{}) + pulumi.RegisterOutputType(StrategyCanaryStepSetCanaryScaleOutput{}) + pulumi.RegisterOutputType(StrategyCanaryStepSetCanaryScalePtrOutput{}) + pulumi.RegisterOutputType(StrategyCanaryStepSetHeaderRouteOutput{}) + pulumi.RegisterOutputType(StrategyCanaryStepSetHeaderRoutePtrOutput{}) + pulumi.RegisterOutputType(StrategyCanaryStepSetHeaderRouteMatchOutput{}) + pulumi.RegisterOutputType(StrategyCanaryStepSetHeaderRouteMatchArrayOutput{}) + pulumi.RegisterOutputType(StrategyCanaryStepSetHeaderRouteMatchHeaderValueOutput{}) + pulumi.RegisterOutputType(StrategyCanaryStepVerificationOutput{}) + pulumi.RegisterOutputType(StrategyCanaryStepVerificationPtrOutput{}) + pulumi.RegisterOutputType(StrategyRollingOutput{}) + pulumi.RegisterOutputType(StrategyRollingPtrOutput{}) + pulumi.RegisterOutputType(StrategyRollingStepOutput{}) + pulumi.RegisterOutputType(StrategyRollingStepArrayOutput{}) + pulumi.RegisterOutputType(StrategyRollingStepPauseOutput{}) + pulumi.RegisterOutputType(StrategyRollingStepPausePtrOutput{}) + pulumi.RegisterOutputType(StrategyRollingStepVerificationOutput{}) + pulumi.RegisterOutputType(StrategyRollingStepVerificationPtrOutput{}) + pulumi.RegisterOutputType(VerificationProviderCloudWatchOutput{}) + pulumi.RegisterOutputType(VerificationProviderCloudWatchPtrOutput{}) + pulumi.RegisterOutputType(VerificationProviderDatadogOutput{}) + pulumi.RegisterOutputType(VerificationProviderDatadogPtrOutput{}) + pulumi.RegisterOutputType(VerificationProviderJenkinsOutput{}) + pulumi.RegisterOutputType(VerificationProviderJenkinsPtrOutput{}) + pulumi.RegisterOutputType(VerificationProviderNewRelicOutput{}) + pulumi.RegisterOutputType(VerificationProviderNewRelicPtrOutput{}) + pulumi.RegisterOutputType(VerificationProviderPrometheusOutput{}) + pulumi.RegisterOutputType(VerificationProviderPrometheusPtrOutput{}) +} diff --git a/sdk/go/spotinst/oceancd/strategy.go b/sdk/go/spotinst/oceancd/strategy.go new file mode 100644 index 00000000..8ab15d18 --- /dev/null +++ b/sdk/go/spotinst/oceancd/strategy.go @@ -0,0 +1,243 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package oceancd + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-spotinst/sdk/v3/go/spotinst/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manages a Spotinst OceanCD Strategy resource. +type Strategy struct { + pulumi.CustomResourceState + + // Represents Canary strategy. Cannot be defined when Rolling object is defined. + Canary StrategyCanaryPtrOutput `pulumi:"canary"` + // Represents Rolling Update strategy. Cannot be defined when Canary object is defined. + Rolling StrategyRollingPtrOutput `pulumi:"rolling"` + StrategyName pulumi.StringOutput `pulumi:"strategyName"` +} + +// NewStrategy registers a new resource with the given unique name, arguments, and options. +func NewStrategy(ctx *pulumi.Context, + name string, args *StrategyArgs, opts ...pulumi.ResourceOption) (*Strategy, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.StrategyName == nil { + return nil, errors.New("invalid value for required argument 'StrategyName'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource Strategy + err := ctx.RegisterResource("spotinst:oceancd/strategy:Strategy", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetStrategy gets an existing Strategy 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 GetStrategy(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *StrategyState, opts ...pulumi.ResourceOption) (*Strategy, error) { + var resource Strategy + err := ctx.ReadResource("spotinst:oceancd/strategy:Strategy", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Strategy resources. +type strategyState struct { + // Represents Canary strategy. Cannot be defined when Rolling object is defined. + Canary *StrategyCanary `pulumi:"canary"` + // Represents Rolling Update strategy. Cannot be defined when Canary object is defined. + Rolling *StrategyRolling `pulumi:"rolling"` + StrategyName *string `pulumi:"strategyName"` +} + +type StrategyState struct { + // Represents Canary strategy. Cannot be defined when Rolling object is defined. + Canary StrategyCanaryPtrInput + // Represents Rolling Update strategy. Cannot be defined when Canary object is defined. + Rolling StrategyRollingPtrInput + StrategyName pulumi.StringPtrInput +} + +func (StrategyState) ElementType() reflect.Type { + return reflect.TypeOf((*strategyState)(nil)).Elem() +} + +type strategyArgs struct { + // Represents Canary strategy. Cannot be defined when Rolling object is defined. + Canary *StrategyCanary `pulumi:"canary"` + // Represents Rolling Update strategy. Cannot be defined when Canary object is defined. + Rolling *StrategyRolling `pulumi:"rolling"` + StrategyName string `pulumi:"strategyName"` +} + +// The set of arguments for constructing a Strategy resource. +type StrategyArgs struct { + // Represents Canary strategy. Cannot be defined when Rolling object is defined. + Canary StrategyCanaryPtrInput + // Represents Rolling Update strategy. Cannot be defined when Canary object is defined. + Rolling StrategyRollingPtrInput + StrategyName pulumi.StringInput +} + +func (StrategyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*strategyArgs)(nil)).Elem() +} + +type StrategyInput interface { + pulumi.Input + + ToStrategyOutput() StrategyOutput + ToStrategyOutputWithContext(ctx context.Context) StrategyOutput +} + +func (*Strategy) ElementType() reflect.Type { + return reflect.TypeOf((**Strategy)(nil)).Elem() +} + +func (i *Strategy) ToStrategyOutput() StrategyOutput { + return i.ToStrategyOutputWithContext(context.Background()) +} + +func (i *Strategy) ToStrategyOutputWithContext(ctx context.Context) StrategyOutput { + return pulumi.ToOutputWithContext(ctx, i).(StrategyOutput) +} + +// StrategyArrayInput is an input type that accepts StrategyArray and StrategyArrayOutput values. +// You can construct a concrete instance of `StrategyArrayInput` via: +// +// StrategyArray{ StrategyArgs{...} } +type StrategyArrayInput interface { + pulumi.Input + + ToStrategyArrayOutput() StrategyArrayOutput + ToStrategyArrayOutputWithContext(context.Context) StrategyArrayOutput +} + +type StrategyArray []StrategyInput + +func (StrategyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Strategy)(nil)).Elem() +} + +func (i StrategyArray) ToStrategyArrayOutput() StrategyArrayOutput { + return i.ToStrategyArrayOutputWithContext(context.Background()) +} + +func (i StrategyArray) ToStrategyArrayOutputWithContext(ctx context.Context) StrategyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(StrategyArrayOutput) +} + +// StrategyMapInput is an input type that accepts StrategyMap and StrategyMapOutput values. +// You can construct a concrete instance of `StrategyMapInput` via: +// +// StrategyMap{ "key": StrategyArgs{...} } +type StrategyMapInput interface { + pulumi.Input + + ToStrategyMapOutput() StrategyMapOutput + ToStrategyMapOutputWithContext(context.Context) StrategyMapOutput +} + +type StrategyMap map[string]StrategyInput + +func (StrategyMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Strategy)(nil)).Elem() +} + +func (i StrategyMap) ToStrategyMapOutput() StrategyMapOutput { + return i.ToStrategyMapOutputWithContext(context.Background()) +} + +func (i StrategyMap) ToStrategyMapOutputWithContext(ctx context.Context) StrategyMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(StrategyMapOutput) +} + +type StrategyOutput struct{ *pulumi.OutputState } + +func (StrategyOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Strategy)(nil)).Elem() +} + +func (o StrategyOutput) ToStrategyOutput() StrategyOutput { + return o +} + +func (o StrategyOutput) ToStrategyOutputWithContext(ctx context.Context) StrategyOutput { + return o +} + +// Represents Canary strategy. Cannot be defined when Rolling object is defined. +func (o StrategyOutput) Canary() StrategyCanaryPtrOutput { + return o.ApplyT(func(v *Strategy) StrategyCanaryPtrOutput { return v.Canary }).(StrategyCanaryPtrOutput) +} + +// Represents Rolling Update strategy. Cannot be defined when Canary object is defined. +func (o StrategyOutput) Rolling() StrategyRollingPtrOutput { + return o.ApplyT(func(v *Strategy) StrategyRollingPtrOutput { return v.Rolling }).(StrategyRollingPtrOutput) +} + +func (o StrategyOutput) StrategyName() pulumi.StringOutput { + return o.ApplyT(func(v *Strategy) pulumi.StringOutput { return v.StrategyName }).(pulumi.StringOutput) +} + +type StrategyArrayOutput struct{ *pulumi.OutputState } + +func (StrategyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Strategy)(nil)).Elem() +} + +func (o StrategyArrayOutput) ToStrategyArrayOutput() StrategyArrayOutput { + return o +} + +func (o StrategyArrayOutput) ToStrategyArrayOutputWithContext(ctx context.Context) StrategyArrayOutput { + return o +} + +func (o StrategyArrayOutput) Index(i pulumi.IntInput) StrategyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Strategy { + return vs[0].([]*Strategy)[vs[1].(int)] + }).(StrategyOutput) +} + +type StrategyMapOutput struct{ *pulumi.OutputState } + +func (StrategyMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Strategy)(nil)).Elem() +} + +func (o StrategyMapOutput) ToStrategyMapOutput() StrategyMapOutput { + return o +} + +func (o StrategyMapOutput) ToStrategyMapOutputWithContext(ctx context.Context) StrategyMapOutput { + return o +} + +func (o StrategyMapOutput) MapIndex(k pulumi.StringInput) StrategyOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Strategy { + return vs[0].(map[string]*Strategy)[vs[1].(string)] + }).(StrategyOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*StrategyInput)(nil)).Elem(), &Strategy{}) + pulumi.RegisterInputType(reflect.TypeOf((*StrategyArrayInput)(nil)).Elem(), StrategyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*StrategyMapInput)(nil)).Elem(), StrategyMap{}) + pulumi.RegisterOutputType(StrategyOutput{}) + pulumi.RegisterOutputType(StrategyArrayOutput{}) + pulumi.RegisterOutputType(StrategyMapOutput{}) +} diff --git a/sdk/go/spotinst/oceancd/verificationProvider.go b/sdk/go/spotinst/oceancd/verificationProvider.go new file mode 100644 index 00000000..dd5b05e3 --- /dev/null +++ b/sdk/go/spotinst/oceancd/verificationProvider.go @@ -0,0 +1,363 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package oceancd + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-spotinst/sdk/v3/go/spotinst/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manages a Spotinst OceanCD Verfification Provider resource. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-spotinst/sdk/v3/go/spotinst/oceancd" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := oceancd.NewVerificationProvider(ctx, "example", &oceancd.VerificationProviderArgs{ +// Name: pulumi.String("test-verification-provider"), +// ClusterIds: pulumi.StringArray{ +// pulumi.String("Example-Cluster-Id-1"), +// pulumi.String("Example-Cluster-Id-2"), +// pulumi.String("Example-Cluster-Id-3"), +// }, +// Datadog: &oceancd.VerificationProviderDatadogArgs{ +// Address: pulumi.String("1024"), +// ApiKey: pulumi.String("512"), +// AppKey: pulumi.String("0"), +// }, +// CloudWatch: &oceancd.VerificationProviderCloudWatchArgs{ +// IamArn: pulumi.String("arn:aws:iam::123456789012:role/GetMetricData"), +// }, +// Prometheus: &oceancd.VerificationProviderPrometheusArgs{ +// Address: pulumi.String("http://localhost:9090"), +// }, +// NewRelic: &oceancd.VerificationProviderNewRelicArgs{ +// PersonalApiKey: pulumi.String("AUO32RN20oUMD-40283"), +// AccountId: pulumi.String("account-0189718"), +// Region: pulumi.String("eu"), +// BaseUrlRest: pulumi.String("https://rest.api.newrelic.eu"), +// BaseUrlNerdGraph: pulumi.String("https://nerdgraph.api.newrelic.eu"), +// }, +// Jenkins: &oceancd.VerificationProviderJenkinsArgs{ +// BaseUrl: pulumi.String("http://localhost:9090"), +// Username: pulumi.String("test-user"), +// ApiToken: pulumi.String("AbCDeeFFGG"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +type VerificationProvider struct { + pulumi.CustomResourceState + + // Specify the credentials for CloudWatch verification provider. + CloudWatch VerificationProviderCloudWatchPtrOutput `pulumi:"cloudWatch"` + // List of cluster IDs that this Verification Provider will be applied to. + ClusterIds pulumi.StringArrayOutput `pulumi:"clusterIds"` + // Specify the credentials for datadog verification provider. + Datadog VerificationProviderDatadogPtrOutput `pulumi:"datadog"` + // Specify the credentials for Jenkins verification provider. + Jenkins VerificationProviderJenkinsPtrOutput `pulumi:"jenkins"` + // Identifier name for Ocean CD Verification Provider. Must be unique. + Name pulumi.StringOutput `pulumi:"name"` + // Specify the credentials for New Relic verification provider. + NewRelic VerificationProviderNewRelicPtrOutput `pulumi:"newRelic"` + // Specify the credentials for prometheus verification provider. + Prometheus VerificationProviderPrometheusPtrOutput `pulumi:"prometheus"` +} + +// NewVerificationProvider registers a new resource with the given unique name, arguments, and options. +func NewVerificationProvider(ctx *pulumi.Context, + name string, args *VerificationProviderArgs, opts ...pulumi.ResourceOption) (*VerificationProvider, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ClusterIds == nil { + return nil, errors.New("invalid value for required argument 'ClusterIds'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource VerificationProvider + err := ctx.RegisterResource("spotinst:oceancd/verificationProvider:VerificationProvider", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetVerificationProvider gets an existing VerificationProvider 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 GetVerificationProvider(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *VerificationProviderState, opts ...pulumi.ResourceOption) (*VerificationProvider, error) { + var resource VerificationProvider + err := ctx.ReadResource("spotinst:oceancd/verificationProvider:VerificationProvider", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering VerificationProvider resources. +type verificationProviderState struct { + // Specify the credentials for CloudWatch verification provider. + CloudWatch *VerificationProviderCloudWatch `pulumi:"cloudWatch"` + // List of cluster IDs that this Verification Provider will be applied to. + ClusterIds []string `pulumi:"clusterIds"` + // Specify the credentials for datadog verification provider. + Datadog *VerificationProviderDatadog `pulumi:"datadog"` + // Specify the credentials for Jenkins verification provider. + Jenkins *VerificationProviderJenkins `pulumi:"jenkins"` + // Identifier name for Ocean CD Verification Provider. Must be unique. + Name *string `pulumi:"name"` + // Specify the credentials for New Relic verification provider. + NewRelic *VerificationProviderNewRelic `pulumi:"newRelic"` + // Specify the credentials for prometheus verification provider. + Prometheus *VerificationProviderPrometheus `pulumi:"prometheus"` +} + +type VerificationProviderState struct { + // Specify the credentials for CloudWatch verification provider. + CloudWatch VerificationProviderCloudWatchPtrInput + // List of cluster IDs that this Verification Provider will be applied to. + ClusterIds pulumi.StringArrayInput + // Specify the credentials for datadog verification provider. + Datadog VerificationProviderDatadogPtrInput + // Specify the credentials for Jenkins verification provider. + Jenkins VerificationProviderJenkinsPtrInput + // Identifier name for Ocean CD Verification Provider. Must be unique. + Name pulumi.StringPtrInput + // Specify the credentials for New Relic verification provider. + NewRelic VerificationProviderNewRelicPtrInput + // Specify the credentials for prometheus verification provider. + Prometheus VerificationProviderPrometheusPtrInput +} + +func (VerificationProviderState) ElementType() reflect.Type { + return reflect.TypeOf((*verificationProviderState)(nil)).Elem() +} + +type verificationProviderArgs struct { + // Specify the credentials for CloudWatch verification provider. + CloudWatch *VerificationProviderCloudWatch `pulumi:"cloudWatch"` + // List of cluster IDs that this Verification Provider will be applied to. + ClusterIds []string `pulumi:"clusterIds"` + // Specify the credentials for datadog verification provider. + Datadog *VerificationProviderDatadog `pulumi:"datadog"` + // Specify the credentials for Jenkins verification provider. + Jenkins *VerificationProviderJenkins `pulumi:"jenkins"` + // Identifier name for Ocean CD Verification Provider. Must be unique. + Name *string `pulumi:"name"` + // Specify the credentials for New Relic verification provider. + NewRelic *VerificationProviderNewRelic `pulumi:"newRelic"` + // Specify the credentials for prometheus verification provider. + Prometheus *VerificationProviderPrometheus `pulumi:"prometheus"` +} + +// The set of arguments for constructing a VerificationProvider resource. +type VerificationProviderArgs struct { + // Specify the credentials for CloudWatch verification provider. + CloudWatch VerificationProviderCloudWatchPtrInput + // List of cluster IDs that this Verification Provider will be applied to. + ClusterIds pulumi.StringArrayInput + // Specify the credentials for datadog verification provider. + Datadog VerificationProviderDatadogPtrInput + // Specify the credentials for Jenkins verification provider. + Jenkins VerificationProviderJenkinsPtrInput + // Identifier name for Ocean CD Verification Provider. Must be unique. + Name pulumi.StringPtrInput + // Specify the credentials for New Relic verification provider. + NewRelic VerificationProviderNewRelicPtrInput + // Specify the credentials for prometheus verification provider. + Prometheus VerificationProviderPrometheusPtrInput +} + +func (VerificationProviderArgs) ElementType() reflect.Type { + return reflect.TypeOf((*verificationProviderArgs)(nil)).Elem() +} + +type VerificationProviderInput interface { + pulumi.Input + + ToVerificationProviderOutput() VerificationProviderOutput + ToVerificationProviderOutputWithContext(ctx context.Context) VerificationProviderOutput +} + +func (*VerificationProvider) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationProvider)(nil)).Elem() +} + +func (i *VerificationProvider) ToVerificationProviderOutput() VerificationProviderOutput { + return i.ToVerificationProviderOutputWithContext(context.Background()) +} + +func (i *VerificationProvider) ToVerificationProviderOutputWithContext(ctx context.Context) VerificationProviderOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationProviderOutput) +} + +// VerificationProviderArrayInput is an input type that accepts VerificationProviderArray and VerificationProviderArrayOutput values. +// You can construct a concrete instance of `VerificationProviderArrayInput` via: +// +// VerificationProviderArray{ VerificationProviderArgs{...} } +type VerificationProviderArrayInput interface { + pulumi.Input + + ToVerificationProviderArrayOutput() VerificationProviderArrayOutput + ToVerificationProviderArrayOutputWithContext(context.Context) VerificationProviderArrayOutput +} + +type VerificationProviderArray []VerificationProviderInput + +func (VerificationProviderArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*VerificationProvider)(nil)).Elem() +} + +func (i VerificationProviderArray) ToVerificationProviderArrayOutput() VerificationProviderArrayOutput { + return i.ToVerificationProviderArrayOutputWithContext(context.Background()) +} + +func (i VerificationProviderArray) ToVerificationProviderArrayOutputWithContext(ctx context.Context) VerificationProviderArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationProviderArrayOutput) +} + +// VerificationProviderMapInput is an input type that accepts VerificationProviderMap and VerificationProviderMapOutput values. +// You can construct a concrete instance of `VerificationProviderMapInput` via: +// +// VerificationProviderMap{ "key": VerificationProviderArgs{...} } +type VerificationProviderMapInput interface { + pulumi.Input + + ToVerificationProviderMapOutput() VerificationProviderMapOutput + ToVerificationProviderMapOutputWithContext(context.Context) VerificationProviderMapOutput +} + +type VerificationProviderMap map[string]VerificationProviderInput + +func (VerificationProviderMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*VerificationProvider)(nil)).Elem() +} + +func (i VerificationProviderMap) ToVerificationProviderMapOutput() VerificationProviderMapOutput { + return i.ToVerificationProviderMapOutputWithContext(context.Background()) +} + +func (i VerificationProviderMap) ToVerificationProviderMapOutputWithContext(ctx context.Context) VerificationProviderMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationProviderMapOutput) +} + +type VerificationProviderOutput struct{ *pulumi.OutputState } + +func (VerificationProviderOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationProvider)(nil)).Elem() +} + +func (o VerificationProviderOutput) ToVerificationProviderOutput() VerificationProviderOutput { + return o +} + +func (o VerificationProviderOutput) ToVerificationProviderOutputWithContext(ctx context.Context) VerificationProviderOutput { + return o +} + +// Specify the credentials for CloudWatch verification provider. +func (o VerificationProviderOutput) CloudWatch() VerificationProviderCloudWatchPtrOutput { + return o.ApplyT(func(v *VerificationProvider) VerificationProviderCloudWatchPtrOutput { return v.CloudWatch }).(VerificationProviderCloudWatchPtrOutput) +} + +// List of cluster IDs that this Verification Provider will be applied to. +func (o VerificationProviderOutput) ClusterIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VerificationProvider) pulumi.StringArrayOutput { return v.ClusterIds }).(pulumi.StringArrayOutput) +} + +// Specify the credentials for datadog verification provider. +func (o VerificationProviderOutput) Datadog() VerificationProviderDatadogPtrOutput { + return o.ApplyT(func(v *VerificationProvider) VerificationProviderDatadogPtrOutput { return v.Datadog }).(VerificationProviderDatadogPtrOutput) +} + +// Specify the credentials for Jenkins verification provider. +func (o VerificationProviderOutput) Jenkins() VerificationProviderJenkinsPtrOutput { + return o.ApplyT(func(v *VerificationProvider) VerificationProviderJenkinsPtrOutput { return v.Jenkins }).(VerificationProviderJenkinsPtrOutput) +} + +// Identifier name for Ocean CD Verification Provider. Must be unique. +func (o VerificationProviderOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *VerificationProvider) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Specify the credentials for New Relic verification provider. +func (o VerificationProviderOutput) NewRelic() VerificationProviderNewRelicPtrOutput { + return o.ApplyT(func(v *VerificationProvider) VerificationProviderNewRelicPtrOutput { return v.NewRelic }).(VerificationProviderNewRelicPtrOutput) +} + +// Specify the credentials for prometheus verification provider. +func (o VerificationProviderOutput) Prometheus() VerificationProviderPrometheusPtrOutput { + return o.ApplyT(func(v *VerificationProvider) VerificationProviderPrometheusPtrOutput { return v.Prometheus }).(VerificationProviderPrometheusPtrOutput) +} + +type VerificationProviderArrayOutput struct{ *pulumi.OutputState } + +func (VerificationProviderArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*VerificationProvider)(nil)).Elem() +} + +func (o VerificationProviderArrayOutput) ToVerificationProviderArrayOutput() VerificationProviderArrayOutput { + return o +} + +func (o VerificationProviderArrayOutput) ToVerificationProviderArrayOutputWithContext(ctx context.Context) VerificationProviderArrayOutput { + return o +} + +func (o VerificationProviderArrayOutput) Index(i pulumi.IntInput) VerificationProviderOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *VerificationProvider { + return vs[0].([]*VerificationProvider)[vs[1].(int)] + }).(VerificationProviderOutput) +} + +type VerificationProviderMapOutput struct{ *pulumi.OutputState } + +func (VerificationProviderMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*VerificationProvider)(nil)).Elem() +} + +func (o VerificationProviderMapOutput) ToVerificationProviderMapOutput() VerificationProviderMapOutput { + return o +} + +func (o VerificationProviderMapOutput) ToVerificationProviderMapOutputWithContext(ctx context.Context) VerificationProviderMapOutput { + return o +} + +func (o VerificationProviderMapOutput) MapIndex(k pulumi.StringInput) VerificationProviderOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *VerificationProvider { + return vs[0].(map[string]*VerificationProvider)[vs[1].(string)] + }).(VerificationProviderOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*VerificationProviderInput)(nil)).Elem(), &VerificationProvider{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationProviderArrayInput)(nil)).Elem(), VerificationProviderArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationProviderMapInput)(nil)).Elem(), VerificationProviderMap{}) + pulumi.RegisterOutputType(VerificationProviderOutput{}) + pulumi.RegisterOutputType(VerificationProviderArrayOutput{}) + pulumi.RegisterOutputType(VerificationProviderMapOutput{}) +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/Strategy.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/Strategy.java new file mode 100644 index 00000000..04ba4804 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/Strategy.java @@ -0,0 +1,108 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.oceancd; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import com.pulumi.spotinst.Utilities; +import com.pulumi.spotinst.oceancd.StrategyArgs; +import com.pulumi.spotinst.oceancd.inputs.StrategyState; +import com.pulumi.spotinst.oceancd.outputs.StrategyCanary; +import com.pulumi.spotinst.oceancd.outputs.StrategyRolling; +import java.lang.String; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Manages a Spotinst OceanCD Strategy resource. + * + */ +@ResourceType(type="spotinst:oceancd/strategy:Strategy") +public class Strategy extends com.pulumi.resources.CustomResource { + /** + * Represents Canary strategy. Cannot be defined when Rolling object is defined. + * + */ + @Export(name="canary", refs={StrategyCanary.class}, tree="[0]") + private Output canary; + + /** + * @return Represents Canary strategy. Cannot be defined when Rolling object is defined. + * + */ + public Output> canary() { + return Codegen.optional(this.canary); + } + /** + * Represents Rolling Update strategy. Cannot be defined when Canary object is defined. + * + */ + @Export(name="rolling", refs={StrategyRolling.class}, tree="[0]") + private Output rolling; + + /** + * @return Represents Rolling Update strategy. Cannot be defined when Canary object is defined. + * + */ + public Output> rolling() { + return Codegen.optional(this.rolling); + } + @Export(name="strategyName", refs={String.class}, tree="[0]") + private Output strategyName; + + public Output strategyName() { + return this.strategyName; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public Strategy(String name) { + this(name, StrategyArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public Strategy(String name, StrategyArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public Strategy(String name, StrategyArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("spotinst:oceancd/strategy:Strategy", name, args == null ? StrategyArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private Strategy(String name, Output id, @Nullable StrategyState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("spotinst:oceancd/strategy:Strategy", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host 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 + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static Strategy get(String name, Output id, @Nullable StrategyState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new Strategy(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/StrategyArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/StrategyArgs.java new file mode 100644 index 00000000..597d1a62 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/StrategyArgs.java @@ -0,0 +1,143 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.oceancd; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import com.pulumi.spotinst.oceancd.inputs.StrategyCanaryArgs; +import com.pulumi.spotinst.oceancd.inputs.StrategyRollingArgs; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class StrategyArgs extends com.pulumi.resources.ResourceArgs { + + public static final StrategyArgs Empty = new StrategyArgs(); + + /** + * Represents Canary strategy. Cannot be defined when Rolling object is defined. + * + */ + @Import(name="canary") + private @Nullable Output canary; + + /** + * @return Represents Canary strategy. Cannot be defined when Rolling object is defined. + * + */ + public Optional> canary() { + return Optional.ofNullable(this.canary); + } + + /** + * Represents Rolling Update strategy. Cannot be defined when Canary object is defined. + * + */ + @Import(name="rolling") + private @Nullable Output rolling; + + /** + * @return Represents Rolling Update strategy. Cannot be defined when Canary object is defined. + * + */ + public Optional> rolling() { + return Optional.ofNullable(this.rolling); + } + + @Import(name="strategyName", required=true) + private Output strategyName; + + public Output strategyName() { + return this.strategyName; + } + + private StrategyArgs() {} + + private StrategyArgs(StrategyArgs $) { + this.canary = $.canary; + this.rolling = $.rolling; + this.strategyName = $.strategyName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(StrategyArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private StrategyArgs $; + + public Builder() { + $ = new StrategyArgs(); + } + + public Builder(StrategyArgs defaults) { + $ = new StrategyArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param canary Represents Canary strategy. Cannot be defined when Rolling object is defined. + * + * @return builder + * + */ + public Builder canary(@Nullable Output canary) { + $.canary = canary; + return this; + } + + /** + * @param canary Represents Canary strategy. Cannot be defined when Rolling object is defined. + * + * @return builder + * + */ + public Builder canary(StrategyCanaryArgs canary) { + return canary(Output.of(canary)); + } + + /** + * @param rolling Represents Rolling Update strategy. Cannot be defined when Canary object is defined. + * + * @return builder + * + */ + public Builder rolling(@Nullable Output rolling) { + $.rolling = rolling; + return this; + } + + /** + * @param rolling Represents Rolling Update strategy. Cannot be defined when Canary object is defined. + * + * @return builder + * + */ + public Builder rolling(StrategyRollingArgs rolling) { + return rolling(Output.of(rolling)); + } + + public Builder strategyName(Output strategyName) { + $.strategyName = strategyName; + return this; + } + + public Builder strategyName(String strategyName) { + return strategyName(Output.of(strategyName)); + } + + public StrategyArgs build() { + if ($.strategyName == null) { + throw new MissingRequiredPropertyException("StrategyArgs", "strategyName"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/VerificationProvider.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/VerificationProvider.java new file mode 100644 index 00000000..3777cafd --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/VerificationProvider.java @@ -0,0 +1,243 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.oceancd; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import com.pulumi.spotinst.Utilities; +import com.pulumi.spotinst.oceancd.VerificationProviderArgs; +import com.pulumi.spotinst.oceancd.inputs.VerificationProviderState; +import com.pulumi.spotinst.oceancd.outputs.VerificationProviderCloudWatch; +import com.pulumi.spotinst.oceancd.outputs.VerificationProviderDatadog; +import com.pulumi.spotinst.oceancd.outputs.VerificationProviderJenkins; +import com.pulumi.spotinst.oceancd.outputs.VerificationProviderNewRelic; +import com.pulumi.spotinst.oceancd.outputs.VerificationProviderPrometheus; +import java.lang.String; +import java.util.List; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Manages a Spotinst OceanCD Verfification Provider resource. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + *
+ * {@code
+ * package generated_program;
+ * 
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.spotinst.oceancd.VerificationProvider;
+ * import com.pulumi.spotinst.oceancd.VerificationProviderArgs;
+ * import com.pulumi.spotinst.oceancd.inputs.VerificationProviderDatadogArgs;
+ * import com.pulumi.spotinst.oceancd.inputs.VerificationProviderCloudWatchArgs;
+ * import com.pulumi.spotinst.oceancd.inputs.VerificationProviderPrometheusArgs;
+ * import com.pulumi.spotinst.oceancd.inputs.VerificationProviderNewRelicArgs;
+ * import com.pulumi.spotinst.oceancd.inputs.VerificationProviderJenkinsArgs;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ * 
+ * public class App {
+ *     public static void main(String[] args) {
+ *         Pulumi.run(App::stack);
+ *     }
+ * 
+ *     public static void stack(Context ctx) {
+ *         var example = new VerificationProvider("example", VerificationProviderArgs.builder()        
+ *             .name("test-verification-provider")
+ *             .clusterIds(            
+ *                 "Example-Cluster-Id-1",
+ *                 "Example-Cluster-Id-2",
+ *                 "Example-Cluster-Id-3")
+ *             .datadog(VerificationProviderDatadogArgs.builder()
+ *                 .address(1024)
+ *                 .apiKey(512)
+ *                 .appKey(0)
+ *                 .build())
+ *             .cloudWatch(VerificationProviderCloudWatchArgs.builder()
+ *                 .iamArn("arn:aws:iam::123456789012:role/GetMetricData")
+ *                 .build())
+ *             .prometheus(VerificationProviderPrometheusArgs.builder()
+ *                 .address("http://localhost:9090")
+ *                 .build())
+ *             .newRelic(VerificationProviderNewRelicArgs.builder()
+ *                 .personalApiKey("AUO32RN20oUMD-40283")
+ *                 .accountId("account-0189718")
+ *                 .region("eu")
+ *                 .baseUrlRest("https://rest.api.newrelic.eu")
+ *                 .baseUrlNerdGraph("https://nerdgraph.api.newrelic.eu")
+ *                 .build())
+ *             .jenkins(VerificationProviderJenkinsArgs.builder()
+ *                 .baseUrl("http://localhost:9090")
+ *                 .username("test-user")
+ *                 .apiToken("AbCDeeFFGG")
+ *                 .build())
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + */ +@ResourceType(type="spotinst:oceancd/verificationProvider:VerificationProvider") +public class VerificationProvider extends com.pulumi.resources.CustomResource { + /** + * Specify the credentials for CloudWatch verification provider. + * + */ + @Export(name="cloudWatch", refs={VerificationProviderCloudWatch.class}, tree="[0]") + private Output cloudWatch; + + /** + * @return Specify the credentials for CloudWatch verification provider. + * + */ + public Output> cloudWatch() { + return Codegen.optional(this.cloudWatch); + } + /** + * List of cluster IDs that this Verification Provider will be applied to. + * + */ + @Export(name="clusterIds", refs={List.class,String.class}, tree="[0,1]") + private Output> clusterIds; + + /** + * @return List of cluster IDs that this Verification Provider will be applied to. + * + */ + public Output> clusterIds() { + return this.clusterIds; + } + /** + * Specify the credentials for datadog verification provider. + * + */ + @Export(name="datadog", refs={VerificationProviderDatadog.class}, tree="[0]") + private Output datadog; + + /** + * @return Specify the credentials for datadog verification provider. + * + */ + public Output> datadog() { + return Codegen.optional(this.datadog); + } + /** + * Specify the credentials for Jenkins verification provider. + * + */ + @Export(name="jenkins", refs={VerificationProviderJenkins.class}, tree="[0]") + private Output jenkins; + + /** + * @return Specify the credentials for Jenkins verification provider. + * + */ + public Output> jenkins() { + return Codegen.optional(this.jenkins); + } + /** + * Identifier name for Ocean CD Verification Provider. Must be unique. + * + */ + @Export(name="name", refs={String.class}, tree="[0]") + private Output name; + + /** + * @return Identifier name for Ocean CD Verification Provider. Must be unique. + * + */ + public Output name() { + return this.name; + } + /** + * Specify the credentials for New Relic verification provider. + * + */ + @Export(name="newRelic", refs={VerificationProviderNewRelic.class}, tree="[0]") + private Output newRelic; + + /** + * @return Specify the credentials for New Relic verification provider. + * + */ + public Output> newRelic() { + return Codegen.optional(this.newRelic); + } + /** + * Specify the credentials for prometheus verification provider. + * + */ + @Export(name="prometheus", refs={VerificationProviderPrometheus.class}, tree="[0]") + private Output prometheus; + + /** + * @return Specify the credentials for prometheus verification provider. + * + */ + public Output> prometheus() { + return Codegen.optional(this.prometheus); + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public VerificationProvider(String name) { + this(name, VerificationProviderArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public VerificationProvider(String name, VerificationProviderArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public VerificationProvider(String name, VerificationProviderArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("spotinst:oceancd/verificationProvider:VerificationProvider", name, args == null ? VerificationProviderArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private VerificationProvider(String name, Output id, @Nullable VerificationProviderState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("spotinst:oceancd/verificationProvider:VerificationProvider", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host 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 + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static VerificationProvider get(String name, Output id, @Nullable VerificationProviderState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new VerificationProvider(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/VerificationProviderArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/VerificationProviderArgs.java new file mode 100644 index 00000000..7aff24c7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/VerificationProviderArgs.java @@ -0,0 +1,325 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.oceancd; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import com.pulumi.spotinst.oceancd.inputs.VerificationProviderCloudWatchArgs; +import com.pulumi.spotinst.oceancd.inputs.VerificationProviderDatadogArgs; +import com.pulumi.spotinst.oceancd.inputs.VerificationProviderJenkinsArgs; +import com.pulumi.spotinst.oceancd.inputs.VerificationProviderNewRelicArgs; +import com.pulumi.spotinst.oceancd.inputs.VerificationProviderPrometheusArgs; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class VerificationProviderArgs extends com.pulumi.resources.ResourceArgs { + + public static final VerificationProviderArgs Empty = new VerificationProviderArgs(); + + /** + * Specify the credentials for CloudWatch verification provider. + * + */ + @Import(name="cloudWatch") + private @Nullable Output cloudWatch; + + /** + * @return Specify the credentials for CloudWatch verification provider. + * + */ + public Optional> cloudWatch() { + return Optional.ofNullable(this.cloudWatch); + } + + /** + * List of cluster IDs that this Verification Provider will be applied to. + * + */ + @Import(name="clusterIds", required=true) + private Output> clusterIds; + + /** + * @return List of cluster IDs that this Verification Provider will be applied to. + * + */ + public Output> clusterIds() { + return this.clusterIds; + } + + /** + * Specify the credentials for datadog verification provider. + * + */ + @Import(name="datadog") + private @Nullable Output datadog; + + /** + * @return Specify the credentials for datadog verification provider. + * + */ + public Optional> datadog() { + return Optional.ofNullable(this.datadog); + } + + /** + * Specify the credentials for Jenkins verification provider. + * + */ + @Import(name="jenkins") + private @Nullable Output jenkins; + + /** + * @return Specify the credentials for Jenkins verification provider. + * + */ + public Optional> jenkins() { + return Optional.ofNullable(this.jenkins); + } + + /** + * Identifier name for Ocean CD Verification Provider. Must be unique. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return Identifier name for Ocean CD Verification Provider. Must be unique. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * Specify the credentials for New Relic verification provider. + * + */ + @Import(name="newRelic") + private @Nullable Output newRelic; + + /** + * @return Specify the credentials for New Relic verification provider. + * + */ + public Optional> newRelic() { + return Optional.ofNullable(this.newRelic); + } + + /** + * Specify the credentials for prometheus verification provider. + * + */ + @Import(name="prometheus") + private @Nullable Output prometheus; + + /** + * @return Specify the credentials for prometheus verification provider. + * + */ + public Optional> prometheus() { + return Optional.ofNullable(this.prometheus); + } + + private VerificationProviderArgs() {} + + private VerificationProviderArgs(VerificationProviderArgs $) { + this.cloudWatch = $.cloudWatch; + this.clusterIds = $.clusterIds; + this.datadog = $.datadog; + this.jenkins = $.jenkins; + this.name = $.name; + this.newRelic = $.newRelic; + this.prometheus = $.prometheus; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VerificationProviderArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VerificationProviderArgs $; + + public Builder() { + $ = new VerificationProviderArgs(); + } + + public Builder(VerificationProviderArgs defaults) { + $ = new VerificationProviderArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param cloudWatch Specify the credentials for CloudWatch verification provider. + * + * @return builder + * + */ + public Builder cloudWatch(@Nullable Output cloudWatch) { + $.cloudWatch = cloudWatch; + return this; + } + + /** + * @param cloudWatch Specify the credentials for CloudWatch verification provider. + * + * @return builder + * + */ + public Builder cloudWatch(VerificationProviderCloudWatchArgs cloudWatch) { + return cloudWatch(Output.of(cloudWatch)); + } + + /** + * @param clusterIds List of cluster IDs that this Verification Provider will be applied to. + * + * @return builder + * + */ + public Builder clusterIds(Output> clusterIds) { + $.clusterIds = clusterIds; + return this; + } + + /** + * @param clusterIds List of cluster IDs that this Verification Provider will be applied to. + * + * @return builder + * + */ + public Builder clusterIds(List clusterIds) { + return clusterIds(Output.of(clusterIds)); + } + + /** + * @param clusterIds List of cluster IDs that this Verification Provider will be applied to. + * + * @return builder + * + */ + public Builder clusterIds(String... clusterIds) { + return clusterIds(List.of(clusterIds)); + } + + /** + * @param datadog Specify the credentials for datadog verification provider. + * + * @return builder + * + */ + public Builder datadog(@Nullable Output datadog) { + $.datadog = datadog; + return this; + } + + /** + * @param datadog Specify the credentials for datadog verification provider. + * + * @return builder + * + */ + public Builder datadog(VerificationProviderDatadogArgs datadog) { + return datadog(Output.of(datadog)); + } + + /** + * @param jenkins Specify the credentials for Jenkins verification provider. + * + * @return builder + * + */ + public Builder jenkins(@Nullable Output jenkins) { + $.jenkins = jenkins; + return this; + } + + /** + * @param jenkins Specify the credentials for Jenkins verification provider. + * + * @return builder + * + */ + public Builder jenkins(VerificationProviderJenkinsArgs jenkins) { + return jenkins(Output.of(jenkins)); + } + + /** + * @param name Identifier name for Ocean CD Verification Provider. Must be unique. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name Identifier name for Ocean CD Verification Provider. Must be unique. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param newRelic Specify the credentials for New Relic verification provider. + * + * @return builder + * + */ + public Builder newRelic(@Nullable Output newRelic) { + $.newRelic = newRelic; + return this; + } + + /** + * @param newRelic Specify the credentials for New Relic verification provider. + * + * @return builder + * + */ + public Builder newRelic(VerificationProviderNewRelicArgs newRelic) { + return newRelic(Output.of(newRelic)); + } + + /** + * @param prometheus Specify the credentials for prometheus verification provider. + * + * @return builder + * + */ + public Builder prometheus(@Nullable Output prometheus) { + $.prometheus = prometheus; + return this; + } + + /** + * @param prometheus Specify the credentials for prometheus verification provider. + * + * @return builder + * + */ + public Builder prometheus(VerificationProviderPrometheusArgs prometheus) { + return prometheus(Output.of(prometheus)); + } + + public VerificationProviderArgs build() { + if ($.clusterIds == null) { + throw new MissingRequiredPropertyException("VerificationProviderArgs", "clusterIds"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/StrategyCanaryArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/StrategyCanaryArgs.java new file mode 100644 index 00000000..b3d841ee --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/StrategyCanaryArgs.java @@ -0,0 +1,136 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.oceancd.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import com.pulumi.spotinst.oceancd.inputs.StrategyCanaryBackgroundVerificationArgs; +import com.pulumi.spotinst.oceancd.inputs.StrategyCanaryStepArgs; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class StrategyCanaryArgs extends com.pulumi.resources.ResourceArgs { + + public static final StrategyCanaryArgs Empty = new StrategyCanaryArgs(); + + /** + * A list of background verifications. + * + */ + @Import(name="backgroundVerification") + private @Nullable Output backgroundVerification; + + /** + * @return A list of background verifications. + * + */ + public Optional> backgroundVerification() { + return Optional.ofNullable(this.backgroundVerification); + } + + /** + * A set of separate conditions of rollout processing. + * + */ + @Import(name="steps", required=true) + private Output> steps; + + /** + * @return A set of separate conditions of rollout processing. + * + */ + public Output> steps() { + return this.steps; + } + + private StrategyCanaryArgs() {} + + private StrategyCanaryArgs(StrategyCanaryArgs $) { + this.backgroundVerification = $.backgroundVerification; + this.steps = $.steps; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(StrategyCanaryArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private StrategyCanaryArgs $; + + public Builder() { + $ = new StrategyCanaryArgs(); + } + + public Builder(StrategyCanaryArgs defaults) { + $ = new StrategyCanaryArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param backgroundVerification A list of background verifications. + * + * @return builder + * + */ + public Builder backgroundVerification(@Nullable Output backgroundVerification) { + $.backgroundVerification = backgroundVerification; + return this; + } + + /** + * @param backgroundVerification A list of background verifications. + * + * @return builder + * + */ + public Builder backgroundVerification(StrategyCanaryBackgroundVerificationArgs backgroundVerification) { + return backgroundVerification(Output.of(backgroundVerification)); + } + + /** + * @param steps A set of separate conditions of rollout processing. + * + * @return builder + * + */ + public Builder steps(Output> steps) { + $.steps = steps; + return this; + } + + /** + * @param steps A set of separate conditions of rollout processing. + * + * @return builder + * + */ + public Builder steps(List steps) { + return steps(Output.of(steps)); + } + + /** + * @param steps A set of separate conditions of rollout processing. + * + * @return builder + * + */ + public Builder steps(StrategyCanaryStepArgs... steps) { + return steps(List.of(steps)); + } + + public StrategyCanaryArgs build() { + if ($.steps == null) { + throw new MissingRequiredPropertyException("StrategyCanaryArgs", "steps"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/StrategyCanaryBackgroundVerificationArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/StrategyCanaryBackgroundVerificationArgs.java new file mode 100644 index 00000000..940dd9b4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/StrategyCanaryBackgroundVerificationArgs.java @@ -0,0 +1,70 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.oceancd.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; + + +public final class StrategyCanaryBackgroundVerificationArgs extends com.pulumi.resources.ResourceArgs { + + public static final StrategyCanaryBackgroundVerificationArgs Empty = new StrategyCanaryBackgroundVerificationArgs(); + + @Import(name="templateNames", required=true) + private Output> templateNames; + + public Output> templateNames() { + return this.templateNames; + } + + private StrategyCanaryBackgroundVerificationArgs() {} + + private StrategyCanaryBackgroundVerificationArgs(StrategyCanaryBackgroundVerificationArgs $) { + this.templateNames = $.templateNames; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(StrategyCanaryBackgroundVerificationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private StrategyCanaryBackgroundVerificationArgs $; + + public Builder() { + $ = new StrategyCanaryBackgroundVerificationArgs(); + } + + public Builder(StrategyCanaryBackgroundVerificationArgs defaults) { + $ = new StrategyCanaryBackgroundVerificationArgs(Objects.requireNonNull(defaults)); + } + + public Builder templateNames(Output> templateNames) { + $.templateNames = templateNames; + return this; + } + + public Builder templateNames(List templateNames) { + return templateNames(Output.of(templateNames)); + } + + public Builder templateNames(String... templateNames) { + return templateNames(List.of(templateNames)); + } + + public StrategyCanaryBackgroundVerificationArgs build() { + if ($.templateNames == null) { + throw new MissingRequiredPropertyException("StrategyCanaryBackgroundVerificationArgs", "templateNames"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/StrategyCanaryStepArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/StrategyCanaryStepArgs.java new file mode 100644 index 00000000..30b7860d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/StrategyCanaryStepArgs.java @@ -0,0 +1,153 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.oceancd.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.spotinst.oceancd.inputs.StrategyCanaryStepPauseArgs; +import com.pulumi.spotinst.oceancd.inputs.StrategyCanaryStepSetCanaryScaleArgs; +import com.pulumi.spotinst.oceancd.inputs.StrategyCanaryStepSetHeaderRouteArgs; +import com.pulumi.spotinst.oceancd.inputs.StrategyCanaryStepVerificationArgs; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class StrategyCanaryStepArgs extends com.pulumi.resources.ResourceArgs { + + public static final StrategyCanaryStepArgs Empty = new StrategyCanaryStepArgs(); + + @Import(name="pause") + private @Nullable Output pause; + + public Optional> pause() { + return Optional.ofNullable(this.pause); + } + + @Import(name="setCanaryScale") + private @Nullable Output setCanaryScale; + + public Optional> setCanaryScale() { + return Optional.ofNullable(this.setCanaryScale); + } + + @Import(name="setHeaderRoute") + private @Nullable Output setHeaderRoute; + + public Optional> setHeaderRoute() { + return Optional.ofNullable(this.setHeaderRoute); + } + + @Import(name="setWeight") + private @Nullable Output setWeight; + + public Optional> setWeight() { + return Optional.ofNullable(this.setWeight); + } + + @Import(name="stepName") + private @Nullable Output stepName; + + public Optional> stepName() { + return Optional.ofNullable(this.stepName); + } + + @Import(name="verification") + private @Nullable Output verification; + + public Optional> verification() { + return Optional.ofNullable(this.verification); + } + + private StrategyCanaryStepArgs() {} + + private StrategyCanaryStepArgs(StrategyCanaryStepArgs $) { + this.pause = $.pause; + this.setCanaryScale = $.setCanaryScale; + this.setHeaderRoute = $.setHeaderRoute; + this.setWeight = $.setWeight; + this.stepName = $.stepName; + this.verification = $.verification; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(StrategyCanaryStepArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private StrategyCanaryStepArgs $; + + public Builder() { + $ = new StrategyCanaryStepArgs(); + } + + public Builder(StrategyCanaryStepArgs defaults) { + $ = new StrategyCanaryStepArgs(Objects.requireNonNull(defaults)); + } + + public Builder pause(@Nullable Output pause) { + $.pause = pause; + return this; + } + + public Builder pause(StrategyCanaryStepPauseArgs pause) { + return pause(Output.of(pause)); + } + + public Builder setCanaryScale(@Nullable Output setCanaryScale) { + $.setCanaryScale = setCanaryScale; + return this; + } + + public Builder setCanaryScale(StrategyCanaryStepSetCanaryScaleArgs setCanaryScale) { + return setCanaryScale(Output.of(setCanaryScale)); + } + + public Builder setHeaderRoute(@Nullable Output setHeaderRoute) { + $.setHeaderRoute = setHeaderRoute; + return this; + } + + public Builder setHeaderRoute(StrategyCanaryStepSetHeaderRouteArgs setHeaderRoute) { + return setHeaderRoute(Output.of(setHeaderRoute)); + } + + public Builder setWeight(@Nullable Output setWeight) { + $.setWeight = setWeight; + return this; + } + + public Builder setWeight(Integer setWeight) { + return setWeight(Output.of(setWeight)); + } + + public Builder stepName(@Nullable Output stepName) { + $.stepName = stepName; + return this; + } + + public Builder stepName(String stepName) { + return stepName(Output.of(stepName)); + } + + public Builder verification(@Nullable Output verification) { + $.verification = verification; + return this; + } + + public Builder verification(StrategyCanaryStepVerificationArgs verification) { + return verification(Output.of(verification)); + } + + public StrategyCanaryStepArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/StrategyCanaryStepPauseArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/StrategyCanaryStepPauseArgs.java new file mode 100644 index 00000000..4ceb3f11 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/StrategyCanaryStepPauseArgs.java @@ -0,0 +1,63 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.oceancd.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class StrategyCanaryStepPauseArgs extends com.pulumi.resources.ResourceArgs { + + public static final StrategyCanaryStepPauseArgs Empty = new StrategyCanaryStepPauseArgs(); + + @Import(name="duration") + private @Nullable Output duration; + + public Optional> duration() { + return Optional.ofNullable(this.duration); + } + + private StrategyCanaryStepPauseArgs() {} + + private StrategyCanaryStepPauseArgs(StrategyCanaryStepPauseArgs $) { + this.duration = $.duration; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(StrategyCanaryStepPauseArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private StrategyCanaryStepPauseArgs $; + + public Builder() { + $ = new StrategyCanaryStepPauseArgs(); + } + + public Builder(StrategyCanaryStepPauseArgs defaults) { + $ = new StrategyCanaryStepPauseArgs(Objects.requireNonNull(defaults)); + } + + public Builder duration(@Nullable Output duration) { + $.duration = duration; + return this; + } + + public Builder duration(String duration) { + return duration(Output.of(duration)); + } + + public StrategyCanaryStepPauseArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/StrategyCanaryStepSetCanaryScaleArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/StrategyCanaryStepSetCanaryScaleArgs.java new file mode 100644 index 00000000..f1e658c3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/StrategyCanaryStepSetCanaryScaleArgs.java @@ -0,0 +1,98 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.oceancd.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.Integer; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class StrategyCanaryStepSetCanaryScaleArgs extends com.pulumi.resources.ResourceArgs { + + public static final StrategyCanaryStepSetCanaryScaleArgs Empty = new StrategyCanaryStepSetCanaryScaleArgs(); + + @Import(name="matchTrafficWeight") + private @Nullable Output matchTrafficWeight; + + public Optional> matchTrafficWeight() { + return Optional.ofNullable(this.matchTrafficWeight); + } + + @Import(name="replicas") + private @Nullable Output replicas; + + public Optional> replicas() { + return Optional.ofNullable(this.replicas); + } + + @Import(name="weight") + private @Nullable Output weight; + + public Optional> weight() { + return Optional.ofNullable(this.weight); + } + + private StrategyCanaryStepSetCanaryScaleArgs() {} + + private StrategyCanaryStepSetCanaryScaleArgs(StrategyCanaryStepSetCanaryScaleArgs $) { + this.matchTrafficWeight = $.matchTrafficWeight; + this.replicas = $.replicas; + this.weight = $.weight; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(StrategyCanaryStepSetCanaryScaleArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private StrategyCanaryStepSetCanaryScaleArgs $; + + public Builder() { + $ = new StrategyCanaryStepSetCanaryScaleArgs(); + } + + public Builder(StrategyCanaryStepSetCanaryScaleArgs defaults) { + $ = new StrategyCanaryStepSetCanaryScaleArgs(Objects.requireNonNull(defaults)); + } + + public Builder matchTrafficWeight(@Nullable Output matchTrafficWeight) { + $.matchTrafficWeight = matchTrafficWeight; + return this; + } + + public Builder matchTrafficWeight(Boolean matchTrafficWeight) { + return matchTrafficWeight(Output.of(matchTrafficWeight)); + } + + public Builder replicas(@Nullable Output replicas) { + $.replicas = replicas; + return this; + } + + public Builder replicas(Integer replicas) { + return replicas(Output.of(replicas)); + } + + public Builder weight(@Nullable Output weight) { + $.weight = weight; + return this; + } + + public Builder weight(Integer weight) { + return weight(Output.of(weight)); + } + + public StrategyCanaryStepSetCanaryScaleArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/StrategyCanaryStepSetHeaderRouteArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/StrategyCanaryStepSetHeaderRouteArgs.java new file mode 100644 index 00000000..7060e8ff --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/StrategyCanaryStepSetHeaderRouteArgs.java @@ -0,0 +1,91 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.oceancd.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import com.pulumi.spotinst.oceancd.inputs.StrategyCanaryStepSetHeaderRouteMatchArgs; +import java.lang.String; +import java.util.List; +import java.util.Objects; + + +public final class StrategyCanaryStepSetHeaderRouteArgs extends com.pulumi.resources.ResourceArgs { + + public static final StrategyCanaryStepSetHeaderRouteArgs Empty = new StrategyCanaryStepSetHeaderRouteArgs(); + + @Import(name="headerRouteName", required=true) + private Output headerRouteName; + + public Output headerRouteName() { + return this.headerRouteName; + } + + @Import(name="matches", required=true) + private Output> matches; + + public Output> matches() { + return this.matches; + } + + private StrategyCanaryStepSetHeaderRouteArgs() {} + + private StrategyCanaryStepSetHeaderRouteArgs(StrategyCanaryStepSetHeaderRouteArgs $) { + this.headerRouteName = $.headerRouteName; + this.matches = $.matches; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(StrategyCanaryStepSetHeaderRouteArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private StrategyCanaryStepSetHeaderRouteArgs $; + + public Builder() { + $ = new StrategyCanaryStepSetHeaderRouteArgs(); + } + + public Builder(StrategyCanaryStepSetHeaderRouteArgs defaults) { + $ = new StrategyCanaryStepSetHeaderRouteArgs(Objects.requireNonNull(defaults)); + } + + public Builder headerRouteName(Output headerRouteName) { + $.headerRouteName = headerRouteName; + return this; + } + + public Builder headerRouteName(String headerRouteName) { + return headerRouteName(Output.of(headerRouteName)); + } + + public Builder matches(Output> matches) { + $.matches = matches; + return this; + } + + public Builder matches(List matches) { + return matches(Output.of(matches)); + } + + public Builder matches(StrategyCanaryStepSetHeaderRouteMatchArgs... matches) { + return matches(List.of(matches)); + } + + public StrategyCanaryStepSetHeaderRouteArgs build() { + if ($.headerRouteName == null) { + throw new MissingRequiredPropertyException("StrategyCanaryStepSetHeaderRouteArgs", "headerRouteName"); + } + if ($.matches == null) { + throw new MissingRequiredPropertyException("StrategyCanaryStepSetHeaderRouteArgs", "matches"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/StrategyCanaryStepSetHeaderRouteMatchArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/StrategyCanaryStepSetHeaderRouteMatchArgs.java new file mode 100644 index 00000000..c8470abd --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/StrategyCanaryStepSetHeaderRouteMatchArgs.java @@ -0,0 +1,86 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.oceancd.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import com.pulumi.spotinst.oceancd.inputs.StrategyCanaryStepSetHeaderRouteMatchHeaderValueArgs; +import java.lang.String; +import java.util.Objects; + + +public final class StrategyCanaryStepSetHeaderRouteMatchArgs extends com.pulumi.resources.ResourceArgs { + + public static final StrategyCanaryStepSetHeaderRouteMatchArgs Empty = new StrategyCanaryStepSetHeaderRouteMatchArgs(); + + @Import(name="headerName", required=true) + private Output headerName; + + public Output headerName() { + return this.headerName; + } + + @Import(name="headerValue", required=true) + private Output headerValue; + + public Output headerValue() { + return this.headerValue; + } + + private StrategyCanaryStepSetHeaderRouteMatchArgs() {} + + private StrategyCanaryStepSetHeaderRouteMatchArgs(StrategyCanaryStepSetHeaderRouteMatchArgs $) { + this.headerName = $.headerName; + this.headerValue = $.headerValue; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(StrategyCanaryStepSetHeaderRouteMatchArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private StrategyCanaryStepSetHeaderRouteMatchArgs $; + + public Builder() { + $ = new StrategyCanaryStepSetHeaderRouteMatchArgs(); + } + + public Builder(StrategyCanaryStepSetHeaderRouteMatchArgs defaults) { + $ = new StrategyCanaryStepSetHeaderRouteMatchArgs(Objects.requireNonNull(defaults)); + } + + public Builder headerName(Output headerName) { + $.headerName = headerName; + return this; + } + + public Builder headerName(String headerName) { + return headerName(Output.of(headerName)); + } + + public Builder headerValue(Output headerValue) { + $.headerValue = headerValue; + return this; + } + + public Builder headerValue(StrategyCanaryStepSetHeaderRouteMatchHeaderValueArgs headerValue) { + return headerValue(Output.of(headerValue)); + } + + public StrategyCanaryStepSetHeaderRouteMatchArgs build() { + if ($.headerName == null) { + throw new MissingRequiredPropertyException("StrategyCanaryStepSetHeaderRouteMatchArgs", "headerName"); + } + if ($.headerValue == null) { + throw new MissingRequiredPropertyException("StrategyCanaryStepSetHeaderRouteMatchArgs", "headerValue"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/StrategyCanaryStepSetHeaderRouteMatchHeaderValueArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/StrategyCanaryStepSetHeaderRouteMatchHeaderValueArgs.java new file mode 100644 index 00000000..9726605f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/StrategyCanaryStepSetHeaderRouteMatchHeaderValueArgs.java @@ -0,0 +1,97 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.oceancd.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class StrategyCanaryStepSetHeaderRouteMatchHeaderValueArgs extends com.pulumi.resources.ResourceArgs { + + public static final StrategyCanaryStepSetHeaderRouteMatchHeaderValueArgs Empty = new StrategyCanaryStepSetHeaderRouteMatchHeaderValueArgs(); + + @Import(name="exact") + private @Nullable Output exact; + + public Optional> exact() { + return Optional.ofNullable(this.exact); + } + + @Import(name="prefix") + private @Nullable Output prefix; + + public Optional> prefix() { + return Optional.ofNullable(this.prefix); + } + + @Import(name="regex") + private @Nullable Output regex; + + public Optional> regex() { + return Optional.ofNullable(this.regex); + } + + private StrategyCanaryStepSetHeaderRouteMatchHeaderValueArgs() {} + + private StrategyCanaryStepSetHeaderRouteMatchHeaderValueArgs(StrategyCanaryStepSetHeaderRouteMatchHeaderValueArgs $) { + this.exact = $.exact; + this.prefix = $.prefix; + this.regex = $.regex; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(StrategyCanaryStepSetHeaderRouteMatchHeaderValueArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private StrategyCanaryStepSetHeaderRouteMatchHeaderValueArgs $; + + public Builder() { + $ = new StrategyCanaryStepSetHeaderRouteMatchHeaderValueArgs(); + } + + public Builder(StrategyCanaryStepSetHeaderRouteMatchHeaderValueArgs defaults) { + $ = new StrategyCanaryStepSetHeaderRouteMatchHeaderValueArgs(Objects.requireNonNull(defaults)); + } + + public Builder exact(@Nullable Output exact) { + $.exact = exact; + return this; + } + + public Builder exact(String exact) { + return exact(Output.of(exact)); + } + + public Builder prefix(@Nullable Output prefix) { + $.prefix = prefix; + return this; + } + + public Builder prefix(String prefix) { + return prefix(Output.of(prefix)); + } + + public Builder regex(@Nullable Output regex) { + $.regex = regex; + return this; + } + + public Builder regex(String regex) { + return regex(Output.of(regex)); + } + + public StrategyCanaryStepSetHeaderRouteMatchHeaderValueArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/StrategyCanaryStepVerificationArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/StrategyCanaryStepVerificationArgs.java new file mode 100644 index 00000000..f45b481c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/StrategyCanaryStepVerificationArgs.java @@ -0,0 +1,70 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.oceancd.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; + + +public final class StrategyCanaryStepVerificationArgs extends com.pulumi.resources.ResourceArgs { + + public static final StrategyCanaryStepVerificationArgs Empty = new StrategyCanaryStepVerificationArgs(); + + @Import(name="templateNames", required=true) + private Output> templateNames; + + public Output> templateNames() { + return this.templateNames; + } + + private StrategyCanaryStepVerificationArgs() {} + + private StrategyCanaryStepVerificationArgs(StrategyCanaryStepVerificationArgs $) { + this.templateNames = $.templateNames; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(StrategyCanaryStepVerificationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private StrategyCanaryStepVerificationArgs $; + + public Builder() { + $ = new StrategyCanaryStepVerificationArgs(); + } + + public Builder(StrategyCanaryStepVerificationArgs defaults) { + $ = new StrategyCanaryStepVerificationArgs(Objects.requireNonNull(defaults)); + } + + public Builder templateNames(Output> templateNames) { + $.templateNames = templateNames; + return this; + } + + public Builder templateNames(List templateNames) { + return templateNames(Output.of(templateNames)); + } + + public Builder templateNames(String... templateNames) { + return templateNames(List.of(templateNames)); + } + + public StrategyCanaryStepVerificationArgs build() { + if ($.templateNames == null) { + throw new MissingRequiredPropertyException("StrategyCanaryStepVerificationArgs", "templateNames"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/StrategyRollingArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/StrategyRollingArgs.java new file mode 100644 index 00000000..078766ba --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/StrategyRollingArgs.java @@ -0,0 +1,96 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.oceancd.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import com.pulumi.spotinst.oceancd.inputs.StrategyRollingStepArgs; +import java.util.List; +import java.util.Objects; + + +public final class StrategyRollingArgs extends com.pulumi.resources.ResourceArgs { + + public static final StrategyRollingArgs Empty = new StrategyRollingArgs(); + + /** + * A set of separate conditions of rollout processing. + * + */ + @Import(name="steps", required=true) + private Output> steps; + + /** + * @return A set of separate conditions of rollout processing. + * + */ + public Output> steps() { + return this.steps; + } + + private StrategyRollingArgs() {} + + private StrategyRollingArgs(StrategyRollingArgs $) { + this.steps = $.steps; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(StrategyRollingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private StrategyRollingArgs $; + + public Builder() { + $ = new StrategyRollingArgs(); + } + + public Builder(StrategyRollingArgs defaults) { + $ = new StrategyRollingArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param steps A set of separate conditions of rollout processing. + * + * @return builder + * + */ + public Builder steps(Output> steps) { + $.steps = steps; + return this; + } + + /** + * @param steps A set of separate conditions of rollout processing. + * + * @return builder + * + */ + public Builder steps(List steps) { + return steps(Output.of(steps)); + } + + /** + * @param steps A set of separate conditions of rollout processing. + * + * @return builder + * + */ + public Builder steps(StrategyRollingStepArgs... steps) { + return steps(List.of(steps)); + } + + public StrategyRollingArgs build() { + if ($.steps == null) { + throw new MissingRequiredPropertyException("StrategyRollingArgs", "steps"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/StrategyRollingStepArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/StrategyRollingStepArgs.java new file mode 100644 index 00000000..77866abe --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/StrategyRollingStepArgs.java @@ -0,0 +1,99 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.oceancd.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.spotinst.oceancd.inputs.StrategyRollingStepPauseArgs; +import com.pulumi.spotinst.oceancd.inputs.StrategyRollingStepVerificationArgs; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class StrategyRollingStepArgs extends com.pulumi.resources.ResourceArgs { + + public static final StrategyRollingStepArgs Empty = new StrategyRollingStepArgs(); + + @Import(name="pause") + private @Nullable Output pause; + + public Optional> pause() { + return Optional.ofNullable(this.pause); + } + + @Import(name="stepsName") + private @Nullable Output stepsName; + + public Optional> stepsName() { + return Optional.ofNullable(this.stepsName); + } + + @Import(name="verification") + private @Nullable Output verification; + + public Optional> verification() { + return Optional.ofNullable(this.verification); + } + + private StrategyRollingStepArgs() {} + + private StrategyRollingStepArgs(StrategyRollingStepArgs $) { + this.pause = $.pause; + this.stepsName = $.stepsName; + this.verification = $.verification; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(StrategyRollingStepArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private StrategyRollingStepArgs $; + + public Builder() { + $ = new StrategyRollingStepArgs(); + } + + public Builder(StrategyRollingStepArgs defaults) { + $ = new StrategyRollingStepArgs(Objects.requireNonNull(defaults)); + } + + public Builder pause(@Nullable Output pause) { + $.pause = pause; + return this; + } + + public Builder pause(StrategyRollingStepPauseArgs pause) { + return pause(Output.of(pause)); + } + + public Builder stepsName(@Nullable Output stepsName) { + $.stepsName = stepsName; + return this; + } + + public Builder stepsName(String stepsName) { + return stepsName(Output.of(stepsName)); + } + + public Builder verification(@Nullable Output verification) { + $.verification = verification; + return this; + } + + public Builder verification(StrategyRollingStepVerificationArgs verification) { + return verification(Output.of(verification)); + } + + public StrategyRollingStepArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/StrategyRollingStepPauseArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/StrategyRollingStepPauseArgs.java new file mode 100644 index 00000000..7047d3a2 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/StrategyRollingStepPauseArgs.java @@ -0,0 +1,63 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.oceancd.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class StrategyRollingStepPauseArgs extends com.pulumi.resources.ResourceArgs { + + public static final StrategyRollingStepPauseArgs Empty = new StrategyRollingStepPauseArgs(); + + @Import(name="duration") + private @Nullable Output duration; + + public Optional> duration() { + return Optional.ofNullable(this.duration); + } + + private StrategyRollingStepPauseArgs() {} + + private StrategyRollingStepPauseArgs(StrategyRollingStepPauseArgs $) { + this.duration = $.duration; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(StrategyRollingStepPauseArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private StrategyRollingStepPauseArgs $; + + public Builder() { + $ = new StrategyRollingStepPauseArgs(); + } + + public Builder(StrategyRollingStepPauseArgs defaults) { + $ = new StrategyRollingStepPauseArgs(Objects.requireNonNull(defaults)); + } + + public Builder duration(@Nullable Output duration) { + $.duration = duration; + return this; + } + + public Builder duration(String duration) { + return duration(Output.of(duration)); + } + + public StrategyRollingStepPauseArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/StrategyRollingStepVerificationArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/StrategyRollingStepVerificationArgs.java new file mode 100644 index 00000000..59a247f2 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/StrategyRollingStepVerificationArgs.java @@ -0,0 +1,70 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.oceancd.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; + + +public final class StrategyRollingStepVerificationArgs extends com.pulumi.resources.ResourceArgs { + + public static final StrategyRollingStepVerificationArgs Empty = new StrategyRollingStepVerificationArgs(); + + @Import(name="templateNames", required=true) + private Output> templateNames; + + public Output> templateNames() { + return this.templateNames; + } + + private StrategyRollingStepVerificationArgs() {} + + private StrategyRollingStepVerificationArgs(StrategyRollingStepVerificationArgs $) { + this.templateNames = $.templateNames; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(StrategyRollingStepVerificationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private StrategyRollingStepVerificationArgs $; + + public Builder() { + $ = new StrategyRollingStepVerificationArgs(); + } + + public Builder(StrategyRollingStepVerificationArgs defaults) { + $ = new StrategyRollingStepVerificationArgs(Objects.requireNonNull(defaults)); + } + + public Builder templateNames(Output> templateNames) { + $.templateNames = templateNames; + return this; + } + + public Builder templateNames(List templateNames) { + return templateNames(Output.of(templateNames)); + } + + public Builder templateNames(String... templateNames) { + return templateNames(List.of(templateNames)); + } + + public StrategyRollingStepVerificationArgs build() { + if ($.templateNames == null) { + throw new MissingRequiredPropertyException("StrategyRollingStepVerificationArgs", "templateNames"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/StrategyState.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/StrategyState.java new file mode 100644 index 00000000..7b5806fc --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/StrategyState.java @@ -0,0 +1,139 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.oceancd.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.spotinst.oceancd.inputs.StrategyCanaryArgs; +import com.pulumi.spotinst.oceancd.inputs.StrategyRollingArgs; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class StrategyState extends com.pulumi.resources.ResourceArgs { + + public static final StrategyState Empty = new StrategyState(); + + /** + * Represents Canary strategy. Cannot be defined when Rolling object is defined. + * + */ + @Import(name="canary") + private @Nullable Output canary; + + /** + * @return Represents Canary strategy. Cannot be defined when Rolling object is defined. + * + */ + public Optional> canary() { + return Optional.ofNullable(this.canary); + } + + /** + * Represents Rolling Update strategy. Cannot be defined when Canary object is defined. + * + */ + @Import(name="rolling") + private @Nullable Output rolling; + + /** + * @return Represents Rolling Update strategy. Cannot be defined when Canary object is defined. + * + */ + public Optional> rolling() { + return Optional.ofNullable(this.rolling); + } + + @Import(name="strategyName") + private @Nullable Output strategyName; + + public Optional> strategyName() { + return Optional.ofNullable(this.strategyName); + } + + private StrategyState() {} + + private StrategyState(StrategyState $) { + this.canary = $.canary; + this.rolling = $.rolling; + this.strategyName = $.strategyName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(StrategyState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private StrategyState $; + + public Builder() { + $ = new StrategyState(); + } + + public Builder(StrategyState defaults) { + $ = new StrategyState(Objects.requireNonNull(defaults)); + } + + /** + * @param canary Represents Canary strategy. Cannot be defined when Rolling object is defined. + * + * @return builder + * + */ + public Builder canary(@Nullable Output canary) { + $.canary = canary; + return this; + } + + /** + * @param canary Represents Canary strategy. Cannot be defined when Rolling object is defined. + * + * @return builder + * + */ + public Builder canary(StrategyCanaryArgs canary) { + return canary(Output.of(canary)); + } + + /** + * @param rolling Represents Rolling Update strategy. Cannot be defined when Canary object is defined. + * + * @return builder + * + */ + public Builder rolling(@Nullable Output rolling) { + $.rolling = rolling; + return this; + } + + /** + * @param rolling Represents Rolling Update strategy. Cannot be defined when Canary object is defined. + * + * @return builder + * + */ + public Builder rolling(StrategyRollingArgs rolling) { + return rolling(Output.of(rolling)); + } + + public Builder strategyName(@Nullable Output strategyName) { + $.strategyName = strategyName; + return this; + } + + public Builder strategyName(String strategyName) { + return strategyName(Output.of(strategyName)); + } + + public StrategyState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationProviderCloudWatchArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationProviderCloudWatchArgs.java new file mode 100644 index 00000000..805b7af4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationProviderCloudWatchArgs.java @@ -0,0 +1,85 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.oceancd.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class VerificationProviderCloudWatchArgs extends com.pulumi.resources.ResourceArgs { + + public static final VerificationProviderCloudWatchArgs Empty = new VerificationProviderCloudWatchArgs(); + + /** + * Set label key. + * + */ + @Import(name="iamArn", required=true) + private Output iamArn; + + /** + * @return Set label key. + * + */ + public Output iamArn() { + return this.iamArn; + } + + private VerificationProviderCloudWatchArgs() {} + + private VerificationProviderCloudWatchArgs(VerificationProviderCloudWatchArgs $) { + this.iamArn = $.iamArn; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VerificationProviderCloudWatchArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VerificationProviderCloudWatchArgs $; + + public Builder() { + $ = new VerificationProviderCloudWatchArgs(); + } + + public Builder(VerificationProviderCloudWatchArgs defaults) { + $ = new VerificationProviderCloudWatchArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param iamArn Set label key. + * + * @return builder + * + */ + public Builder iamArn(Output iamArn) { + $.iamArn = iamArn; + return this; + } + + /** + * @param iamArn Set label key. + * + * @return builder + * + */ + public Builder iamArn(String iamArn) { + return iamArn(Output.of(iamArn)); + } + + public VerificationProviderCloudWatchArgs build() { + if ($.iamArn == null) { + throw new MissingRequiredPropertyException("VerificationProviderCloudWatchArgs", "iamArn"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationProviderDatadogArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationProviderDatadogArgs.java new file mode 100644 index 00000000..344143dc --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationProviderDatadogArgs.java @@ -0,0 +1,165 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.oceancd.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class VerificationProviderDatadogArgs extends com.pulumi.resources.ResourceArgs { + + public static final VerificationProviderDatadogArgs Empty = new VerificationProviderDatadogArgs(); + + /** + * DataDog API URL. + * + */ + @Import(name="address", required=true) + private Output address; + + /** + * @return DataDog API URL. + * + */ + public Output address() { + return this.address; + } + + /** + * API key required by the Datadog Agent to submit metrics and events to Datadog. + * + */ + @Import(name="apiKey", required=true) + private Output apiKey; + + /** + * @return API key required by the Datadog Agent to submit metrics and events to Datadog. + * + */ + public Output apiKey() { + return this.apiKey; + } + + /** + * API key that gives users access to Datadog’s programmatic API. + * + */ + @Import(name="appKey", required=true) + private Output appKey; + + /** + * @return API key that gives users access to Datadog’s programmatic API. + * + */ + public Output appKey() { + return this.appKey; + } + + private VerificationProviderDatadogArgs() {} + + private VerificationProviderDatadogArgs(VerificationProviderDatadogArgs $) { + this.address = $.address; + this.apiKey = $.apiKey; + this.appKey = $.appKey; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VerificationProviderDatadogArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VerificationProviderDatadogArgs $; + + public Builder() { + $ = new VerificationProviderDatadogArgs(); + } + + public Builder(VerificationProviderDatadogArgs defaults) { + $ = new VerificationProviderDatadogArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param address DataDog API URL. + * + * @return builder + * + */ + public Builder address(Output address) { + $.address = address; + return this; + } + + /** + * @param address DataDog API URL. + * + * @return builder + * + */ + public Builder address(String address) { + return address(Output.of(address)); + } + + /** + * @param apiKey API key required by the Datadog Agent to submit metrics and events to Datadog. + * + * @return builder + * + */ + public Builder apiKey(Output apiKey) { + $.apiKey = apiKey; + return this; + } + + /** + * @param apiKey API key required by the Datadog Agent to submit metrics and events to Datadog. + * + * @return builder + * + */ + public Builder apiKey(String apiKey) { + return apiKey(Output.of(apiKey)); + } + + /** + * @param appKey API key that gives users access to Datadog’s programmatic API. + * + * @return builder + * + */ + public Builder appKey(Output appKey) { + $.appKey = appKey; + return this; + } + + /** + * @param appKey API key that gives users access to Datadog’s programmatic API. + * + * @return builder + * + */ + public Builder appKey(String appKey) { + return appKey(Output.of(appKey)); + } + + public VerificationProviderDatadogArgs build() { + if ($.address == null) { + throw new MissingRequiredPropertyException("VerificationProviderDatadogArgs", "address"); + } + if ($.apiKey == null) { + throw new MissingRequiredPropertyException("VerificationProviderDatadogArgs", "apiKey"); + } + if ($.appKey == null) { + throw new MissingRequiredPropertyException("VerificationProviderDatadogArgs", "appKey"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationProviderJenkinsArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationProviderJenkinsArgs.java new file mode 100644 index 00000000..b7bfb6b0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationProviderJenkinsArgs.java @@ -0,0 +1,165 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.oceancd.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class VerificationProviderJenkinsArgs extends com.pulumi.resources.ResourceArgs { + + public static final VerificationProviderJenkinsArgs Empty = new VerificationProviderJenkinsArgs(); + + /** + * The Jenkins server’s access apiToken. + * + */ + @Import(name="apiToken", required=true) + private Output apiToken; + + /** + * @return The Jenkins server’s access apiToken. + * + */ + public Output apiToken() { + return this.apiToken; + } + + /** + * The address of the Jenkins server within the cluster. + * + */ + @Import(name="baseUrl", required=true) + private Output baseUrl; + + /** + * @return The address of the Jenkins server within the cluster. + * + */ + public Output baseUrl() { + return this.baseUrl; + } + + /** + * The Jenkins server’s access username. + * + */ + @Import(name="username", required=true) + private Output username; + + /** + * @return The Jenkins server’s access username. + * + */ + public Output username() { + return this.username; + } + + private VerificationProviderJenkinsArgs() {} + + private VerificationProviderJenkinsArgs(VerificationProviderJenkinsArgs $) { + this.apiToken = $.apiToken; + this.baseUrl = $.baseUrl; + this.username = $.username; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VerificationProviderJenkinsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VerificationProviderJenkinsArgs $; + + public Builder() { + $ = new VerificationProviderJenkinsArgs(); + } + + public Builder(VerificationProviderJenkinsArgs defaults) { + $ = new VerificationProviderJenkinsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param apiToken The Jenkins server’s access apiToken. + * + * @return builder + * + */ + public Builder apiToken(Output apiToken) { + $.apiToken = apiToken; + return this; + } + + /** + * @param apiToken The Jenkins server’s access apiToken. + * + * @return builder + * + */ + public Builder apiToken(String apiToken) { + return apiToken(Output.of(apiToken)); + } + + /** + * @param baseUrl The address of the Jenkins server within the cluster. + * + * @return builder + * + */ + public Builder baseUrl(Output baseUrl) { + $.baseUrl = baseUrl; + return this; + } + + /** + * @param baseUrl The address of the Jenkins server within the cluster. + * + * @return builder + * + */ + public Builder baseUrl(String baseUrl) { + return baseUrl(Output.of(baseUrl)); + } + + /** + * @param username The Jenkins server’s access username. + * + * @return builder + * + */ + public Builder username(Output username) { + $.username = username; + return this; + } + + /** + * @param username The Jenkins server’s access username. + * + * @return builder + * + */ + public Builder username(String username) { + return username(Output.of(username)); + } + + public VerificationProviderJenkinsArgs build() { + if ($.apiToken == null) { + throw new MissingRequiredPropertyException("VerificationProviderJenkinsArgs", "apiToken"); + } + if ($.baseUrl == null) { + throw new MissingRequiredPropertyException("VerificationProviderJenkinsArgs", "baseUrl"); + } + if ($.username == null) { + throw new MissingRequiredPropertyException("VerificationProviderJenkinsArgs", "username"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationProviderNewRelicArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationProviderNewRelicArgs.java new file mode 100644 index 00000000..a95135e6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationProviderNewRelicArgs.java @@ -0,0 +1,218 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.oceancd.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class VerificationProviderNewRelicArgs extends com.pulumi.resources.ResourceArgs { + + public static final VerificationProviderNewRelicArgs Empty = new VerificationProviderNewRelicArgs(); + + @Import(name="accountId", required=true) + private Output accountId; + + public Output accountId() { + return this.accountId; + } + + /** + * The base URL for NerdGraph for a proxy. + * + */ + @Import(name="baseUrlNerdGraph") + private @Nullable Output baseUrlNerdGraph; + + /** + * @return The base URL for NerdGraph for a proxy. + * + */ + public Optional> baseUrlNerdGraph() { + return Optional.ofNullable(this.baseUrlNerdGraph); + } + + /** + * The base URL of the New Relic REST API for a proxy. + * + */ + @Import(name="baseUrlRest") + private @Nullable Output baseUrlRest; + + /** + * @return The base URL of the New Relic REST API for a proxy. + * + */ + public Optional> baseUrlRest() { + return Optional.ofNullable(this.baseUrlRest); + } + + /** + * The NewRelic user key + * + */ + @Import(name="personalApiKey", required=true) + private Output personalApiKey; + + /** + * @return The NewRelic user key + * + */ + public Output personalApiKey() { + return this.personalApiKey; + } + + /** + * A region which the account is attached to. Default is "us". + * + */ + @Import(name="region") + private @Nullable Output region; + + /** + * @return A region which the account is attached to. Default is "us". + * + */ + public Optional> region() { + return Optional.ofNullable(this.region); + } + + private VerificationProviderNewRelicArgs() {} + + private VerificationProviderNewRelicArgs(VerificationProviderNewRelicArgs $) { + this.accountId = $.accountId; + this.baseUrlNerdGraph = $.baseUrlNerdGraph; + this.baseUrlRest = $.baseUrlRest; + this.personalApiKey = $.personalApiKey; + this.region = $.region; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VerificationProviderNewRelicArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VerificationProviderNewRelicArgs $; + + public Builder() { + $ = new VerificationProviderNewRelicArgs(); + } + + public Builder(VerificationProviderNewRelicArgs defaults) { + $ = new VerificationProviderNewRelicArgs(Objects.requireNonNull(defaults)); + } + + public Builder accountId(Output accountId) { + $.accountId = accountId; + return this; + } + + public Builder accountId(String accountId) { + return accountId(Output.of(accountId)); + } + + /** + * @param baseUrlNerdGraph The base URL for NerdGraph for a proxy. + * + * @return builder + * + */ + public Builder baseUrlNerdGraph(@Nullable Output baseUrlNerdGraph) { + $.baseUrlNerdGraph = baseUrlNerdGraph; + return this; + } + + /** + * @param baseUrlNerdGraph The base URL for NerdGraph for a proxy. + * + * @return builder + * + */ + public Builder baseUrlNerdGraph(String baseUrlNerdGraph) { + return baseUrlNerdGraph(Output.of(baseUrlNerdGraph)); + } + + /** + * @param baseUrlRest The base URL of the New Relic REST API for a proxy. + * + * @return builder + * + */ + public Builder baseUrlRest(@Nullable Output baseUrlRest) { + $.baseUrlRest = baseUrlRest; + return this; + } + + /** + * @param baseUrlRest The base URL of the New Relic REST API for a proxy. + * + * @return builder + * + */ + public Builder baseUrlRest(String baseUrlRest) { + return baseUrlRest(Output.of(baseUrlRest)); + } + + /** + * @param personalApiKey The NewRelic user key + * + * @return builder + * + */ + public Builder personalApiKey(Output personalApiKey) { + $.personalApiKey = personalApiKey; + return this; + } + + /** + * @param personalApiKey The NewRelic user key + * + * @return builder + * + */ + public Builder personalApiKey(String personalApiKey) { + return personalApiKey(Output.of(personalApiKey)); + } + + /** + * @param region A region which the account is attached to. Default is "us". + * + * @return builder + * + */ + public Builder region(@Nullable Output region) { + $.region = region; + return this; + } + + /** + * @param region A region which the account is attached to. Default is "us". + * + * @return builder + * + */ + public Builder region(String region) { + return region(Output.of(region)); + } + + public VerificationProviderNewRelicArgs build() { + if ($.accountId == null) { + throw new MissingRequiredPropertyException("VerificationProviderNewRelicArgs", "accountId"); + } + if ($.personalApiKey == null) { + throw new MissingRequiredPropertyException("VerificationProviderNewRelicArgs", "personalApiKey"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationProviderPrometheusArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationProviderPrometheusArgs.java new file mode 100644 index 00000000..02272bc7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationProviderPrometheusArgs.java @@ -0,0 +1,85 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.oceancd.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class VerificationProviderPrometheusArgs extends com.pulumi.resources.ResourceArgs { + + public static final VerificationProviderPrometheusArgs Empty = new VerificationProviderPrometheusArgs(); + + /** + * The address which the Prometheus server available on. + * + */ + @Import(name="address", required=true) + private Output address; + + /** + * @return The address which the Prometheus server available on. + * + */ + public Output address() { + return this.address; + } + + private VerificationProviderPrometheusArgs() {} + + private VerificationProviderPrometheusArgs(VerificationProviderPrometheusArgs $) { + this.address = $.address; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VerificationProviderPrometheusArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VerificationProviderPrometheusArgs $; + + public Builder() { + $ = new VerificationProviderPrometheusArgs(); + } + + public Builder(VerificationProviderPrometheusArgs defaults) { + $ = new VerificationProviderPrometheusArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param address The address which the Prometheus server available on. + * + * @return builder + * + */ + public Builder address(Output address) { + $.address = address; + return this; + } + + /** + * @param address The address which the Prometheus server available on. + * + * @return builder + * + */ + public Builder address(String address) { + return address(Output.of(address)); + } + + public VerificationProviderPrometheusArgs build() { + if ($.address == null) { + throw new MissingRequiredPropertyException("VerificationProviderPrometheusArgs", "address"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationProviderState.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationProviderState.java new file mode 100644 index 00000000..fc55422b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationProviderState.java @@ -0,0 +1,321 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.oceancd.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.spotinst.oceancd.inputs.VerificationProviderCloudWatchArgs; +import com.pulumi.spotinst.oceancd.inputs.VerificationProviderDatadogArgs; +import com.pulumi.spotinst.oceancd.inputs.VerificationProviderJenkinsArgs; +import com.pulumi.spotinst.oceancd.inputs.VerificationProviderNewRelicArgs; +import com.pulumi.spotinst.oceancd.inputs.VerificationProviderPrometheusArgs; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class VerificationProviderState extends com.pulumi.resources.ResourceArgs { + + public static final VerificationProviderState Empty = new VerificationProviderState(); + + /** + * Specify the credentials for CloudWatch verification provider. + * + */ + @Import(name="cloudWatch") + private @Nullable Output cloudWatch; + + /** + * @return Specify the credentials for CloudWatch verification provider. + * + */ + public Optional> cloudWatch() { + return Optional.ofNullable(this.cloudWatch); + } + + /** + * List of cluster IDs that this Verification Provider will be applied to. + * + */ + @Import(name="clusterIds") + private @Nullable Output> clusterIds; + + /** + * @return List of cluster IDs that this Verification Provider will be applied to. + * + */ + public Optional>> clusterIds() { + return Optional.ofNullable(this.clusterIds); + } + + /** + * Specify the credentials for datadog verification provider. + * + */ + @Import(name="datadog") + private @Nullable Output datadog; + + /** + * @return Specify the credentials for datadog verification provider. + * + */ + public Optional> datadog() { + return Optional.ofNullable(this.datadog); + } + + /** + * Specify the credentials for Jenkins verification provider. + * + */ + @Import(name="jenkins") + private @Nullable Output jenkins; + + /** + * @return Specify the credentials for Jenkins verification provider. + * + */ + public Optional> jenkins() { + return Optional.ofNullable(this.jenkins); + } + + /** + * Identifier name for Ocean CD Verification Provider. Must be unique. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return Identifier name for Ocean CD Verification Provider. Must be unique. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * Specify the credentials for New Relic verification provider. + * + */ + @Import(name="newRelic") + private @Nullable Output newRelic; + + /** + * @return Specify the credentials for New Relic verification provider. + * + */ + public Optional> newRelic() { + return Optional.ofNullable(this.newRelic); + } + + /** + * Specify the credentials for prometheus verification provider. + * + */ + @Import(name="prometheus") + private @Nullable Output prometheus; + + /** + * @return Specify the credentials for prometheus verification provider. + * + */ + public Optional> prometheus() { + return Optional.ofNullable(this.prometheus); + } + + private VerificationProviderState() {} + + private VerificationProviderState(VerificationProviderState $) { + this.cloudWatch = $.cloudWatch; + this.clusterIds = $.clusterIds; + this.datadog = $.datadog; + this.jenkins = $.jenkins; + this.name = $.name; + this.newRelic = $.newRelic; + this.prometheus = $.prometheus; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VerificationProviderState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VerificationProviderState $; + + public Builder() { + $ = new VerificationProviderState(); + } + + public Builder(VerificationProviderState defaults) { + $ = new VerificationProviderState(Objects.requireNonNull(defaults)); + } + + /** + * @param cloudWatch Specify the credentials for CloudWatch verification provider. + * + * @return builder + * + */ + public Builder cloudWatch(@Nullable Output cloudWatch) { + $.cloudWatch = cloudWatch; + return this; + } + + /** + * @param cloudWatch Specify the credentials for CloudWatch verification provider. + * + * @return builder + * + */ + public Builder cloudWatch(VerificationProviderCloudWatchArgs cloudWatch) { + return cloudWatch(Output.of(cloudWatch)); + } + + /** + * @param clusterIds List of cluster IDs that this Verification Provider will be applied to. + * + * @return builder + * + */ + public Builder clusterIds(@Nullable Output> clusterIds) { + $.clusterIds = clusterIds; + return this; + } + + /** + * @param clusterIds List of cluster IDs that this Verification Provider will be applied to. + * + * @return builder + * + */ + public Builder clusterIds(List clusterIds) { + return clusterIds(Output.of(clusterIds)); + } + + /** + * @param clusterIds List of cluster IDs that this Verification Provider will be applied to. + * + * @return builder + * + */ + public Builder clusterIds(String... clusterIds) { + return clusterIds(List.of(clusterIds)); + } + + /** + * @param datadog Specify the credentials for datadog verification provider. + * + * @return builder + * + */ + public Builder datadog(@Nullable Output datadog) { + $.datadog = datadog; + return this; + } + + /** + * @param datadog Specify the credentials for datadog verification provider. + * + * @return builder + * + */ + public Builder datadog(VerificationProviderDatadogArgs datadog) { + return datadog(Output.of(datadog)); + } + + /** + * @param jenkins Specify the credentials for Jenkins verification provider. + * + * @return builder + * + */ + public Builder jenkins(@Nullable Output jenkins) { + $.jenkins = jenkins; + return this; + } + + /** + * @param jenkins Specify the credentials for Jenkins verification provider. + * + * @return builder + * + */ + public Builder jenkins(VerificationProviderJenkinsArgs jenkins) { + return jenkins(Output.of(jenkins)); + } + + /** + * @param name Identifier name for Ocean CD Verification Provider. Must be unique. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name Identifier name for Ocean CD Verification Provider. Must be unique. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param newRelic Specify the credentials for New Relic verification provider. + * + * @return builder + * + */ + public Builder newRelic(@Nullable Output newRelic) { + $.newRelic = newRelic; + return this; + } + + /** + * @param newRelic Specify the credentials for New Relic verification provider. + * + * @return builder + * + */ + public Builder newRelic(VerificationProviderNewRelicArgs newRelic) { + return newRelic(Output.of(newRelic)); + } + + /** + * @param prometheus Specify the credentials for prometheus verification provider. + * + * @return builder + * + */ + public Builder prometheus(@Nullable Output prometheus) { + $.prometheus = prometheus; + return this; + } + + /** + * @param prometheus Specify the credentials for prometheus verification provider. + * + * @return builder + * + */ + public Builder prometheus(VerificationProviderPrometheusArgs prometheus) { + return prometheus(Output.of(prometheus)); + } + + public VerificationProviderState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/StrategyCanary.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/StrategyCanary.java new file mode 100644 index 00000000..2f9a65bd --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/StrategyCanary.java @@ -0,0 +1,86 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.oceancd.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import com.pulumi.spotinst.oceancd.outputs.StrategyCanaryBackgroundVerification; +import com.pulumi.spotinst.oceancd.outputs.StrategyCanaryStep; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class StrategyCanary { + /** + * @return A list of background verifications. + * + */ + private @Nullable StrategyCanaryBackgroundVerification backgroundVerification; + /** + * @return A set of separate conditions of rollout processing. + * + */ + private List steps; + + private StrategyCanary() {} + /** + * @return A list of background verifications. + * + */ + public Optional backgroundVerification() { + return Optional.ofNullable(this.backgroundVerification); + } + /** + * @return A set of separate conditions of rollout processing. + * + */ + public List steps() { + return this.steps; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(StrategyCanary defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable StrategyCanaryBackgroundVerification backgroundVerification; + private List steps; + public Builder() {} + public Builder(StrategyCanary defaults) { + Objects.requireNonNull(defaults); + this.backgroundVerification = defaults.backgroundVerification; + this.steps = defaults.steps; + } + + @CustomType.Setter + public Builder backgroundVerification(@Nullable StrategyCanaryBackgroundVerification backgroundVerification) { + + this.backgroundVerification = backgroundVerification; + return this; + } + @CustomType.Setter + public Builder steps(List steps) { + if (steps == null) { + throw new MissingRequiredPropertyException("StrategyCanary", "steps"); + } + this.steps = steps; + return this; + } + public Builder steps(StrategyCanaryStep... steps) { + return steps(List.of(steps)); + } + public StrategyCanary build() { + final var _resultValue = new StrategyCanary(); + _resultValue.backgroundVerification = backgroundVerification; + _resultValue.steps = steps; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/StrategyCanaryBackgroundVerification.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/StrategyCanaryBackgroundVerification.java new file mode 100644 index 00000000..08c8ada8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/StrategyCanaryBackgroundVerification.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.oceancd.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class StrategyCanaryBackgroundVerification { + private List templateNames; + + private StrategyCanaryBackgroundVerification() {} + public List templateNames() { + return this.templateNames; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(StrategyCanaryBackgroundVerification defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List templateNames; + public Builder() {} + public Builder(StrategyCanaryBackgroundVerification defaults) { + Objects.requireNonNull(defaults); + this.templateNames = defaults.templateNames; + } + + @CustomType.Setter + public Builder templateNames(List templateNames) { + if (templateNames == null) { + throw new MissingRequiredPropertyException("StrategyCanaryBackgroundVerification", "templateNames"); + } + this.templateNames = templateNames; + return this; + } + public Builder templateNames(String... templateNames) { + return templateNames(List.of(templateNames)); + } + public StrategyCanaryBackgroundVerification build() { + final var _resultValue = new StrategyCanaryBackgroundVerification(); + _resultValue.templateNames = templateNames; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/StrategyCanaryStep.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/StrategyCanaryStep.java new file mode 100644 index 00000000..80d6fbc4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/StrategyCanaryStep.java @@ -0,0 +1,119 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.oceancd.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.spotinst.oceancd.outputs.StrategyCanaryStepPause; +import com.pulumi.spotinst.oceancd.outputs.StrategyCanaryStepSetCanaryScale; +import com.pulumi.spotinst.oceancd.outputs.StrategyCanaryStepSetHeaderRoute; +import com.pulumi.spotinst.oceancd.outputs.StrategyCanaryStepVerification; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class StrategyCanaryStep { + private @Nullable StrategyCanaryStepPause pause; + private @Nullable StrategyCanaryStepSetCanaryScale setCanaryScale; + private @Nullable StrategyCanaryStepSetHeaderRoute setHeaderRoute; + private @Nullable Integer setWeight; + private @Nullable String stepName; + private @Nullable StrategyCanaryStepVerification verification; + + private StrategyCanaryStep() {} + public Optional pause() { + return Optional.ofNullable(this.pause); + } + public Optional setCanaryScale() { + return Optional.ofNullable(this.setCanaryScale); + } + public Optional setHeaderRoute() { + return Optional.ofNullable(this.setHeaderRoute); + } + public Optional setWeight() { + return Optional.ofNullable(this.setWeight); + } + public Optional stepName() { + return Optional.ofNullable(this.stepName); + } + public Optional verification() { + return Optional.ofNullable(this.verification); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(StrategyCanaryStep defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable StrategyCanaryStepPause pause; + private @Nullable StrategyCanaryStepSetCanaryScale setCanaryScale; + private @Nullable StrategyCanaryStepSetHeaderRoute setHeaderRoute; + private @Nullable Integer setWeight; + private @Nullable String stepName; + private @Nullable StrategyCanaryStepVerification verification; + public Builder() {} + public Builder(StrategyCanaryStep defaults) { + Objects.requireNonNull(defaults); + this.pause = defaults.pause; + this.setCanaryScale = defaults.setCanaryScale; + this.setHeaderRoute = defaults.setHeaderRoute; + this.setWeight = defaults.setWeight; + this.stepName = defaults.stepName; + this.verification = defaults.verification; + } + + @CustomType.Setter + public Builder pause(@Nullable StrategyCanaryStepPause pause) { + + this.pause = pause; + return this; + } + @CustomType.Setter + public Builder setCanaryScale(@Nullable StrategyCanaryStepSetCanaryScale setCanaryScale) { + + this.setCanaryScale = setCanaryScale; + return this; + } + @CustomType.Setter + public Builder setHeaderRoute(@Nullable StrategyCanaryStepSetHeaderRoute setHeaderRoute) { + + this.setHeaderRoute = setHeaderRoute; + return this; + } + @CustomType.Setter + public Builder setWeight(@Nullable Integer setWeight) { + + this.setWeight = setWeight; + return this; + } + @CustomType.Setter + public Builder stepName(@Nullable String stepName) { + + this.stepName = stepName; + return this; + } + @CustomType.Setter + public Builder verification(@Nullable StrategyCanaryStepVerification verification) { + + this.verification = verification; + return this; + } + public StrategyCanaryStep build() { + final var _resultValue = new StrategyCanaryStep(); + _resultValue.pause = pause; + _resultValue.setCanaryScale = setCanaryScale; + _resultValue.setHeaderRoute = setHeaderRoute; + _resultValue.setWeight = setWeight; + _resultValue.stepName = stepName; + _resultValue.verification = verification; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/StrategyCanaryStepPause.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/StrategyCanaryStepPause.java new file mode 100644 index 00000000..ffca976b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/StrategyCanaryStepPause.java @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.oceancd.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class StrategyCanaryStepPause { + private @Nullable String duration; + + private StrategyCanaryStepPause() {} + public Optional duration() { + return Optional.ofNullable(this.duration); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(StrategyCanaryStepPause defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String duration; + public Builder() {} + public Builder(StrategyCanaryStepPause defaults) { + Objects.requireNonNull(defaults); + this.duration = defaults.duration; + } + + @CustomType.Setter + public Builder duration(@Nullable String duration) { + + this.duration = duration; + return this; + } + public StrategyCanaryStepPause build() { + final var _resultValue = new StrategyCanaryStepPause(); + _resultValue.duration = duration; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/StrategyCanaryStepSetCanaryScale.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/StrategyCanaryStepSetCanaryScale.java new file mode 100644 index 00000000..9dd72772 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/StrategyCanaryStepSetCanaryScale.java @@ -0,0 +1,76 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.oceancd.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.lang.Integer; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class StrategyCanaryStepSetCanaryScale { + private @Nullable Boolean matchTrafficWeight; + private @Nullable Integer replicas; + private @Nullable Integer weight; + + private StrategyCanaryStepSetCanaryScale() {} + public Optional matchTrafficWeight() { + return Optional.ofNullable(this.matchTrafficWeight); + } + public Optional replicas() { + return Optional.ofNullable(this.replicas); + } + public Optional weight() { + return Optional.ofNullable(this.weight); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(StrategyCanaryStepSetCanaryScale defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Boolean matchTrafficWeight; + private @Nullable Integer replicas; + private @Nullable Integer weight; + public Builder() {} + public Builder(StrategyCanaryStepSetCanaryScale defaults) { + Objects.requireNonNull(defaults); + this.matchTrafficWeight = defaults.matchTrafficWeight; + this.replicas = defaults.replicas; + this.weight = defaults.weight; + } + + @CustomType.Setter + public Builder matchTrafficWeight(@Nullable Boolean matchTrafficWeight) { + + this.matchTrafficWeight = matchTrafficWeight; + return this; + } + @CustomType.Setter + public Builder replicas(@Nullable Integer replicas) { + + this.replicas = replicas; + return this; + } + @CustomType.Setter + public Builder weight(@Nullable Integer weight) { + + this.weight = weight; + return this; + } + public StrategyCanaryStepSetCanaryScale build() { + final var _resultValue = new StrategyCanaryStepSetCanaryScale(); + _resultValue.matchTrafficWeight = matchTrafficWeight; + _resultValue.replicas = replicas; + _resultValue.weight = weight; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/StrategyCanaryStepSetHeaderRoute.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/StrategyCanaryStepSetHeaderRoute.java new file mode 100644 index 00000000..189f21bd --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/StrategyCanaryStepSetHeaderRoute.java @@ -0,0 +1,70 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.oceancd.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import com.pulumi.spotinst.oceancd.outputs.StrategyCanaryStepSetHeaderRouteMatch; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class StrategyCanaryStepSetHeaderRoute { + private String headerRouteName; + private List matches; + + private StrategyCanaryStepSetHeaderRoute() {} + public String headerRouteName() { + return this.headerRouteName; + } + public List matches() { + return this.matches; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(StrategyCanaryStepSetHeaderRoute defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String headerRouteName; + private List matches; + public Builder() {} + public Builder(StrategyCanaryStepSetHeaderRoute defaults) { + Objects.requireNonNull(defaults); + this.headerRouteName = defaults.headerRouteName; + this.matches = defaults.matches; + } + + @CustomType.Setter + public Builder headerRouteName(String headerRouteName) { + if (headerRouteName == null) { + throw new MissingRequiredPropertyException("StrategyCanaryStepSetHeaderRoute", "headerRouteName"); + } + this.headerRouteName = headerRouteName; + return this; + } + @CustomType.Setter + public Builder matches(List matches) { + if (matches == null) { + throw new MissingRequiredPropertyException("StrategyCanaryStepSetHeaderRoute", "matches"); + } + this.matches = matches; + return this; + } + public Builder matches(StrategyCanaryStepSetHeaderRouteMatch... matches) { + return matches(List.of(matches)); + } + public StrategyCanaryStepSetHeaderRoute build() { + final var _resultValue = new StrategyCanaryStepSetHeaderRoute(); + _resultValue.headerRouteName = headerRouteName; + _resultValue.matches = matches; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/StrategyCanaryStepSetHeaderRouteMatch.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/StrategyCanaryStepSetHeaderRouteMatch.java new file mode 100644 index 00000000..5b5bbecf --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/StrategyCanaryStepSetHeaderRouteMatch.java @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.oceancd.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import com.pulumi.spotinst.oceancd.outputs.StrategyCanaryStepSetHeaderRouteMatchHeaderValue; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class StrategyCanaryStepSetHeaderRouteMatch { + private String headerName; + private StrategyCanaryStepSetHeaderRouteMatchHeaderValue headerValue; + + private StrategyCanaryStepSetHeaderRouteMatch() {} + public String headerName() { + return this.headerName; + } + public StrategyCanaryStepSetHeaderRouteMatchHeaderValue headerValue() { + return this.headerValue; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(StrategyCanaryStepSetHeaderRouteMatch defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String headerName; + private StrategyCanaryStepSetHeaderRouteMatchHeaderValue headerValue; + public Builder() {} + public Builder(StrategyCanaryStepSetHeaderRouteMatch defaults) { + Objects.requireNonNull(defaults); + this.headerName = defaults.headerName; + this.headerValue = defaults.headerValue; + } + + @CustomType.Setter + public Builder headerName(String headerName) { + if (headerName == null) { + throw new MissingRequiredPropertyException("StrategyCanaryStepSetHeaderRouteMatch", "headerName"); + } + this.headerName = headerName; + return this; + } + @CustomType.Setter + public Builder headerValue(StrategyCanaryStepSetHeaderRouteMatchHeaderValue headerValue) { + if (headerValue == null) { + throw new MissingRequiredPropertyException("StrategyCanaryStepSetHeaderRouteMatch", "headerValue"); + } + this.headerValue = headerValue; + return this; + } + public StrategyCanaryStepSetHeaderRouteMatch build() { + final var _resultValue = new StrategyCanaryStepSetHeaderRouteMatch(); + _resultValue.headerName = headerName; + _resultValue.headerValue = headerValue; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/StrategyCanaryStepSetHeaderRouteMatchHeaderValue.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/StrategyCanaryStepSetHeaderRouteMatchHeaderValue.java new file mode 100644 index 00000000..c82ea20d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/StrategyCanaryStepSetHeaderRouteMatchHeaderValue.java @@ -0,0 +1,75 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.oceancd.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class StrategyCanaryStepSetHeaderRouteMatchHeaderValue { + private @Nullable String exact; + private @Nullable String prefix; + private @Nullable String regex; + + private StrategyCanaryStepSetHeaderRouteMatchHeaderValue() {} + public Optional exact() { + return Optional.ofNullable(this.exact); + } + public Optional prefix() { + return Optional.ofNullable(this.prefix); + } + public Optional regex() { + return Optional.ofNullable(this.regex); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(StrategyCanaryStepSetHeaderRouteMatchHeaderValue defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String exact; + private @Nullable String prefix; + private @Nullable String regex; + public Builder() {} + public Builder(StrategyCanaryStepSetHeaderRouteMatchHeaderValue defaults) { + Objects.requireNonNull(defaults); + this.exact = defaults.exact; + this.prefix = defaults.prefix; + this.regex = defaults.regex; + } + + @CustomType.Setter + public Builder exact(@Nullable String exact) { + + this.exact = exact; + return this; + } + @CustomType.Setter + public Builder prefix(@Nullable String prefix) { + + this.prefix = prefix; + return this; + } + @CustomType.Setter + public Builder regex(@Nullable String regex) { + + this.regex = regex; + return this; + } + public StrategyCanaryStepSetHeaderRouteMatchHeaderValue build() { + final var _resultValue = new StrategyCanaryStepSetHeaderRouteMatchHeaderValue(); + _resultValue.exact = exact; + _resultValue.prefix = prefix; + _resultValue.regex = regex; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/StrategyCanaryStepVerification.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/StrategyCanaryStepVerification.java new file mode 100644 index 00000000..d2ce03a3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/StrategyCanaryStepVerification.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.oceancd.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class StrategyCanaryStepVerification { + private List templateNames; + + private StrategyCanaryStepVerification() {} + public List templateNames() { + return this.templateNames; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(StrategyCanaryStepVerification defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List templateNames; + public Builder() {} + public Builder(StrategyCanaryStepVerification defaults) { + Objects.requireNonNull(defaults); + this.templateNames = defaults.templateNames; + } + + @CustomType.Setter + public Builder templateNames(List templateNames) { + if (templateNames == null) { + throw new MissingRequiredPropertyException("StrategyCanaryStepVerification", "templateNames"); + } + this.templateNames = templateNames; + return this; + } + public Builder templateNames(String... templateNames) { + return templateNames(List.of(templateNames)); + } + public StrategyCanaryStepVerification build() { + final var _resultValue = new StrategyCanaryStepVerification(); + _resultValue.templateNames = templateNames; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/StrategyRolling.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/StrategyRolling.java new file mode 100644 index 00000000..2b7ca24d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/StrategyRolling.java @@ -0,0 +1,62 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.oceancd.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import com.pulumi.spotinst.oceancd.outputs.StrategyRollingStep; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class StrategyRolling { + /** + * @return A set of separate conditions of rollout processing. + * + */ + private List steps; + + private StrategyRolling() {} + /** + * @return A set of separate conditions of rollout processing. + * + */ + public List steps() { + return this.steps; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(StrategyRolling defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List steps; + public Builder() {} + public Builder(StrategyRolling defaults) { + Objects.requireNonNull(defaults); + this.steps = defaults.steps; + } + + @CustomType.Setter + public Builder steps(List steps) { + if (steps == null) { + throw new MissingRequiredPropertyException("StrategyRolling", "steps"); + } + this.steps = steps; + return this; + } + public Builder steps(StrategyRollingStep... steps) { + return steps(List.of(steps)); + } + public StrategyRolling build() { + final var _resultValue = new StrategyRolling(); + _resultValue.steps = steps; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/StrategyRollingStep.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/StrategyRollingStep.java new file mode 100644 index 00000000..92387970 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/StrategyRollingStep.java @@ -0,0 +1,77 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.oceancd.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.spotinst.oceancd.outputs.StrategyRollingStepPause; +import com.pulumi.spotinst.oceancd.outputs.StrategyRollingStepVerification; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class StrategyRollingStep { + private @Nullable StrategyRollingStepPause pause; + private @Nullable String stepsName; + private @Nullable StrategyRollingStepVerification verification; + + private StrategyRollingStep() {} + public Optional pause() { + return Optional.ofNullable(this.pause); + } + public Optional stepsName() { + return Optional.ofNullable(this.stepsName); + } + public Optional verification() { + return Optional.ofNullable(this.verification); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(StrategyRollingStep defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable StrategyRollingStepPause pause; + private @Nullable String stepsName; + private @Nullable StrategyRollingStepVerification verification; + public Builder() {} + public Builder(StrategyRollingStep defaults) { + Objects.requireNonNull(defaults); + this.pause = defaults.pause; + this.stepsName = defaults.stepsName; + this.verification = defaults.verification; + } + + @CustomType.Setter + public Builder pause(@Nullable StrategyRollingStepPause pause) { + + this.pause = pause; + return this; + } + @CustomType.Setter + public Builder stepsName(@Nullable String stepsName) { + + this.stepsName = stepsName; + return this; + } + @CustomType.Setter + public Builder verification(@Nullable StrategyRollingStepVerification verification) { + + this.verification = verification; + return this; + } + public StrategyRollingStep build() { + final var _resultValue = new StrategyRollingStep(); + _resultValue.pause = pause; + _resultValue.stepsName = stepsName; + _resultValue.verification = verification; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/StrategyRollingStepPause.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/StrategyRollingStepPause.java new file mode 100644 index 00000000..3b73dff9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/StrategyRollingStepPause.java @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.oceancd.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class StrategyRollingStepPause { + private @Nullable String duration; + + private StrategyRollingStepPause() {} + public Optional duration() { + return Optional.ofNullable(this.duration); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(StrategyRollingStepPause defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String duration; + public Builder() {} + public Builder(StrategyRollingStepPause defaults) { + Objects.requireNonNull(defaults); + this.duration = defaults.duration; + } + + @CustomType.Setter + public Builder duration(@Nullable String duration) { + + this.duration = duration; + return this; + } + public StrategyRollingStepPause build() { + final var _resultValue = new StrategyRollingStepPause(); + _resultValue.duration = duration; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/StrategyRollingStepVerification.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/StrategyRollingStepVerification.java new file mode 100644 index 00000000..6f76299f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/StrategyRollingStepVerification.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.oceancd.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class StrategyRollingStepVerification { + private List templateNames; + + private StrategyRollingStepVerification() {} + public List templateNames() { + return this.templateNames; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(StrategyRollingStepVerification defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List templateNames; + public Builder() {} + public Builder(StrategyRollingStepVerification defaults) { + Objects.requireNonNull(defaults); + this.templateNames = defaults.templateNames; + } + + @CustomType.Setter + public Builder templateNames(List templateNames) { + if (templateNames == null) { + throw new MissingRequiredPropertyException("StrategyRollingStepVerification", "templateNames"); + } + this.templateNames = templateNames; + return this; + } + public Builder templateNames(String... templateNames) { + return templateNames(List.of(templateNames)); + } + public StrategyRollingStepVerification build() { + final var _resultValue = new StrategyRollingStepVerification(); + _resultValue.templateNames = templateNames; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationProviderCloudWatch.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationProviderCloudWatch.java new file mode 100644 index 00000000..48c8ec80 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationProviderCloudWatch.java @@ -0,0 +1,58 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.oceancd.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class VerificationProviderCloudWatch { + /** + * @return Set label key. + * + */ + private String iamArn; + + private VerificationProviderCloudWatch() {} + /** + * @return Set label key. + * + */ + public String iamArn() { + return this.iamArn; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(VerificationProviderCloudWatch defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String iamArn; + public Builder() {} + public Builder(VerificationProviderCloudWatch defaults) { + Objects.requireNonNull(defaults); + this.iamArn = defaults.iamArn; + } + + @CustomType.Setter + public Builder iamArn(String iamArn) { + if (iamArn == null) { + throw new MissingRequiredPropertyException("VerificationProviderCloudWatch", "iamArn"); + } + this.iamArn = iamArn; + return this; + } + public VerificationProviderCloudWatch build() { + final var _resultValue = new VerificationProviderCloudWatch(); + _resultValue.iamArn = iamArn; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationProviderDatadog.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationProviderDatadog.java new file mode 100644 index 00000000..ba317f6b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationProviderDatadog.java @@ -0,0 +1,104 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.oceancd.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class VerificationProviderDatadog { + /** + * @return DataDog API URL. + * + */ + private String address; + /** + * @return API key required by the Datadog Agent to submit metrics and events to Datadog. + * + */ + private String apiKey; + /** + * @return API key that gives users access to Datadog’s programmatic API. + * + */ + private String appKey; + + private VerificationProviderDatadog() {} + /** + * @return DataDog API URL. + * + */ + public String address() { + return this.address; + } + /** + * @return API key required by the Datadog Agent to submit metrics and events to Datadog. + * + */ + public String apiKey() { + return this.apiKey; + } + /** + * @return API key that gives users access to Datadog’s programmatic API. + * + */ + public String appKey() { + return this.appKey; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(VerificationProviderDatadog defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String address; + private String apiKey; + private String appKey; + public Builder() {} + public Builder(VerificationProviderDatadog defaults) { + Objects.requireNonNull(defaults); + this.address = defaults.address; + this.apiKey = defaults.apiKey; + this.appKey = defaults.appKey; + } + + @CustomType.Setter + public Builder address(String address) { + if (address == null) { + throw new MissingRequiredPropertyException("VerificationProviderDatadog", "address"); + } + this.address = address; + return this; + } + @CustomType.Setter + public Builder apiKey(String apiKey) { + if (apiKey == null) { + throw new MissingRequiredPropertyException("VerificationProviderDatadog", "apiKey"); + } + this.apiKey = apiKey; + return this; + } + @CustomType.Setter + public Builder appKey(String appKey) { + if (appKey == null) { + throw new MissingRequiredPropertyException("VerificationProviderDatadog", "appKey"); + } + this.appKey = appKey; + return this; + } + public VerificationProviderDatadog build() { + final var _resultValue = new VerificationProviderDatadog(); + _resultValue.address = address; + _resultValue.apiKey = apiKey; + _resultValue.appKey = appKey; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationProviderJenkins.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationProviderJenkins.java new file mode 100644 index 00000000..40346c09 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationProviderJenkins.java @@ -0,0 +1,104 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.oceancd.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class VerificationProviderJenkins { + /** + * @return The Jenkins server’s access apiToken. + * + */ + private String apiToken; + /** + * @return The address of the Jenkins server within the cluster. + * + */ + private String baseUrl; + /** + * @return The Jenkins server’s access username. + * + */ + private String username; + + private VerificationProviderJenkins() {} + /** + * @return The Jenkins server’s access apiToken. + * + */ + public String apiToken() { + return this.apiToken; + } + /** + * @return The address of the Jenkins server within the cluster. + * + */ + public String baseUrl() { + return this.baseUrl; + } + /** + * @return The Jenkins server’s access username. + * + */ + public String username() { + return this.username; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(VerificationProviderJenkins defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String apiToken; + private String baseUrl; + private String username; + public Builder() {} + public Builder(VerificationProviderJenkins defaults) { + Objects.requireNonNull(defaults); + this.apiToken = defaults.apiToken; + this.baseUrl = defaults.baseUrl; + this.username = defaults.username; + } + + @CustomType.Setter + public Builder apiToken(String apiToken) { + if (apiToken == null) { + throw new MissingRequiredPropertyException("VerificationProviderJenkins", "apiToken"); + } + this.apiToken = apiToken; + return this; + } + @CustomType.Setter + public Builder baseUrl(String baseUrl) { + if (baseUrl == null) { + throw new MissingRequiredPropertyException("VerificationProviderJenkins", "baseUrl"); + } + this.baseUrl = baseUrl; + return this; + } + @CustomType.Setter + public Builder username(String username) { + if (username == null) { + throw new MissingRequiredPropertyException("VerificationProviderJenkins", "username"); + } + this.username = username; + return this; + } + public VerificationProviderJenkins build() { + final var _resultValue = new VerificationProviderJenkins(); + _resultValue.apiToken = apiToken; + _resultValue.baseUrl = baseUrl; + _resultValue.username = username; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationProviderNewRelic.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationProviderNewRelic.java new file mode 100644 index 00000000..32a6626e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationProviderNewRelic.java @@ -0,0 +1,138 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.oceancd.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class VerificationProviderNewRelic { + private String accountId; + /** + * @return The base URL for NerdGraph for a proxy. + * + */ + private @Nullable String baseUrlNerdGraph; + /** + * @return The base URL of the New Relic REST API for a proxy. + * + */ + private @Nullable String baseUrlRest; + /** + * @return The NewRelic user key + * + */ + private String personalApiKey; + /** + * @return A region which the account is attached to. Default is "us". + * + */ + private @Nullable String region; + + private VerificationProviderNewRelic() {} + public String accountId() { + return this.accountId; + } + /** + * @return The base URL for NerdGraph for a proxy. + * + */ + public Optional baseUrlNerdGraph() { + return Optional.ofNullable(this.baseUrlNerdGraph); + } + /** + * @return The base URL of the New Relic REST API for a proxy. + * + */ + public Optional baseUrlRest() { + return Optional.ofNullable(this.baseUrlRest); + } + /** + * @return The NewRelic user key + * + */ + public String personalApiKey() { + return this.personalApiKey; + } + /** + * @return A region which the account is attached to. Default is "us". + * + */ + public Optional region() { + return Optional.ofNullable(this.region); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(VerificationProviderNewRelic defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String accountId; + private @Nullable String baseUrlNerdGraph; + private @Nullable String baseUrlRest; + private String personalApiKey; + private @Nullable String region; + public Builder() {} + public Builder(VerificationProviderNewRelic defaults) { + Objects.requireNonNull(defaults); + this.accountId = defaults.accountId; + this.baseUrlNerdGraph = defaults.baseUrlNerdGraph; + this.baseUrlRest = defaults.baseUrlRest; + this.personalApiKey = defaults.personalApiKey; + this.region = defaults.region; + } + + @CustomType.Setter + public Builder accountId(String accountId) { + if (accountId == null) { + throw new MissingRequiredPropertyException("VerificationProviderNewRelic", "accountId"); + } + this.accountId = accountId; + return this; + } + @CustomType.Setter + public Builder baseUrlNerdGraph(@Nullable String baseUrlNerdGraph) { + + this.baseUrlNerdGraph = baseUrlNerdGraph; + return this; + } + @CustomType.Setter + public Builder baseUrlRest(@Nullable String baseUrlRest) { + + this.baseUrlRest = baseUrlRest; + return this; + } + @CustomType.Setter + public Builder personalApiKey(String personalApiKey) { + if (personalApiKey == null) { + throw new MissingRequiredPropertyException("VerificationProviderNewRelic", "personalApiKey"); + } + this.personalApiKey = personalApiKey; + return this; + } + @CustomType.Setter + public Builder region(@Nullable String region) { + + this.region = region; + return this; + } + public VerificationProviderNewRelic build() { + final var _resultValue = new VerificationProviderNewRelic(); + _resultValue.accountId = accountId; + _resultValue.baseUrlNerdGraph = baseUrlNerdGraph; + _resultValue.baseUrlRest = baseUrlRest; + _resultValue.personalApiKey = personalApiKey; + _resultValue.region = region; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationProviderPrometheus.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationProviderPrometheus.java new file mode 100644 index 00000000..7935c2c7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationProviderPrometheus.java @@ -0,0 +1,58 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.spotinst.oceancd.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class VerificationProviderPrometheus { + /** + * @return The address which the Prometheus server available on. + * + */ + private String address; + + private VerificationProviderPrometheus() {} + /** + * @return The address which the Prometheus server available on. + * + */ + public String address() { + return this.address; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(VerificationProviderPrometheus defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String address; + public Builder() {} + public Builder(VerificationProviderPrometheus defaults) { + Objects.requireNonNull(defaults); + this.address = defaults.address; + } + + @CustomType.Setter + public Builder address(String address) { + if (address == null) { + throw new MissingRequiredPropertyException("VerificationProviderPrometheus", "address"); + } + this.address = address; + return this; + } + public VerificationProviderPrometheus build() { + final var _resultValue = new VerificationProviderPrometheus(); + _resultValue.address = address; + return _resultValue; + } + } +} diff --git a/sdk/nodejs/index.ts b/sdk/nodejs/index.ts index 142ec651..22f55f3f 100644 --- a/sdk/nodejs/index.ts +++ b/sdk/nodejs/index.ts @@ -43,6 +43,7 @@ import * as config from "./config"; import * as ecs from "./ecs"; import * as gcp from "./gcp"; import * as gke from "./gke"; +import * as oceancd from "./oceancd"; import * as organization from "./organization"; import * as spark from "./spark"; import * as types from "./types"; @@ -54,6 +55,7 @@ export { ecs, gcp, gke, + oceancd, organization, spark, types, diff --git a/sdk/nodejs/oceancd/index.ts b/sdk/nodejs/oceancd/index.ts new file mode 100644 index 00000000..a71bf81d --- /dev/null +++ b/sdk/nodejs/oceancd/index.ts @@ -0,0 +1,33 @@ +// *** 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"; + +// Export members: +export { StrategyArgs, StrategyState } from "./strategy"; +export type Strategy = import("./strategy").Strategy; +export const Strategy: typeof import("./strategy").Strategy = null as any; +utilities.lazyLoad(exports, ["Strategy"], () => require("./strategy")); + +export { VerificationProviderArgs, VerificationProviderState } from "./verificationProvider"; +export type VerificationProvider = import("./verificationProvider").VerificationProvider; +export const VerificationProvider: typeof import("./verificationProvider").VerificationProvider = null as any; +utilities.lazyLoad(exports, ["VerificationProvider"], () => require("./verificationProvider")); + + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "spotinst:oceancd/strategy:Strategy": + return new Strategy(name, undefined, { urn }) + case "spotinst:oceancd/verificationProvider:VerificationProvider": + return new VerificationProvider(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("spotinst", "oceancd/strategy", _module) +pulumi.runtime.registerResourceModule("spotinst", "oceancd/verificationProvider", _module) diff --git a/sdk/nodejs/oceancd/strategy.ts b/sdk/nodejs/oceancd/strategy.ts new file mode 100644 index 00000000..7e53f09c --- /dev/null +++ b/sdk/nodejs/oceancd/strategy.ts @@ -0,0 +1,108 @@ +// *** 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 inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as utilities from "../utilities"; + +/** + * Manages a Spotinst OceanCD Strategy resource. + */ +export class Strategy extends pulumi.CustomResource { + /** + * Get an existing Strategy 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?: StrategyState, opts?: pulumi.CustomResourceOptions): Strategy { + return new Strategy(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'spotinst:oceancd/strategy:Strategy'; + + /** + * Returns true if the given object is an instance of Strategy. 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 Strategy { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Strategy.__pulumiType; + } + + /** + * Represents Canary strategy. Cannot be defined when Rolling object is defined. + */ + public readonly canary!: pulumi.Output; + /** + * Represents Rolling Update strategy. Cannot be defined when Canary object is defined. + */ + public readonly rolling!: pulumi.Output; + public readonly strategyName!: pulumi.Output; + + /** + * Create a Strategy 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: StrategyArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: StrategyArgs | StrategyState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as StrategyState | undefined; + resourceInputs["canary"] = state ? state.canary : undefined; + resourceInputs["rolling"] = state ? state.rolling : undefined; + resourceInputs["strategyName"] = state ? state.strategyName : undefined; + } else { + const args = argsOrState as StrategyArgs | undefined; + if ((!args || args.strategyName === undefined) && !opts.urn) { + throw new Error("Missing required property 'strategyName'"); + } + resourceInputs["canary"] = args ? args.canary : undefined; + resourceInputs["rolling"] = args ? args.rolling : undefined; + resourceInputs["strategyName"] = args ? args.strategyName : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(Strategy.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Strategy resources. + */ +export interface StrategyState { + /** + * Represents Canary strategy. Cannot be defined when Rolling object is defined. + */ + canary?: pulumi.Input; + /** + * Represents Rolling Update strategy. Cannot be defined when Canary object is defined. + */ + rolling?: pulumi.Input; + strategyName?: pulumi.Input; +} + +/** + * The set of arguments for constructing a Strategy resource. + */ +export interface StrategyArgs { + /** + * Represents Canary strategy. Cannot be defined when Rolling object is defined. + */ + canary?: pulumi.Input; + /** + * Represents Rolling Update strategy. Cannot be defined when Canary object is defined. + */ + rolling?: pulumi.Input; + strategyName: pulumi.Input; +} diff --git a/sdk/nodejs/oceancd/verificationProvider.ts b/sdk/nodejs/oceancd/verificationProvider.ts new file mode 100644 index 00000000..652380dc --- /dev/null +++ b/sdk/nodejs/oceancd/verificationProvider.ts @@ -0,0 +1,212 @@ +// *** 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 inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as utilities from "../utilities"; + +/** + * Manages a Spotinst OceanCD Verfification Provider resource. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as spotinst from "@pulumi/spotinst"; + * + * const example = new spotinst.oceancd.VerificationProvider("example", { + * name: "test-verification-provider", + * clusterIds: [ + * "Example-Cluster-Id-1", + * "Example-Cluster-Id-2", + * "Example-Cluster-Id-3", + * ], + * datadog: { + * address: "1024", + * apiKey: "512", + * appKey: "0", + * }, + * cloudWatch: { + * iamArn: "arn:aws:iam::123456789012:role/GetMetricData", + * }, + * prometheus: { + * address: "http://localhost:9090", + * }, + * newRelic: { + * personalApiKey: "AUO32RN20oUMD-40283", + * accountId: "account-0189718", + * region: "eu", + * baseUrlRest: "https://rest.api.newrelic.eu", + * baseUrlNerdGraph: "https://nerdgraph.api.newrelic.eu", + * }, + * jenkins: { + * baseUrl: "http://localhost:9090", + * username: "test-user", + * apiToken: "AbCDeeFFGG", + * }, + * }); + * ``` + */ +export class VerificationProvider extends pulumi.CustomResource { + /** + * Get an existing VerificationProvider 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?: VerificationProviderState, opts?: pulumi.CustomResourceOptions): VerificationProvider { + return new VerificationProvider(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'spotinst:oceancd/verificationProvider:VerificationProvider'; + + /** + * Returns true if the given object is an instance of VerificationProvider. 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 VerificationProvider { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === VerificationProvider.__pulumiType; + } + + /** + * Specify the credentials for CloudWatch verification provider. + */ + public readonly cloudWatch!: pulumi.Output; + /** + * List of cluster IDs that this Verification Provider will be applied to. + */ + public readonly clusterIds!: pulumi.Output; + /** + * Specify the credentials for datadog verification provider. + */ + public readonly datadog!: pulumi.Output; + /** + * Specify the credentials for Jenkins verification provider. + */ + public readonly jenkins!: pulumi.Output; + /** + * Identifier name for Ocean CD Verification Provider. Must be unique. + */ + public readonly name!: pulumi.Output; + /** + * Specify the credentials for New Relic verification provider. + */ + public readonly newRelic!: pulumi.Output; + /** + * Specify the credentials for prometheus verification provider. + */ + public readonly prometheus!: pulumi.Output; + + /** + * Create a VerificationProvider 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: VerificationProviderArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: VerificationProviderArgs | VerificationProviderState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as VerificationProviderState | undefined; + resourceInputs["cloudWatch"] = state ? state.cloudWatch : undefined; + resourceInputs["clusterIds"] = state ? state.clusterIds : undefined; + resourceInputs["datadog"] = state ? state.datadog : undefined; + resourceInputs["jenkins"] = state ? state.jenkins : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["newRelic"] = state ? state.newRelic : undefined; + resourceInputs["prometheus"] = state ? state.prometheus : undefined; + } else { + const args = argsOrState as VerificationProviderArgs | undefined; + if ((!args || args.clusterIds === undefined) && !opts.urn) { + throw new Error("Missing required property 'clusterIds'"); + } + resourceInputs["cloudWatch"] = args ? args.cloudWatch : undefined; + resourceInputs["clusterIds"] = args ? args.clusterIds : undefined; + resourceInputs["datadog"] = args ? args.datadog : undefined; + resourceInputs["jenkins"] = args ? args.jenkins : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["newRelic"] = args ? args.newRelic : undefined; + resourceInputs["prometheus"] = args ? args.prometheus : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(VerificationProvider.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering VerificationProvider resources. + */ +export interface VerificationProviderState { + /** + * Specify the credentials for CloudWatch verification provider. + */ + cloudWatch?: pulumi.Input; + /** + * List of cluster IDs that this Verification Provider will be applied to. + */ + clusterIds?: pulumi.Input[]>; + /** + * Specify the credentials for datadog verification provider. + */ + datadog?: pulumi.Input; + /** + * Specify the credentials for Jenkins verification provider. + */ + jenkins?: pulumi.Input; + /** + * Identifier name for Ocean CD Verification Provider. Must be unique. + */ + name?: pulumi.Input; + /** + * Specify the credentials for New Relic verification provider. + */ + newRelic?: pulumi.Input; + /** + * Specify the credentials for prometheus verification provider. + */ + prometheus?: pulumi.Input; +} + +/** + * The set of arguments for constructing a VerificationProvider resource. + */ +export interface VerificationProviderArgs { + /** + * Specify the credentials for CloudWatch verification provider. + */ + cloudWatch?: pulumi.Input; + /** + * List of cluster IDs that this Verification Provider will be applied to. + */ + clusterIds: pulumi.Input[]>; + /** + * Specify the credentials for datadog verification provider. + */ + datadog?: pulumi.Input; + /** + * Specify the credentials for Jenkins verification provider. + */ + jenkins?: pulumi.Input; + /** + * Identifier name for Ocean CD Verification Provider. Must be unique. + */ + name?: pulumi.Input; + /** + * Specify the credentials for New Relic verification provider. + */ + newRelic?: pulumi.Input; + /** + * Specify the credentials for prometheus verification provider. + */ + prometheus?: pulumi.Input; +} diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 7f62785d..4a62900a 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -45,6 +45,9 @@ "gke/oceanLaunchSpecImport.ts", "healthCheck.ts", "index.ts", + "oceancd/index.ts", + "oceancd/strategy.ts", + "oceancd/verificationProvider.ts", "organization/index.ts", "organization/policy.ts", "organization/programmaticUser.ts", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index cde1960e..a5194acd 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -3569,6 +3569,147 @@ export namespace gke { } } +export namespace oceancd { + export interface StrategyCanary { + /** + * A list of background verifications. + */ + backgroundVerification?: pulumi.Input; + /** + * A set of separate conditions of rollout processing. + */ + steps: pulumi.Input[]>; + } + + export interface StrategyCanaryBackgroundVerification { + templateNames: pulumi.Input[]>; + } + + export interface StrategyCanaryStep { + pause?: pulumi.Input; + setCanaryScale?: pulumi.Input; + setHeaderRoute?: pulumi.Input; + setWeight?: pulumi.Input; + stepName?: pulumi.Input; + verification?: pulumi.Input; + } + + export interface StrategyCanaryStepPause { + duration?: pulumi.Input; + } + + export interface StrategyCanaryStepSetCanaryScale { + matchTrafficWeight?: pulumi.Input; + replicas?: pulumi.Input; + weight?: pulumi.Input; + } + + export interface StrategyCanaryStepSetHeaderRoute { + headerRouteName: pulumi.Input; + matches: pulumi.Input[]>; + } + + export interface StrategyCanaryStepSetHeaderRouteMatch { + headerName: pulumi.Input; + headerValue: pulumi.Input; + } + + export interface StrategyCanaryStepSetHeaderRouteMatchHeaderValue { + exact?: pulumi.Input; + prefix?: pulumi.Input; + regex?: pulumi.Input; + } + + export interface StrategyCanaryStepVerification { + templateNames: pulumi.Input[]>; + } + + export interface StrategyRolling { + /** + * A set of separate conditions of rollout processing. + */ + steps: pulumi.Input[]>; + } + + export interface StrategyRollingStep { + pause?: pulumi.Input; + stepsName?: pulumi.Input; + verification?: pulumi.Input; + } + + export interface StrategyRollingStepPause { + duration?: pulumi.Input; + } + + export interface StrategyRollingStepVerification { + templateNames: pulumi.Input[]>; + } + + export interface VerificationProviderCloudWatch { + /** + * Set label key. + */ + iamArn: pulumi.Input; + } + + export interface VerificationProviderDatadog { + /** + * DataDog API URL. + */ + address: pulumi.Input; + /** + * API key required by the Datadog Agent to submit metrics and events to Datadog. + */ + apiKey: pulumi.Input; + /** + * API key that gives users access to Datadog’s programmatic API. + */ + appKey: pulumi.Input; + } + + export interface VerificationProviderJenkins { + /** + * The Jenkins server’s access apiToken. + */ + apiToken: pulumi.Input; + /** + * The address of the Jenkins server within the cluster. + */ + baseUrl: pulumi.Input; + /** + * The Jenkins server’s access username. + */ + username: pulumi.Input; + } + + export interface VerificationProviderNewRelic { + accountId: pulumi.Input; + /** + * The base URL for NerdGraph for a proxy. + */ + baseUrlNerdGraph?: pulumi.Input; + /** + * The base URL of the New Relic REST API for a proxy. + */ + baseUrlRest?: pulumi.Input; + /** + * The NewRelic user key + */ + personalApiKey: pulumi.Input; + /** + * A region which the account is attached to. Default is "us". + */ + region?: pulumi.Input; + } + + export interface VerificationProviderPrometheus { + /** + * The address which the Prometheus server available on. + */ + address: pulumi.Input; + } +} + export namespace organization { export interface PolicyPolicyContent { /** diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index e71bcc93..b22f6d7b 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -3575,6 +3575,148 @@ export namespace gke { } +export namespace oceancd { + export interface StrategyCanary { + /** + * A list of background verifications. + */ + backgroundVerification?: outputs.oceancd.StrategyCanaryBackgroundVerification; + /** + * A set of separate conditions of rollout processing. + */ + steps: outputs.oceancd.StrategyCanaryStep[]; + } + + export interface StrategyCanaryBackgroundVerification { + templateNames: string[]; + } + + export interface StrategyCanaryStep { + pause?: outputs.oceancd.StrategyCanaryStepPause; + setCanaryScale?: outputs.oceancd.StrategyCanaryStepSetCanaryScale; + setHeaderRoute?: outputs.oceancd.StrategyCanaryStepSetHeaderRoute; + setWeight?: number; + stepName?: string; + verification?: outputs.oceancd.StrategyCanaryStepVerification; + } + + export interface StrategyCanaryStepPause { + duration?: string; + } + + export interface StrategyCanaryStepSetCanaryScale { + matchTrafficWeight?: boolean; + replicas?: number; + weight?: number; + } + + export interface StrategyCanaryStepSetHeaderRoute { + headerRouteName: string; + matches: outputs.oceancd.StrategyCanaryStepSetHeaderRouteMatch[]; + } + + export interface StrategyCanaryStepSetHeaderRouteMatch { + headerName: string; + headerValue: outputs.oceancd.StrategyCanaryStepSetHeaderRouteMatchHeaderValue; + } + + export interface StrategyCanaryStepSetHeaderRouteMatchHeaderValue { + exact?: string; + prefix?: string; + regex?: string; + } + + export interface StrategyCanaryStepVerification { + templateNames: string[]; + } + + export interface StrategyRolling { + /** + * A set of separate conditions of rollout processing. + */ + steps: outputs.oceancd.StrategyRollingStep[]; + } + + export interface StrategyRollingStep { + pause?: outputs.oceancd.StrategyRollingStepPause; + stepsName?: string; + verification?: outputs.oceancd.StrategyRollingStepVerification; + } + + export interface StrategyRollingStepPause { + duration?: string; + } + + export interface StrategyRollingStepVerification { + templateNames: string[]; + } + + export interface VerificationProviderCloudWatch { + /** + * Set label key. + */ + iamArn: string; + } + + export interface VerificationProviderDatadog { + /** + * DataDog API URL. + */ + address: string; + /** + * API key required by the Datadog Agent to submit metrics and events to Datadog. + */ + apiKey: string; + /** + * API key that gives users access to Datadog’s programmatic API. + */ + appKey: string; + } + + export interface VerificationProviderJenkins { + /** + * The Jenkins server’s access apiToken. + */ + apiToken: string; + /** + * The address of the Jenkins server within the cluster. + */ + baseUrl: string; + /** + * The Jenkins server’s access username. + */ + username: string; + } + + export interface VerificationProviderNewRelic { + accountId: string; + /** + * The base URL for NerdGraph for a proxy. + */ + baseUrlNerdGraph?: string; + /** + * The base URL of the New Relic REST API for a proxy. + */ + baseUrlRest?: string; + /** + * The NewRelic user key + */ + personalApiKey: string; + /** + * A region which the account is attached to. Default is "us". + */ + region?: string; + } + + export interface VerificationProviderPrometheus { + /** + * The address which the Prometheus server available on. + */ + address: string; + } + +} + export namespace organization { export interface PolicyPolicyContent { /** diff --git a/sdk/python/pulumi_spotinst/__init__.py b/sdk/python/pulumi_spotinst/__init__.py index dda0d641..1978c3ef 100644 --- a/sdk/python/pulumi_spotinst/__init__.py +++ b/sdk/python/pulumi_spotinst/__init__.py @@ -28,6 +28,8 @@ gcp = __gcp import pulumi_spotinst.gke as __gke gke = __gke + import pulumi_spotinst.oceancd as __oceancd + oceancd = __oceancd import pulumi_spotinst.organization as __organization organization = __organization import pulumi_spotinst.spark as __spark @@ -39,6 +41,7 @@ ecs = _utilities.lazy_import('pulumi_spotinst.ecs') gcp = _utilities.lazy_import('pulumi_spotinst.gcp') gke = _utilities.lazy_import('pulumi_spotinst.gke') + oceancd = _utilities.lazy_import('pulumi_spotinst.oceancd') organization = _utilities.lazy_import('pulumi_spotinst.organization') spark = _utilities.lazy_import('pulumi_spotinst.spark') @@ -253,6 +256,22 @@ "spotinst:index/subscription:Subscription": "Subscription" } }, + { + "pkg": "spotinst", + "mod": "oceancd/strategy", + "fqn": "pulumi_spotinst.oceancd", + "classes": { + "spotinst:oceancd/strategy:Strategy": "Strategy" + } + }, + { + "pkg": "spotinst", + "mod": "oceancd/verificationProvider", + "fqn": "pulumi_spotinst.oceancd", + "classes": { + "spotinst:oceancd/verificationProvider:VerificationProvider": "VerificationProvider" + } + }, { "pkg": "spotinst", "mod": "organization/policy", diff --git a/sdk/python/pulumi_spotinst/oceancd/__init__.py b/sdk/python/pulumi_spotinst/oceancd/__init__.py new file mode 100644 index 00000000..d2ed4f4d --- /dev/null +++ b/sdk/python/pulumi_spotinst/oceancd/__init__.py @@ -0,0 +1,11 @@ +# 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! *** + +from .. import _utilities +import typing +# Export this package's modules as members: +from .strategy import * +from .verification_provider import * +from ._inputs import * +from . import outputs diff --git a/sdk/python/pulumi_spotinst/oceancd/_inputs.py b/sdk/python/pulumi_spotinst/oceancd/_inputs.py new file mode 100644 index 00000000..a33a544f --- /dev/null +++ b/sdk/python/pulumi_spotinst/oceancd/_inputs.py @@ -0,0 +1,657 @@ +# 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 copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +__all__ = [ + 'StrategyCanaryArgs', + 'StrategyCanaryBackgroundVerificationArgs', + 'StrategyCanaryStepArgs', + 'StrategyCanaryStepPauseArgs', + 'StrategyCanaryStepSetCanaryScaleArgs', + 'StrategyCanaryStepSetHeaderRouteArgs', + 'StrategyCanaryStepSetHeaderRouteMatchArgs', + 'StrategyCanaryStepSetHeaderRouteMatchHeaderValueArgs', + 'StrategyCanaryStepVerificationArgs', + 'StrategyRollingArgs', + 'StrategyRollingStepArgs', + 'StrategyRollingStepPauseArgs', + 'StrategyRollingStepVerificationArgs', + 'VerificationProviderCloudWatchArgs', + 'VerificationProviderDatadogArgs', + 'VerificationProviderJenkinsArgs', + 'VerificationProviderNewRelicArgs', + 'VerificationProviderPrometheusArgs', +] + +@pulumi.input_type +class StrategyCanaryArgs: + def __init__(__self__, *, + steps: pulumi.Input[Sequence[pulumi.Input['StrategyCanaryStepArgs']]], + background_verification: Optional[pulumi.Input['StrategyCanaryBackgroundVerificationArgs']] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input['StrategyCanaryStepArgs']]] steps: A set of separate conditions of rollout processing. + :param pulumi.Input['StrategyCanaryBackgroundVerificationArgs'] background_verification: A list of background verifications. + """ + pulumi.set(__self__, "steps", steps) + if background_verification is not None: + pulumi.set(__self__, "background_verification", background_verification) + + @property + @pulumi.getter + def steps(self) -> pulumi.Input[Sequence[pulumi.Input['StrategyCanaryStepArgs']]]: + """ + A set of separate conditions of rollout processing. + """ + return pulumi.get(self, "steps") + + @steps.setter + def steps(self, value: pulumi.Input[Sequence[pulumi.Input['StrategyCanaryStepArgs']]]): + pulumi.set(self, "steps", value) + + @property + @pulumi.getter(name="backgroundVerification") + def background_verification(self) -> Optional[pulumi.Input['StrategyCanaryBackgroundVerificationArgs']]: + """ + A list of background verifications. + """ + return pulumi.get(self, "background_verification") + + @background_verification.setter + def background_verification(self, value: Optional[pulumi.Input['StrategyCanaryBackgroundVerificationArgs']]): + pulumi.set(self, "background_verification", value) + + +@pulumi.input_type +class StrategyCanaryBackgroundVerificationArgs: + def __init__(__self__, *, + template_names: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(__self__, "template_names", template_names) + + @property + @pulumi.getter(name="templateNames") + def template_names(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + return pulumi.get(self, "template_names") + + @template_names.setter + def template_names(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "template_names", value) + + +@pulumi.input_type +class StrategyCanaryStepArgs: + def __init__(__self__, *, + pause: Optional[pulumi.Input['StrategyCanaryStepPauseArgs']] = None, + set_canary_scale: Optional[pulumi.Input['StrategyCanaryStepSetCanaryScaleArgs']] = None, + set_header_route: Optional[pulumi.Input['StrategyCanaryStepSetHeaderRouteArgs']] = None, + set_weight: Optional[pulumi.Input[int]] = None, + step_name: Optional[pulumi.Input[str]] = None, + verification: Optional[pulumi.Input['StrategyCanaryStepVerificationArgs']] = None): + if pause is not None: + pulumi.set(__self__, "pause", pause) + if set_canary_scale is not None: + pulumi.set(__self__, "set_canary_scale", set_canary_scale) + if set_header_route is not None: + pulumi.set(__self__, "set_header_route", set_header_route) + if set_weight is not None: + pulumi.set(__self__, "set_weight", set_weight) + if step_name is not None: + pulumi.set(__self__, "step_name", step_name) + if verification is not None: + pulumi.set(__self__, "verification", verification) + + @property + @pulumi.getter + def pause(self) -> Optional[pulumi.Input['StrategyCanaryStepPauseArgs']]: + return pulumi.get(self, "pause") + + @pause.setter + def pause(self, value: Optional[pulumi.Input['StrategyCanaryStepPauseArgs']]): + pulumi.set(self, "pause", value) + + @property + @pulumi.getter(name="setCanaryScale") + def set_canary_scale(self) -> Optional[pulumi.Input['StrategyCanaryStepSetCanaryScaleArgs']]: + return pulumi.get(self, "set_canary_scale") + + @set_canary_scale.setter + def set_canary_scale(self, value: Optional[pulumi.Input['StrategyCanaryStepSetCanaryScaleArgs']]): + pulumi.set(self, "set_canary_scale", value) + + @property + @pulumi.getter(name="setHeaderRoute") + def set_header_route(self) -> Optional[pulumi.Input['StrategyCanaryStepSetHeaderRouteArgs']]: + return pulumi.get(self, "set_header_route") + + @set_header_route.setter + def set_header_route(self, value: Optional[pulumi.Input['StrategyCanaryStepSetHeaderRouteArgs']]): + pulumi.set(self, "set_header_route", value) + + @property + @pulumi.getter(name="setWeight") + def set_weight(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "set_weight") + + @set_weight.setter + def set_weight(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "set_weight", value) + + @property + @pulumi.getter(name="stepName") + def step_name(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "step_name") + + @step_name.setter + def step_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "step_name", value) + + @property + @pulumi.getter + def verification(self) -> Optional[pulumi.Input['StrategyCanaryStepVerificationArgs']]: + return pulumi.get(self, "verification") + + @verification.setter + def verification(self, value: Optional[pulumi.Input['StrategyCanaryStepVerificationArgs']]): + pulumi.set(self, "verification", value) + + +@pulumi.input_type +class StrategyCanaryStepPauseArgs: + def __init__(__self__, *, + duration: Optional[pulumi.Input[str]] = None): + if duration is not None: + pulumi.set(__self__, "duration", duration) + + @property + @pulumi.getter + def duration(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "duration") + + @duration.setter + def duration(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "duration", value) + + +@pulumi.input_type +class StrategyCanaryStepSetCanaryScaleArgs: + def __init__(__self__, *, + match_traffic_weight: Optional[pulumi.Input[bool]] = None, + replicas: Optional[pulumi.Input[int]] = None, + weight: Optional[pulumi.Input[int]] = None): + if match_traffic_weight is not None: + pulumi.set(__self__, "match_traffic_weight", match_traffic_weight) + if replicas is not None: + pulumi.set(__self__, "replicas", replicas) + if weight is not None: + pulumi.set(__self__, "weight", weight) + + @property + @pulumi.getter(name="matchTrafficWeight") + def match_traffic_weight(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "match_traffic_weight") + + @match_traffic_weight.setter + def match_traffic_weight(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "match_traffic_weight", value) + + @property + @pulumi.getter + def replicas(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "replicas") + + @replicas.setter + def replicas(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "replicas", value) + + @property + @pulumi.getter + def weight(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "weight") + + @weight.setter + def weight(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "weight", value) + + +@pulumi.input_type +class StrategyCanaryStepSetHeaderRouteArgs: + def __init__(__self__, *, + header_route_name: pulumi.Input[str], + matches: pulumi.Input[Sequence[pulumi.Input['StrategyCanaryStepSetHeaderRouteMatchArgs']]]): + pulumi.set(__self__, "header_route_name", header_route_name) + pulumi.set(__self__, "matches", matches) + + @property + @pulumi.getter(name="headerRouteName") + def header_route_name(self) -> pulumi.Input[str]: + return pulumi.get(self, "header_route_name") + + @header_route_name.setter + def header_route_name(self, value: pulumi.Input[str]): + pulumi.set(self, "header_route_name", value) + + @property + @pulumi.getter + def matches(self) -> pulumi.Input[Sequence[pulumi.Input['StrategyCanaryStepSetHeaderRouteMatchArgs']]]: + return pulumi.get(self, "matches") + + @matches.setter + def matches(self, value: pulumi.Input[Sequence[pulumi.Input['StrategyCanaryStepSetHeaderRouteMatchArgs']]]): + pulumi.set(self, "matches", value) + + +@pulumi.input_type +class StrategyCanaryStepSetHeaderRouteMatchArgs: + def __init__(__self__, *, + header_name: pulumi.Input[str], + header_value: pulumi.Input['StrategyCanaryStepSetHeaderRouteMatchHeaderValueArgs']): + pulumi.set(__self__, "header_name", header_name) + pulumi.set(__self__, "header_value", header_value) + + @property + @pulumi.getter(name="headerName") + def header_name(self) -> pulumi.Input[str]: + return pulumi.get(self, "header_name") + + @header_name.setter + def header_name(self, value: pulumi.Input[str]): + pulumi.set(self, "header_name", value) + + @property + @pulumi.getter(name="headerValue") + def header_value(self) -> pulumi.Input['StrategyCanaryStepSetHeaderRouteMatchHeaderValueArgs']: + return pulumi.get(self, "header_value") + + @header_value.setter + def header_value(self, value: pulumi.Input['StrategyCanaryStepSetHeaderRouteMatchHeaderValueArgs']): + pulumi.set(self, "header_value", value) + + +@pulumi.input_type +class StrategyCanaryStepSetHeaderRouteMatchHeaderValueArgs: + def __init__(__self__, *, + exact: Optional[pulumi.Input[str]] = None, + prefix: Optional[pulumi.Input[str]] = None, + regex: Optional[pulumi.Input[str]] = None): + if exact is not None: + pulumi.set(__self__, "exact", exact) + if prefix is not None: + pulumi.set(__self__, "prefix", prefix) + if regex is not None: + pulumi.set(__self__, "regex", regex) + + @property + @pulumi.getter + def exact(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "exact") + + @exact.setter + def exact(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "exact", value) + + @property + @pulumi.getter + def prefix(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "prefix") + + @prefix.setter + def prefix(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "prefix", value) + + @property + @pulumi.getter + def regex(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "regex") + + @regex.setter + def regex(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "regex", value) + + +@pulumi.input_type +class StrategyCanaryStepVerificationArgs: + def __init__(__self__, *, + template_names: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(__self__, "template_names", template_names) + + @property + @pulumi.getter(name="templateNames") + def template_names(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + return pulumi.get(self, "template_names") + + @template_names.setter + def template_names(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "template_names", value) + + +@pulumi.input_type +class StrategyRollingArgs: + def __init__(__self__, *, + steps: pulumi.Input[Sequence[pulumi.Input['StrategyRollingStepArgs']]]): + """ + :param pulumi.Input[Sequence[pulumi.Input['StrategyRollingStepArgs']]] steps: A set of separate conditions of rollout processing. + """ + pulumi.set(__self__, "steps", steps) + + @property + @pulumi.getter + def steps(self) -> pulumi.Input[Sequence[pulumi.Input['StrategyRollingStepArgs']]]: + """ + A set of separate conditions of rollout processing. + """ + return pulumi.get(self, "steps") + + @steps.setter + def steps(self, value: pulumi.Input[Sequence[pulumi.Input['StrategyRollingStepArgs']]]): + pulumi.set(self, "steps", value) + + +@pulumi.input_type +class StrategyRollingStepArgs: + def __init__(__self__, *, + pause: Optional[pulumi.Input['StrategyRollingStepPauseArgs']] = None, + steps_name: Optional[pulumi.Input[str]] = None, + verification: Optional[pulumi.Input['StrategyRollingStepVerificationArgs']] = None): + if pause is not None: + pulumi.set(__self__, "pause", pause) + if steps_name is not None: + pulumi.set(__self__, "steps_name", steps_name) + if verification is not None: + pulumi.set(__self__, "verification", verification) + + @property + @pulumi.getter + def pause(self) -> Optional[pulumi.Input['StrategyRollingStepPauseArgs']]: + return pulumi.get(self, "pause") + + @pause.setter + def pause(self, value: Optional[pulumi.Input['StrategyRollingStepPauseArgs']]): + pulumi.set(self, "pause", value) + + @property + @pulumi.getter(name="stepsName") + def steps_name(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "steps_name") + + @steps_name.setter + def steps_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "steps_name", value) + + @property + @pulumi.getter + def verification(self) -> Optional[pulumi.Input['StrategyRollingStepVerificationArgs']]: + return pulumi.get(self, "verification") + + @verification.setter + def verification(self, value: Optional[pulumi.Input['StrategyRollingStepVerificationArgs']]): + pulumi.set(self, "verification", value) + + +@pulumi.input_type +class StrategyRollingStepPauseArgs: + def __init__(__self__, *, + duration: Optional[pulumi.Input[str]] = None): + if duration is not None: + pulumi.set(__self__, "duration", duration) + + @property + @pulumi.getter + def duration(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "duration") + + @duration.setter + def duration(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "duration", value) + + +@pulumi.input_type +class StrategyRollingStepVerificationArgs: + def __init__(__self__, *, + template_names: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(__self__, "template_names", template_names) + + @property + @pulumi.getter(name="templateNames") + def template_names(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + return pulumi.get(self, "template_names") + + @template_names.setter + def template_names(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "template_names", value) + + +@pulumi.input_type +class VerificationProviderCloudWatchArgs: + def __init__(__self__, *, + iam_arn: pulumi.Input[str]): + """ + :param pulumi.Input[str] iam_arn: Set label key. + """ + pulumi.set(__self__, "iam_arn", iam_arn) + + @property + @pulumi.getter(name="iamArn") + def iam_arn(self) -> pulumi.Input[str]: + """ + Set label key. + """ + return pulumi.get(self, "iam_arn") + + @iam_arn.setter + def iam_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "iam_arn", value) + + +@pulumi.input_type +class VerificationProviderDatadogArgs: + def __init__(__self__, *, + address: pulumi.Input[str], + api_key: pulumi.Input[str], + app_key: pulumi.Input[str]): + """ + :param pulumi.Input[str] address: DataDog API URL. + :param pulumi.Input[str] api_key: API key required by the Datadog Agent to submit metrics and events to Datadog. + :param pulumi.Input[str] app_key: API key that gives users access to Datadog’s programmatic API. + """ + pulumi.set(__self__, "address", address) + pulumi.set(__self__, "api_key", api_key) + pulumi.set(__self__, "app_key", app_key) + + @property + @pulumi.getter + def address(self) -> pulumi.Input[str]: + """ + DataDog API URL. + """ + return pulumi.get(self, "address") + + @address.setter + def address(self, value: pulumi.Input[str]): + pulumi.set(self, "address", value) + + @property + @pulumi.getter(name="apiKey") + def api_key(self) -> pulumi.Input[str]: + """ + API key required by the Datadog Agent to submit metrics and events to Datadog. + """ + 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(name="appKey") + def app_key(self) -> pulumi.Input[str]: + """ + API key that gives users access to Datadog’s programmatic API. + """ + return pulumi.get(self, "app_key") + + @app_key.setter + def app_key(self, value: pulumi.Input[str]): + pulumi.set(self, "app_key", value) + + +@pulumi.input_type +class VerificationProviderJenkinsArgs: + def __init__(__self__, *, + api_token: pulumi.Input[str], + base_url: pulumi.Input[str], + username: pulumi.Input[str]): + """ + :param pulumi.Input[str] api_token: The Jenkins server’s access apiToken. + :param pulumi.Input[str] base_url: The address of the Jenkins server within the cluster. + :param pulumi.Input[str] username: The Jenkins server’s access username. + """ + pulumi.set(__self__, "api_token", api_token) + pulumi.set(__self__, "base_url", base_url) + pulumi.set(__self__, "username", username) + + @property + @pulumi.getter(name="apiToken") + def api_token(self) -> pulumi.Input[str]: + """ + The Jenkins server’s access apiToken. + """ + return pulumi.get(self, "api_token") + + @api_token.setter + def api_token(self, value: pulumi.Input[str]): + pulumi.set(self, "api_token", value) + + @property + @pulumi.getter(name="baseUrl") + def base_url(self) -> pulumi.Input[str]: + """ + The address of the Jenkins server within the cluster. + """ + return pulumi.get(self, "base_url") + + @base_url.setter + def base_url(self, value: pulumi.Input[str]): + pulumi.set(self, "base_url", value) + + @property + @pulumi.getter + def username(self) -> pulumi.Input[str]: + """ + The Jenkins server’s access username. + """ + return pulumi.get(self, "username") + + @username.setter + def username(self, value: pulumi.Input[str]): + pulumi.set(self, "username", value) + + +@pulumi.input_type +class VerificationProviderNewRelicArgs: + def __init__(__self__, *, + account_id: pulumi.Input[str], + personal_api_key: pulumi.Input[str], + base_url_nerd_graph: Optional[pulumi.Input[str]] = None, + base_url_rest: Optional[pulumi.Input[str]] = None, + region: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] personal_api_key: The NewRelic user key + :param pulumi.Input[str] base_url_nerd_graph: The base URL for NerdGraph for a proxy. + :param pulumi.Input[str] base_url_rest: The base URL of the New Relic REST API for a proxy. + :param pulumi.Input[str] region: A region which the account is attached to. Default is "us". + """ + pulumi.set(__self__, "account_id", account_id) + pulumi.set(__self__, "personal_api_key", personal_api_key) + if base_url_nerd_graph is not None: + pulumi.set(__self__, "base_url_nerd_graph", base_url_nerd_graph) + if base_url_rest is not None: + pulumi.set(__self__, "base_url_rest", base_url_rest) + if region is not None: + pulumi.set(__self__, "region", region) + + @property + @pulumi.getter(name="accountId") + def account_id(self) -> pulumi.Input[str]: + return pulumi.get(self, "account_id") + + @account_id.setter + def account_id(self, value: pulumi.Input[str]): + pulumi.set(self, "account_id", value) + + @property + @pulumi.getter(name="personalApiKey") + def personal_api_key(self) -> pulumi.Input[str]: + """ + The NewRelic user key + """ + return pulumi.get(self, "personal_api_key") + + @personal_api_key.setter + def personal_api_key(self, value: pulumi.Input[str]): + pulumi.set(self, "personal_api_key", value) + + @property + @pulumi.getter(name="baseUrlNerdGraph") + def base_url_nerd_graph(self) -> Optional[pulumi.Input[str]]: + """ + The base URL for NerdGraph for a proxy. + """ + return pulumi.get(self, "base_url_nerd_graph") + + @base_url_nerd_graph.setter + def base_url_nerd_graph(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "base_url_nerd_graph", value) + + @property + @pulumi.getter(name="baseUrlRest") + def base_url_rest(self) -> Optional[pulumi.Input[str]]: + """ + The base URL of the New Relic REST API for a proxy. + """ + return pulumi.get(self, "base_url_rest") + + @base_url_rest.setter + def base_url_rest(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "base_url_rest", value) + + @property + @pulumi.getter + def region(self) -> Optional[pulumi.Input[str]]: + """ + A region which the account is attached to. Default is "us". + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "region", value) + + +@pulumi.input_type +class VerificationProviderPrometheusArgs: + def __init__(__self__, *, + address: pulumi.Input[str]): + """ + :param pulumi.Input[str] address: The address which the Prometheus server available on. + """ + pulumi.set(__self__, "address", address) + + @property + @pulumi.getter + def address(self) -> pulumi.Input[str]: + """ + The address which the Prometheus server available on. + """ + return pulumi.get(self, "address") + + @address.setter + def address(self, value: pulumi.Input[str]): + pulumi.set(self, "address", value) + + diff --git a/sdk/python/pulumi_spotinst/oceancd/outputs.py b/sdk/python/pulumi_spotinst/oceancd/outputs.py new file mode 100644 index 00000000..408b29e6 --- /dev/null +++ b/sdk/python/pulumi_spotinst/oceancd/outputs.py @@ -0,0 +1,737 @@ +# 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 copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs + +__all__ = [ + 'StrategyCanary', + 'StrategyCanaryBackgroundVerification', + 'StrategyCanaryStep', + 'StrategyCanaryStepPause', + 'StrategyCanaryStepSetCanaryScale', + 'StrategyCanaryStepSetHeaderRoute', + 'StrategyCanaryStepSetHeaderRouteMatch', + 'StrategyCanaryStepSetHeaderRouteMatchHeaderValue', + 'StrategyCanaryStepVerification', + 'StrategyRolling', + 'StrategyRollingStep', + 'StrategyRollingStepPause', + 'StrategyRollingStepVerification', + 'VerificationProviderCloudWatch', + 'VerificationProviderDatadog', + 'VerificationProviderJenkins', + 'VerificationProviderNewRelic', + 'VerificationProviderPrometheus', +] + +@pulumi.output_type +class StrategyCanary(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "backgroundVerification": + suggest = "background_verification" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in StrategyCanary. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + StrategyCanary.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + StrategyCanary.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + steps: Sequence['outputs.StrategyCanaryStep'], + background_verification: Optional['outputs.StrategyCanaryBackgroundVerification'] = None): + """ + :param Sequence['StrategyCanaryStepArgs'] steps: A set of separate conditions of rollout processing. + :param 'StrategyCanaryBackgroundVerificationArgs' background_verification: A list of background verifications. + """ + pulumi.set(__self__, "steps", steps) + if background_verification is not None: + pulumi.set(__self__, "background_verification", background_verification) + + @property + @pulumi.getter + def steps(self) -> Sequence['outputs.StrategyCanaryStep']: + """ + A set of separate conditions of rollout processing. + """ + return pulumi.get(self, "steps") + + @property + @pulumi.getter(name="backgroundVerification") + def background_verification(self) -> Optional['outputs.StrategyCanaryBackgroundVerification']: + """ + A list of background verifications. + """ + return pulumi.get(self, "background_verification") + + +@pulumi.output_type +class StrategyCanaryBackgroundVerification(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "templateNames": + suggest = "template_names" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in StrategyCanaryBackgroundVerification. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + StrategyCanaryBackgroundVerification.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + StrategyCanaryBackgroundVerification.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + template_names: Sequence[str]): + pulumi.set(__self__, "template_names", template_names) + + @property + @pulumi.getter(name="templateNames") + def template_names(self) -> Sequence[str]: + return pulumi.get(self, "template_names") + + +@pulumi.output_type +class StrategyCanaryStep(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "setCanaryScale": + suggest = "set_canary_scale" + elif key == "setHeaderRoute": + suggest = "set_header_route" + elif key == "setWeight": + suggest = "set_weight" + elif key == "stepName": + suggest = "step_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in StrategyCanaryStep. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + StrategyCanaryStep.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + StrategyCanaryStep.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + pause: Optional['outputs.StrategyCanaryStepPause'] = None, + set_canary_scale: Optional['outputs.StrategyCanaryStepSetCanaryScale'] = None, + set_header_route: Optional['outputs.StrategyCanaryStepSetHeaderRoute'] = None, + set_weight: Optional[int] = None, + step_name: Optional[str] = None, + verification: Optional['outputs.StrategyCanaryStepVerification'] = None): + if pause is not None: + pulumi.set(__self__, "pause", pause) + if set_canary_scale is not None: + pulumi.set(__self__, "set_canary_scale", set_canary_scale) + if set_header_route is not None: + pulumi.set(__self__, "set_header_route", set_header_route) + if set_weight is not None: + pulumi.set(__self__, "set_weight", set_weight) + if step_name is not None: + pulumi.set(__self__, "step_name", step_name) + if verification is not None: + pulumi.set(__self__, "verification", verification) + + @property + @pulumi.getter + def pause(self) -> Optional['outputs.StrategyCanaryStepPause']: + return pulumi.get(self, "pause") + + @property + @pulumi.getter(name="setCanaryScale") + def set_canary_scale(self) -> Optional['outputs.StrategyCanaryStepSetCanaryScale']: + return pulumi.get(self, "set_canary_scale") + + @property + @pulumi.getter(name="setHeaderRoute") + def set_header_route(self) -> Optional['outputs.StrategyCanaryStepSetHeaderRoute']: + return pulumi.get(self, "set_header_route") + + @property + @pulumi.getter(name="setWeight") + def set_weight(self) -> Optional[int]: + return pulumi.get(self, "set_weight") + + @property + @pulumi.getter(name="stepName") + def step_name(self) -> Optional[str]: + return pulumi.get(self, "step_name") + + @property + @pulumi.getter + def verification(self) -> Optional['outputs.StrategyCanaryStepVerification']: + return pulumi.get(self, "verification") + + +@pulumi.output_type +class StrategyCanaryStepPause(dict): + def __init__(__self__, *, + duration: Optional[str] = None): + if duration is not None: + pulumi.set(__self__, "duration", duration) + + @property + @pulumi.getter + def duration(self) -> Optional[str]: + return pulumi.get(self, "duration") + + +@pulumi.output_type +class StrategyCanaryStepSetCanaryScale(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "matchTrafficWeight": + suggest = "match_traffic_weight" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in StrategyCanaryStepSetCanaryScale. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + StrategyCanaryStepSetCanaryScale.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + StrategyCanaryStepSetCanaryScale.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + match_traffic_weight: Optional[bool] = None, + replicas: Optional[int] = None, + weight: Optional[int] = None): + if match_traffic_weight is not None: + pulumi.set(__self__, "match_traffic_weight", match_traffic_weight) + if replicas is not None: + pulumi.set(__self__, "replicas", replicas) + if weight is not None: + pulumi.set(__self__, "weight", weight) + + @property + @pulumi.getter(name="matchTrafficWeight") + def match_traffic_weight(self) -> Optional[bool]: + return pulumi.get(self, "match_traffic_weight") + + @property + @pulumi.getter + def replicas(self) -> Optional[int]: + return pulumi.get(self, "replicas") + + @property + @pulumi.getter + def weight(self) -> Optional[int]: + return pulumi.get(self, "weight") + + +@pulumi.output_type +class StrategyCanaryStepSetHeaderRoute(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "headerRouteName": + suggest = "header_route_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in StrategyCanaryStepSetHeaderRoute. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + StrategyCanaryStepSetHeaderRoute.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + StrategyCanaryStepSetHeaderRoute.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + header_route_name: str, + matches: Sequence['outputs.StrategyCanaryStepSetHeaderRouteMatch']): + pulumi.set(__self__, "header_route_name", header_route_name) + pulumi.set(__self__, "matches", matches) + + @property + @pulumi.getter(name="headerRouteName") + def header_route_name(self) -> str: + return pulumi.get(self, "header_route_name") + + @property + @pulumi.getter + def matches(self) -> Sequence['outputs.StrategyCanaryStepSetHeaderRouteMatch']: + return pulumi.get(self, "matches") + + +@pulumi.output_type +class StrategyCanaryStepSetHeaderRouteMatch(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "headerName": + suggest = "header_name" + elif key == "headerValue": + suggest = "header_value" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in StrategyCanaryStepSetHeaderRouteMatch. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + StrategyCanaryStepSetHeaderRouteMatch.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + StrategyCanaryStepSetHeaderRouteMatch.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + header_name: str, + header_value: 'outputs.StrategyCanaryStepSetHeaderRouteMatchHeaderValue'): + pulumi.set(__self__, "header_name", header_name) + pulumi.set(__self__, "header_value", header_value) + + @property + @pulumi.getter(name="headerName") + def header_name(self) -> str: + return pulumi.get(self, "header_name") + + @property + @pulumi.getter(name="headerValue") + def header_value(self) -> 'outputs.StrategyCanaryStepSetHeaderRouteMatchHeaderValue': + return pulumi.get(self, "header_value") + + +@pulumi.output_type +class StrategyCanaryStepSetHeaderRouteMatchHeaderValue(dict): + def __init__(__self__, *, + exact: Optional[str] = None, + prefix: Optional[str] = None, + regex: Optional[str] = None): + if exact is not None: + pulumi.set(__self__, "exact", exact) + if prefix is not None: + pulumi.set(__self__, "prefix", prefix) + if regex is not None: + pulumi.set(__self__, "regex", regex) + + @property + @pulumi.getter + def exact(self) -> Optional[str]: + return pulumi.get(self, "exact") + + @property + @pulumi.getter + def prefix(self) -> Optional[str]: + return pulumi.get(self, "prefix") + + @property + @pulumi.getter + def regex(self) -> Optional[str]: + return pulumi.get(self, "regex") + + +@pulumi.output_type +class StrategyCanaryStepVerification(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "templateNames": + suggest = "template_names" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in StrategyCanaryStepVerification. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + StrategyCanaryStepVerification.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + StrategyCanaryStepVerification.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + template_names: Sequence[str]): + pulumi.set(__self__, "template_names", template_names) + + @property + @pulumi.getter(name="templateNames") + def template_names(self) -> Sequence[str]: + return pulumi.get(self, "template_names") + + +@pulumi.output_type +class StrategyRolling(dict): + def __init__(__self__, *, + steps: Sequence['outputs.StrategyRollingStep']): + """ + :param Sequence['StrategyRollingStepArgs'] steps: A set of separate conditions of rollout processing. + """ + pulumi.set(__self__, "steps", steps) + + @property + @pulumi.getter + def steps(self) -> Sequence['outputs.StrategyRollingStep']: + """ + A set of separate conditions of rollout processing. + """ + return pulumi.get(self, "steps") + + +@pulumi.output_type +class StrategyRollingStep(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "stepsName": + suggest = "steps_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in StrategyRollingStep. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + StrategyRollingStep.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + StrategyRollingStep.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + pause: Optional['outputs.StrategyRollingStepPause'] = None, + steps_name: Optional[str] = None, + verification: Optional['outputs.StrategyRollingStepVerification'] = None): + if pause is not None: + pulumi.set(__self__, "pause", pause) + if steps_name is not None: + pulumi.set(__self__, "steps_name", steps_name) + if verification is not None: + pulumi.set(__self__, "verification", verification) + + @property + @pulumi.getter + def pause(self) -> Optional['outputs.StrategyRollingStepPause']: + return pulumi.get(self, "pause") + + @property + @pulumi.getter(name="stepsName") + def steps_name(self) -> Optional[str]: + return pulumi.get(self, "steps_name") + + @property + @pulumi.getter + def verification(self) -> Optional['outputs.StrategyRollingStepVerification']: + return pulumi.get(self, "verification") + + +@pulumi.output_type +class StrategyRollingStepPause(dict): + def __init__(__self__, *, + duration: Optional[str] = None): + if duration is not None: + pulumi.set(__self__, "duration", duration) + + @property + @pulumi.getter + def duration(self) -> Optional[str]: + return pulumi.get(self, "duration") + + +@pulumi.output_type +class StrategyRollingStepVerification(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "templateNames": + suggest = "template_names" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in StrategyRollingStepVerification. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + StrategyRollingStepVerification.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + StrategyRollingStepVerification.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + template_names: Sequence[str]): + pulumi.set(__self__, "template_names", template_names) + + @property + @pulumi.getter(name="templateNames") + def template_names(self) -> Sequence[str]: + return pulumi.get(self, "template_names") + + +@pulumi.output_type +class VerificationProviderCloudWatch(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "iamArn": + suggest = "iam_arn" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VerificationProviderCloudWatch. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VerificationProviderCloudWatch.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VerificationProviderCloudWatch.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + iam_arn: str): + """ + :param str iam_arn: Set label key. + """ + pulumi.set(__self__, "iam_arn", iam_arn) + + @property + @pulumi.getter(name="iamArn") + def iam_arn(self) -> str: + """ + Set label key. + """ + return pulumi.get(self, "iam_arn") + + +@pulumi.output_type +class VerificationProviderDatadog(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "apiKey": + suggest = "api_key" + elif key == "appKey": + suggest = "app_key" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VerificationProviderDatadog. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VerificationProviderDatadog.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VerificationProviderDatadog.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + address: str, + api_key: str, + app_key: str): + """ + :param str address: DataDog API URL. + :param str api_key: API key required by the Datadog Agent to submit metrics and events to Datadog. + :param str app_key: API key that gives users access to Datadog’s programmatic API. + """ + pulumi.set(__self__, "address", address) + pulumi.set(__self__, "api_key", api_key) + pulumi.set(__self__, "app_key", app_key) + + @property + @pulumi.getter + def address(self) -> str: + """ + DataDog API URL. + """ + return pulumi.get(self, "address") + + @property + @pulumi.getter(name="apiKey") + def api_key(self) -> str: + """ + API key required by the Datadog Agent to submit metrics and events to Datadog. + """ + return pulumi.get(self, "api_key") + + @property + @pulumi.getter(name="appKey") + def app_key(self) -> str: + """ + API key that gives users access to Datadog’s programmatic API. + """ + return pulumi.get(self, "app_key") + + +@pulumi.output_type +class VerificationProviderJenkins(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "apiToken": + suggest = "api_token" + elif key == "baseUrl": + suggest = "base_url" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VerificationProviderJenkins. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VerificationProviderJenkins.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VerificationProviderJenkins.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + api_token: str, + base_url: str, + username: str): + """ + :param str api_token: The Jenkins server’s access apiToken. + :param str base_url: The address of the Jenkins server within the cluster. + :param str username: The Jenkins server’s access username. + """ + pulumi.set(__self__, "api_token", api_token) + pulumi.set(__self__, "base_url", base_url) + pulumi.set(__self__, "username", username) + + @property + @pulumi.getter(name="apiToken") + def api_token(self) -> str: + """ + The Jenkins server’s access apiToken. + """ + return pulumi.get(self, "api_token") + + @property + @pulumi.getter(name="baseUrl") + def base_url(self) -> str: + """ + The address of the Jenkins server within the cluster. + """ + return pulumi.get(self, "base_url") + + @property + @pulumi.getter + def username(self) -> str: + """ + The Jenkins server’s access username. + """ + return pulumi.get(self, "username") + + +@pulumi.output_type +class VerificationProviderNewRelic(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "accountId": + suggest = "account_id" + elif key == "personalApiKey": + suggest = "personal_api_key" + elif key == "baseUrlNerdGraph": + suggest = "base_url_nerd_graph" + elif key == "baseUrlRest": + suggest = "base_url_rest" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VerificationProviderNewRelic. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VerificationProviderNewRelic.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VerificationProviderNewRelic.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + account_id: str, + personal_api_key: str, + base_url_nerd_graph: Optional[str] = None, + base_url_rest: Optional[str] = None, + region: Optional[str] = None): + """ + :param str personal_api_key: The NewRelic user key + :param str base_url_nerd_graph: The base URL for NerdGraph for a proxy. + :param str base_url_rest: The base URL of the New Relic REST API for a proxy. + :param str region: A region which the account is attached to. Default is "us". + """ + pulumi.set(__self__, "account_id", account_id) + pulumi.set(__self__, "personal_api_key", personal_api_key) + if base_url_nerd_graph is not None: + pulumi.set(__self__, "base_url_nerd_graph", base_url_nerd_graph) + if base_url_rest is not None: + pulumi.set(__self__, "base_url_rest", base_url_rest) + if region is not None: + pulumi.set(__self__, "region", region) + + @property + @pulumi.getter(name="accountId") + def account_id(self) -> str: + return pulumi.get(self, "account_id") + + @property + @pulumi.getter(name="personalApiKey") + def personal_api_key(self) -> str: + """ + The NewRelic user key + """ + return pulumi.get(self, "personal_api_key") + + @property + @pulumi.getter(name="baseUrlNerdGraph") + def base_url_nerd_graph(self) -> Optional[str]: + """ + The base URL for NerdGraph for a proxy. + """ + return pulumi.get(self, "base_url_nerd_graph") + + @property + @pulumi.getter(name="baseUrlRest") + def base_url_rest(self) -> Optional[str]: + """ + The base URL of the New Relic REST API for a proxy. + """ + return pulumi.get(self, "base_url_rest") + + @property + @pulumi.getter + def region(self) -> Optional[str]: + """ + A region which the account is attached to. Default is "us". + """ + return pulumi.get(self, "region") + + +@pulumi.output_type +class VerificationProviderPrometheus(dict): + def __init__(__self__, *, + address: str): + """ + :param str address: The address which the Prometheus server available on. + """ + pulumi.set(__self__, "address", address) + + @property + @pulumi.getter + def address(self) -> str: + """ + The address which the Prometheus server available on. + """ + return pulumi.get(self, "address") + + diff --git a/sdk/python/pulumi_spotinst/oceancd/strategy.py b/sdk/python/pulumi_spotinst/oceancd/strategy.py new file mode 100644 index 00000000..f57352c4 --- /dev/null +++ b/sdk/python/pulumi_spotinst/oceancd/strategy.py @@ -0,0 +1,229 @@ +# 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 copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['StrategyArgs', 'Strategy'] + +@pulumi.input_type +class StrategyArgs: + def __init__(__self__, *, + strategy_name: pulumi.Input[str], + canary: Optional[pulumi.Input['StrategyCanaryArgs']] = None, + rolling: Optional[pulumi.Input['StrategyRollingArgs']] = None): + """ + The set of arguments for constructing a Strategy resource. + :param pulumi.Input['StrategyCanaryArgs'] canary: Represents Canary strategy. Cannot be defined when Rolling object is defined. + :param pulumi.Input['StrategyRollingArgs'] rolling: Represents Rolling Update strategy. Cannot be defined when Canary object is defined. + """ + pulumi.set(__self__, "strategy_name", strategy_name) + if canary is not None: + pulumi.set(__self__, "canary", canary) + if rolling is not None: + pulumi.set(__self__, "rolling", rolling) + + @property + @pulumi.getter(name="strategyName") + def strategy_name(self) -> pulumi.Input[str]: + return pulumi.get(self, "strategy_name") + + @strategy_name.setter + def strategy_name(self, value: pulumi.Input[str]): + pulumi.set(self, "strategy_name", value) + + @property + @pulumi.getter + def canary(self) -> Optional[pulumi.Input['StrategyCanaryArgs']]: + """ + Represents Canary strategy. Cannot be defined when Rolling object is defined. + """ + return pulumi.get(self, "canary") + + @canary.setter + def canary(self, value: Optional[pulumi.Input['StrategyCanaryArgs']]): + pulumi.set(self, "canary", value) + + @property + @pulumi.getter + def rolling(self) -> Optional[pulumi.Input['StrategyRollingArgs']]: + """ + Represents Rolling Update strategy. Cannot be defined when Canary object is defined. + """ + return pulumi.get(self, "rolling") + + @rolling.setter + def rolling(self, value: Optional[pulumi.Input['StrategyRollingArgs']]): + pulumi.set(self, "rolling", value) + + +@pulumi.input_type +class _StrategyState: + def __init__(__self__, *, + canary: Optional[pulumi.Input['StrategyCanaryArgs']] = None, + rolling: Optional[pulumi.Input['StrategyRollingArgs']] = None, + strategy_name: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering Strategy resources. + :param pulumi.Input['StrategyCanaryArgs'] canary: Represents Canary strategy. Cannot be defined when Rolling object is defined. + :param pulumi.Input['StrategyRollingArgs'] rolling: Represents Rolling Update strategy. Cannot be defined when Canary object is defined. + """ + if canary is not None: + pulumi.set(__self__, "canary", canary) + if rolling is not None: + pulumi.set(__self__, "rolling", rolling) + if strategy_name is not None: + pulumi.set(__self__, "strategy_name", strategy_name) + + @property + @pulumi.getter + def canary(self) -> Optional[pulumi.Input['StrategyCanaryArgs']]: + """ + Represents Canary strategy. Cannot be defined when Rolling object is defined. + """ + return pulumi.get(self, "canary") + + @canary.setter + def canary(self, value: Optional[pulumi.Input['StrategyCanaryArgs']]): + pulumi.set(self, "canary", value) + + @property + @pulumi.getter + def rolling(self) -> Optional[pulumi.Input['StrategyRollingArgs']]: + """ + Represents Rolling Update strategy. Cannot be defined when Canary object is defined. + """ + return pulumi.get(self, "rolling") + + @rolling.setter + def rolling(self, value: Optional[pulumi.Input['StrategyRollingArgs']]): + pulumi.set(self, "rolling", value) + + @property + @pulumi.getter(name="strategyName") + def strategy_name(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "strategy_name") + + @strategy_name.setter + def strategy_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "strategy_name", value) + + +class Strategy(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + canary: Optional[pulumi.Input[pulumi.InputType['StrategyCanaryArgs']]] = None, + rolling: Optional[pulumi.Input[pulumi.InputType['StrategyRollingArgs']]] = None, + strategy_name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Manages a Spotinst OceanCD Strategy resource. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[pulumi.InputType['StrategyCanaryArgs']] canary: Represents Canary strategy. Cannot be defined when Rolling object is defined. + :param pulumi.Input[pulumi.InputType['StrategyRollingArgs']] rolling: Represents Rolling Update strategy. Cannot be defined when Canary object is defined. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: StrategyArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages a Spotinst OceanCD Strategy resource. + + :param str resource_name: The name of the resource. + :param StrategyArgs 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(StrategyArgs, 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, + canary: Optional[pulumi.Input[pulumi.InputType['StrategyCanaryArgs']]] = None, + rolling: Optional[pulumi.Input[pulumi.InputType['StrategyRollingArgs']]] = None, + strategy_name: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + 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__ = StrategyArgs.__new__(StrategyArgs) + + __props__.__dict__["canary"] = canary + __props__.__dict__["rolling"] = rolling + if strategy_name is None and not opts.urn: + raise TypeError("Missing required property 'strategy_name'") + __props__.__dict__["strategy_name"] = strategy_name + super(Strategy, __self__).__init__( + 'spotinst:oceancd/strategy:Strategy', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + canary: Optional[pulumi.Input[pulumi.InputType['StrategyCanaryArgs']]] = None, + rolling: Optional[pulumi.Input[pulumi.InputType['StrategyRollingArgs']]] = None, + strategy_name: Optional[pulumi.Input[str]] = None) -> 'Strategy': + """ + Get an existing Strategy 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[pulumi.InputType['StrategyCanaryArgs']] canary: Represents Canary strategy. Cannot be defined when Rolling object is defined. + :param pulumi.Input[pulumi.InputType['StrategyRollingArgs']] rolling: Represents Rolling Update strategy. Cannot be defined when Canary object is defined. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _StrategyState.__new__(_StrategyState) + + __props__.__dict__["canary"] = canary + __props__.__dict__["rolling"] = rolling + __props__.__dict__["strategy_name"] = strategy_name + return Strategy(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def canary(self) -> pulumi.Output[Optional['outputs.StrategyCanary']]: + """ + Represents Canary strategy. Cannot be defined when Rolling object is defined. + """ + return pulumi.get(self, "canary") + + @property + @pulumi.getter + def rolling(self) -> pulumi.Output[Optional['outputs.StrategyRolling']]: + """ + Represents Rolling Update strategy. Cannot be defined when Canary object is defined. + """ + return pulumi.get(self, "rolling") + + @property + @pulumi.getter(name="strategyName") + def strategy_name(self) -> pulumi.Output[str]: + return pulumi.get(self, "strategy_name") + diff --git a/sdk/python/pulumi_spotinst/oceancd/verification_provider.py b/sdk/python/pulumi_spotinst/oceancd/verification_provider.py new file mode 100644 index 00000000..5f3a4b05 --- /dev/null +++ b/sdk/python/pulumi_spotinst/oceancd/verification_provider.py @@ -0,0 +1,506 @@ +# 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 copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['VerificationProviderArgs', 'VerificationProvider'] + +@pulumi.input_type +class VerificationProviderArgs: + def __init__(__self__, *, + cluster_ids: pulumi.Input[Sequence[pulumi.Input[str]]], + cloud_watch: Optional[pulumi.Input['VerificationProviderCloudWatchArgs']] = None, + datadog: Optional[pulumi.Input['VerificationProviderDatadogArgs']] = None, + jenkins: Optional[pulumi.Input['VerificationProviderJenkinsArgs']] = None, + name: Optional[pulumi.Input[str]] = None, + new_relic: Optional[pulumi.Input['VerificationProviderNewRelicArgs']] = None, + prometheus: Optional[pulumi.Input['VerificationProviderPrometheusArgs']] = None): + """ + The set of arguments for constructing a VerificationProvider resource. + :param pulumi.Input[Sequence[pulumi.Input[str]]] cluster_ids: List of cluster IDs that this Verification Provider will be applied to. + :param pulumi.Input['VerificationProviderCloudWatchArgs'] cloud_watch: Specify the credentials for CloudWatch verification provider. + :param pulumi.Input['VerificationProviderDatadogArgs'] datadog: Specify the credentials for datadog verification provider. + :param pulumi.Input['VerificationProviderJenkinsArgs'] jenkins: Specify the credentials for Jenkins verification provider. + :param pulumi.Input[str] name: Identifier name for Ocean CD Verification Provider. Must be unique. + :param pulumi.Input['VerificationProviderNewRelicArgs'] new_relic: Specify the credentials for New Relic verification provider. + :param pulumi.Input['VerificationProviderPrometheusArgs'] prometheus: Specify the credentials for prometheus verification provider. + """ + pulumi.set(__self__, "cluster_ids", cluster_ids) + if cloud_watch is not None: + pulumi.set(__self__, "cloud_watch", cloud_watch) + if datadog is not None: + pulumi.set(__self__, "datadog", datadog) + if jenkins is not None: + pulumi.set(__self__, "jenkins", jenkins) + if name is not None: + pulumi.set(__self__, "name", name) + if new_relic is not None: + pulumi.set(__self__, "new_relic", new_relic) + if prometheus is not None: + pulumi.set(__self__, "prometheus", prometheus) + + @property + @pulumi.getter(name="clusterIds") + def cluster_ids(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + List of cluster IDs that this Verification Provider will be applied to. + """ + return pulumi.get(self, "cluster_ids") + + @cluster_ids.setter + def cluster_ids(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "cluster_ids", value) + + @property + @pulumi.getter(name="cloudWatch") + def cloud_watch(self) -> Optional[pulumi.Input['VerificationProviderCloudWatchArgs']]: + """ + Specify the credentials for CloudWatch verification provider. + """ + return pulumi.get(self, "cloud_watch") + + @cloud_watch.setter + def cloud_watch(self, value: Optional[pulumi.Input['VerificationProviderCloudWatchArgs']]): + pulumi.set(self, "cloud_watch", value) + + @property + @pulumi.getter + def datadog(self) -> Optional[pulumi.Input['VerificationProviderDatadogArgs']]: + """ + Specify the credentials for datadog verification provider. + """ + return pulumi.get(self, "datadog") + + @datadog.setter + def datadog(self, value: Optional[pulumi.Input['VerificationProviderDatadogArgs']]): + pulumi.set(self, "datadog", value) + + @property + @pulumi.getter + def jenkins(self) -> Optional[pulumi.Input['VerificationProviderJenkinsArgs']]: + """ + Specify the credentials for Jenkins verification provider. + """ + return pulumi.get(self, "jenkins") + + @jenkins.setter + def jenkins(self, value: Optional[pulumi.Input['VerificationProviderJenkinsArgs']]): + pulumi.set(self, "jenkins", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Identifier name for Ocean CD Verification Provider. Must be unique. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="newRelic") + def new_relic(self) -> Optional[pulumi.Input['VerificationProviderNewRelicArgs']]: + """ + Specify the credentials for New Relic verification provider. + """ + return pulumi.get(self, "new_relic") + + @new_relic.setter + def new_relic(self, value: Optional[pulumi.Input['VerificationProviderNewRelicArgs']]): + pulumi.set(self, "new_relic", value) + + @property + @pulumi.getter + def prometheus(self) -> Optional[pulumi.Input['VerificationProviderPrometheusArgs']]: + """ + Specify the credentials for prometheus verification provider. + """ + return pulumi.get(self, "prometheus") + + @prometheus.setter + def prometheus(self, value: Optional[pulumi.Input['VerificationProviderPrometheusArgs']]): + pulumi.set(self, "prometheus", value) + + +@pulumi.input_type +class _VerificationProviderState: + def __init__(__self__, *, + cloud_watch: Optional[pulumi.Input['VerificationProviderCloudWatchArgs']] = None, + cluster_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + datadog: Optional[pulumi.Input['VerificationProviderDatadogArgs']] = None, + jenkins: Optional[pulumi.Input['VerificationProviderJenkinsArgs']] = None, + name: Optional[pulumi.Input[str]] = None, + new_relic: Optional[pulumi.Input['VerificationProviderNewRelicArgs']] = None, + prometheus: Optional[pulumi.Input['VerificationProviderPrometheusArgs']] = None): + """ + Input properties used for looking up and filtering VerificationProvider resources. + :param pulumi.Input['VerificationProviderCloudWatchArgs'] cloud_watch: Specify the credentials for CloudWatch verification provider. + :param pulumi.Input[Sequence[pulumi.Input[str]]] cluster_ids: List of cluster IDs that this Verification Provider will be applied to. + :param pulumi.Input['VerificationProviderDatadogArgs'] datadog: Specify the credentials for datadog verification provider. + :param pulumi.Input['VerificationProviderJenkinsArgs'] jenkins: Specify the credentials for Jenkins verification provider. + :param pulumi.Input[str] name: Identifier name for Ocean CD Verification Provider. Must be unique. + :param pulumi.Input['VerificationProviderNewRelicArgs'] new_relic: Specify the credentials for New Relic verification provider. + :param pulumi.Input['VerificationProviderPrometheusArgs'] prometheus: Specify the credentials for prometheus verification provider. + """ + if cloud_watch is not None: + pulumi.set(__self__, "cloud_watch", cloud_watch) + if cluster_ids is not None: + pulumi.set(__self__, "cluster_ids", cluster_ids) + if datadog is not None: + pulumi.set(__self__, "datadog", datadog) + if jenkins is not None: + pulumi.set(__self__, "jenkins", jenkins) + if name is not None: + pulumi.set(__self__, "name", name) + if new_relic is not None: + pulumi.set(__self__, "new_relic", new_relic) + if prometheus is not None: + pulumi.set(__self__, "prometheus", prometheus) + + @property + @pulumi.getter(name="cloudWatch") + def cloud_watch(self) -> Optional[pulumi.Input['VerificationProviderCloudWatchArgs']]: + """ + Specify the credentials for CloudWatch verification provider. + """ + return pulumi.get(self, "cloud_watch") + + @cloud_watch.setter + def cloud_watch(self, value: Optional[pulumi.Input['VerificationProviderCloudWatchArgs']]): + pulumi.set(self, "cloud_watch", value) + + @property + @pulumi.getter(name="clusterIds") + def cluster_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of cluster IDs that this Verification Provider will be applied to. + """ + return pulumi.get(self, "cluster_ids") + + @cluster_ids.setter + def cluster_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "cluster_ids", value) + + @property + @pulumi.getter + def datadog(self) -> Optional[pulumi.Input['VerificationProviderDatadogArgs']]: + """ + Specify the credentials for datadog verification provider. + """ + return pulumi.get(self, "datadog") + + @datadog.setter + def datadog(self, value: Optional[pulumi.Input['VerificationProviderDatadogArgs']]): + pulumi.set(self, "datadog", value) + + @property + @pulumi.getter + def jenkins(self) -> Optional[pulumi.Input['VerificationProviderJenkinsArgs']]: + """ + Specify the credentials for Jenkins verification provider. + """ + return pulumi.get(self, "jenkins") + + @jenkins.setter + def jenkins(self, value: Optional[pulumi.Input['VerificationProviderJenkinsArgs']]): + pulumi.set(self, "jenkins", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Identifier name for Ocean CD Verification Provider. Must be unique. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="newRelic") + def new_relic(self) -> Optional[pulumi.Input['VerificationProviderNewRelicArgs']]: + """ + Specify the credentials for New Relic verification provider. + """ + return pulumi.get(self, "new_relic") + + @new_relic.setter + def new_relic(self, value: Optional[pulumi.Input['VerificationProviderNewRelicArgs']]): + pulumi.set(self, "new_relic", value) + + @property + @pulumi.getter + def prometheus(self) -> Optional[pulumi.Input['VerificationProviderPrometheusArgs']]: + """ + Specify the credentials for prometheus verification provider. + """ + return pulumi.get(self, "prometheus") + + @prometheus.setter + def prometheus(self, value: Optional[pulumi.Input['VerificationProviderPrometheusArgs']]): + pulumi.set(self, "prometheus", value) + + +class VerificationProvider(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + cloud_watch: Optional[pulumi.Input[pulumi.InputType['VerificationProviderCloudWatchArgs']]] = None, + cluster_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + datadog: Optional[pulumi.Input[pulumi.InputType['VerificationProviderDatadogArgs']]] = None, + jenkins: Optional[pulumi.Input[pulumi.InputType['VerificationProviderJenkinsArgs']]] = None, + name: Optional[pulumi.Input[str]] = None, + new_relic: Optional[pulumi.Input[pulumi.InputType['VerificationProviderNewRelicArgs']]] = None, + prometheus: Optional[pulumi.Input[pulumi.InputType['VerificationProviderPrometheusArgs']]] = None, + __props__=None): + """ + Manages a Spotinst OceanCD Verfification Provider resource. + + ## Example Usage + + ```python + import pulumi + import pulumi_spotinst as spotinst + + example = spotinst.oceancd.VerificationProvider("example", + name="test-verification-provider", + cluster_ids=[ + "Example-Cluster-Id-1", + "Example-Cluster-Id-2", + "Example-Cluster-Id-3", + ], + datadog=spotinst.oceancd.VerificationProviderDatadogArgs( + address="1024", + api_key="512", + app_key="0", + ), + cloud_watch=spotinst.oceancd.VerificationProviderCloudWatchArgs( + iam_arn="arn:aws:iam::123456789012:role/GetMetricData", + ), + prometheus=spotinst.oceancd.VerificationProviderPrometheusArgs( + address="http://localhost:9090", + ), + new_relic=spotinst.oceancd.VerificationProviderNewRelicArgs( + personal_api_key="AUO32RN20oUMD-40283", + account_id="account-0189718", + region="eu", + base_url_rest="https://rest.api.newrelic.eu", + base_url_nerd_graph="https://nerdgraph.api.newrelic.eu", + ), + jenkins=spotinst.oceancd.VerificationProviderJenkinsArgs( + base_url="http://localhost:9090", + username="test-user", + api_token="AbCDeeFFGG", + )) + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[pulumi.InputType['VerificationProviderCloudWatchArgs']] cloud_watch: Specify the credentials for CloudWatch verification provider. + :param pulumi.Input[Sequence[pulumi.Input[str]]] cluster_ids: List of cluster IDs that this Verification Provider will be applied to. + :param pulumi.Input[pulumi.InputType['VerificationProviderDatadogArgs']] datadog: Specify the credentials for datadog verification provider. + :param pulumi.Input[pulumi.InputType['VerificationProviderJenkinsArgs']] jenkins: Specify the credentials for Jenkins verification provider. + :param pulumi.Input[str] name: Identifier name for Ocean CD Verification Provider. Must be unique. + :param pulumi.Input[pulumi.InputType['VerificationProviderNewRelicArgs']] new_relic: Specify the credentials for New Relic verification provider. + :param pulumi.Input[pulumi.InputType['VerificationProviderPrometheusArgs']] prometheus: Specify the credentials for prometheus verification provider. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: VerificationProviderArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages a Spotinst OceanCD Verfification Provider resource. + + ## Example Usage + + ```python + import pulumi + import pulumi_spotinst as spotinst + + example = spotinst.oceancd.VerificationProvider("example", + name="test-verification-provider", + cluster_ids=[ + "Example-Cluster-Id-1", + "Example-Cluster-Id-2", + "Example-Cluster-Id-3", + ], + datadog=spotinst.oceancd.VerificationProviderDatadogArgs( + address="1024", + api_key="512", + app_key="0", + ), + cloud_watch=spotinst.oceancd.VerificationProviderCloudWatchArgs( + iam_arn="arn:aws:iam::123456789012:role/GetMetricData", + ), + prometheus=spotinst.oceancd.VerificationProviderPrometheusArgs( + address="http://localhost:9090", + ), + new_relic=spotinst.oceancd.VerificationProviderNewRelicArgs( + personal_api_key="AUO32RN20oUMD-40283", + account_id="account-0189718", + region="eu", + base_url_rest="https://rest.api.newrelic.eu", + base_url_nerd_graph="https://nerdgraph.api.newrelic.eu", + ), + jenkins=spotinst.oceancd.VerificationProviderJenkinsArgs( + base_url="http://localhost:9090", + username="test-user", + api_token="AbCDeeFFGG", + )) + ``` + + :param str resource_name: The name of the resource. + :param VerificationProviderArgs 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(VerificationProviderArgs, 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, + cloud_watch: Optional[pulumi.Input[pulumi.InputType['VerificationProviderCloudWatchArgs']]] = None, + cluster_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + datadog: Optional[pulumi.Input[pulumi.InputType['VerificationProviderDatadogArgs']]] = None, + jenkins: Optional[pulumi.Input[pulumi.InputType['VerificationProviderJenkinsArgs']]] = None, + name: Optional[pulumi.Input[str]] = None, + new_relic: Optional[pulumi.Input[pulumi.InputType['VerificationProviderNewRelicArgs']]] = None, + prometheus: Optional[pulumi.Input[pulumi.InputType['VerificationProviderPrometheusArgs']]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + 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__ = VerificationProviderArgs.__new__(VerificationProviderArgs) + + __props__.__dict__["cloud_watch"] = cloud_watch + if cluster_ids is None and not opts.urn: + raise TypeError("Missing required property 'cluster_ids'") + __props__.__dict__["cluster_ids"] = cluster_ids + __props__.__dict__["datadog"] = datadog + __props__.__dict__["jenkins"] = jenkins + __props__.__dict__["name"] = name + __props__.__dict__["new_relic"] = new_relic + __props__.__dict__["prometheus"] = prometheus + super(VerificationProvider, __self__).__init__( + 'spotinst:oceancd/verificationProvider:VerificationProvider', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + cloud_watch: Optional[pulumi.Input[pulumi.InputType['VerificationProviderCloudWatchArgs']]] = None, + cluster_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + datadog: Optional[pulumi.Input[pulumi.InputType['VerificationProviderDatadogArgs']]] = None, + jenkins: Optional[pulumi.Input[pulumi.InputType['VerificationProviderJenkinsArgs']]] = None, + name: Optional[pulumi.Input[str]] = None, + new_relic: Optional[pulumi.Input[pulumi.InputType['VerificationProviderNewRelicArgs']]] = None, + prometheus: Optional[pulumi.Input[pulumi.InputType['VerificationProviderPrometheusArgs']]] = None) -> 'VerificationProvider': + """ + Get an existing VerificationProvider 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[pulumi.InputType['VerificationProviderCloudWatchArgs']] cloud_watch: Specify the credentials for CloudWatch verification provider. + :param pulumi.Input[Sequence[pulumi.Input[str]]] cluster_ids: List of cluster IDs that this Verification Provider will be applied to. + :param pulumi.Input[pulumi.InputType['VerificationProviderDatadogArgs']] datadog: Specify the credentials for datadog verification provider. + :param pulumi.Input[pulumi.InputType['VerificationProviderJenkinsArgs']] jenkins: Specify the credentials for Jenkins verification provider. + :param pulumi.Input[str] name: Identifier name for Ocean CD Verification Provider. Must be unique. + :param pulumi.Input[pulumi.InputType['VerificationProviderNewRelicArgs']] new_relic: Specify the credentials for New Relic verification provider. + :param pulumi.Input[pulumi.InputType['VerificationProviderPrometheusArgs']] prometheus: Specify the credentials for prometheus verification provider. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _VerificationProviderState.__new__(_VerificationProviderState) + + __props__.__dict__["cloud_watch"] = cloud_watch + __props__.__dict__["cluster_ids"] = cluster_ids + __props__.__dict__["datadog"] = datadog + __props__.__dict__["jenkins"] = jenkins + __props__.__dict__["name"] = name + __props__.__dict__["new_relic"] = new_relic + __props__.__dict__["prometheus"] = prometheus + return VerificationProvider(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="cloudWatch") + def cloud_watch(self) -> pulumi.Output[Optional['outputs.VerificationProviderCloudWatch']]: + """ + Specify the credentials for CloudWatch verification provider. + """ + return pulumi.get(self, "cloud_watch") + + @property + @pulumi.getter(name="clusterIds") + def cluster_ids(self) -> pulumi.Output[Sequence[str]]: + """ + List of cluster IDs that this Verification Provider will be applied to. + """ + return pulumi.get(self, "cluster_ids") + + @property + @pulumi.getter + def datadog(self) -> pulumi.Output[Optional['outputs.VerificationProviderDatadog']]: + """ + Specify the credentials for datadog verification provider. + """ + return pulumi.get(self, "datadog") + + @property + @pulumi.getter + def jenkins(self) -> pulumi.Output[Optional['outputs.VerificationProviderJenkins']]: + """ + Specify the credentials for Jenkins verification provider. + """ + return pulumi.get(self, "jenkins") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Identifier name for Ocean CD Verification Provider. Must be unique. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="newRelic") + def new_relic(self) -> pulumi.Output[Optional['outputs.VerificationProviderNewRelic']]: + """ + Specify the credentials for New Relic verification provider. + """ + return pulumi.get(self, "new_relic") + + @property + @pulumi.getter + def prometheus(self) -> pulumi.Output[Optional['outputs.VerificationProviderPrometheus']]: + """ + Specify the credentials for prometheus verification provider. + """ + return pulumi.get(self, "prometheus") + diff --git a/upstream b/upstream index fda8cb83..012e34a5 160000 --- a/upstream +++ b/upstream @@ -1 +1 @@ -Subproject commit fda8cb8303e96c5efc8527560931828cb314f801 +Subproject commit 012e34a5467e1f33b891d01060cd024acbf3632f