diff --git a/provider/cmd/pulumi-resource-spotinst/bridge-metadata.json b/provider/cmd/pulumi-resource-spotinst/bridge-metadata.json index 0a931210..75327efb 100644 --- a/provider/cmd/pulumi-resource-spotinst/bridge-metadata.json +++ b/provider/cmd/pulumi-resource-spotinst/bridge-metadata.json @@ -1975,6 +1975,117 @@ "spotinst_ocean_spark_virtual_node_group": { "current": "spotinst:spark/oceanVirtualNodeGroup:OceanVirtualNodeGroup" }, + "spotinst_oceancd_rollout_spec": { + "current": "spotinst:oceancd/rolloutSpec:RolloutSpec", + "fields": { + "failure_policy": { + "maxItemsOne": true + }, + "spot_deployment": { + "maxItemsOne": true + }, + "spot_deployments": { + "maxItemsOne": false + }, + "strategy": { + "maxItemsOne": true, + "elem": { + "fields": { + "args": { + "maxItemsOne": false, + "elem": { + "fields": { + "value_from": { + "maxItemsOne": true, + "elem": { + "fields": { + "field_ref": { + "maxItemsOne": true + } + } + } + } + } + } + } + } + } + }, + "traffic": { + "maxItemsOne": true, + "elem": { + "fields": { + "alb": { + "maxItemsOne": true, + "elem": { + "fields": { + "stickiness_config": { + "maxItemsOne": true + } + } + } + }, + "ambassador": { + "maxItemsOne": true, + "elem": { + "fields": { + "mappings": { + "maxItemsOne": false + } + } + } + }, + "istio": { + "maxItemsOne": true, + "elem": { + "fields": { + "destination_rule": { + "maxItemsOne": true + }, + "virtual_services": { + "maxItemsOne": false, + "elem": { + "fields": { + "tls_routes": { + "maxItemsOne": false, + "elem": { + "fields": { + "sni_hosts": { + "maxItemsOne": false + } + } + } + }, + "virtual_service_routes": { + "maxItemsOne": false + } + } + } + } + } + } + }, + "nginx": { + "maxItemsOne": true, + "elem": { + "fields": { + "additional_ingress_annotation": { + "maxItemsOne": true + } + } + } + }, + "ping_pong": { + "maxItemsOne": true + }, + "smi": { + "maxItemsOne": true + } + } + } + } + } + }, "spotinst_oceancd_strategy": { "current": "spotinst:oceancd/strategy:Strategy", "fields": { @@ -2087,6 +2198,163 @@ } } }, + "spotinst_oceancd_verification_template": { + "current": "spotinst:oceancd/verificationTemplate:VerificationTemplate", + "fields": { + "args": { + "maxItemsOne": false, + "elem": { + "fields": { + "value_from": { + "maxItemsOne": true, + "elem": { + "fields": { + "secret_key_ref": { + "maxItemsOne": true + } + } + } + } + } + } + }, + "metrics": { + "maxItemsOne": false, + "elem": { + "fields": { + "baseline": { + "maxItemsOne": true, + "elem": { + "fields": { + "baseline_provider": { + "maxItemsOne": false, + "elem": { + "fields": { + "datadog": { + "maxItemsOne": true + }, + "new_relic": { + "maxItemsOne": true + }, + "prometheus": { + "maxItemsOne": true + } + } + } + } + } + } + }, + "provider": { + "maxItemsOne": false, + "elem": { + "fields": { + "cloud_watch": { + "maxItemsOne": true, + "elem": { + "fields": { + "metric_data_queries": { + "maxItemsOne": false, + "elem": { + "fields": { + "metric_stat": { + "maxItemsOne": true, + "elem": { + "fields": { + "metric": { + "maxItemsOne": true, + "elem": { + "fields": { + "dimensions": { + "maxItemsOne": false + } + } + } + } + } + } + } + } + } + } + } + } + }, + "datadog": { + "maxItemsOne": true + }, + "jenkins": { + "maxItemsOne": true, + "elem": { + "fields": { + "jenkins_parameters": { + "maxItemsOne": true + } + } + } + }, + "job": { + "maxItemsOne": true, + "elem": { + "fields": { + "spec": { + "maxItemsOne": false, + "elem": { + "fields": { + "job_template": { + "maxItemsOne": false, + "elem": { + "fields": { + "template_spec": { + "maxItemsOne": false, + "elem": { + "fields": { + "containers": { + "maxItemsOne": false, + "elem": { + "fields": { + "command": { + "maxItemsOne": false + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "new_relic": { + "maxItemsOne": true + }, + "prometheus": { + "maxItemsOne": true + }, + "web": { + "maxItemsOne": true, + "elem": { + "fields": { + "web_header": { + "maxItemsOne": false + } + } + } + } + } + } + } + } + } + } + } + }, "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 71fee679..ad2d996e 100644 --- a/provider/cmd/pulumi-resource-spotinst/schema.json +++ b/provider/cmd/pulumi-resource-spotinst/schema.json @@ -8002,6 +8002,307 @@ "state" ] }, + "spotinst:oceancd/RolloutSpecFailurePolicy:RolloutSpecFailurePolicy": { + "properties": { + "action": { + "type": "string", + "description": "Choose an action to perform on failure. Default is `abort`. Enum: \"abort\" \"pause\" \"promote\".\n" + } + }, + "type": "object", + "required": [ + "action" + ] + }, + "spotinst:oceancd/RolloutSpecSpotDeployment:RolloutSpecSpotDeployment": { + "properties": { + "spotDeploymentsClusterId": { + "type": "string", + "description": "Ocean CD cluster identifier for the references `SpotDeployment`.\n" + }, + "spotDeploymentsName": { + "type": "string", + "description": "The name of the `SpotDeployment` resource\n" + }, + "spotDeploymentsNamespace": { + "type": "string", + "description": "The namespace which the `SpotDeployment` resource exists within.\n" + } + }, + "type": "object" + }, + "spotinst:oceancd/RolloutSpecStrategy:RolloutSpecStrategy": { + "properties": { + "args": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:oceancd/RolloutSpecStrategyArg:RolloutSpecStrategyArg" + }, + "description": "Arguments defined in Verification Templates.\n" + }, + "strategyName": { + "type": "string", + "description": "Ocean CD strategy name identifier.\n" + } + }, + "type": "object", + "required": [ + "strategyName" + ] + }, + "spotinst:oceancd/RolloutSpecStrategyArg:RolloutSpecStrategyArg": { + "properties": { + "argName": { + "type": "string" + }, + "argValue": { + "type": "string" + }, + "valueFrom": { + "$ref": "#/types/spotinst:oceancd/RolloutSpecStrategyArgValueFrom:RolloutSpecStrategyArgValueFrom" + } + }, + "type": "object", + "required": [ + "argName" + ] + }, + "spotinst:oceancd/RolloutSpecStrategyArgValueFrom:RolloutSpecStrategyArgValueFrom": { + "properties": { + "fieldRef": { + "$ref": "#/types/spotinst:oceancd/RolloutSpecStrategyArgValueFromFieldRef:RolloutSpecStrategyArgValueFromFieldRef" + } + }, + "type": "object", + "required": [ + "fieldRef" + ] + }, + "spotinst:oceancd/RolloutSpecStrategyArgValueFromFieldRef:RolloutSpecStrategyArgValueFromFieldRef": { + "properties": { + "fieldPath": { + "type": "string" + } + }, + "type": "object", + "required": [ + "fieldPath" + ] + }, + "spotinst:oceancd/RolloutSpecTraffic:RolloutSpecTraffic": { + "properties": { + "alb": { + "$ref": "#/types/spotinst:oceancd/RolloutSpecTrafficAlb:RolloutSpecTrafficAlb", + "description": "Holds ALB Ingress specific configuration to route traffic.\n" + }, + "ambassador": { + "$ref": "#/types/spotinst:oceancd/RolloutSpecTrafficAmbassador:RolloutSpecTrafficAmbassador", + "description": "Holds specific configuration to use Ambassador to route traffic.\n" + }, + "canaryService": { + "type": "string", + "description": "The canary service name.\n" + }, + "istio": { + "$ref": "#/types/spotinst:oceancd/RolloutSpecTrafficIstio:RolloutSpecTrafficIstio", + "description": "Holds Istio specific configuration to route traffic.\n" + }, + "nginx": { + "$ref": "#/types/spotinst:oceancd/RolloutSpecTrafficNginx:RolloutSpecTrafficNginx", + "description": "Holds Nginx Ingress specific configuration to route traffic.\n" + }, + "pingPong": { + "$ref": "#/types/spotinst:oceancd/RolloutSpecTrafficPingPong:RolloutSpecTrafficPingPong", + "description": "Holds the ping and pong services. You can use `pingPong` field only when using ALB as a traffic manager with the IP Mode approach.\n" + }, + "smi": { + "$ref": "#/types/spotinst:oceancd/RolloutSpecTrafficSmi:RolloutSpecTrafficSmi", + "description": "Holds TrafficSplit specific configuration to route traffic.\n" + }, + "stableService": { + "type": "string", + "description": "The stable service name.\n" + } + }, + "type": "object" + }, + "spotinst:oceancd/RolloutSpecTrafficAlb:RolloutSpecTrafficAlb": { + "properties": { + "albAnnotationPrefix": { + "type": "string" + }, + "albIngress": { + "type": "string" + }, + "albRootService": { + "type": "string" + }, + "servicePort": { + "type": "integer" + }, + "stickinessConfig": { + "$ref": "#/types/spotinst:oceancd/RolloutSpecTrafficAlbStickinessConfig:RolloutSpecTrafficAlbStickinessConfig" + } + }, + "type": "object", + "required": [ + "albIngress", + "albRootService", + "servicePort" + ] + }, + "spotinst:oceancd/RolloutSpecTrafficAlbStickinessConfig:RolloutSpecTrafficAlbStickinessConfig": { + "properties": { + "durationSeconds": { + "type": "integer" + }, + "enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "spotinst:oceancd/RolloutSpecTrafficAmbassador:RolloutSpecTrafficAmbassador": { + "properties": { + "mappings": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object", + "required": [ + "mappings" + ] + }, + "spotinst:oceancd/RolloutSpecTrafficIstio:RolloutSpecTrafficIstio": { + "properties": { + "destinationRule": { + "$ref": "#/types/spotinst:oceancd/RolloutSpecTrafficIstioDestinationRule:RolloutSpecTrafficIstioDestinationRule" + }, + "virtualServices": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:oceancd/RolloutSpecTrafficIstioVirtualService:RolloutSpecTrafficIstioVirtualService" + } + } + }, + "type": "object", + "required": [ + "virtualServices" + ] + }, + "spotinst:oceancd/RolloutSpecTrafficIstioDestinationRule:RolloutSpecTrafficIstioDestinationRule": { + "properties": { + "canarySubsetName": { + "type": "string" + }, + "destinationRuleName": { + "type": "string" + }, + "stableSubsetName": { + "type": "string" + } + }, + "type": "object", + "required": [ + "canarySubsetName", + "destinationRuleName", + "stableSubsetName" + ] + }, + "spotinst:oceancd/RolloutSpecTrafficIstioVirtualService:RolloutSpecTrafficIstioVirtualService": { + "properties": { + "tlsRoutes": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:oceancd/RolloutSpecTrafficIstioVirtualServiceTlsRoute:RolloutSpecTrafficIstioVirtualServiceTlsRoute" + } + }, + "virtualServiceName": { + "type": "string" + }, + "virtualServiceRoutes": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object", + "required": [ + "virtualServiceName" + ] + }, + "spotinst:oceancd/RolloutSpecTrafficIstioVirtualServiceTlsRoute:RolloutSpecTrafficIstioVirtualServiceTlsRoute": { + "properties": { + "port": { + "type": "integer" + }, + "sniHosts": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object" + }, + "spotinst:oceancd/RolloutSpecTrafficNginx:RolloutSpecTrafficNginx": { + "properties": { + "additionalIngressAnnotation": { + "$ref": "#/types/spotinst:oceancd/RolloutSpecTrafficNginxAdditionalIngressAnnotation:RolloutSpecTrafficNginxAdditionalIngressAnnotation" + }, + "nginxAnnotationPrefix": { + "type": "string" + }, + "stableIngress": { + "type": "string" + } + }, + "type": "object", + "required": [ + "stableIngress" + ] + }, + "spotinst:oceancd/RolloutSpecTrafficNginxAdditionalIngressAnnotation:RolloutSpecTrafficNginxAdditionalIngressAnnotation": { + "properties": { + "canaryByHeader": { + "type": "string" + }, + "key1": { + "type": "string" + } + }, + "type": "object" + }, + "spotinst:oceancd/RolloutSpecTrafficPingPong:RolloutSpecTrafficPingPong": { + "properties": { + "pingService": { + "type": "string" + }, + "pongService": { + "type": "string" + } + }, + "type": "object", + "required": [ + "pingService", + "pongService" + ] + }, + "spotinst:oceancd/RolloutSpecTrafficSmi:RolloutSpecTrafficSmi": { + "properties": { + "smiRootService": { + "type": "string" + }, + "trafficSplitName": { + "type": "string" + } + }, + "type": "object" + }, "spotinst:oceancd/StrategyCanary:StrategyCanary": { "properties": { "backgroundVerification": { @@ -8094,198 +8395,704 @@ }, "type": "object", "required": [ - "headerRouteName", - "matches" + "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:oceancd/VerificationTemplateArg:VerificationTemplateArg": { + "properties": { + "argName": { + "type": "string", + "description": "Name of an argument.\n" + }, + "value": { + "type": "string", + "description": "String representation of data.\n" + }, + "valueFrom": { + "$ref": "#/types/spotinst:oceancd/VerificationTemplateArgValueFrom:VerificationTemplateArgValueFrom", + "description": "ValueFrom object.\n" + } + }, + "type": "object", + "required": [ + "argName" + ] + }, + "spotinst:oceancd/VerificationTemplateArgValueFrom:VerificationTemplateArgValueFrom": { + "properties": { + "secretKeyRef": { + "$ref": "#/types/spotinst:oceancd/VerificationTemplateArgValueFromSecretKeyRef:VerificationTemplateArgValueFromSecretKeyRef" + } + }, + "type": "object" + }, + "spotinst:oceancd/VerificationTemplateArgValueFromSecretKeyRef:VerificationTemplateArgValueFromSecretKeyRef": { + "properties": { + "key": { + "type": "string" + }, + "name": { + "type": "string", + "description": "Identifier name for Ocean CD Verification Template. Must be unique.\n" + } + }, + "type": "object", + "required": [ + "key", + "name" + ] + }, + "spotinst:oceancd/VerificationTemplateMetric:VerificationTemplateMetric": { + "properties": { + "baseline": { + "$ref": "#/types/spotinst:oceancd/VerificationTemplateMetricBaseline:VerificationTemplateMetricBaseline", + "description": "Baseline Object.\n" + }, + "consecutiveErrorLimit": { + "type": "integer", + "description": "The maximum number of times the measurement is allowed to error in succession, before the metric is considered error.Default is 4.When choosing `Jenkins` as the provider, there is no need to send this variable.\n" + }, + "count": { + "type": "integer", + "description": "The number of times to run the measurement. If both interval and count are omitted, the effective count is 1. If only interval is specified, metric runs indefinitely. If count \u003e 1, interval must be specified. When choosing `Jenkins` as the provider, there is no need to send this variable.\n" + }, + "dryRun": { + "type": "boolean", + "description": "Defines whether the metric should have an impact on the result of the rollout.\n" + }, + "failureCondition": { + "type": "string", + "description": "An expression which determines if a measurement is considered failed.If failureCondition is set, then successCondition is not allowed. When choosing Jenkins as the provider, there is no need to send this variable.\n" + }, + "failureLimit": { + "type": "integer", + "description": "The maximum number of times the measurement is allowed to fail, before the entire metric is considered failed.Default is 0. When choosing `Jenkins` as the provider, there is no need to send this variable.\n" + }, + "initialDelay": { + "type": "string", + "description": "How long to wait before starting this metric measurements. When choosing Jenkins as the provider, there is no need to send this variable.\n" + }, + "interval": { + "type": "string", + "description": "Defines an interval string (30s, 5m, 1h) between each verification measurements. If omitted, will perform a single measurement.When choosing Jenkins as the provider, there is no need to send this variable.\n" + }, + "metricsName": { + "type": "string", + "description": "The name of the verification metric.\n" + }, + "providers": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:oceancd/VerificationTemplateMetricProvider:VerificationTemplateMetricProvider" + }, + "description": "The name of the monitoring tool chosen for the metric.\n" + }, + "successCondition": { + "type": "string", + "description": "An expression which determines if a measurement is considered successful. The keyword `result` is a variable reference to the value of measurement. Results can be both structured data or primitive. If successCondition is set, then failureCondition is not allowed. When choosing `Jenkins` as the provider, there is no need to send this variable.\n" + } + }, + "type": "object", + "required": [ + "metricsName", + "providers" + ] + }, + "spotinst:oceancd/VerificationTemplateMetricBaseline:VerificationTemplateMetricBaseline": { + "properties": { + "baselineProviders": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:oceancd/VerificationTemplateMetricBaselineBaselineProvider:VerificationTemplateMetricBaselineBaselineProvider" + } + }, + "maxRange": { + "type": "integer" + }, + "minRange": { + "type": "integer" + }, + "threshold": { + "type": "string" + } + }, + "type": "object", + "required": [ + "baselineProviders", + "threshold" + ] + }, + "spotinst:oceancd/VerificationTemplateMetricBaselineBaselineProvider:VerificationTemplateMetricBaselineBaselineProvider": { + "properties": { + "datadog": { + "$ref": "#/types/spotinst:oceancd/VerificationTemplateMetricBaselineBaselineProviderDatadog:VerificationTemplateMetricBaselineBaselineProviderDatadog" + }, + "newRelic": { + "$ref": "#/types/spotinst:oceancd/VerificationTemplateMetricBaselineBaselineProviderNewRelic:VerificationTemplateMetricBaselineBaselineProviderNewRelic" + }, + "prometheus": { + "$ref": "#/types/spotinst:oceancd/VerificationTemplateMetricBaselineBaselineProviderPrometheus:VerificationTemplateMetricBaselineBaselineProviderPrometheus" + } + }, + "type": "object" + }, + "spotinst:oceancd/VerificationTemplateMetricBaselineBaselineProviderDatadog:VerificationTemplateMetricBaselineBaselineProviderDatadog": { + "properties": { + "datadogQuery": { + "type": "string" + }, + "duration": { + "type": "string" + } + }, + "type": "object", + "required": [ + "datadogQuery" + ] + }, + "spotinst:oceancd/VerificationTemplateMetricBaselineBaselineProviderNewRelic:VerificationTemplateMetricBaselineBaselineProviderNewRelic": { + "properties": { + "newRelicQuery": { + "type": "string" + }, + "profile": { + "type": "string" + } + }, + "type": "object", + "required": [ + "newRelicQuery" + ] + }, + "spotinst:oceancd/VerificationTemplateMetricBaselineBaselineProviderPrometheus:VerificationTemplateMetricBaselineBaselineProviderPrometheus": { + "properties": { + "prometheusQuery": { + "type": "string" + } + }, + "type": "object", + "required": [ + "prometheusQuery" + ] + }, + "spotinst:oceancd/VerificationTemplateMetricProvider:VerificationTemplateMetricProvider": { + "properties": { + "cloudWatch": { + "$ref": "#/types/spotinst:oceancd/VerificationTemplateMetricProviderCloudWatch:VerificationTemplateMetricProviderCloudWatch" + }, + "datadog": { + "$ref": "#/types/spotinst:oceancd/VerificationTemplateMetricProviderDatadog:VerificationTemplateMetricProviderDatadog" + }, + "jenkins": { + "$ref": "#/types/spotinst:oceancd/VerificationTemplateMetricProviderJenkins:VerificationTemplateMetricProviderJenkins" + }, + "job": { + "$ref": "#/types/spotinst:oceancd/VerificationTemplateMetricProviderJob:VerificationTemplateMetricProviderJob" + }, + "newRelic": { + "$ref": "#/types/spotinst:oceancd/VerificationTemplateMetricProviderNewRelic:VerificationTemplateMetricProviderNewRelic" + }, + "prometheus": { + "$ref": "#/types/spotinst:oceancd/VerificationTemplateMetricProviderPrometheus:VerificationTemplateMetricProviderPrometheus" + }, + "web": { + "$ref": "#/types/spotinst:oceancd/VerificationTemplateMetricProviderWeb:VerificationTemplateMetricProviderWeb" + } + }, + "type": "object" + }, + "spotinst:oceancd/VerificationTemplateMetricProviderCloudWatch:VerificationTemplateMetricProviderCloudWatch": { + "properties": { + "duration": { + "type": "string" + }, + "metricDataQueries": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:oceancd/VerificationTemplateMetricProviderCloudWatchMetricDataQuery:VerificationTemplateMetricProviderCloudWatchMetricDataQuery" + } + } + }, + "type": "object", + "required": [ + "metricDataQueries" + ] + }, + "spotinst:oceancd/VerificationTemplateMetricProviderCloudWatchMetricDataQuery:VerificationTemplateMetricProviderCloudWatchMetricDataQuery": { + "properties": { + "expression": { + "type": "string" + }, + "id": { + "type": "string" + }, + "label": { + "type": "string" + }, + "metricStat": { + "$ref": "#/types/spotinst:oceancd/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat:VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat" + }, + "period": { + "type": "integer" + }, + "returnData": { + "type": "boolean" + } + }, + "type": "object", + "required": [ + "id" + ] + }, + "spotinst:oceancd/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat:VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat": { + "properties": { + "metric": { + "$ref": "#/types/spotinst:oceancd/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric:VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric" + }, + "metricPeriod": { + "type": "integer" + }, + "stat": { + "type": "string" + }, + "unit": { + "type": "string" + } + }, + "type": "object" + }, + "spotinst:oceancd/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric:VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric": { + "properties": { + "dimensions": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:oceancd/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension:VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension" + } + }, + "metricName": { + "type": "string" + }, + "namespace": { + "type": "string" + } + }, + "type": "object", + "required": [ + "metricName" + ] + }, + "spotinst:oceancd/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension:VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension": { + "properties": { + "dimensionName": { + "type": "string" + }, + "dimensionValue": { + "type": "string" + } + }, + "type": "object", + "required": [ + "dimensionName", + "dimensionValue" ] }, - "spotinst:oceancd/StrategyCanaryStepSetHeaderRouteMatch:StrategyCanaryStepSetHeaderRouteMatch": { + "spotinst:oceancd/VerificationTemplateMetricProviderDatadog:VerificationTemplateMetricProviderDatadog": { "properties": { - "headerName": { + "datadogQuery": { "type": "string" }, - "headerValue": { - "$ref": "#/types/spotinst:oceancd/StrategyCanaryStepSetHeaderRouteMatchHeaderValue:StrategyCanaryStepSetHeaderRouteMatchHeaderValue" + "duration": { + "type": "string" } }, - "type": "object", - "required": [ - "headerName", - "headerValue" - ] + "type": "object" }, - "spotinst:oceancd/StrategyCanaryStepSetHeaderRouteMatchHeaderValue:StrategyCanaryStepSetHeaderRouteMatchHeaderValue": { + "spotinst:oceancd/VerificationTemplateMetricProviderJenkins:VerificationTemplateMetricProviderJenkins": { "properties": { - "exact": { + "jenkinsInterval": { "type": "string" }, - "prefix": { + "jenkinsParameters": { + "$ref": "#/types/spotinst:oceancd/VerificationTemplateMetricProviderJenkinsJenkinsParameters:VerificationTemplateMetricProviderJenkinsJenkinsParameters" + }, + "pipelineName": { "type": "string" }, - "regex": { + "timeout": { "type": "string" + }, + "tlsVerification": { + "type": "boolean" } }, - "type": "object" + "type": "object", + "required": [ + "jenkinsInterval", + "pipelineName", + "timeout" + ] }, - "spotinst:oceancd/StrategyCanaryStepVerification:StrategyCanaryStepVerification": { + "spotinst:oceancd/VerificationTemplateMetricProviderJenkinsJenkinsParameters:VerificationTemplateMetricProviderJenkinsJenkinsParameters": { "properties": { - "templateNames": { - "type": "array", - "items": { - "type": "string" - } + "parameterKey": { + "type": "string" + }, + "parameterValue": { + "type": "string" } }, "type": "object", "required": [ - "templateNames" + "parameterKey", + "parameterValue" ] }, - "spotinst:oceancd/StrategyRolling:StrategyRolling": { + "spotinst:oceancd/VerificationTemplateMetricProviderJob:VerificationTemplateMetricProviderJob": { "properties": { - "steps": { + "specs": { "type": "array", "items": { - "$ref": "#/types/spotinst:oceancd/StrategyRollingStep:StrategyRollingStep" - }, - "description": "A set of separate conditions of rollout processing.\n" + "$ref": "#/types/spotinst:oceancd/VerificationTemplateMetricProviderJobSpec:VerificationTemplateMetricProviderJobSpec" + } } }, "type": "object", "required": [ - "steps" + "specs" ] }, - "spotinst:oceancd/StrategyRollingStep:StrategyRollingStep": { + "spotinst:oceancd/VerificationTemplateMetricProviderJobSpec:VerificationTemplateMetricProviderJobSpec": { "properties": { - "pause": { - "$ref": "#/types/spotinst:oceancd/StrategyRollingStepPause:StrategyRollingStepPause" - }, - "stepsName": { - "type": "string" + "backoffLimit": { + "type": "integer" }, - "verification": { - "$ref": "#/types/spotinst:oceancd/StrategyRollingStepVerification:StrategyRollingStepVerification" + "jobTemplates": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:oceancd/VerificationTemplateMetricProviderJobSpecJobTemplate:VerificationTemplateMetricProviderJobSpecJobTemplate" + } } }, - "type": "object" + "type": "object", + "required": [ + "jobTemplates" + ] }, - "spotinst:oceancd/StrategyRollingStepPause:StrategyRollingStepPause": { + "spotinst:oceancd/VerificationTemplateMetricProviderJobSpecJobTemplate:VerificationTemplateMetricProviderJobSpecJobTemplate": { "properties": { - "duration": { - "type": "string" + "templateSpecs": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:oceancd/VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec:VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec" + } } }, - "type": "object" + "type": "object", + "required": [ + "templateSpecs" + ] }, - "spotinst:oceancd/StrategyRollingStepVerification:StrategyRollingStepVerification": { + "spotinst:oceancd/VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec:VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec": { "properties": { - "templateNames": { + "containers": { "type": "array", "items": { - "type": "string" + "$ref": "#/types/spotinst:oceancd/VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer:VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer" } + }, + "restartPolicy": { + "type": "string" } }, "type": "object", "required": [ - "templateNames" + "containers", + "restartPolicy" ] }, - "spotinst:oceancd/VerificationProviderCloudWatch:VerificationProviderCloudWatch": { + "spotinst:oceancd/VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer:VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer": { "properties": { - "iamArn": { - "type": "string", - "description": "Set label key.\n" + "commands": { + "type": "array", + "items": { + "type": "string" + } + }, + "containerName": { + "type": "string" + }, + "image": { + "type": "string" } }, "type": "object", "required": [ - "iamArn" + "commands", + "containerName", + "image" ] }, - "spotinst:oceancd/VerificationProviderDatadog:VerificationProviderDatadog": { + "spotinst:oceancd/VerificationTemplateMetricProviderNewRelic:VerificationTemplateMetricProviderNewRelic": { "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" + "newRelicQuery": { + "type": "string" }, - "appKey": { - "type": "string", - "description": "API key that gives users access to Datadog’s programmatic API.\n" + "profile": { + "type": "string" } }, "type": "object", "required": [ - "address", - "apiKey", - "appKey" + "newRelicQuery" ] }, - "spotinst:oceancd/VerificationProviderJenkins:VerificationProviderJenkins": { + "spotinst:oceancd/VerificationTemplateMetricProviderPrometheus:VerificationTemplateMetricProviderPrometheus": { "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" + "prometheusQuery": { + "type": "string" } }, "type": "object", "required": [ - "apiToken", - "baseUrl", - "username" + "prometheusQuery" ] }, - "spotinst:oceancd/VerificationProviderNewRelic:VerificationProviderNewRelic": { + "spotinst:oceancd/VerificationTemplateMetricProviderWeb:VerificationTemplateMetricProviderWeb": { "properties": { - "accountId": { + "body": { "type": "string" }, - "baseUrlNerdGraph": { - "type": "string", - "description": "The base URL for NerdGraph for a proxy.\n" + "insecure": { + "type": "boolean" }, - "baseUrlRest": { - "type": "string", - "description": "The base URL of the New Relic REST API for a proxy.\n" + "jsonPath": { + "type": "string" }, - "personalApiKey": { - "type": "string", - "description": "The NewRelic user key\n" + "method": { + "type": "string" }, - "region": { - "type": "string", - "description": "A region which the account is attached to. Default is \"us\".\n" + "timeoutSeconds": { + "type": "integer" + }, + "url": { + "type": "string" + }, + "webHeaders": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:oceancd/VerificationTemplateMetricProviderWebWebHeader:VerificationTemplateMetricProviderWebWebHeader" + } } }, "type": "object", "required": [ - "accountId", - "personalApiKey" + "url" ] }, - "spotinst:oceancd/VerificationProviderPrometheus:VerificationProviderPrometheus": { + "spotinst:oceancd/VerificationTemplateMetricProviderWebWebHeader:VerificationTemplateMetricProviderWebWebHeader": { "properties": { - "address": { - "type": "string", - "description": "The address which the Prometheus server available on.\n" + "webHeaderKey": { + "type": "string" + }, + "webHeaderValue": { + "type": "string" } }, "type": "object", "required": [ - "address" + "webHeaderKey", + "webHeaderValue" ] }, "spotinst:organization/PolicyPolicyContent:PolicyPolicyContent": { @@ -17427,6 +18234,108 @@ "type": "object" } }, + "spotinst:oceancd/rolloutSpec:RolloutSpec": { + "description": "Manages a Spotinst OceanCD Rollout Spec resource.\n\n", + "properties": { + "failurePolicy": { + "$ref": "#/types/spotinst:oceancd/RolloutSpecFailurePolicy:RolloutSpecFailurePolicy", + "description": "Holds information on how to react when failure happens.\n" + }, + "rolloutSpecName": { + "type": "string", + "description": "Identifier name for Ocean CD Rollout Spec. Must be unique\n" + }, + "spotDeployment": { + "$ref": "#/types/spotinst:oceancd/RolloutSpecSpotDeployment:RolloutSpecSpotDeployment", + "description": "Represents the SpotDeployment selector.\n" + }, + "spotDeployments": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:oceancd/RolloutSpecSpotDeployment:RolloutSpecSpotDeployment" + }, + "description": "You must specify either `spotDeployment` OR `spotDeployments` but not both. Every SpotDeployment has to be unique. If more than one `SpotDeployment` has been configured, no `traffic` managers can be set as part of the RolloutSpec.For such case ensure that each of the chosen SpotDeployments are being exposed with different Kubernetes services.\n" + }, + "strategy": { + "$ref": "#/types/spotinst:oceancd/RolloutSpecStrategy:RolloutSpecStrategy", + "description": "Determines the Ocean CD strategy\n" + }, + "traffic": { + "$ref": "#/types/spotinst:oceancd/RolloutSpecTraffic:RolloutSpecTraffic", + "description": "Hosts all of the supported service meshes needed to enable more fine-grained traffic routing. In case `SpotDeployments` contains more than one SpotDeployment the `traffic` manager may not be configured.\n" + } + }, + "required": [ + "rolloutSpecName", + "strategy" + ], + "inputProperties": { + "failurePolicy": { + "$ref": "#/types/spotinst:oceancd/RolloutSpecFailurePolicy:RolloutSpecFailurePolicy", + "description": "Holds information on how to react when failure happens.\n" + }, + "rolloutSpecName": { + "type": "string", + "description": "Identifier name for Ocean CD Rollout Spec. Must be unique\n" + }, + "spotDeployment": { + "$ref": "#/types/spotinst:oceancd/RolloutSpecSpotDeployment:RolloutSpecSpotDeployment", + "description": "Represents the SpotDeployment selector.\n" + }, + "spotDeployments": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:oceancd/RolloutSpecSpotDeployment:RolloutSpecSpotDeployment" + }, + "description": "You must specify either `spotDeployment` OR `spotDeployments` but not both. Every SpotDeployment has to be unique. If more than one `SpotDeployment` has been configured, no `traffic` managers can be set as part of the RolloutSpec.For such case ensure that each of the chosen SpotDeployments are being exposed with different Kubernetes services.\n" + }, + "strategy": { + "$ref": "#/types/spotinst:oceancd/RolloutSpecStrategy:RolloutSpecStrategy", + "description": "Determines the Ocean CD strategy\n" + }, + "traffic": { + "$ref": "#/types/spotinst:oceancd/RolloutSpecTraffic:RolloutSpecTraffic", + "description": "Hosts all of the supported service meshes needed to enable more fine-grained traffic routing. In case `SpotDeployments` contains more than one SpotDeployment the `traffic` manager may not be configured.\n" + } + }, + "requiredInputs": [ + "rolloutSpecName", + "strategy" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering RolloutSpec resources.\n", + "properties": { + "failurePolicy": { + "$ref": "#/types/spotinst:oceancd/RolloutSpecFailurePolicy:RolloutSpecFailurePolicy", + "description": "Holds information on how to react when failure happens.\n" + }, + "rolloutSpecName": { + "type": "string", + "description": "Identifier name for Ocean CD Rollout Spec. Must be unique\n" + }, + "spotDeployment": { + "$ref": "#/types/spotinst:oceancd/RolloutSpecSpotDeployment:RolloutSpecSpotDeployment", + "description": "Represents the SpotDeployment selector.\n" + }, + "spotDeployments": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:oceancd/RolloutSpecSpotDeployment:RolloutSpecSpotDeployment" + }, + "description": "You must specify either `spotDeployment` OR `spotDeployments` but not both. Every SpotDeployment has to be unique. If more than one `SpotDeployment` has been configured, no `traffic` managers can be set as part of the RolloutSpec.For such case ensure that each of the chosen SpotDeployments are being exposed with different Kubernetes services.\n" + }, + "strategy": { + "$ref": "#/types/spotinst:oceancd/RolloutSpecStrategy:RolloutSpecStrategy", + "description": "Determines the Ocean CD strategy\n" + }, + "traffic": { + "$ref": "#/types/spotinst:oceancd/RolloutSpecTraffic:RolloutSpecTraffic", + "description": "Hosts all of the supported service meshes needed to enable more fine-grained traffic routing. In case `SpotDeployments` contains more than one SpotDeployment the `traffic` manager may not be configured.\n" + } + }, + "type": "object" + } + }, "spotinst:oceancd/strategy:Strategy": { "description": "Manages a Spotinst OceanCD Strategy resource.\n\n", "properties": { @@ -17592,6 +18501,76 @@ "type": "object" } }, + "spotinst:oceancd/verificationTemplate:VerificationTemplate": { + "description": "Manages a Spotinst OceanCD Verfification Template 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 test = new spotinst.oceancd.VerificationTemplate(\"test\", {\n name: \"test-verification-template-tes\",\n args: [{\n argName: \"test-arg\",\n value: \"test\",\n valueFrom: {\n secretKeyRef: {\n name: \"test_key\",\n key: \"key-value-test\",\n },\n },\n }],\n metrics: [{\n metricsName: \"test-metrics-names\",\n dryRun: false,\n interval: \"10m\",\n initialDelay: \"1m\",\n count: 10,\n successCondition: \"result[0] \u003c= 0.95\",\n failureCondition: \"result[0] \u003e= 0.95\",\n failureLimit: 2,\n consecutiveErrorLimit: 1,\n providers: [{\n prometheus: {\n prometheusQuery: \"http_requests_new\",\n },\n datadog: {\n duration: \"1m\",\n datadogQuery: \"avg:kubernetes.cpu.user.total\",\n },\n newRelic: {\n profile: \"test\",\n newRelicQuery: \"FROM Metric SELECT count\",\n },\n cloudWatch: {\n duration: \"5m\",\n metricDataQueries: [{\n id: \"utilization\",\n metricStat: {\n metric: {\n metricName: \"Test\",\n namespace: \"AWS/EC2\",\n dimensions: [{\n dimensionName: \"instandId\",\n dimensionValue: \"i-123044\",\n }],\n },\n metricPeriod: 400,\n stat: \"average\",\n unit: \"None\",\n },\n expression: \"SELECT AVG(CPUUtilization) FROM SCHEMA\",\n label: \"TestLabel\",\n returnData: false,\n period: 300,\n }],\n },\n web: {\n method: \"GET\",\n url: \"https://oceancd.com/api/v1/metrics?clusterId= args.clusterId\",\n webHeaders: [{\n webHeaderKey: \"Autorization\",\n webHeaderValue: \"Bearer=args.token\",\n }],\n body: \"{\\\"key\\\": \\\"test\\\"}\",\n timeoutSeconds: 20,\n jsonPath: \"$.data\",\n insecure: false,\n },\n job: {\n specs: [{\n backoffLimit: 1,\n jobTemplates: [{\n templateSpecs: [{\n containers: [{\n containerName: \"hello\",\n commands: [\n \"sh\",\n \"-c\",\n ],\n image: \"nginx.2.1\",\n }],\n restartPolicy: \"never\",\n }],\n }],\n }],\n },\n jenkins: {\n pipelineName: \"testPipelineName\",\n tlsVerification: true,\n timeout: \"2m\",\n jenkinsInterval: \"5s\",\n jenkinsParameters: {\n parameterKey: \"app\",\n parameterValue: \"my-app\",\n },\n },\n }],\n baseline: {\n baselineProviders: [{\n prometheus: {\n prometheusQuery: \"http_requests_total.status!\",\n },\n datadog: {\n duration: \"2m\",\n datadogQuery: \"avg:kubernetes.cpu.user\",\n },\n newRelic: {\n profile: \"test\",\n newRelicQuery: \"FROM Metric SELECT count*\",\n },\n }],\n minRange: 40,\n maxRange: 50,\n threshold: \"range\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_spotinst as spotinst\n\ntest = spotinst.oceancd.VerificationTemplate(\"test\",\n name=\"test-verification-template-tes\",\n args=[spotinst.oceancd.VerificationTemplateArgArgs(\n arg_name=\"test-arg\",\n value=\"test\",\n value_from=spotinst.oceancd.VerificationTemplateArgValueFromArgs(\n secret_key_ref=spotinst.oceancd.VerificationTemplateArgValueFromSecretKeyRefArgs(\n name=\"test_key\",\n key=\"key-value-test\",\n ),\n ),\n )],\n metrics=[spotinst.oceancd.VerificationTemplateMetricArgs(\n metrics_name=\"test-metrics-names\",\n dry_run=False,\n interval=\"10m\",\n initial_delay=\"1m\",\n count=10,\n success_condition=\"result[0] \u003c= 0.95\",\n failure_condition=\"result[0] \u003e= 0.95\",\n failure_limit=2,\n consecutive_error_limit=1,\n providers=[spotinst.oceancd.VerificationTemplateMetricProviderArgs(\n prometheus=spotinst.oceancd.VerificationTemplateMetricProviderPrometheusArgs(\n prometheus_query=\"http_requests_new\",\n ),\n datadog=spotinst.oceancd.VerificationTemplateMetricProviderDatadogArgs(\n duration=\"1m\",\n datadog_query=\"avg:kubernetes.cpu.user.total\",\n ),\n new_relic=spotinst.oceancd.VerificationTemplateMetricProviderNewRelicArgs(\n profile=\"test\",\n new_relic_query=\"FROM Metric SELECT count\",\n ),\n cloud_watch=spotinst.oceancd.VerificationTemplateMetricProviderCloudWatchArgs(\n duration=\"5m\",\n metric_data_queries=[spotinst.oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs(\n id=\"utilization\",\n metric_stat=spotinst.oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs(\n metric=spotinst.oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs(\n metric_name=\"Test\",\n namespace=\"AWS/EC2\",\n dimensions=[spotinst.oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs(\n dimension_name=\"instandId\",\n dimension_value=\"i-123044\",\n )],\n ),\n metric_period=400,\n stat=\"average\",\n unit=\"None\",\n ),\n expression=\"SELECT AVG(CPUUtilization) FROM SCHEMA\",\n label=\"TestLabel\",\n return_data=False,\n period=300,\n )],\n ),\n web=spotinst.oceancd.VerificationTemplateMetricProviderWebArgs(\n method=\"GET\",\n url=\"https://oceancd.com/api/v1/metrics?clusterId= args.clusterId\",\n web_headers=[spotinst.oceancd.VerificationTemplateMetricProviderWebWebHeaderArgs(\n web_header_key=\"Autorization\",\n web_header_value=\"Bearer=args.token\",\n )],\n body=\"{\\\"key\\\": \\\"test\\\"}\",\n timeout_seconds=20,\n json_path=\"$.data\",\n insecure=False,\n ),\n job=spotinst.oceancd.VerificationTemplateMetricProviderJobArgs(\n specs=[spotinst.oceancd.VerificationTemplateMetricProviderJobSpecArgs(\n backoff_limit=1,\n job_templates=[spotinst.oceancd.VerificationTemplateMetricProviderJobSpecJobTemplateArgs(\n template_specs=[spotinst.oceancd.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs(\n containers=[spotinst.oceancd.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs(\n container_name=\"hello\",\n commands=[\n \"sh\",\n \"-c\",\n ],\n image=\"nginx.2.1\",\n )],\n restart_policy=\"never\",\n )],\n )],\n )],\n ),\n jenkins=spotinst.oceancd.VerificationTemplateMetricProviderJenkinsArgs(\n pipeline_name=\"testPipelineName\",\n tls_verification=True,\n timeout=\"2m\",\n jenkins_interval=\"5s\",\n jenkins_parameters=spotinst.oceancd.VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs(\n parameter_key=\"app\",\n parameter_value=\"my-app\",\n ),\n ),\n )],\n baseline=spotinst.oceancd.VerificationTemplateMetricBaselineArgs(\n baseline_providers=[spotinst.oceancd.VerificationTemplateMetricBaselineBaselineProviderArgs(\n prometheus=spotinst.oceancd.VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs(\n prometheus_query=\"http_requests_total.status!\",\n ),\n datadog=spotinst.oceancd.VerificationTemplateMetricBaselineBaselineProviderDatadogArgs(\n duration=\"2m\",\n datadog_query=\"avg:kubernetes.cpu.user\",\n ),\n new_relic=spotinst.oceancd.VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs(\n profile=\"test\",\n new_relic_query=\"FROM Metric SELECT count*\",\n ),\n )],\n min_range=40,\n max_range=50,\n threshold=\"range\",\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 test = new SpotInst.Oceancd.VerificationTemplate(\"test\", new()\n {\n Name = \"test-verification-template-tes\",\n Args = new[]\n {\n new SpotInst.Oceancd.Inputs.VerificationTemplateArgArgs\n {\n ArgName = \"test-arg\",\n Value = \"test\",\n ValueFrom = new SpotInst.Oceancd.Inputs.VerificationTemplateArgValueFromArgs\n {\n SecretKeyRef = new SpotInst.Oceancd.Inputs.VerificationTemplateArgValueFromSecretKeyRefArgs\n {\n Name = \"test_key\",\n Key = \"key-value-test\",\n },\n },\n },\n },\n Metrics = new[]\n {\n new SpotInst.Oceancd.Inputs.VerificationTemplateMetricArgs\n {\n MetricsName = \"test-metrics-names\",\n DryRun = false,\n Interval = \"10m\",\n InitialDelay = \"1m\",\n Count = 10,\n SuccessCondition = \"result[0] \u003c= 0.95\",\n FailureCondition = \"result[0] \u003e= 0.95\",\n FailureLimit = 2,\n ConsecutiveErrorLimit = 1,\n Providers = new[]\n {\n new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderArgs\n {\n Prometheus = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderPrometheusArgs\n {\n PrometheusQuery = \"http_requests_new\",\n },\n Datadog = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderDatadogArgs\n {\n Duration = \"1m\",\n DatadogQuery = \"avg:kubernetes.cpu.user.total\",\n },\n NewRelic = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderNewRelicArgs\n {\n Profile = \"test\",\n NewRelicQuery = \"FROM Metric SELECT count\",\n },\n CloudWatch = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderCloudWatchArgs\n {\n Duration = \"5m\",\n MetricDataQueries = new[]\n {\n new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs\n {\n Id = \"utilization\",\n MetricStat = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs\n {\n Metric = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs\n {\n MetricName = \"Test\",\n Namespace = \"AWS/EC2\",\n Dimensions = new[]\n {\n new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs\n {\n DimensionName = \"instandId\",\n DimensionValue = \"i-123044\",\n },\n },\n },\n MetricPeriod = 400,\n Stat = \"average\",\n Unit = \"None\",\n },\n Expression = \"SELECT AVG(CPUUtilization) FROM SCHEMA\",\n Label = \"TestLabel\",\n ReturnData = false,\n Period = 300,\n },\n },\n },\n Web = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderWebArgs\n {\n Method = \"GET\",\n Url = \"https://oceancd.com/api/v1/metrics?clusterId= args.clusterId\",\n WebHeaders = new[]\n {\n new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderWebWebHeaderArgs\n {\n WebHeaderKey = \"Autorization\",\n WebHeaderValue = \"Bearer=args.token\",\n },\n },\n Body = \"{\\\"key\\\": \\\"test\\\"}\",\n TimeoutSeconds = 20,\n JsonPath = \"$.data\",\n Insecure = false,\n },\n Job = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderJobArgs\n {\n Specs = new[]\n {\n new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderJobSpecArgs\n {\n BackoffLimit = 1,\n JobTemplates = new[]\n {\n new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderJobSpecJobTemplateArgs\n {\n TemplateSpecs = new[]\n {\n new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs\n {\n Containers = new[]\n {\n new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs\n {\n ContainerName = \"hello\",\n Commands = new[]\n {\n \"sh\",\n \"-c\",\n },\n Image = \"nginx.2.1\",\n },\n },\n RestartPolicy = \"never\",\n },\n },\n },\n },\n },\n },\n },\n Jenkins = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderJenkinsArgs\n {\n PipelineName = \"testPipelineName\",\n TlsVerification = true,\n Timeout = \"2m\",\n JenkinsInterval = \"5s\",\n JenkinsParameters = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs\n {\n ParameterKey = \"app\",\n ParameterValue = \"my-app\",\n },\n },\n },\n },\n Baseline = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricBaselineArgs\n {\n BaselineProviders = new[]\n {\n new SpotInst.Oceancd.Inputs.VerificationTemplateMetricBaselineBaselineProviderArgs\n {\n Prometheus = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs\n {\n PrometheusQuery = \"http_requests_total.status!\",\n },\n Datadog = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricBaselineBaselineProviderDatadogArgs\n {\n Duration = \"2m\",\n DatadogQuery = \"avg:kubernetes.cpu.user\",\n },\n NewRelic = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs\n {\n Profile = \"test\",\n NewRelicQuery = \"FROM Metric SELECT count*\",\n },\n },\n },\n MinRange = 40,\n MaxRange = 50,\n Threshold = \"range\",\n },\n },\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.NewVerificationTemplate(ctx, \"test\", \u0026oceancd.VerificationTemplateArgs{\n\t\t\tName: pulumi.String(\"test-verification-template-tes\"),\n\t\t\tArgs: oceancd.VerificationTemplateArgArray{\n\t\t\t\t\u0026oceancd.VerificationTemplateArgArgs{\n\t\t\t\t\tArgName: pulumi.String(\"test-arg\"),\n\t\t\t\t\tValue: pulumi.String(\"test\"),\n\t\t\t\t\tValueFrom: \u0026oceancd.VerificationTemplateArgValueFromArgs{\n\t\t\t\t\t\tSecretKeyRef: \u0026oceancd.VerificationTemplateArgValueFromSecretKeyRefArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"test_key\"),\n\t\t\t\t\t\t\tKey: pulumi.String(\"key-value-test\"),\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\tMetrics: oceancd.VerificationTemplateMetricArray{\n\t\t\t\t\u0026oceancd.VerificationTemplateMetricArgs{\n\t\t\t\t\tMetricsName: pulumi.String(\"test-metrics-names\"),\n\t\t\t\t\tDryRun: pulumi.Bool(false),\n\t\t\t\t\tInterval: pulumi.String(\"10m\"),\n\t\t\t\t\tInitialDelay: pulumi.String(\"1m\"),\n\t\t\t\t\tCount: pulumi.Int(10),\n\t\t\t\t\tSuccessCondition: pulumi.String(\"result[0] \u003c= 0.95\"),\n\t\t\t\t\tFailureCondition: pulumi.String(\"result[0] \u003e= 0.95\"),\n\t\t\t\t\tFailureLimit: pulumi.Int(2),\n\t\t\t\t\tConsecutiveErrorLimit: pulumi.Int(1),\n\t\t\t\t\tProviders: oceancd.VerificationTemplateMetricProviderArray{\n\t\t\t\t\t\t\u0026oceancd.VerificationTemplateMetricProviderArgs{\n\t\t\t\t\t\t\tPrometheus: \u0026oceancd.VerificationTemplateMetricProviderPrometheusArgs{\n\t\t\t\t\t\t\t\tPrometheusQuery: pulumi.String(\"http_requests_new\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tDatadog: \u0026oceancd.VerificationTemplateMetricProviderDatadogArgs{\n\t\t\t\t\t\t\t\tDuration: pulumi.String(\"1m\"),\n\t\t\t\t\t\t\t\tDatadogQuery: pulumi.String(\"avg:kubernetes.cpu.user.total\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tNewRelic: \u0026oceancd.VerificationTemplateMetricProviderNewRelicArgs{\n\t\t\t\t\t\t\t\tProfile: pulumi.String(\"test\"),\n\t\t\t\t\t\t\t\tNewRelicQuery: pulumi.String(\"FROM Metric SELECT count\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tCloudWatch: \u0026oceancd.VerificationTemplateMetricProviderCloudWatchArgs{\n\t\t\t\t\t\t\t\tDuration: pulumi.String(\"5m\"),\n\t\t\t\t\t\t\t\tMetricDataQueries: oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryArray{\n\t\t\t\t\t\t\t\t\t\u0026oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs{\n\t\t\t\t\t\t\t\t\t\tId: pulumi.String(\"utilization\"),\n\t\t\t\t\t\t\t\t\t\tMetricStat: \u0026oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs{\n\t\t\t\t\t\t\t\t\t\t\tMetric: \u0026oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs{\n\t\t\t\t\t\t\t\t\t\t\t\tMetricName: pulumi.String(\"Test\"),\n\t\t\t\t\t\t\t\t\t\t\t\tNamespace: pulumi.String(\"AWS/EC2\"),\n\t\t\t\t\t\t\t\t\t\t\t\tDimensions: oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArray{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\u0026oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tDimensionName: pulumi.String(\"instandId\"),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tDimensionValue: pulumi.String(\"i-123044\"),\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tMetricPeriod: pulumi.Int(400),\n\t\t\t\t\t\t\t\t\t\t\tStat: pulumi.String(\"average\"),\n\t\t\t\t\t\t\t\t\t\t\tUnit: pulumi.String(\"None\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tExpression: pulumi.String(\"SELECT AVG(CPUUtilization) FROM SCHEMA\"),\n\t\t\t\t\t\t\t\t\t\tLabel: pulumi.String(\"TestLabel\"),\n\t\t\t\t\t\t\t\t\t\tReturnData: pulumi.Bool(false),\n\t\t\t\t\t\t\t\t\t\tPeriod: pulumi.Int(300),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tWeb: \u0026oceancd.VerificationTemplateMetricProviderWebArgs{\n\t\t\t\t\t\t\t\tMethod: pulumi.String(\"GET\"),\n\t\t\t\t\t\t\t\tUrl: pulumi.String(\"https://oceancd.com/api/v1/metrics?clusterId= args.clusterId\"),\n\t\t\t\t\t\t\t\tWebHeaders: oceancd.VerificationTemplateMetricProviderWebWebHeaderArray{\n\t\t\t\t\t\t\t\t\t\u0026oceancd.VerificationTemplateMetricProviderWebWebHeaderArgs{\n\t\t\t\t\t\t\t\t\t\tWebHeaderKey: pulumi.String(\"Autorization\"),\n\t\t\t\t\t\t\t\t\t\tWebHeaderValue: pulumi.String(\"Bearer=args.token\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tBody: pulumi.String(\"{\\\"key\\\": \\\"test\\\"}\"),\n\t\t\t\t\t\t\t\tTimeoutSeconds: pulumi.Int(20),\n\t\t\t\t\t\t\t\tJsonPath: pulumi.String(\"$.data\"),\n\t\t\t\t\t\t\t\tInsecure: pulumi.Bool(false),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tJob: \u0026oceancd.VerificationTemplateMetricProviderJobArgs{\n\t\t\t\t\t\t\t\tSpecs: oceancd.VerificationTemplateMetricProviderJobSpecArray{\n\t\t\t\t\t\t\t\t\t\u0026oceancd.VerificationTemplateMetricProviderJobSpecArgs{\n\t\t\t\t\t\t\t\t\t\tBackoffLimit: pulumi.Int(1),\n\t\t\t\t\t\t\t\t\t\tJobTemplates: oceancd.VerificationTemplateMetricProviderJobSpecJobTemplateArray{\n\t\t\t\t\t\t\t\t\t\t\t\u0026oceancd.VerificationTemplateMetricProviderJobSpecJobTemplateArgs{\n\t\t\t\t\t\t\t\t\t\t\t\tTemplateSpecs: oceancd.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArray{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\u0026oceancd.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tContainers: oceancd.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArray{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u0026oceancd.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tContainerName: pulumi.String(\"hello\"),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tCommands: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpulumi.String(\"sh\"),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpulumi.String(\"-c\"),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tImage: pulumi.String(\"nginx.2.1\"),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tRestartPolicy: pulumi.String(\"never\"),\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tJenkins: \u0026oceancd.VerificationTemplateMetricProviderJenkinsArgs{\n\t\t\t\t\t\t\t\tPipelineName: pulumi.String(\"testPipelineName\"),\n\t\t\t\t\t\t\t\tTlsVerification: pulumi.Bool(true),\n\t\t\t\t\t\t\t\tTimeout: pulumi.String(\"2m\"),\n\t\t\t\t\t\t\t\tJenkinsInterval: pulumi.String(\"5s\"),\n\t\t\t\t\t\t\t\tJenkinsParameters: \u0026oceancd.VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs{\n\t\t\t\t\t\t\t\t\tParameterKey: pulumi.String(\"app\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.String(\"my-app\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tBaseline: \u0026oceancd.VerificationTemplateMetricBaselineArgs{\n\t\t\t\t\t\tBaselineProviders: oceancd.VerificationTemplateMetricBaselineBaselineProviderArray{\n\t\t\t\t\t\t\t\u0026oceancd.VerificationTemplateMetricBaselineBaselineProviderArgs{\n\t\t\t\t\t\t\t\tPrometheus: \u0026oceancd.VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs{\n\t\t\t\t\t\t\t\t\tPrometheusQuery: pulumi.String(\"http_requests_total.status!\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tDatadog: \u0026oceancd.VerificationTemplateMetricBaselineBaselineProviderDatadogArgs{\n\t\t\t\t\t\t\t\t\tDuration: pulumi.String(\"2m\"),\n\t\t\t\t\t\t\t\t\tDatadogQuery: pulumi.String(\"avg:kubernetes.cpu.user\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tNewRelic: \u0026oceancd.VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs{\n\t\t\t\t\t\t\t\t\tProfile: pulumi.String(\"test\"),\n\t\t\t\t\t\t\t\t\tNewRelicQuery: pulumi.String(\"FROM Metric SELECT count*\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tMinRange: pulumi.Int(40),\n\t\t\t\t\t\tMaxRange: pulumi.Int(50),\n\t\t\t\t\t\tThreshold: pulumi.String(\"range\"),\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.oceancd.VerificationTemplate;\nimport com.pulumi.spotinst.oceancd.VerificationTemplateArgs;\nimport com.pulumi.spotinst.oceancd.inputs.VerificationTemplateArgArgs;\nimport com.pulumi.spotinst.oceancd.inputs.VerificationTemplateArgValueFromArgs;\nimport com.pulumi.spotinst.oceancd.inputs.VerificationTemplateArgValueFromSecretKeyRefArgs;\nimport com.pulumi.spotinst.oceancd.inputs.VerificationTemplateMetricArgs;\nimport com.pulumi.spotinst.oceancd.inputs.VerificationTemplateMetricBaselineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new VerificationTemplate(\"test\", VerificationTemplateArgs.builder() \n .name(\"test-verification-template-tes\")\n .args(VerificationTemplateArgArgs.builder()\n .argName(\"test-arg\")\n .value(\"test\")\n .valueFrom(VerificationTemplateArgValueFromArgs.builder()\n .secretKeyRef(VerificationTemplateArgValueFromSecretKeyRefArgs.builder()\n .name(\"test_key\")\n .key(\"key-value-test\")\n .build())\n .build())\n .build())\n .metrics(VerificationTemplateMetricArgs.builder()\n .metricsName(\"test-metrics-names\")\n .dryRun(false)\n .interval(\"10m\")\n .initialDelay(\"1m\")\n .count(\"10\")\n .successCondition(\"result[0] \u003c= 0.95\")\n .failureCondition(\"result[0] \u003e= 0.95\")\n .failureLimit(2)\n .consecutiveErrorLimit(1)\n .providers(VerificationTemplateMetricProviderArgs.builder()\n .prometheus(VerificationTemplateMetricProviderPrometheusArgs.builder()\n .prometheusQuery(\"http_requests_new\")\n .build())\n .datadog(VerificationTemplateMetricProviderDatadogArgs.builder()\n .duration(\"1m\")\n .datadogQuery(\"avg:kubernetes.cpu.user.total\")\n .build())\n .newRelic(VerificationTemplateMetricProviderNewRelicArgs.builder()\n .profile(\"test\")\n .newRelicQuery(\"FROM Metric SELECT count\")\n .build())\n .cloudWatch(VerificationTemplateMetricProviderCloudWatchArgs.builder()\n .duration(\"5m\")\n .metricDataQueries(VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs.builder()\n .id(\"utilization\")\n .metricStat(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs.builder()\n .metric(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs.builder()\n .metricName(\"Test\")\n .namespace(\"AWS/EC2\")\n .dimensions(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs.builder()\n .dimensionName(\"instandId\")\n .dimensionValue(\"i-123044\")\n .build())\n .build())\n .metricPeriod(400)\n .stat(\"average\")\n .unit(\"None\")\n .build())\n .expression(\"SELECT AVG(CPUUtilization) FROM SCHEMA\")\n .label(\"TestLabel\")\n .returnData(false)\n .period(300)\n .build())\n .build())\n .web(VerificationTemplateMetricProviderWebArgs.builder()\n .method(\"GET\")\n .url(\"https://oceancd.com/api/v1/metrics?clusterId= args.clusterId\")\n .webHeaders(VerificationTemplateMetricProviderWebWebHeaderArgs.builder()\n .webHeaderKey(\"Autorization\")\n .webHeaderValue(\"Bearer=args.token\")\n .build())\n .body(\"{\\\"key\\\": \\\"test\\\"}\")\n .timeoutSeconds(20)\n .jsonPath(\"$.data\")\n .insecure(false)\n .build())\n .job(VerificationTemplateMetricProviderJobArgs.builder()\n .specs(VerificationTemplateMetricProviderJobSpecArgs.builder()\n .backoffLimit(1)\n .jobTemplates(VerificationTemplateMetricProviderJobSpecJobTemplateArgs.builder()\n .templateSpecs(VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs.builder()\n .containers(VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs.builder()\n .containerName(\"hello\")\n .commands( \n \"sh\",\n \"-c\")\n .image(\"nginx.2.1\")\n .build())\n .restartPolicy(\"never\")\n .build())\n .build())\n .build())\n .build())\n .jenkins(VerificationTemplateMetricProviderJenkinsArgs.builder()\n .pipelineName(\"testPipelineName\")\n .tlsVerification(true)\n .timeout(\"2m\")\n .jenkinsInterval(\"5s\")\n .jenkinsParameters(VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs.builder()\n .parameterKey(\"app\")\n .parameterValue(\"my-app\")\n .build())\n .build())\n .build())\n .baseline(VerificationTemplateMetricBaselineArgs.builder()\n .baselineProviders(VerificationTemplateMetricBaselineBaselineProviderArgs.builder()\n .prometheus(VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs.builder()\n .prometheusQuery(\"http_requests_total.status!\")\n .build())\n .datadog(VerificationTemplateMetricBaselineBaselineProviderDatadogArgs.builder()\n .duration(\"2m\")\n .datadogQuery(\"avg:kubernetes.cpu.user\")\n .build())\n .newRelic(VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs.builder()\n .profile(\"test\")\n .newRelicQuery(\"FROM Metric SELECT count*\")\n .build())\n .build())\n .minRange(40)\n .maxRange(50)\n .threshold(\"range\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: spotinst:oceancd:VerificationTemplate\n properties:\n name: test-verification-template-tes\n args:\n - argName: test-arg\n value: test\n valueFrom:\n secretKeyRef:\n name: test_key\n key: key-value-test\n metrics:\n - metricsName: test-metrics-names\n dryRun: false\n interval: 10m\n initialDelay: 1m\n count: '10'\n successCondition: result[0] \u003c= 0.95\n failureCondition: result[0] \u003e= 0.95\n failureLimit: 2\n consecutiveErrorLimit: 1\n providers:\n - prometheus:\n prometheusQuery: http_requests_new\n datadog:\n duration: 1m\n datadogQuery: avg:kubernetes.cpu.user.total\n newRelic:\n profile: test\n newRelicQuery: FROM Metric SELECT count\n cloudWatch:\n duration: 5m\n metricDataQueries:\n - id: utilization\n metricStat:\n metric:\n metricName: Test\n namespace: AWS/EC2\n dimensions:\n - dimensionName: instandId\n dimensionValue: i-123044\n metricPeriod: 400\n stat: average\n unit: None\n expression: SELECT AVG(CPUUtilization) FROM SCHEMA\n label: TestLabel\n returnData: false\n period: 300\n web:\n method: GET\n url: https://oceancd.com/api/v1/metrics?clusterId= args.clusterId\n webHeaders:\n - webHeaderKey: Autorization\n webHeaderValue: Bearer=args.token\n body: '{\"key\": \"test\"}'\n timeoutSeconds: 20\n jsonPath: $.data\n insecure: false\n job:\n specs:\n - backoffLimit: 1\n jobTemplates:\n - templateSpecs:\n - containers:\n - containerName: hello\n commands:\n - sh\n - -c\n image: nginx.2.1\n restartPolicy: never\n jenkins:\n pipelineName: testPipelineName\n tlsVerification: true\n timeout: 2m\n jenkinsInterval: 5s\n jenkinsParameters:\n parameterKey: app\n parameterValue: my-app\n baseline:\n baselineProviders:\n - prometheus:\n prometheusQuery: http_requests_total.status!\n datadog:\n duration: 2m\n datadogQuery: avg:kubernetes.cpu.user\n newRelic:\n profile: test\n newRelicQuery: FROM Metric SELECT count*\n minRange: 40\n maxRange: 50\n threshold: range\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n```\noutput \"name\" {\n value = spotinst_oceancd_verification_template.example.name\n}\n```\n", + "properties": { + "args": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:oceancd/VerificationTemplateArg:VerificationTemplateArg" + }, + "description": "List of verification arguments. You may specify either `value` OR `valueFrom` but not both.In case `args`:`value` is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity.\n" + }, + "metrics": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:oceancd/VerificationTemplateMetric:VerificationTemplateMetric" + }, + "description": "List of verification metrics.\n" + }, + "name": { + "type": "string", + "description": "Identifier name for Ocean CD Verification Template. Must be unique.\n" + } + }, + "required": [ + "name" + ], + "inputProperties": { + "args": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:oceancd/VerificationTemplateArg:VerificationTemplateArg" + }, + "description": "List of verification arguments. You may specify either `value` OR `valueFrom` but not both.In case `args`:`value` is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity.\n" + }, + "metrics": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:oceancd/VerificationTemplateMetric:VerificationTemplateMetric" + }, + "description": "List of verification metrics.\n" + }, + "name": { + "type": "string", + "description": "Identifier name for Ocean CD Verification Template. Must be unique.\n" + } + }, + "stateInputs": { + "description": "Input properties used for looking up and filtering VerificationTemplate resources.\n", + "properties": { + "args": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:oceancd/VerificationTemplateArg:VerificationTemplateArg" + }, + "description": "List of verification arguments. You may specify either `value` OR `valueFrom` but not both.In case `args`:`value` is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity.\n" + }, + "metrics": { + "type": "array", + "items": { + "$ref": "#/types/spotinst:oceancd/VerificationTemplateMetric:VerificationTemplateMetric" + }, + "description": "List of verification metrics.\n" + }, + "name": { + "type": "string", + "description": "Identifier name for Ocean CD Verification Template. Must be unique.\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 8b009112..b0f70380 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.348.0 // indirect + github.com/spotinst/spotinst-sdk-go v1.350.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 bf5cb97f..5526931c 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.348.0 h1:1E3hIrSxO0UelxXxiXmtPWJV2OadFicGV//zXM+Anmc= -github.com/spotinst/spotinst-sdk-go v1.348.0/go.mod h1:Tn4/eb0SFY6IXmxz71CClujvbD/PuT+EO6Ta8v6AML4= +github.com/spotinst/spotinst-sdk-go v1.350.0 h1:cnC5Tjo8bRtpeaVFKWxQN57nsfACmyCfQ2xJi8tou3k= +github.com/spotinst/spotinst-sdk-go v1.350.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/sdk/dotnet/Oceancd/Inputs/RolloutSpecFailurePolicyArgs.cs b/sdk/dotnet/Oceancd/Inputs/RolloutSpecFailurePolicyArgs.cs new file mode 100644 index 00000000..ecb0a0ca --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/RolloutSpecFailurePolicyArgs.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 RolloutSpecFailurePolicyArgs : global::Pulumi.ResourceArgs + { + /// + /// Choose an action to perform on failure. Default is `abort`. Enum: "abort" "pause" "promote". + /// + [Input("action", required: true)] + public Input Action { get; set; } = null!; + + public RolloutSpecFailurePolicyArgs() + { + } + public static new RolloutSpecFailurePolicyArgs Empty => new RolloutSpecFailurePolicyArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/RolloutSpecFailurePolicyGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/RolloutSpecFailurePolicyGetArgs.cs new file mode 100644 index 00000000..c70fc6cd --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/RolloutSpecFailurePolicyGetArgs.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 RolloutSpecFailurePolicyGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Choose an action to perform on failure. Default is `abort`. Enum: "abort" "pause" "promote". + /// + [Input("action", required: true)] + public Input Action { get; set; } = null!; + + public RolloutSpecFailurePolicyGetArgs() + { + } + public static new RolloutSpecFailurePolicyGetArgs Empty => new RolloutSpecFailurePolicyGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/RolloutSpecSpotDeploymentArgs.cs b/sdk/dotnet/Oceancd/Inputs/RolloutSpecSpotDeploymentArgs.cs new file mode 100644 index 00000000..394157b1 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/RolloutSpecSpotDeploymentArgs.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 RolloutSpecSpotDeploymentArgs : global::Pulumi.ResourceArgs + { + /// + /// Ocean CD cluster identifier for the references `SpotDeployment`. + /// + [Input("spotDeploymentsClusterId")] + public Input? SpotDeploymentsClusterId { get; set; } + + /// + /// The name of the `SpotDeployment` resource + /// + [Input("spotDeploymentsName")] + public Input? SpotDeploymentsName { get; set; } + + /// + /// The namespace which the `SpotDeployment` resource exists within. + /// + [Input("spotDeploymentsNamespace")] + public Input? SpotDeploymentsNamespace { get; set; } + + public RolloutSpecSpotDeploymentArgs() + { + } + public static new RolloutSpecSpotDeploymentArgs Empty => new RolloutSpecSpotDeploymentArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/RolloutSpecSpotDeploymentGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/RolloutSpecSpotDeploymentGetArgs.cs new file mode 100644 index 00000000..af4ee487 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/RolloutSpecSpotDeploymentGetArgs.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 RolloutSpecSpotDeploymentGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Ocean CD cluster identifier for the references `SpotDeployment`. + /// + [Input("spotDeploymentsClusterId")] + public Input? SpotDeploymentsClusterId { get; set; } + + /// + /// The name of the `SpotDeployment` resource + /// + [Input("spotDeploymentsName")] + public Input? SpotDeploymentsName { get; set; } + + /// + /// The namespace which the `SpotDeployment` resource exists within. + /// + [Input("spotDeploymentsNamespace")] + public Input? SpotDeploymentsNamespace { get; set; } + + public RolloutSpecSpotDeploymentGetArgs() + { + } + public static new RolloutSpecSpotDeploymentGetArgs Empty => new RolloutSpecSpotDeploymentGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/RolloutSpecStrategyArgArgs.cs b/sdk/dotnet/Oceancd/Inputs/RolloutSpecStrategyArgArgs.cs new file mode 100644 index 00000000..32257f5c --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/RolloutSpecStrategyArgArgs.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 RolloutSpecStrategyArgArgs : global::Pulumi.ResourceArgs + { + [Input("argName", required: true)] + public Input ArgName { get; set; } = null!; + + [Input("argValue")] + public Input? ArgValue { get; set; } + + [Input("valueFrom")] + public Input? ValueFrom { get; set; } + + public RolloutSpecStrategyArgArgs() + { + } + public static new RolloutSpecStrategyArgArgs Empty => new RolloutSpecStrategyArgArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/RolloutSpecStrategyArgGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/RolloutSpecStrategyArgGetArgs.cs new file mode 100644 index 00000000..20546bd9 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/RolloutSpecStrategyArgGetArgs.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 RolloutSpecStrategyArgGetArgs : global::Pulumi.ResourceArgs + { + [Input("argName", required: true)] + public Input ArgName { get; set; } = null!; + + [Input("argValue")] + public Input? ArgValue { get; set; } + + [Input("valueFrom")] + public Input? ValueFrom { get; set; } + + public RolloutSpecStrategyArgGetArgs() + { + } + public static new RolloutSpecStrategyArgGetArgs Empty => new RolloutSpecStrategyArgGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/RolloutSpecStrategyArgValueFromArgs.cs b/sdk/dotnet/Oceancd/Inputs/RolloutSpecStrategyArgValueFromArgs.cs new file mode 100644 index 00000000..9d82bd99 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/RolloutSpecStrategyArgValueFromArgs.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 RolloutSpecStrategyArgValueFromArgs : global::Pulumi.ResourceArgs + { + [Input("fieldRef", required: true)] + public Input FieldRef { get; set; } = null!; + + public RolloutSpecStrategyArgValueFromArgs() + { + } + public static new RolloutSpecStrategyArgValueFromArgs Empty => new RolloutSpecStrategyArgValueFromArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/RolloutSpecStrategyArgValueFromFieldRefArgs.cs b/sdk/dotnet/Oceancd/Inputs/RolloutSpecStrategyArgValueFromFieldRefArgs.cs new file mode 100644 index 00000000..bb1351a4 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/RolloutSpecStrategyArgValueFromFieldRefArgs.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 RolloutSpecStrategyArgValueFromFieldRefArgs : global::Pulumi.ResourceArgs + { + [Input("fieldPath", required: true)] + public Input FieldPath { get; set; } = null!; + + public RolloutSpecStrategyArgValueFromFieldRefArgs() + { + } + public static new RolloutSpecStrategyArgValueFromFieldRefArgs Empty => new RolloutSpecStrategyArgValueFromFieldRefArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/RolloutSpecStrategyArgValueFromFieldRefGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/RolloutSpecStrategyArgValueFromFieldRefGetArgs.cs new file mode 100644 index 00000000..806fad7d --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/RolloutSpecStrategyArgValueFromFieldRefGetArgs.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 RolloutSpecStrategyArgValueFromFieldRefGetArgs : global::Pulumi.ResourceArgs + { + [Input("fieldPath", required: true)] + public Input FieldPath { get; set; } = null!; + + public RolloutSpecStrategyArgValueFromFieldRefGetArgs() + { + } + public static new RolloutSpecStrategyArgValueFromFieldRefGetArgs Empty => new RolloutSpecStrategyArgValueFromFieldRefGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/RolloutSpecStrategyArgValueFromGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/RolloutSpecStrategyArgValueFromGetArgs.cs new file mode 100644 index 00000000..953aa914 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/RolloutSpecStrategyArgValueFromGetArgs.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 RolloutSpecStrategyArgValueFromGetArgs : global::Pulumi.ResourceArgs + { + [Input("fieldRef", required: true)] + public Input FieldRef { get; set; } = null!; + + public RolloutSpecStrategyArgValueFromGetArgs() + { + } + public static new RolloutSpecStrategyArgValueFromGetArgs Empty => new RolloutSpecStrategyArgValueFromGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/RolloutSpecStrategyArgs.cs b/sdk/dotnet/Oceancd/Inputs/RolloutSpecStrategyArgs.cs new file mode 100644 index 00000000..e07698c5 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/RolloutSpecStrategyArgs.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 RolloutSpecStrategyArgs : global::Pulumi.ResourceArgs + { + [Input("args")] + private InputList? _args; + + /// + /// Arguments defined in Verification Templates. + /// + public InputList Args + { + get => _args ?? (_args = new InputList()); + set => _args = value; + } + + /// + /// Ocean CD strategy name identifier. + /// + [Input("strategyName", required: true)] + public Input StrategyName { get; set; } = null!; + + public RolloutSpecStrategyArgs() + { + } + public static new RolloutSpecStrategyArgs Empty => new RolloutSpecStrategyArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/RolloutSpecStrategyGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/RolloutSpecStrategyGetArgs.cs new file mode 100644 index 00000000..d30d0f1c --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/RolloutSpecStrategyGetArgs.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 RolloutSpecStrategyGetArgs : global::Pulumi.ResourceArgs + { + [Input("args")] + private InputList? _args; + + /// + /// Arguments defined in Verification Templates. + /// + public InputList Args + { + get => _args ?? (_args = new InputList()); + set => _args = value; + } + + /// + /// Ocean CD strategy name identifier. + /// + [Input("strategyName", required: true)] + public Input StrategyName { get; set; } = null!; + + public RolloutSpecStrategyGetArgs() + { + } + public static new RolloutSpecStrategyGetArgs Empty => new RolloutSpecStrategyGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficAlbArgs.cs b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficAlbArgs.cs new file mode 100644 index 00000000..915ca46c --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficAlbArgs.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.Inputs +{ + + public sealed class RolloutSpecTrafficAlbArgs : global::Pulumi.ResourceArgs + { + [Input("albAnnotationPrefix")] + public Input? AlbAnnotationPrefix { get; set; } + + [Input("albIngress", required: true)] + public Input AlbIngress { get; set; } = null!; + + [Input("albRootService", required: true)] + public Input AlbRootService { get; set; } = null!; + + [Input("servicePort", required: true)] + public Input ServicePort { get; set; } = null!; + + [Input("stickinessConfig")] + public Input? StickinessConfig { get; set; } + + public RolloutSpecTrafficAlbArgs() + { + } + public static new RolloutSpecTrafficAlbArgs Empty => new RolloutSpecTrafficAlbArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficAlbGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficAlbGetArgs.cs new file mode 100644 index 00000000..234cb9d3 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficAlbGetArgs.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.Inputs +{ + + public sealed class RolloutSpecTrafficAlbGetArgs : global::Pulumi.ResourceArgs + { + [Input("albAnnotationPrefix")] + public Input? AlbAnnotationPrefix { get; set; } + + [Input("albIngress", required: true)] + public Input AlbIngress { get; set; } = null!; + + [Input("albRootService", required: true)] + public Input AlbRootService { get; set; } = null!; + + [Input("servicePort", required: true)] + public Input ServicePort { get; set; } = null!; + + [Input("stickinessConfig")] + public Input? StickinessConfig { get; set; } + + public RolloutSpecTrafficAlbGetArgs() + { + } + public static new RolloutSpecTrafficAlbGetArgs Empty => new RolloutSpecTrafficAlbGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficAlbStickinessConfigArgs.cs b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficAlbStickinessConfigArgs.cs new file mode 100644 index 00000000..e20dee01 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficAlbStickinessConfigArgs.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 RolloutSpecTrafficAlbStickinessConfigArgs : global::Pulumi.ResourceArgs + { + [Input("durationSeconds")] + public Input? DurationSeconds { get; set; } + + [Input("enabled")] + public Input? Enabled { get; set; } + + public RolloutSpecTrafficAlbStickinessConfigArgs() + { + } + public static new RolloutSpecTrafficAlbStickinessConfigArgs Empty => new RolloutSpecTrafficAlbStickinessConfigArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficAlbStickinessConfigGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficAlbStickinessConfigGetArgs.cs new file mode 100644 index 00000000..318f330d --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficAlbStickinessConfigGetArgs.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 RolloutSpecTrafficAlbStickinessConfigGetArgs : global::Pulumi.ResourceArgs + { + [Input("durationSeconds")] + public Input? DurationSeconds { get; set; } + + [Input("enabled")] + public Input? Enabled { get; set; } + + public RolloutSpecTrafficAlbStickinessConfigGetArgs() + { + } + public static new RolloutSpecTrafficAlbStickinessConfigGetArgs Empty => new RolloutSpecTrafficAlbStickinessConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficAmbassadorArgs.cs b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficAmbassadorArgs.cs new file mode 100644 index 00000000..a713e778 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficAmbassadorArgs.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 RolloutSpecTrafficAmbassadorArgs : global::Pulumi.ResourceArgs + { + [Input("mappings", required: true)] + private InputList? _mappings; + public InputList Mappings + { + get => _mappings ?? (_mappings = new InputList()); + set => _mappings = value; + } + + public RolloutSpecTrafficAmbassadorArgs() + { + } + public static new RolloutSpecTrafficAmbassadorArgs Empty => new RolloutSpecTrafficAmbassadorArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficAmbassadorGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficAmbassadorGetArgs.cs new file mode 100644 index 00000000..10aea9a7 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficAmbassadorGetArgs.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 RolloutSpecTrafficAmbassadorGetArgs : global::Pulumi.ResourceArgs + { + [Input("mappings", required: true)] + private InputList? _mappings; + public InputList Mappings + { + get => _mappings ?? (_mappings = new InputList()); + set => _mappings = value; + } + + public RolloutSpecTrafficAmbassadorGetArgs() + { + } + public static new RolloutSpecTrafficAmbassadorGetArgs Empty => new RolloutSpecTrafficAmbassadorGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficArgs.cs b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficArgs.cs new file mode 100644 index 00000000..8151447c --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficArgs.cs @@ -0,0 +1,68 @@ +// *** 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 RolloutSpecTrafficArgs : global::Pulumi.ResourceArgs + { + /// + /// Holds ALB Ingress specific configuration to route traffic. + /// + [Input("alb")] + public Input? Alb { get; set; } + + /// + /// Holds specific configuration to use Ambassador to route traffic. + /// + [Input("ambassador")] + public Input? Ambassador { get; set; } + + /// + /// The canary service name. + /// + [Input("canaryService")] + public Input? CanaryService { get; set; } + + /// + /// Holds Istio specific configuration to route traffic. + /// + [Input("istio")] + public Input? Istio { get; set; } + + /// + /// Holds Nginx Ingress specific configuration to route traffic. + /// + [Input("nginx")] + public Input? Nginx { get; set; } + + /// + /// Holds the ping and pong services. You can use `pingPong` field only when using ALB as a traffic manager with the IP Mode approach. + /// + [Input("pingPong")] + public Input? PingPong { get; set; } + + /// + /// Holds TrafficSplit specific configuration to route traffic. + /// + [Input("smi")] + public Input? Smi { get; set; } + + /// + /// The stable service name. + /// + [Input("stableService")] + public Input? StableService { get; set; } + + public RolloutSpecTrafficArgs() + { + } + public static new RolloutSpecTrafficArgs Empty => new RolloutSpecTrafficArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficGetArgs.cs new file mode 100644 index 00000000..d3b17a1a --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficGetArgs.cs @@ -0,0 +1,68 @@ +// *** 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 RolloutSpecTrafficGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Holds ALB Ingress specific configuration to route traffic. + /// + [Input("alb")] + public Input? Alb { get; set; } + + /// + /// Holds specific configuration to use Ambassador to route traffic. + /// + [Input("ambassador")] + public Input? Ambassador { get; set; } + + /// + /// The canary service name. + /// + [Input("canaryService")] + public Input? CanaryService { get; set; } + + /// + /// Holds Istio specific configuration to route traffic. + /// + [Input("istio")] + public Input? Istio { get; set; } + + /// + /// Holds Nginx Ingress specific configuration to route traffic. + /// + [Input("nginx")] + public Input? Nginx { get; set; } + + /// + /// Holds the ping and pong services. You can use `pingPong` field only when using ALB as a traffic manager with the IP Mode approach. + /// + [Input("pingPong")] + public Input? PingPong { get; set; } + + /// + /// Holds TrafficSplit specific configuration to route traffic. + /// + [Input("smi")] + public Input? Smi { get; set; } + + /// + /// The stable service name. + /// + [Input("stableService")] + public Input? StableService { get; set; } + + public RolloutSpecTrafficGetArgs() + { + } + public static new RolloutSpecTrafficGetArgs Empty => new RolloutSpecTrafficGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficIstioArgs.cs b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficIstioArgs.cs new file mode 100644 index 00000000..19cecb0f --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficIstioArgs.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 RolloutSpecTrafficIstioArgs : global::Pulumi.ResourceArgs + { + [Input("destinationRule")] + public Input? DestinationRule { get; set; } + + [Input("virtualServices", required: true)] + private InputList? _virtualServices; + public InputList VirtualServices + { + get => _virtualServices ?? (_virtualServices = new InputList()); + set => _virtualServices = value; + } + + public RolloutSpecTrafficIstioArgs() + { + } + public static new RolloutSpecTrafficIstioArgs Empty => new RolloutSpecTrafficIstioArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficIstioDestinationRuleArgs.cs b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficIstioDestinationRuleArgs.cs new file mode 100644 index 00000000..fc96d1d0 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficIstioDestinationRuleArgs.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 RolloutSpecTrafficIstioDestinationRuleArgs : global::Pulumi.ResourceArgs + { + [Input("canarySubsetName", required: true)] + public Input CanarySubsetName { get; set; } = null!; + + [Input("destinationRuleName", required: true)] + public Input DestinationRuleName { get; set; } = null!; + + [Input("stableSubsetName", required: true)] + public Input StableSubsetName { get; set; } = null!; + + public RolloutSpecTrafficIstioDestinationRuleArgs() + { + } + public static new RolloutSpecTrafficIstioDestinationRuleArgs Empty => new RolloutSpecTrafficIstioDestinationRuleArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficIstioDestinationRuleGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficIstioDestinationRuleGetArgs.cs new file mode 100644 index 00000000..14ad62d1 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficIstioDestinationRuleGetArgs.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 RolloutSpecTrafficIstioDestinationRuleGetArgs : global::Pulumi.ResourceArgs + { + [Input("canarySubsetName", required: true)] + public Input CanarySubsetName { get; set; } = null!; + + [Input("destinationRuleName", required: true)] + public Input DestinationRuleName { get; set; } = null!; + + [Input("stableSubsetName", required: true)] + public Input StableSubsetName { get; set; } = null!; + + public RolloutSpecTrafficIstioDestinationRuleGetArgs() + { + } + public static new RolloutSpecTrafficIstioDestinationRuleGetArgs Empty => new RolloutSpecTrafficIstioDestinationRuleGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficIstioGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficIstioGetArgs.cs new file mode 100644 index 00000000..842d628e --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficIstioGetArgs.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 RolloutSpecTrafficIstioGetArgs : global::Pulumi.ResourceArgs + { + [Input("destinationRule")] + public Input? DestinationRule { get; set; } + + [Input("virtualServices", required: true)] + private InputList? _virtualServices; + public InputList VirtualServices + { + get => _virtualServices ?? (_virtualServices = new InputList()); + set => _virtualServices = value; + } + + public RolloutSpecTrafficIstioGetArgs() + { + } + public static new RolloutSpecTrafficIstioGetArgs Empty => new RolloutSpecTrafficIstioGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficIstioVirtualServiceArgs.cs b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficIstioVirtualServiceArgs.cs new file mode 100644 index 00000000..7235f8f9 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficIstioVirtualServiceArgs.cs @@ -0,0 +1,39 @@ +// *** 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 RolloutSpecTrafficIstioVirtualServiceArgs : global::Pulumi.ResourceArgs + { + [Input("tlsRoutes")] + private InputList? _tlsRoutes; + public InputList TlsRoutes + { + get => _tlsRoutes ?? (_tlsRoutes = new InputList()); + set => _tlsRoutes = value; + } + + [Input("virtualServiceName", required: true)] + public Input VirtualServiceName { get; set; } = null!; + + [Input("virtualServiceRoutes")] + private InputList? _virtualServiceRoutes; + public InputList VirtualServiceRoutes + { + get => _virtualServiceRoutes ?? (_virtualServiceRoutes = new InputList()); + set => _virtualServiceRoutes = value; + } + + public RolloutSpecTrafficIstioVirtualServiceArgs() + { + } + public static new RolloutSpecTrafficIstioVirtualServiceArgs Empty => new RolloutSpecTrafficIstioVirtualServiceArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficIstioVirtualServiceGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficIstioVirtualServiceGetArgs.cs new file mode 100644 index 00000000..bb2d0b30 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficIstioVirtualServiceGetArgs.cs @@ -0,0 +1,39 @@ +// *** 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 RolloutSpecTrafficIstioVirtualServiceGetArgs : global::Pulumi.ResourceArgs + { + [Input("tlsRoutes")] + private InputList? _tlsRoutes; + public InputList TlsRoutes + { + get => _tlsRoutes ?? (_tlsRoutes = new InputList()); + set => _tlsRoutes = value; + } + + [Input("virtualServiceName", required: true)] + public Input VirtualServiceName { get; set; } = null!; + + [Input("virtualServiceRoutes")] + private InputList? _virtualServiceRoutes; + public InputList VirtualServiceRoutes + { + get => _virtualServiceRoutes ?? (_virtualServiceRoutes = new InputList()); + set => _virtualServiceRoutes = value; + } + + public RolloutSpecTrafficIstioVirtualServiceGetArgs() + { + } + public static new RolloutSpecTrafficIstioVirtualServiceGetArgs Empty => new RolloutSpecTrafficIstioVirtualServiceGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficIstioVirtualServiceTlsRouteArgs.cs b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficIstioVirtualServiceTlsRouteArgs.cs new file mode 100644 index 00000000..f1ffd250 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficIstioVirtualServiceTlsRouteArgs.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 RolloutSpecTrafficIstioVirtualServiceTlsRouteArgs : global::Pulumi.ResourceArgs + { + [Input("port")] + public Input? Port { get; set; } + + [Input("sniHosts")] + private InputList? _sniHosts; + public InputList SniHosts + { + get => _sniHosts ?? (_sniHosts = new InputList()); + set => _sniHosts = value; + } + + public RolloutSpecTrafficIstioVirtualServiceTlsRouteArgs() + { + } + public static new RolloutSpecTrafficIstioVirtualServiceTlsRouteArgs Empty => new RolloutSpecTrafficIstioVirtualServiceTlsRouteArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficIstioVirtualServiceTlsRouteGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficIstioVirtualServiceTlsRouteGetArgs.cs new file mode 100644 index 00000000..e4819187 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficIstioVirtualServiceTlsRouteGetArgs.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 RolloutSpecTrafficIstioVirtualServiceTlsRouteGetArgs : global::Pulumi.ResourceArgs + { + [Input("port")] + public Input? Port { get; set; } + + [Input("sniHosts")] + private InputList? _sniHosts; + public InputList SniHosts + { + get => _sniHosts ?? (_sniHosts = new InputList()); + set => _sniHosts = value; + } + + public RolloutSpecTrafficIstioVirtualServiceTlsRouteGetArgs() + { + } + public static new RolloutSpecTrafficIstioVirtualServiceTlsRouteGetArgs Empty => new RolloutSpecTrafficIstioVirtualServiceTlsRouteGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficNginxAdditionalIngressAnnotationArgs.cs b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficNginxAdditionalIngressAnnotationArgs.cs new file mode 100644 index 00000000..23568011 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficNginxAdditionalIngressAnnotationArgs.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 RolloutSpecTrafficNginxAdditionalIngressAnnotationArgs : global::Pulumi.ResourceArgs + { + [Input("canaryByHeader")] + public Input? CanaryByHeader { get; set; } + + [Input("key1")] + public Input? Key1 { get; set; } + + public RolloutSpecTrafficNginxAdditionalIngressAnnotationArgs() + { + } + public static new RolloutSpecTrafficNginxAdditionalIngressAnnotationArgs Empty => new RolloutSpecTrafficNginxAdditionalIngressAnnotationArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficNginxAdditionalIngressAnnotationGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficNginxAdditionalIngressAnnotationGetArgs.cs new file mode 100644 index 00000000..ee0e6456 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficNginxAdditionalIngressAnnotationGetArgs.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 RolloutSpecTrafficNginxAdditionalIngressAnnotationGetArgs : global::Pulumi.ResourceArgs + { + [Input("canaryByHeader")] + public Input? CanaryByHeader { get; set; } + + [Input("key1")] + public Input? Key1 { get; set; } + + public RolloutSpecTrafficNginxAdditionalIngressAnnotationGetArgs() + { + } + public static new RolloutSpecTrafficNginxAdditionalIngressAnnotationGetArgs Empty => new RolloutSpecTrafficNginxAdditionalIngressAnnotationGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficNginxArgs.cs b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficNginxArgs.cs new file mode 100644 index 00000000..c28d7c01 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficNginxArgs.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 RolloutSpecTrafficNginxArgs : global::Pulumi.ResourceArgs + { + [Input("additionalIngressAnnotation")] + public Input? AdditionalIngressAnnotation { get; set; } + + [Input("nginxAnnotationPrefix")] + public Input? NginxAnnotationPrefix { get; set; } + + [Input("stableIngress", required: true)] + public Input StableIngress { get; set; } = null!; + + public RolloutSpecTrafficNginxArgs() + { + } + public static new RolloutSpecTrafficNginxArgs Empty => new RolloutSpecTrafficNginxArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficNginxGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficNginxGetArgs.cs new file mode 100644 index 00000000..e87a2568 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficNginxGetArgs.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 RolloutSpecTrafficNginxGetArgs : global::Pulumi.ResourceArgs + { + [Input("additionalIngressAnnotation")] + public Input? AdditionalIngressAnnotation { get; set; } + + [Input("nginxAnnotationPrefix")] + public Input? NginxAnnotationPrefix { get; set; } + + [Input("stableIngress", required: true)] + public Input StableIngress { get; set; } = null!; + + public RolloutSpecTrafficNginxGetArgs() + { + } + public static new RolloutSpecTrafficNginxGetArgs Empty => new RolloutSpecTrafficNginxGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficPingPongArgs.cs b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficPingPongArgs.cs new file mode 100644 index 00000000..eb5d098b --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficPingPongArgs.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 RolloutSpecTrafficPingPongArgs : global::Pulumi.ResourceArgs + { + [Input("pingService", required: true)] + public Input PingService { get; set; } = null!; + + [Input("pongService", required: true)] + public Input PongService { get; set; } = null!; + + public RolloutSpecTrafficPingPongArgs() + { + } + public static new RolloutSpecTrafficPingPongArgs Empty => new RolloutSpecTrafficPingPongArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficPingPongGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficPingPongGetArgs.cs new file mode 100644 index 00000000..e22987c7 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficPingPongGetArgs.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 RolloutSpecTrafficPingPongGetArgs : global::Pulumi.ResourceArgs + { + [Input("pingService", required: true)] + public Input PingService { get; set; } = null!; + + [Input("pongService", required: true)] + public Input PongService { get; set; } = null!; + + public RolloutSpecTrafficPingPongGetArgs() + { + } + public static new RolloutSpecTrafficPingPongGetArgs Empty => new RolloutSpecTrafficPingPongGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficSmiArgs.cs b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficSmiArgs.cs new file mode 100644 index 00000000..161ba4f8 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficSmiArgs.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 RolloutSpecTrafficSmiArgs : global::Pulumi.ResourceArgs + { + [Input("smiRootService")] + public Input? SmiRootService { get; set; } + + [Input("trafficSplitName")] + public Input? TrafficSplitName { get; set; } + + public RolloutSpecTrafficSmiArgs() + { + } + public static new RolloutSpecTrafficSmiArgs Empty => new RolloutSpecTrafficSmiArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficSmiGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficSmiGetArgs.cs new file mode 100644 index 00000000..a375be4d --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/RolloutSpecTrafficSmiGetArgs.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 RolloutSpecTrafficSmiGetArgs : global::Pulumi.ResourceArgs + { + [Input("smiRootService")] + public Input? SmiRootService { get; set; } + + [Input("trafficSplitName")] + public Input? TrafficSplitName { get; set; } + + public RolloutSpecTrafficSmiGetArgs() + { + } + public static new RolloutSpecTrafficSmiGetArgs Empty => new RolloutSpecTrafficSmiGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateArgArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateArgArgs.cs new file mode 100644 index 00000000..b6e3ba8f --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateArgArgs.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 VerificationTemplateArgArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of an argument. + /// + [Input("argName", required: true)] + public Input ArgName { get; set; } = null!; + + /// + /// String representation of data. + /// + [Input("value")] + public Input? Value { get; set; } + + /// + /// ValueFrom object. + /// + [Input("valueFrom")] + public Input? ValueFrom { get; set; } + + public VerificationTemplateArgArgs() + { + } + public static new VerificationTemplateArgArgs Empty => new VerificationTemplateArgArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateArgGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateArgGetArgs.cs new file mode 100644 index 00000000..42cc3db4 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateArgGetArgs.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 VerificationTemplateArgGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of an argument. + /// + [Input("argName", required: true)] + public Input ArgName { get; set; } = null!; + + /// + /// String representation of data. + /// + [Input("value")] + public Input? Value { get; set; } + + /// + /// ValueFrom object. + /// + [Input("valueFrom")] + public Input? ValueFrom { get; set; } + + public VerificationTemplateArgGetArgs() + { + } + public static new VerificationTemplateArgGetArgs Empty => new VerificationTemplateArgGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateArgValueFromArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateArgValueFromArgs.cs new file mode 100644 index 00000000..1dd1f980 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateArgValueFromArgs.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 VerificationTemplateArgValueFromArgs : global::Pulumi.ResourceArgs + { + [Input("secretKeyRef")] + public Input? SecretKeyRef { get; set; } + + public VerificationTemplateArgValueFromArgs() + { + } + public static new VerificationTemplateArgValueFromArgs Empty => new VerificationTemplateArgValueFromArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateArgValueFromGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateArgValueFromGetArgs.cs new file mode 100644 index 00000000..ef3554fe --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateArgValueFromGetArgs.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 VerificationTemplateArgValueFromGetArgs : global::Pulumi.ResourceArgs + { + [Input("secretKeyRef")] + public Input? SecretKeyRef { get; set; } + + public VerificationTemplateArgValueFromGetArgs() + { + } + public static new VerificationTemplateArgValueFromGetArgs Empty => new VerificationTemplateArgValueFromGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateArgValueFromSecretKeyRefArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateArgValueFromSecretKeyRefArgs.cs new file mode 100644 index 00000000..cdb625be --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateArgValueFromSecretKeyRefArgs.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 VerificationTemplateArgValueFromSecretKeyRefArgs : global::Pulumi.ResourceArgs + { + [Input("key", required: true)] + public Input Key { get; set; } = null!; + + /// + /// Identifier name for Ocean CD Verification Template. Must be unique. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + public VerificationTemplateArgValueFromSecretKeyRefArgs() + { + } + public static new VerificationTemplateArgValueFromSecretKeyRefArgs Empty => new VerificationTemplateArgValueFromSecretKeyRefArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateArgValueFromSecretKeyRefGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateArgValueFromSecretKeyRefGetArgs.cs new file mode 100644 index 00000000..b506f8fa --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateArgValueFromSecretKeyRefGetArgs.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 VerificationTemplateArgValueFromSecretKeyRefGetArgs : global::Pulumi.ResourceArgs + { + [Input("key", required: true)] + public Input Key { get; set; } = null!; + + /// + /// Identifier name for Ocean CD Verification Template. Must be unique. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + public VerificationTemplateArgValueFromSecretKeyRefGetArgs() + { + } + public static new VerificationTemplateArgValueFromSecretKeyRefGetArgs Empty => new VerificationTemplateArgValueFromSecretKeyRefGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricArgs.cs new file mode 100644 index 00000000..f60d9a49 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricArgs.cs @@ -0,0 +1,92 @@ +// *** 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 VerificationTemplateMetricArgs : global::Pulumi.ResourceArgs + { + /// + /// Baseline Object. + /// + [Input("baseline")] + public Input? Baseline { get; set; } + + /// + /// The maximum number of times the measurement is allowed to error in succession, before the metric is considered error.Default is 4.When choosing `Jenkins` as the provider, there is no need to send this variable. + /// + [Input("consecutiveErrorLimit")] + public Input? ConsecutiveErrorLimit { get; set; } + + /// + /// The number of times to run the measurement. If both interval and count are omitted, the effective count is 1. If only interval is specified, metric runs indefinitely. If count > 1, interval must be specified. When choosing `Jenkins` as the provider, there is no need to send this variable. + /// + [Input("count")] + public Input? Count { get; set; } + + /// + /// Defines whether the metric should have an impact on the result of the rollout. + /// + [Input("dryRun")] + public Input? DryRun { get; set; } + + /// + /// An expression which determines if a measurement is considered failed.If failureCondition is set, then successCondition is not allowed. When choosing Jenkins as the provider, there is no need to send this variable. + /// + [Input("failureCondition")] + public Input? FailureCondition { get; set; } + + /// + /// The maximum number of times the measurement is allowed to fail, before the entire metric is considered failed.Default is 0. When choosing `Jenkins` as the provider, there is no need to send this variable. + /// + [Input("failureLimit")] + public Input? FailureLimit { get; set; } + + /// + /// How long to wait before starting this metric measurements. When choosing Jenkins as the provider, there is no need to send this variable. + /// + [Input("initialDelay")] + public Input? InitialDelay { get; set; } + + /// + /// Defines an interval string (30s, 5m, 1h) between each verification measurements. If omitted, will perform a single measurement.When choosing Jenkins as the provider, there is no need to send this variable. + /// + [Input("interval")] + public Input? Interval { get; set; } + + /// + /// The name of the verification metric. + /// + [Input("metricsName", required: true)] + public Input MetricsName { get; set; } = null!; + + [Input("providers", required: true)] + private InputList? _providers; + + /// + /// The name of the monitoring tool chosen for the metric. + /// + public InputList Providers + { + get => _providers ?? (_providers = new InputList()); + set => _providers = value; + } + + /// + /// An expression which determines if a measurement is considered successful. The keyword `result` is a variable reference to the value of measurement. Results can be both structured data or primitive. If successCondition is set, then failureCondition is not allowed. When choosing `Jenkins` as the provider, there is no need to send this variable. + /// + [Input("successCondition")] + public Input? SuccessCondition { get; set; } + + public VerificationTemplateMetricArgs() + { + } + public static new VerificationTemplateMetricArgs Empty => new VerificationTemplateMetricArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricBaselineArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricBaselineArgs.cs new file mode 100644 index 00000000..0aae6ecf --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricBaselineArgs.cs @@ -0,0 +1,37 @@ +// *** 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 VerificationTemplateMetricBaselineArgs : global::Pulumi.ResourceArgs + { + [Input("baselineProviders", required: true)] + private InputList? _baselineProviders; + public InputList BaselineProviders + { + get => _baselineProviders ?? (_baselineProviders = new InputList()); + set => _baselineProviders = value; + } + + [Input("maxRange")] + public Input? MaxRange { get; set; } + + [Input("minRange")] + public Input? MinRange { get; set; } + + [Input("threshold", required: true)] + public Input Threshold { get; set; } = null!; + + public VerificationTemplateMetricBaselineArgs() + { + } + public static new VerificationTemplateMetricBaselineArgs Empty => new VerificationTemplateMetricBaselineArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricBaselineBaselineProviderArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricBaselineBaselineProviderArgs.cs new file mode 100644 index 00000000..36a02cce --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricBaselineBaselineProviderArgs.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 VerificationTemplateMetricBaselineBaselineProviderArgs : global::Pulumi.ResourceArgs + { + [Input("datadog")] + public Input? Datadog { get; set; } + + [Input("newRelic")] + public Input? NewRelic { get; set; } + + [Input("prometheus")] + public Input? Prometheus { get; set; } + + public VerificationTemplateMetricBaselineBaselineProviderArgs() + { + } + public static new VerificationTemplateMetricBaselineBaselineProviderArgs Empty => new VerificationTemplateMetricBaselineBaselineProviderArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricBaselineBaselineProviderDatadogArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricBaselineBaselineProviderDatadogArgs.cs new file mode 100644 index 00000000..59e5e277 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricBaselineBaselineProviderDatadogArgs.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 VerificationTemplateMetricBaselineBaselineProviderDatadogArgs : global::Pulumi.ResourceArgs + { + [Input("datadogQuery", required: true)] + public Input DatadogQuery { get; set; } = null!; + + [Input("duration")] + public Input? Duration { get; set; } + + public VerificationTemplateMetricBaselineBaselineProviderDatadogArgs() + { + } + public static new VerificationTemplateMetricBaselineBaselineProviderDatadogArgs Empty => new VerificationTemplateMetricBaselineBaselineProviderDatadogArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricBaselineBaselineProviderDatadogGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricBaselineBaselineProviderDatadogGetArgs.cs new file mode 100644 index 00000000..6d3b404e --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricBaselineBaselineProviderDatadogGetArgs.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 VerificationTemplateMetricBaselineBaselineProviderDatadogGetArgs : global::Pulumi.ResourceArgs + { + [Input("datadogQuery", required: true)] + public Input DatadogQuery { get; set; } = null!; + + [Input("duration")] + public Input? Duration { get; set; } + + public VerificationTemplateMetricBaselineBaselineProviderDatadogGetArgs() + { + } + public static new VerificationTemplateMetricBaselineBaselineProviderDatadogGetArgs Empty => new VerificationTemplateMetricBaselineBaselineProviderDatadogGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricBaselineBaselineProviderGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricBaselineBaselineProviderGetArgs.cs new file mode 100644 index 00000000..26e54cae --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricBaselineBaselineProviderGetArgs.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 VerificationTemplateMetricBaselineBaselineProviderGetArgs : global::Pulumi.ResourceArgs + { + [Input("datadog")] + public Input? Datadog { get; set; } + + [Input("newRelic")] + public Input? NewRelic { get; set; } + + [Input("prometheus")] + public Input? Prometheus { get; set; } + + public VerificationTemplateMetricBaselineBaselineProviderGetArgs() + { + } + public static new VerificationTemplateMetricBaselineBaselineProviderGetArgs Empty => new VerificationTemplateMetricBaselineBaselineProviderGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs.cs new file mode 100644 index 00000000..1a119925 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs.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 VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs : global::Pulumi.ResourceArgs + { + [Input("newRelicQuery", required: true)] + public Input NewRelicQuery { get; set; } = null!; + + [Input("profile")] + public Input? Profile { get; set; } + + public VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs() + { + } + public static new VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs Empty => new VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricBaselineBaselineProviderNewRelicGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricBaselineBaselineProviderNewRelicGetArgs.cs new file mode 100644 index 00000000..df0b59cd --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricBaselineBaselineProviderNewRelicGetArgs.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 VerificationTemplateMetricBaselineBaselineProviderNewRelicGetArgs : global::Pulumi.ResourceArgs + { + [Input("newRelicQuery", required: true)] + public Input NewRelicQuery { get; set; } = null!; + + [Input("profile")] + public Input? Profile { get; set; } + + public VerificationTemplateMetricBaselineBaselineProviderNewRelicGetArgs() + { + } + public static new VerificationTemplateMetricBaselineBaselineProviderNewRelicGetArgs Empty => new VerificationTemplateMetricBaselineBaselineProviderNewRelicGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs.cs new file mode 100644 index 00000000..505d3ef0 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs.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 VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs : global::Pulumi.ResourceArgs + { + [Input("prometheusQuery", required: true)] + public Input PrometheusQuery { get; set; } = null!; + + public VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs() + { + } + public static new VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs Empty => new VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricBaselineBaselineProviderPrometheusGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricBaselineBaselineProviderPrometheusGetArgs.cs new file mode 100644 index 00000000..fb5bfb1f --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricBaselineBaselineProviderPrometheusGetArgs.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 VerificationTemplateMetricBaselineBaselineProviderPrometheusGetArgs : global::Pulumi.ResourceArgs + { + [Input("prometheusQuery", required: true)] + public Input PrometheusQuery { get; set; } = null!; + + public VerificationTemplateMetricBaselineBaselineProviderPrometheusGetArgs() + { + } + public static new VerificationTemplateMetricBaselineBaselineProviderPrometheusGetArgs Empty => new VerificationTemplateMetricBaselineBaselineProviderPrometheusGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricBaselineGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricBaselineGetArgs.cs new file mode 100644 index 00000000..5103b86f --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricBaselineGetArgs.cs @@ -0,0 +1,37 @@ +// *** 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 VerificationTemplateMetricBaselineGetArgs : global::Pulumi.ResourceArgs + { + [Input("baselineProviders", required: true)] + private InputList? _baselineProviders; + public InputList BaselineProviders + { + get => _baselineProviders ?? (_baselineProviders = new InputList()); + set => _baselineProviders = value; + } + + [Input("maxRange")] + public Input? MaxRange { get; set; } + + [Input("minRange")] + public Input? MinRange { get; set; } + + [Input("threshold", required: true)] + public Input Threshold { get; set; } = null!; + + public VerificationTemplateMetricBaselineGetArgs() + { + } + public static new VerificationTemplateMetricBaselineGetArgs Empty => new VerificationTemplateMetricBaselineGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricGetArgs.cs new file mode 100644 index 00000000..84270bb4 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricGetArgs.cs @@ -0,0 +1,92 @@ +// *** 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 VerificationTemplateMetricGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Baseline Object. + /// + [Input("baseline")] + public Input? Baseline { get; set; } + + /// + /// The maximum number of times the measurement is allowed to error in succession, before the metric is considered error.Default is 4.When choosing `Jenkins` as the provider, there is no need to send this variable. + /// + [Input("consecutiveErrorLimit")] + public Input? ConsecutiveErrorLimit { get; set; } + + /// + /// The number of times to run the measurement. If both interval and count are omitted, the effective count is 1. If only interval is specified, metric runs indefinitely. If count > 1, interval must be specified. When choosing `Jenkins` as the provider, there is no need to send this variable. + /// + [Input("count")] + public Input? Count { get; set; } + + /// + /// Defines whether the metric should have an impact on the result of the rollout. + /// + [Input("dryRun")] + public Input? DryRun { get; set; } + + /// + /// An expression which determines if a measurement is considered failed.If failureCondition is set, then successCondition is not allowed. When choosing Jenkins as the provider, there is no need to send this variable. + /// + [Input("failureCondition")] + public Input? FailureCondition { get; set; } + + /// + /// The maximum number of times the measurement is allowed to fail, before the entire metric is considered failed.Default is 0. When choosing `Jenkins` as the provider, there is no need to send this variable. + /// + [Input("failureLimit")] + public Input? FailureLimit { get; set; } + + /// + /// How long to wait before starting this metric measurements. When choosing Jenkins as the provider, there is no need to send this variable. + /// + [Input("initialDelay")] + public Input? InitialDelay { get; set; } + + /// + /// Defines an interval string (30s, 5m, 1h) between each verification measurements. If omitted, will perform a single measurement.When choosing Jenkins as the provider, there is no need to send this variable. + /// + [Input("interval")] + public Input? Interval { get; set; } + + /// + /// The name of the verification metric. + /// + [Input("metricsName", required: true)] + public Input MetricsName { get; set; } = null!; + + [Input("providers", required: true)] + private InputList? _providers; + + /// + /// The name of the monitoring tool chosen for the metric. + /// + public InputList Providers + { + get => _providers ?? (_providers = new InputList()); + set => _providers = value; + } + + /// + /// An expression which determines if a measurement is considered successful. The keyword `result` is a variable reference to the value of measurement. Results can be both structured data or primitive. If successCondition is set, then failureCondition is not allowed. When choosing `Jenkins` as the provider, there is no need to send this variable. + /// + [Input("successCondition")] + public Input? SuccessCondition { get; set; } + + public VerificationTemplateMetricGetArgs() + { + } + public static new VerificationTemplateMetricGetArgs Empty => new VerificationTemplateMetricGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderArgs.cs new file mode 100644 index 00000000..97517c30 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderArgs.cs @@ -0,0 +1,41 @@ +// *** 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 VerificationTemplateMetricProviderArgs : global::Pulumi.ResourceArgs + { + [Input("cloudWatch")] + public Input? CloudWatch { get; set; } + + [Input("datadog")] + public Input? Datadog { get; set; } + + [Input("jenkins")] + public Input? Jenkins { get; set; } + + [Input("job")] + public Input? Job { get; set; } + + [Input("newRelic")] + public Input? NewRelic { get; set; } + + [Input("prometheus")] + public Input? Prometheus { get; set; } + + [Input("web")] + public Input? Web { get; set; } + + public VerificationTemplateMetricProviderArgs() + { + } + public static new VerificationTemplateMetricProviderArgs Empty => new VerificationTemplateMetricProviderArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderCloudWatchArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderCloudWatchArgs.cs new file mode 100644 index 00000000..50b2b88f --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderCloudWatchArgs.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 VerificationTemplateMetricProviderCloudWatchArgs : global::Pulumi.ResourceArgs + { + [Input("duration")] + public Input? Duration { get; set; } + + [Input("metricDataQueries", required: true)] + private InputList? _metricDataQueries; + public InputList MetricDataQueries + { + get => _metricDataQueries ?? (_metricDataQueries = new InputList()); + set => _metricDataQueries = value; + } + + public VerificationTemplateMetricProviderCloudWatchArgs() + { + } + public static new VerificationTemplateMetricProviderCloudWatchArgs Empty => new VerificationTemplateMetricProviderCloudWatchArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderCloudWatchGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderCloudWatchGetArgs.cs new file mode 100644 index 00000000..efe4b3b8 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderCloudWatchGetArgs.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 VerificationTemplateMetricProviderCloudWatchGetArgs : global::Pulumi.ResourceArgs + { + [Input("duration")] + public Input? Duration { get; set; } + + [Input("metricDataQueries", required: true)] + private InputList? _metricDataQueries; + public InputList MetricDataQueries + { + get => _metricDataQueries ?? (_metricDataQueries = new InputList()); + set => _metricDataQueries = value; + } + + public VerificationTemplateMetricProviderCloudWatchGetArgs() + { + } + public static new VerificationTemplateMetricProviderCloudWatchGetArgs Empty => new VerificationTemplateMetricProviderCloudWatchGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs.cs new file mode 100644 index 00000000..c7d78c4a --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs.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 VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs : global::Pulumi.ResourceArgs + { + [Input("expression")] + public Input? Expression { get; set; } + + [Input("id", required: true)] + public Input Id { get; set; } = null!; + + [Input("label")] + public Input? Label { get; set; } + + [Input("metricStat")] + public Input? MetricStat { get; set; } + + [Input("period")] + public Input? Period { get; set; } + + [Input("returnData")] + public Input? ReturnData { get; set; } + + public VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs() + { + } + public static new VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs Empty => new VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryGetArgs.cs new file mode 100644 index 00000000..bce10f21 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryGetArgs.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 VerificationTemplateMetricProviderCloudWatchMetricDataQueryGetArgs : global::Pulumi.ResourceArgs + { + [Input("expression")] + public Input? Expression { get; set; } + + [Input("id", required: true)] + public Input Id { get; set; } = null!; + + [Input("label")] + public Input? Label { get; set; } + + [Input("metricStat")] + public Input? MetricStat { get; set; } + + [Input("period")] + public Input? Period { get; set; } + + [Input("returnData")] + public Input? ReturnData { get; set; } + + public VerificationTemplateMetricProviderCloudWatchMetricDataQueryGetArgs() + { + } + public static new VerificationTemplateMetricProviderCloudWatchMetricDataQueryGetArgs Empty => new VerificationTemplateMetricProviderCloudWatchMetricDataQueryGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs.cs new file mode 100644 index 00000000..4887ef57 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs.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 VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs : global::Pulumi.ResourceArgs + { + [Input("metric")] + public Input? Metric { get; set; } + + [Input("metricPeriod")] + public Input? MetricPeriod { get; set; } + + [Input("stat")] + public Input? Stat { get; set; } + + [Input("unit")] + public Input? Unit { get; set; } + + public VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs() + { + } + public static new VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs Empty => new VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatGetArgs.cs new file mode 100644 index 00000000..ec3e12d5 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatGetArgs.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 VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatGetArgs : global::Pulumi.ResourceArgs + { + [Input("metric")] + public Input? Metric { get; set; } + + [Input("metricPeriod")] + public Input? MetricPeriod { get; set; } + + [Input("stat")] + public Input? Stat { get; set; } + + [Input("unit")] + public Input? Unit { get; set; } + + public VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatGetArgs() + { + } + public static new VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatGetArgs Empty => new VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs.cs new file mode 100644 index 00000000..44226553 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs.cs @@ -0,0 +1,34 @@ +// *** 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 VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs : global::Pulumi.ResourceArgs + { + [Input("dimensions")] + private InputList? _dimensions; + public InputList Dimensions + { + get => _dimensions ?? (_dimensions = new InputList()); + set => _dimensions = value; + } + + [Input("metricName", required: true)] + public Input MetricName { get; set; } = null!; + + [Input("namespace")] + public Input? Namespace { get; set; } + + public VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs() + { + } + public static new VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs Empty => new VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs.cs new file mode 100644 index 00000000..544b06e2 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs.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 VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs : global::Pulumi.ResourceArgs + { + [Input("dimensionName", required: true)] + public Input DimensionName { get; set; } = null!; + + [Input("dimensionValue", required: true)] + public Input DimensionValue { get; set; } = null!; + + public VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs() + { + } + public static new VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs Empty => new VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionGetArgs.cs new file mode 100644 index 00000000..e5b638a8 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionGetArgs.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 VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionGetArgs : global::Pulumi.ResourceArgs + { + [Input("dimensionName", required: true)] + public Input DimensionName { get; set; } = null!; + + [Input("dimensionValue", required: true)] + public Input DimensionValue { get; set; } = null!; + + public VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionGetArgs() + { + } + public static new VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionGetArgs Empty => new VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricGetArgs.cs new file mode 100644 index 00000000..a2ab53de --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricGetArgs.cs @@ -0,0 +1,34 @@ +// *** 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 VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricGetArgs : global::Pulumi.ResourceArgs + { + [Input("dimensions")] + private InputList? _dimensions; + public InputList Dimensions + { + get => _dimensions ?? (_dimensions = new InputList()); + set => _dimensions = value; + } + + [Input("metricName", required: true)] + public Input MetricName { get; set; } = null!; + + [Input("namespace")] + public Input? Namespace { get; set; } + + public VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricGetArgs() + { + } + public static new VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricGetArgs Empty => new VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderDatadogArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderDatadogArgs.cs new file mode 100644 index 00000000..2d86eb7e --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderDatadogArgs.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 VerificationTemplateMetricProviderDatadogArgs : global::Pulumi.ResourceArgs + { + [Input("datadogQuery")] + public Input? DatadogQuery { get; set; } + + [Input("duration")] + public Input? Duration { get; set; } + + public VerificationTemplateMetricProviderDatadogArgs() + { + } + public static new VerificationTemplateMetricProviderDatadogArgs Empty => new VerificationTemplateMetricProviderDatadogArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderDatadogGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderDatadogGetArgs.cs new file mode 100644 index 00000000..7e5a86ea --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderDatadogGetArgs.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 VerificationTemplateMetricProviderDatadogGetArgs : global::Pulumi.ResourceArgs + { + [Input("datadogQuery")] + public Input? DatadogQuery { get; set; } + + [Input("duration")] + public Input? Duration { get; set; } + + public VerificationTemplateMetricProviderDatadogGetArgs() + { + } + public static new VerificationTemplateMetricProviderDatadogGetArgs Empty => new VerificationTemplateMetricProviderDatadogGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderGetArgs.cs new file mode 100644 index 00000000..8d0d3b16 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderGetArgs.cs @@ -0,0 +1,41 @@ +// *** 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 VerificationTemplateMetricProviderGetArgs : global::Pulumi.ResourceArgs + { + [Input("cloudWatch")] + public Input? CloudWatch { get; set; } + + [Input("datadog")] + public Input? Datadog { get; set; } + + [Input("jenkins")] + public Input? Jenkins { get; set; } + + [Input("job")] + public Input? Job { get; set; } + + [Input("newRelic")] + public Input? NewRelic { get; set; } + + [Input("prometheus")] + public Input? Prometheus { get; set; } + + [Input("web")] + public Input? Web { get; set; } + + public VerificationTemplateMetricProviderGetArgs() + { + } + public static new VerificationTemplateMetricProviderGetArgs Empty => new VerificationTemplateMetricProviderGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderJenkinsArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderJenkinsArgs.cs new file mode 100644 index 00000000..3f920bc1 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderJenkinsArgs.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.Inputs +{ + + public sealed class VerificationTemplateMetricProviderJenkinsArgs : global::Pulumi.ResourceArgs + { + [Input("jenkinsInterval", required: true)] + public Input JenkinsInterval { get; set; } = null!; + + [Input("jenkinsParameters")] + public Input? JenkinsParameters { get; set; } + + [Input("pipelineName", required: true)] + public Input PipelineName { get; set; } = null!; + + [Input("timeout", required: true)] + public Input Timeout { get; set; } = null!; + + [Input("tlsVerification")] + public Input? TlsVerification { get; set; } + + public VerificationTemplateMetricProviderJenkinsArgs() + { + } + public static new VerificationTemplateMetricProviderJenkinsArgs Empty => new VerificationTemplateMetricProviderJenkinsArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderJenkinsGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderJenkinsGetArgs.cs new file mode 100644 index 00000000..1364243c --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderJenkinsGetArgs.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.Inputs +{ + + public sealed class VerificationTemplateMetricProviderJenkinsGetArgs : global::Pulumi.ResourceArgs + { + [Input("jenkinsInterval", required: true)] + public Input JenkinsInterval { get; set; } = null!; + + [Input("jenkinsParameters")] + public Input? JenkinsParameters { get; set; } + + [Input("pipelineName", required: true)] + public Input PipelineName { get; set; } = null!; + + [Input("timeout", required: true)] + public Input Timeout { get; set; } = null!; + + [Input("tlsVerification")] + public Input? TlsVerification { get; set; } + + public VerificationTemplateMetricProviderJenkinsGetArgs() + { + } + public static new VerificationTemplateMetricProviderJenkinsGetArgs Empty => new VerificationTemplateMetricProviderJenkinsGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs.cs new file mode 100644 index 00000000..418e74ef --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs.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 VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs : global::Pulumi.ResourceArgs + { + [Input("parameterKey", required: true)] + public Input ParameterKey { get; set; } = null!; + + [Input("parameterValue", required: true)] + public Input ParameterValue { get; set; } = null!; + + public VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs() + { + } + public static new VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs Empty => new VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderJenkinsJenkinsParametersGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderJenkinsJenkinsParametersGetArgs.cs new file mode 100644 index 00000000..4a94b7ba --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderJenkinsJenkinsParametersGetArgs.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 VerificationTemplateMetricProviderJenkinsJenkinsParametersGetArgs : global::Pulumi.ResourceArgs + { + [Input("parameterKey", required: true)] + public Input ParameterKey { get; set; } = null!; + + [Input("parameterValue", required: true)] + public Input ParameterValue { get; set; } = null!; + + public VerificationTemplateMetricProviderJenkinsJenkinsParametersGetArgs() + { + } + public static new VerificationTemplateMetricProviderJenkinsJenkinsParametersGetArgs Empty => new VerificationTemplateMetricProviderJenkinsJenkinsParametersGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderJobArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderJobArgs.cs new file mode 100644 index 00000000..3b7a00f7 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderJobArgs.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 VerificationTemplateMetricProviderJobArgs : global::Pulumi.ResourceArgs + { + [Input("specs", required: true)] + private InputList? _specs; + public InputList Specs + { + get => _specs ?? (_specs = new InputList()); + set => _specs = value; + } + + public VerificationTemplateMetricProviderJobArgs() + { + } + public static new VerificationTemplateMetricProviderJobArgs Empty => new VerificationTemplateMetricProviderJobArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderJobGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderJobGetArgs.cs new file mode 100644 index 00000000..5caea110 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderJobGetArgs.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 VerificationTemplateMetricProviderJobGetArgs : global::Pulumi.ResourceArgs + { + [Input("specs", required: true)] + private InputList? _specs; + public InputList Specs + { + get => _specs ?? (_specs = new InputList()); + set => _specs = value; + } + + public VerificationTemplateMetricProviderJobGetArgs() + { + } + public static new VerificationTemplateMetricProviderJobGetArgs Empty => new VerificationTemplateMetricProviderJobGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderJobSpecArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderJobSpecArgs.cs new file mode 100644 index 00000000..520419b1 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderJobSpecArgs.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 VerificationTemplateMetricProviderJobSpecArgs : global::Pulumi.ResourceArgs + { + [Input("backoffLimit")] + public Input? BackoffLimit { get; set; } + + [Input("jobTemplates", required: true)] + private InputList? _jobTemplates; + public InputList JobTemplates + { + get => _jobTemplates ?? (_jobTemplates = new InputList()); + set => _jobTemplates = value; + } + + public VerificationTemplateMetricProviderJobSpecArgs() + { + } + public static new VerificationTemplateMetricProviderJobSpecArgs Empty => new VerificationTemplateMetricProviderJobSpecArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderJobSpecGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderJobSpecGetArgs.cs new file mode 100644 index 00000000..98042be3 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderJobSpecGetArgs.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 VerificationTemplateMetricProviderJobSpecGetArgs : global::Pulumi.ResourceArgs + { + [Input("backoffLimit")] + public Input? BackoffLimit { get; set; } + + [Input("jobTemplates", required: true)] + private InputList? _jobTemplates; + public InputList JobTemplates + { + get => _jobTemplates ?? (_jobTemplates = new InputList()); + set => _jobTemplates = value; + } + + public VerificationTemplateMetricProviderJobSpecGetArgs() + { + } + public static new VerificationTemplateMetricProviderJobSpecGetArgs Empty => new VerificationTemplateMetricProviderJobSpecGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderJobSpecJobTemplateArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderJobSpecJobTemplateArgs.cs new file mode 100644 index 00000000..643ff589 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderJobSpecJobTemplateArgs.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 VerificationTemplateMetricProviderJobSpecJobTemplateArgs : global::Pulumi.ResourceArgs + { + [Input("templateSpecs", required: true)] + private InputList? _templateSpecs; + public InputList TemplateSpecs + { + get => _templateSpecs ?? (_templateSpecs = new InputList()); + set => _templateSpecs = value; + } + + public VerificationTemplateMetricProviderJobSpecJobTemplateArgs() + { + } + public static new VerificationTemplateMetricProviderJobSpecJobTemplateArgs Empty => new VerificationTemplateMetricProviderJobSpecJobTemplateArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderJobSpecJobTemplateGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderJobSpecJobTemplateGetArgs.cs new file mode 100644 index 00000000..ed95042c --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderJobSpecJobTemplateGetArgs.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 VerificationTemplateMetricProviderJobSpecJobTemplateGetArgs : global::Pulumi.ResourceArgs + { + [Input("templateSpecs", required: true)] + private InputList? _templateSpecs; + public InputList TemplateSpecs + { + get => _templateSpecs ?? (_templateSpecs = new InputList()); + set => _templateSpecs = value; + } + + public VerificationTemplateMetricProviderJobSpecJobTemplateGetArgs() + { + } + public static new VerificationTemplateMetricProviderJobSpecJobTemplateGetArgs Empty => new VerificationTemplateMetricProviderJobSpecJobTemplateGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs.cs new file mode 100644 index 00000000..b3884535 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs.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 VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs : global::Pulumi.ResourceArgs + { + [Input("containers", required: true)] + private InputList? _containers; + public InputList Containers + { + get => _containers ?? (_containers = new InputList()); + set => _containers = value; + } + + [Input("restartPolicy", required: true)] + public Input RestartPolicy { get; set; } = null!; + + public VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs() + { + } + public static new VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs Empty => new VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs.cs new file mode 100644 index 00000000..cc07b47f --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs.cs @@ -0,0 +1,34 @@ +// *** 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 VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs : global::Pulumi.ResourceArgs + { + [Input("commands", required: true)] + private InputList? _commands; + public InputList Commands + { + get => _commands ?? (_commands = new InputList()); + set => _commands = value; + } + + [Input("containerName", required: true)] + public Input ContainerName { get; set; } = null!; + + [Input("image", required: true)] + public Input Image { get; set; } = null!; + + public VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs() + { + } + public static new VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs Empty => new VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerGetArgs.cs new file mode 100644 index 00000000..ab3c2bab --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerGetArgs.cs @@ -0,0 +1,34 @@ +// *** 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 VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerGetArgs : global::Pulumi.ResourceArgs + { + [Input("commands", required: true)] + private InputList? _commands; + public InputList Commands + { + get => _commands ?? (_commands = new InputList()); + set => _commands = value; + } + + [Input("containerName", required: true)] + public Input ContainerName { get; set; } = null!; + + [Input("image", required: true)] + public Input Image { get; set; } = null!; + + public VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerGetArgs() + { + } + public static new VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerGetArgs Empty => new VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecGetArgs.cs new file mode 100644 index 00000000..6b9a70b6 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecGetArgs.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 VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecGetArgs : global::Pulumi.ResourceArgs + { + [Input("containers", required: true)] + private InputList? _containers; + public InputList Containers + { + get => _containers ?? (_containers = new InputList()); + set => _containers = value; + } + + [Input("restartPolicy", required: true)] + public Input RestartPolicy { get; set; } = null!; + + public VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecGetArgs() + { + } + public static new VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecGetArgs Empty => new VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderNewRelicArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderNewRelicArgs.cs new file mode 100644 index 00000000..fdd1579b --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderNewRelicArgs.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 VerificationTemplateMetricProviderNewRelicArgs : global::Pulumi.ResourceArgs + { + [Input("newRelicQuery", required: true)] + public Input NewRelicQuery { get; set; } = null!; + + [Input("profile")] + public Input? Profile { get; set; } + + public VerificationTemplateMetricProviderNewRelicArgs() + { + } + public static new VerificationTemplateMetricProviderNewRelicArgs Empty => new VerificationTemplateMetricProviderNewRelicArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderNewRelicGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderNewRelicGetArgs.cs new file mode 100644 index 00000000..fe20a22c --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderNewRelicGetArgs.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 VerificationTemplateMetricProviderNewRelicGetArgs : global::Pulumi.ResourceArgs + { + [Input("newRelicQuery", required: true)] + public Input NewRelicQuery { get; set; } = null!; + + [Input("profile")] + public Input? Profile { get; set; } + + public VerificationTemplateMetricProviderNewRelicGetArgs() + { + } + public static new VerificationTemplateMetricProviderNewRelicGetArgs Empty => new VerificationTemplateMetricProviderNewRelicGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderPrometheusArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderPrometheusArgs.cs new file mode 100644 index 00000000..0fa30a2b --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderPrometheusArgs.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 VerificationTemplateMetricProviderPrometheusArgs : global::Pulumi.ResourceArgs + { + [Input("prometheusQuery", required: true)] + public Input PrometheusQuery { get; set; } = null!; + + public VerificationTemplateMetricProviderPrometheusArgs() + { + } + public static new VerificationTemplateMetricProviderPrometheusArgs Empty => new VerificationTemplateMetricProviderPrometheusArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderPrometheusGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderPrometheusGetArgs.cs new file mode 100644 index 00000000..34d41f3c --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderPrometheusGetArgs.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 VerificationTemplateMetricProviderPrometheusGetArgs : global::Pulumi.ResourceArgs + { + [Input("prometheusQuery", required: true)] + public Input PrometheusQuery { get; set; } = null!; + + public VerificationTemplateMetricProviderPrometheusGetArgs() + { + } + public static new VerificationTemplateMetricProviderPrometheusGetArgs Empty => new VerificationTemplateMetricProviderPrometheusGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderWebArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderWebArgs.cs new file mode 100644 index 00000000..3719c61a --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderWebArgs.cs @@ -0,0 +1,46 @@ +// *** 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 VerificationTemplateMetricProviderWebArgs : global::Pulumi.ResourceArgs + { + [Input("body")] + public Input? Body { get; set; } + + [Input("insecure")] + public Input? Insecure { get; set; } + + [Input("jsonPath")] + public Input? JsonPath { get; set; } + + [Input("method")] + public Input? Method { get; set; } + + [Input("timeoutSeconds")] + public Input? TimeoutSeconds { get; set; } + + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + [Input("webHeaders")] + private InputList? _webHeaders; + public InputList WebHeaders + { + get => _webHeaders ?? (_webHeaders = new InputList()); + set => _webHeaders = value; + } + + public VerificationTemplateMetricProviderWebArgs() + { + } + public static new VerificationTemplateMetricProviderWebArgs Empty => new VerificationTemplateMetricProviderWebArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderWebGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderWebGetArgs.cs new file mode 100644 index 00000000..feae7cd6 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderWebGetArgs.cs @@ -0,0 +1,46 @@ +// *** 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 VerificationTemplateMetricProviderWebGetArgs : global::Pulumi.ResourceArgs + { + [Input("body")] + public Input? Body { get; set; } + + [Input("insecure")] + public Input? Insecure { get; set; } + + [Input("jsonPath")] + public Input? JsonPath { get; set; } + + [Input("method")] + public Input? Method { get; set; } + + [Input("timeoutSeconds")] + public Input? TimeoutSeconds { get; set; } + + [Input("url", required: true)] + public Input Url { get; set; } = null!; + + [Input("webHeaders")] + private InputList? _webHeaders; + public InputList WebHeaders + { + get => _webHeaders ?? (_webHeaders = new InputList()); + set => _webHeaders = value; + } + + public VerificationTemplateMetricProviderWebGetArgs() + { + } + public static new VerificationTemplateMetricProviderWebGetArgs Empty => new VerificationTemplateMetricProviderWebGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderWebWebHeaderArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderWebWebHeaderArgs.cs new file mode 100644 index 00000000..44b57178 --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderWebWebHeaderArgs.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 VerificationTemplateMetricProviderWebWebHeaderArgs : global::Pulumi.ResourceArgs + { + [Input("webHeaderKey", required: true)] + public Input WebHeaderKey { get; set; } = null!; + + [Input("webHeaderValue", required: true)] + public Input WebHeaderValue { get; set; } = null!; + + public VerificationTemplateMetricProviderWebWebHeaderArgs() + { + } + public static new VerificationTemplateMetricProviderWebWebHeaderArgs Empty => new VerificationTemplateMetricProviderWebWebHeaderArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderWebWebHeaderGetArgs.cs b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderWebWebHeaderGetArgs.cs new file mode 100644 index 00000000..edf4f1fa --- /dev/null +++ b/sdk/dotnet/Oceancd/Inputs/VerificationTemplateMetricProviderWebWebHeaderGetArgs.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 VerificationTemplateMetricProviderWebWebHeaderGetArgs : global::Pulumi.ResourceArgs + { + [Input("webHeaderKey", required: true)] + public Input WebHeaderKey { get; set; } = null!; + + [Input("webHeaderValue", required: true)] + public Input WebHeaderValue { get; set; } = null!; + + public VerificationTemplateMetricProviderWebWebHeaderGetArgs() + { + } + public static new VerificationTemplateMetricProviderWebWebHeaderGetArgs Empty => new VerificationTemplateMetricProviderWebWebHeaderGetArgs(); + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/RolloutSpecFailurePolicy.cs b/sdk/dotnet/Oceancd/Outputs/RolloutSpecFailurePolicy.cs new file mode 100644 index 00000000..28ee235f --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/RolloutSpecFailurePolicy.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 RolloutSpecFailurePolicy + { + /// + /// Choose an action to perform on failure. Default is `abort`. Enum: "abort" "pause" "promote". + /// + public readonly string Action; + + [OutputConstructor] + private RolloutSpecFailurePolicy(string action) + { + Action = action; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/RolloutSpecSpotDeployment.cs b/sdk/dotnet/Oceancd/Outputs/RolloutSpecSpotDeployment.cs new file mode 100644 index 00000000..9a21a048 --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/RolloutSpecSpotDeployment.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 RolloutSpecSpotDeployment + { + /// + /// Ocean CD cluster identifier for the references `SpotDeployment`. + /// + public readonly string? SpotDeploymentsClusterId; + /// + /// The name of the `SpotDeployment` resource + /// + public readonly string? SpotDeploymentsName; + /// + /// The namespace which the `SpotDeployment` resource exists within. + /// + public readonly string? SpotDeploymentsNamespace; + + [OutputConstructor] + private RolloutSpecSpotDeployment( + string? spotDeploymentsClusterId, + + string? spotDeploymentsName, + + string? spotDeploymentsNamespace) + { + SpotDeploymentsClusterId = spotDeploymentsClusterId; + SpotDeploymentsName = spotDeploymentsName; + SpotDeploymentsNamespace = spotDeploymentsNamespace; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/RolloutSpecStrategy.cs b/sdk/dotnet/Oceancd/Outputs/RolloutSpecStrategy.cs new file mode 100644 index 00000000..5b1a5679 --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/RolloutSpecStrategy.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 RolloutSpecStrategy + { + /// + /// Arguments defined in Verification Templates. + /// + public readonly ImmutableArray Args; + /// + /// Ocean CD strategy name identifier. + /// + public readonly string StrategyName; + + [OutputConstructor] + private RolloutSpecStrategy( + ImmutableArray args, + + string strategyName) + { + Args = args; + StrategyName = strategyName; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/RolloutSpecStrategyArg.cs b/sdk/dotnet/Oceancd/Outputs/RolloutSpecStrategyArg.cs new file mode 100644 index 00000000..c8548a9d --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/RolloutSpecStrategyArg.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 RolloutSpecStrategyArg + { + public readonly string ArgName; + public readonly string? ArgValue; + public readonly Outputs.RolloutSpecStrategyArgValueFrom? ValueFrom; + + [OutputConstructor] + private RolloutSpecStrategyArg( + string argName, + + string? argValue, + + Outputs.RolloutSpecStrategyArgValueFrom? valueFrom) + { + ArgName = argName; + ArgValue = argValue; + ValueFrom = valueFrom; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/RolloutSpecStrategyArgValueFrom.cs b/sdk/dotnet/Oceancd/Outputs/RolloutSpecStrategyArgValueFrom.cs new file mode 100644 index 00000000..7c37ff1f --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/RolloutSpecStrategyArgValueFrom.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 RolloutSpecStrategyArgValueFrom + { + public readonly Outputs.RolloutSpecStrategyArgValueFromFieldRef FieldRef; + + [OutputConstructor] + private RolloutSpecStrategyArgValueFrom(Outputs.RolloutSpecStrategyArgValueFromFieldRef fieldRef) + { + FieldRef = fieldRef; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/RolloutSpecStrategyArgValueFromFieldRef.cs b/sdk/dotnet/Oceancd/Outputs/RolloutSpecStrategyArgValueFromFieldRef.cs new file mode 100644 index 00000000..6d5d8da3 --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/RolloutSpecStrategyArgValueFromFieldRef.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 RolloutSpecStrategyArgValueFromFieldRef + { + public readonly string FieldPath; + + [OutputConstructor] + private RolloutSpecStrategyArgValueFromFieldRef(string fieldPath) + { + FieldPath = fieldPath; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/RolloutSpecTraffic.cs b/sdk/dotnet/Oceancd/Outputs/RolloutSpecTraffic.cs new file mode 100644 index 00000000..948e1f8c --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/RolloutSpecTraffic.cs @@ -0,0 +1,77 @@ +// *** 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 RolloutSpecTraffic + { + /// + /// Holds ALB Ingress specific configuration to route traffic. + /// + public readonly Outputs.RolloutSpecTrafficAlb? Alb; + /// + /// Holds specific configuration to use Ambassador to route traffic. + /// + public readonly Outputs.RolloutSpecTrafficAmbassador? Ambassador; + /// + /// The canary service name. + /// + public readonly string? CanaryService; + /// + /// Holds Istio specific configuration to route traffic. + /// + public readonly Outputs.RolloutSpecTrafficIstio? Istio; + /// + /// Holds Nginx Ingress specific configuration to route traffic. + /// + public readonly Outputs.RolloutSpecTrafficNginx? Nginx; + /// + /// Holds the ping and pong services. You can use `pingPong` field only when using ALB as a traffic manager with the IP Mode approach. + /// + public readonly Outputs.RolloutSpecTrafficPingPong? PingPong; + /// + /// Holds TrafficSplit specific configuration to route traffic. + /// + public readonly Outputs.RolloutSpecTrafficSmi? Smi; + /// + /// The stable service name. + /// + public readonly string? StableService; + + [OutputConstructor] + private RolloutSpecTraffic( + Outputs.RolloutSpecTrafficAlb? alb, + + Outputs.RolloutSpecTrafficAmbassador? ambassador, + + string? canaryService, + + Outputs.RolloutSpecTrafficIstio? istio, + + Outputs.RolloutSpecTrafficNginx? nginx, + + Outputs.RolloutSpecTrafficPingPong? pingPong, + + Outputs.RolloutSpecTrafficSmi? smi, + + string? stableService) + { + Alb = alb; + Ambassador = ambassador; + CanaryService = canaryService; + Istio = istio; + Nginx = nginx; + PingPong = pingPong; + Smi = smi; + StableService = stableService; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/RolloutSpecTrafficAlb.cs b/sdk/dotnet/Oceancd/Outputs/RolloutSpecTrafficAlb.cs new file mode 100644 index 00000000..e83a7b5c --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/RolloutSpecTrafficAlb.cs @@ -0,0 +1,41 @@ +// *** 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 RolloutSpecTrafficAlb + { + public readonly string? AlbAnnotationPrefix; + public readonly string AlbIngress; + public readonly string AlbRootService; + public readonly int ServicePort; + public readonly Outputs.RolloutSpecTrafficAlbStickinessConfig? StickinessConfig; + + [OutputConstructor] + private RolloutSpecTrafficAlb( + string? albAnnotationPrefix, + + string albIngress, + + string albRootService, + + int servicePort, + + Outputs.RolloutSpecTrafficAlbStickinessConfig? stickinessConfig) + { + AlbAnnotationPrefix = albAnnotationPrefix; + AlbIngress = albIngress; + AlbRootService = albRootService; + ServicePort = servicePort; + StickinessConfig = stickinessConfig; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/RolloutSpecTrafficAlbStickinessConfig.cs b/sdk/dotnet/Oceancd/Outputs/RolloutSpecTrafficAlbStickinessConfig.cs new file mode 100644 index 00000000..c27cd6d9 --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/RolloutSpecTrafficAlbStickinessConfig.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 RolloutSpecTrafficAlbStickinessConfig + { + public readonly int? DurationSeconds; + public readonly bool? Enabled; + + [OutputConstructor] + private RolloutSpecTrafficAlbStickinessConfig( + int? durationSeconds, + + bool? enabled) + { + DurationSeconds = durationSeconds; + Enabled = enabled; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/RolloutSpecTrafficAmbassador.cs b/sdk/dotnet/Oceancd/Outputs/RolloutSpecTrafficAmbassador.cs new file mode 100644 index 00000000..8593b8b6 --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/RolloutSpecTrafficAmbassador.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 RolloutSpecTrafficAmbassador + { + public readonly ImmutableArray Mappings; + + [OutputConstructor] + private RolloutSpecTrafficAmbassador(ImmutableArray mappings) + { + Mappings = mappings; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/RolloutSpecTrafficIstio.cs b/sdk/dotnet/Oceancd/Outputs/RolloutSpecTrafficIstio.cs new file mode 100644 index 00000000..47403059 --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/RolloutSpecTrafficIstio.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 RolloutSpecTrafficIstio + { + public readonly Outputs.RolloutSpecTrafficIstioDestinationRule? DestinationRule; + public readonly ImmutableArray VirtualServices; + + [OutputConstructor] + private RolloutSpecTrafficIstio( + Outputs.RolloutSpecTrafficIstioDestinationRule? destinationRule, + + ImmutableArray virtualServices) + { + DestinationRule = destinationRule; + VirtualServices = virtualServices; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/RolloutSpecTrafficIstioDestinationRule.cs b/sdk/dotnet/Oceancd/Outputs/RolloutSpecTrafficIstioDestinationRule.cs new file mode 100644 index 00000000..356f0b33 --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/RolloutSpecTrafficIstioDestinationRule.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 RolloutSpecTrafficIstioDestinationRule + { + public readonly string CanarySubsetName; + public readonly string DestinationRuleName; + public readonly string StableSubsetName; + + [OutputConstructor] + private RolloutSpecTrafficIstioDestinationRule( + string canarySubsetName, + + string destinationRuleName, + + string stableSubsetName) + { + CanarySubsetName = canarySubsetName; + DestinationRuleName = destinationRuleName; + StableSubsetName = stableSubsetName; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/RolloutSpecTrafficIstioVirtualService.cs b/sdk/dotnet/Oceancd/Outputs/RolloutSpecTrafficIstioVirtualService.cs new file mode 100644 index 00000000..732aab53 --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/RolloutSpecTrafficIstioVirtualService.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 RolloutSpecTrafficIstioVirtualService + { + public readonly ImmutableArray TlsRoutes; + public readonly string VirtualServiceName; + public readonly ImmutableArray VirtualServiceRoutes; + + [OutputConstructor] + private RolloutSpecTrafficIstioVirtualService( + ImmutableArray tlsRoutes, + + string virtualServiceName, + + ImmutableArray virtualServiceRoutes) + { + TlsRoutes = tlsRoutes; + VirtualServiceName = virtualServiceName; + VirtualServiceRoutes = virtualServiceRoutes; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/RolloutSpecTrafficIstioVirtualServiceTlsRoute.cs b/sdk/dotnet/Oceancd/Outputs/RolloutSpecTrafficIstioVirtualServiceTlsRoute.cs new file mode 100644 index 00000000..1840705b --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/RolloutSpecTrafficIstioVirtualServiceTlsRoute.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 RolloutSpecTrafficIstioVirtualServiceTlsRoute + { + public readonly int? Port; + public readonly ImmutableArray SniHosts; + + [OutputConstructor] + private RolloutSpecTrafficIstioVirtualServiceTlsRoute( + int? port, + + ImmutableArray sniHosts) + { + Port = port; + SniHosts = sniHosts; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/RolloutSpecTrafficNginx.cs b/sdk/dotnet/Oceancd/Outputs/RolloutSpecTrafficNginx.cs new file mode 100644 index 00000000..ad996264 --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/RolloutSpecTrafficNginx.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 RolloutSpecTrafficNginx + { + public readonly Outputs.RolloutSpecTrafficNginxAdditionalIngressAnnotation? AdditionalIngressAnnotation; + public readonly string? NginxAnnotationPrefix; + public readonly string StableIngress; + + [OutputConstructor] + private RolloutSpecTrafficNginx( + Outputs.RolloutSpecTrafficNginxAdditionalIngressAnnotation? additionalIngressAnnotation, + + string? nginxAnnotationPrefix, + + string stableIngress) + { + AdditionalIngressAnnotation = additionalIngressAnnotation; + NginxAnnotationPrefix = nginxAnnotationPrefix; + StableIngress = stableIngress; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/RolloutSpecTrafficNginxAdditionalIngressAnnotation.cs b/sdk/dotnet/Oceancd/Outputs/RolloutSpecTrafficNginxAdditionalIngressAnnotation.cs new file mode 100644 index 00000000..8e0e064b --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/RolloutSpecTrafficNginxAdditionalIngressAnnotation.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 RolloutSpecTrafficNginxAdditionalIngressAnnotation + { + public readonly string? CanaryByHeader; + public readonly string? Key1; + + [OutputConstructor] + private RolloutSpecTrafficNginxAdditionalIngressAnnotation( + string? canaryByHeader, + + string? key1) + { + CanaryByHeader = canaryByHeader; + Key1 = key1; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/RolloutSpecTrafficPingPong.cs b/sdk/dotnet/Oceancd/Outputs/RolloutSpecTrafficPingPong.cs new file mode 100644 index 00000000..693cacc8 --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/RolloutSpecTrafficPingPong.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 RolloutSpecTrafficPingPong + { + public readonly string PingService; + public readonly string PongService; + + [OutputConstructor] + private RolloutSpecTrafficPingPong( + string pingService, + + string pongService) + { + PingService = pingService; + PongService = pongService; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/RolloutSpecTrafficSmi.cs b/sdk/dotnet/Oceancd/Outputs/RolloutSpecTrafficSmi.cs new file mode 100644 index 00000000..076dd6ec --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/RolloutSpecTrafficSmi.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 RolloutSpecTrafficSmi + { + public readonly string? SmiRootService; + public readonly string? TrafficSplitName; + + [OutputConstructor] + private RolloutSpecTrafficSmi( + string? smiRootService, + + string? trafficSplitName) + { + SmiRootService = smiRootService; + TrafficSplitName = trafficSplitName; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/VerificationTemplateArg.cs b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateArg.cs new file mode 100644 index 00000000..a60e6635 --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateArg.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 VerificationTemplateArg + { + /// + /// Name of an argument. + /// + public readonly string ArgName; + /// + /// String representation of data. + /// + public readonly string? Value; + /// + /// ValueFrom object. + /// + public readonly Outputs.VerificationTemplateArgValueFrom? ValueFrom; + + [OutputConstructor] + private VerificationTemplateArg( + string argName, + + string? value, + + Outputs.VerificationTemplateArgValueFrom? valueFrom) + { + ArgName = argName; + Value = value; + ValueFrom = valueFrom; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/VerificationTemplateArgValueFrom.cs b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateArgValueFrom.cs new file mode 100644 index 00000000..9f9a1351 --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateArgValueFrom.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 VerificationTemplateArgValueFrom + { + public readonly Outputs.VerificationTemplateArgValueFromSecretKeyRef? SecretKeyRef; + + [OutputConstructor] + private VerificationTemplateArgValueFrom(Outputs.VerificationTemplateArgValueFromSecretKeyRef? secretKeyRef) + { + SecretKeyRef = secretKeyRef; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/VerificationTemplateArgValueFromSecretKeyRef.cs b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateArgValueFromSecretKeyRef.cs new file mode 100644 index 00000000..3d8117df --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateArgValueFromSecretKeyRef.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.Outputs +{ + + [OutputType] + public sealed class VerificationTemplateArgValueFromSecretKeyRef + { + public readonly string Key; + /// + /// Identifier name for Ocean CD Verification Template. Must be unique. + /// + public readonly string Name; + + [OutputConstructor] + private VerificationTemplateArgValueFromSecretKeyRef( + string key, + + string name) + { + Key = key; + Name = name; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetric.cs b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetric.cs new file mode 100644 index 00000000..6d8cbcf2 --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetric.cs @@ -0,0 +1,98 @@ +// *** 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 VerificationTemplateMetric + { + /// + /// Baseline Object. + /// + public readonly Outputs.VerificationTemplateMetricBaseline? Baseline; + /// + /// The maximum number of times the measurement is allowed to error in succession, before the metric is considered error.Default is 4.When choosing `Jenkins` as the provider, there is no need to send this variable. + /// + public readonly int? ConsecutiveErrorLimit; + /// + /// The number of times to run the measurement. If both interval and count are omitted, the effective count is 1. If only interval is specified, metric runs indefinitely. If count > 1, interval must be specified. When choosing `Jenkins` as the provider, there is no need to send this variable. + /// + public readonly int? Count; + /// + /// Defines whether the metric should have an impact on the result of the rollout. + /// + public readonly bool? DryRun; + /// + /// An expression which determines if a measurement is considered failed.If failureCondition is set, then successCondition is not allowed. When choosing Jenkins as the provider, there is no need to send this variable. + /// + public readonly string? FailureCondition; + /// + /// The maximum number of times the measurement is allowed to fail, before the entire metric is considered failed.Default is 0. When choosing `Jenkins` as the provider, there is no need to send this variable. + /// + public readonly int? FailureLimit; + /// + /// How long to wait before starting this metric measurements. When choosing Jenkins as the provider, there is no need to send this variable. + /// + public readonly string? InitialDelay; + /// + /// Defines an interval string (30s, 5m, 1h) between each verification measurements. If omitted, will perform a single measurement.When choosing Jenkins as the provider, there is no need to send this variable. + /// + public readonly string? Interval; + /// + /// The name of the verification metric. + /// + public readonly string MetricsName; + /// + /// The name of the monitoring tool chosen for the metric. + /// + public readonly ImmutableArray Providers; + /// + /// An expression which determines if a measurement is considered successful. The keyword `result` is a variable reference to the value of measurement. Results can be both structured data or primitive. If successCondition is set, then failureCondition is not allowed. When choosing `Jenkins` as the provider, there is no need to send this variable. + /// + public readonly string? SuccessCondition; + + [OutputConstructor] + private VerificationTemplateMetric( + Outputs.VerificationTemplateMetricBaseline? baseline, + + int? consecutiveErrorLimit, + + int? count, + + bool? dryRun, + + string? failureCondition, + + int? failureLimit, + + string? initialDelay, + + string? interval, + + string metricsName, + + ImmutableArray providers, + + string? successCondition) + { + Baseline = baseline; + ConsecutiveErrorLimit = consecutiveErrorLimit; + Count = count; + DryRun = dryRun; + FailureCondition = failureCondition; + FailureLimit = failureLimit; + InitialDelay = initialDelay; + Interval = interval; + MetricsName = metricsName; + Providers = providers; + SuccessCondition = successCondition; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricBaseline.cs b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricBaseline.cs new file mode 100644 index 00000000..8f156fe0 --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricBaseline.cs @@ -0,0 +1,37 @@ +// *** 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 VerificationTemplateMetricBaseline + { + public readonly ImmutableArray BaselineProviders; + public readonly int? MaxRange; + public readonly int? MinRange; + public readonly string Threshold; + + [OutputConstructor] + private VerificationTemplateMetricBaseline( + ImmutableArray baselineProviders, + + int? maxRange, + + int? minRange, + + string threshold) + { + BaselineProviders = baselineProviders; + MaxRange = maxRange; + MinRange = minRange; + Threshold = threshold; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricBaselineBaselineProvider.cs b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricBaselineBaselineProvider.cs new file mode 100644 index 00000000..a145032e --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricBaselineBaselineProvider.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 VerificationTemplateMetricBaselineBaselineProvider + { + public readonly Outputs.VerificationTemplateMetricBaselineBaselineProviderDatadog? Datadog; + public readonly Outputs.VerificationTemplateMetricBaselineBaselineProviderNewRelic? NewRelic; + public readonly Outputs.VerificationTemplateMetricBaselineBaselineProviderPrometheus? Prometheus; + + [OutputConstructor] + private VerificationTemplateMetricBaselineBaselineProvider( + Outputs.VerificationTemplateMetricBaselineBaselineProviderDatadog? datadog, + + Outputs.VerificationTemplateMetricBaselineBaselineProviderNewRelic? newRelic, + + Outputs.VerificationTemplateMetricBaselineBaselineProviderPrometheus? prometheus) + { + Datadog = datadog; + NewRelic = newRelic; + Prometheus = prometheus; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricBaselineBaselineProviderDatadog.cs b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricBaselineBaselineProviderDatadog.cs new file mode 100644 index 00000000..2be3d628 --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricBaselineBaselineProviderDatadog.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 VerificationTemplateMetricBaselineBaselineProviderDatadog + { + public readonly string DatadogQuery; + public readonly string? Duration; + + [OutputConstructor] + private VerificationTemplateMetricBaselineBaselineProviderDatadog( + string datadogQuery, + + string? duration) + { + DatadogQuery = datadogQuery; + Duration = duration; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricBaselineBaselineProviderNewRelic.cs b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricBaselineBaselineProviderNewRelic.cs new file mode 100644 index 00000000..259ed36d --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricBaselineBaselineProviderNewRelic.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 VerificationTemplateMetricBaselineBaselineProviderNewRelic + { + public readonly string NewRelicQuery; + public readonly string? Profile; + + [OutputConstructor] + private VerificationTemplateMetricBaselineBaselineProviderNewRelic( + string newRelicQuery, + + string? profile) + { + NewRelicQuery = newRelicQuery; + Profile = profile; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricBaselineBaselineProviderPrometheus.cs b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricBaselineBaselineProviderPrometheus.cs new file mode 100644 index 00000000..9e88c4d8 --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricBaselineBaselineProviderPrometheus.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 VerificationTemplateMetricBaselineBaselineProviderPrometheus + { + public readonly string PrometheusQuery; + + [OutputConstructor] + private VerificationTemplateMetricBaselineBaselineProviderPrometheus(string prometheusQuery) + { + PrometheusQuery = prometheusQuery; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProvider.cs b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProvider.cs new file mode 100644 index 00000000..30aeda63 --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProvider.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.SpotInst.Oceancd.Outputs +{ + + [OutputType] + public sealed class VerificationTemplateMetricProvider + { + public readonly Outputs.VerificationTemplateMetricProviderCloudWatch? CloudWatch; + public readonly Outputs.VerificationTemplateMetricProviderDatadog? Datadog; + public readonly Outputs.VerificationTemplateMetricProviderJenkins? Jenkins; + public readonly Outputs.VerificationTemplateMetricProviderJob? Job; + public readonly Outputs.VerificationTemplateMetricProviderNewRelic? NewRelic; + public readonly Outputs.VerificationTemplateMetricProviderPrometheus? Prometheus; + public readonly Outputs.VerificationTemplateMetricProviderWeb? Web; + + [OutputConstructor] + private VerificationTemplateMetricProvider( + Outputs.VerificationTemplateMetricProviderCloudWatch? cloudWatch, + + Outputs.VerificationTemplateMetricProviderDatadog? datadog, + + Outputs.VerificationTemplateMetricProviderJenkins? jenkins, + + Outputs.VerificationTemplateMetricProviderJob? job, + + Outputs.VerificationTemplateMetricProviderNewRelic? newRelic, + + Outputs.VerificationTemplateMetricProviderPrometheus? prometheus, + + Outputs.VerificationTemplateMetricProviderWeb? web) + { + CloudWatch = cloudWatch; + Datadog = datadog; + Jenkins = jenkins; + Job = job; + NewRelic = newRelic; + Prometheus = prometheus; + Web = web; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderCloudWatch.cs b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderCloudWatch.cs new file mode 100644 index 00000000..9b48fb7c --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderCloudWatch.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 VerificationTemplateMetricProviderCloudWatch + { + public readonly string? Duration; + public readonly ImmutableArray MetricDataQueries; + + [OutputConstructor] + private VerificationTemplateMetricProviderCloudWatch( + string? duration, + + ImmutableArray metricDataQueries) + { + Duration = duration; + MetricDataQueries = metricDataQueries; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderCloudWatchMetricDataQuery.cs b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderCloudWatchMetricDataQuery.cs new file mode 100644 index 00000000..fa26d307 --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderCloudWatchMetricDataQuery.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 VerificationTemplateMetricProviderCloudWatchMetricDataQuery + { + public readonly string? Expression; + public readonly string Id; + public readonly string? Label; + public readonly Outputs.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat? MetricStat; + public readonly int? Period; + public readonly bool? ReturnData; + + [OutputConstructor] + private VerificationTemplateMetricProviderCloudWatchMetricDataQuery( + string? expression, + + string id, + + string? label, + + Outputs.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat? metricStat, + + int? period, + + bool? returnData) + { + Expression = expression; + Id = id; + Label = label; + MetricStat = metricStat; + Period = period; + ReturnData = returnData; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat.cs b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat.cs new file mode 100644 index 00000000..83511dca --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat.cs @@ -0,0 +1,37 @@ +// *** 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 VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat + { + public readonly Outputs.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric? Metric; + public readonly int? MetricPeriod; + public readonly string? Stat; + public readonly string? Unit; + + [OutputConstructor] + private VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat( + Outputs.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric? metric, + + int? metricPeriod, + + string? stat, + + string? unit) + { + Metric = metric; + MetricPeriod = metricPeriod; + Stat = stat; + Unit = unit; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric.cs b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric.cs new file mode 100644 index 00000000..c76142dd --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric.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 VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric + { + public readonly ImmutableArray Dimensions; + public readonly string MetricName; + public readonly string? Namespace; + + [OutputConstructor] + private VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric( + ImmutableArray dimensions, + + string metricName, + + string? @namespace) + { + Dimensions = dimensions; + MetricName = metricName; + Namespace = @namespace; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension.cs b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension.cs new file mode 100644 index 00000000..da24b52b --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension.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 VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension + { + public readonly string DimensionName; + public readonly string DimensionValue; + + [OutputConstructor] + private VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension( + string dimensionName, + + string dimensionValue) + { + DimensionName = dimensionName; + DimensionValue = dimensionValue; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderDatadog.cs b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderDatadog.cs new file mode 100644 index 00000000..3b1dc721 --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderDatadog.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 VerificationTemplateMetricProviderDatadog + { + public readonly string? DatadogQuery; + public readonly string? Duration; + + [OutputConstructor] + private VerificationTemplateMetricProviderDatadog( + string? datadogQuery, + + string? duration) + { + DatadogQuery = datadogQuery; + Duration = duration; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderJenkins.cs b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderJenkins.cs new file mode 100644 index 00000000..b0a484e8 --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderJenkins.cs @@ -0,0 +1,41 @@ +// *** 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 VerificationTemplateMetricProviderJenkins + { + public readonly string JenkinsInterval; + public readonly Outputs.VerificationTemplateMetricProviderJenkinsJenkinsParameters? JenkinsParameters; + public readonly string PipelineName; + public readonly string Timeout; + public readonly bool? TlsVerification; + + [OutputConstructor] + private VerificationTemplateMetricProviderJenkins( + string jenkinsInterval, + + Outputs.VerificationTemplateMetricProviderJenkinsJenkinsParameters? jenkinsParameters, + + string pipelineName, + + string timeout, + + bool? tlsVerification) + { + JenkinsInterval = jenkinsInterval; + JenkinsParameters = jenkinsParameters; + PipelineName = pipelineName; + Timeout = timeout; + TlsVerification = tlsVerification; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderJenkinsJenkinsParameters.cs b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderJenkinsJenkinsParameters.cs new file mode 100644 index 00000000..334c46d9 --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderJenkinsJenkinsParameters.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 VerificationTemplateMetricProviderJenkinsJenkinsParameters + { + public readonly string ParameterKey; + public readonly string ParameterValue; + + [OutputConstructor] + private VerificationTemplateMetricProviderJenkinsJenkinsParameters( + string parameterKey, + + string parameterValue) + { + ParameterKey = parameterKey; + ParameterValue = parameterValue; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderJob.cs b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderJob.cs new file mode 100644 index 00000000..6d72b840 --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderJob.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 VerificationTemplateMetricProviderJob + { + public readonly ImmutableArray Specs; + + [OutputConstructor] + private VerificationTemplateMetricProviderJob(ImmutableArray specs) + { + Specs = specs; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderJobSpec.cs b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderJobSpec.cs new file mode 100644 index 00000000..3f1fcbde --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderJobSpec.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 VerificationTemplateMetricProviderJobSpec + { + public readonly int? BackoffLimit; + public readonly ImmutableArray JobTemplates; + + [OutputConstructor] + private VerificationTemplateMetricProviderJobSpec( + int? backoffLimit, + + ImmutableArray jobTemplates) + { + BackoffLimit = backoffLimit; + JobTemplates = jobTemplates; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderJobSpecJobTemplate.cs b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderJobSpecJobTemplate.cs new file mode 100644 index 00000000..abc33f3e --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderJobSpecJobTemplate.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 VerificationTemplateMetricProviderJobSpecJobTemplate + { + public readonly ImmutableArray TemplateSpecs; + + [OutputConstructor] + private VerificationTemplateMetricProviderJobSpecJobTemplate(ImmutableArray templateSpecs) + { + TemplateSpecs = templateSpecs; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec.cs b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec.cs new file mode 100644 index 00000000..e962d52f --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec.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 VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec + { + public readonly ImmutableArray Containers; + public readonly string RestartPolicy; + + [OutputConstructor] + private VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec( + ImmutableArray containers, + + string restartPolicy) + { + Containers = containers; + RestartPolicy = restartPolicy; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer.cs b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer.cs new file mode 100644 index 00000000..31df02af --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer.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 VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer + { + public readonly ImmutableArray Commands; + public readonly string ContainerName; + public readonly string Image; + + [OutputConstructor] + private VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer( + ImmutableArray commands, + + string containerName, + + string image) + { + Commands = commands; + ContainerName = containerName; + Image = image; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderNewRelic.cs b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderNewRelic.cs new file mode 100644 index 00000000..6e855351 --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderNewRelic.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 VerificationTemplateMetricProviderNewRelic + { + public readonly string NewRelicQuery; + public readonly string? Profile; + + [OutputConstructor] + private VerificationTemplateMetricProviderNewRelic( + string newRelicQuery, + + string? profile) + { + NewRelicQuery = newRelicQuery; + Profile = profile; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderPrometheus.cs b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderPrometheus.cs new file mode 100644 index 00000000..dced559c --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderPrometheus.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 VerificationTemplateMetricProviderPrometheus + { + public readonly string PrometheusQuery; + + [OutputConstructor] + private VerificationTemplateMetricProviderPrometheus(string prometheusQuery) + { + PrometheusQuery = prometheusQuery; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderWeb.cs b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderWeb.cs new file mode 100644 index 00000000..07ef6995 --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderWeb.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.SpotInst.Oceancd.Outputs +{ + + [OutputType] + public sealed class VerificationTemplateMetricProviderWeb + { + public readonly string? Body; + public readonly bool? Insecure; + public readonly string? JsonPath; + public readonly string? Method; + public readonly int? TimeoutSeconds; + public readonly string Url; + public readonly ImmutableArray WebHeaders; + + [OutputConstructor] + private VerificationTemplateMetricProviderWeb( + string? body, + + bool? insecure, + + string? jsonPath, + + string? method, + + int? timeoutSeconds, + + string url, + + ImmutableArray webHeaders) + { + Body = body; + Insecure = insecure; + JsonPath = jsonPath; + Method = method; + TimeoutSeconds = timeoutSeconds; + Url = url; + WebHeaders = webHeaders; + } + } +} diff --git a/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderWebWebHeader.cs b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderWebWebHeader.cs new file mode 100644 index 00000000..d65d5de0 --- /dev/null +++ b/sdk/dotnet/Oceancd/Outputs/VerificationTemplateMetricProviderWebWebHeader.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 VerificationTemplateMetricProviderWebWebHeader + { + public readonly string WebHeaderKey; + public readonly string WebHeaderValue; + + [OutputConstructor] + private VerificationTemplateMetricProviderWebWebHeader( + string webHeaderKey, + + string webHeaderValue) + { + WebHeaderKey = webHeaderKey; + WebHeaderValue = webHeaderValue; + } + } +} diff --git a/sdk/dotnet/Oceancd/RolloutSpec.cs b/sdk/dotnet/Oceancd/RolloutSpec.cs new file mode 100644 index 00000000..76ae9ff9 --- /dev/null +++ b/sdk/dotnet/Oceancd/RolloutSpec.cs @@ -0,0 +1,197 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.SpotInst.Oceancd +{ + /// + /// Manages a Spotinst OceanCD Rollout Spec resource. + /// + [SpotInstResourceType("spotinst:oceancd/rolloutSpec:RolloutSpec")] + public partial class RolloutSpec : global::Pulumi.CustomResource + { + /// + /// Holds information on how to react when failure happens. + /// + [Output("failurePolicy")] + public Output FailurePolicy { get; private set; } = null!; + + /// + /// Identifier name for Ocean CD Rollout Spec. Must be unique + /// + [Output("rolloutSpecName")] + public Output RolloutSpecName { get; private set; } = null!; + + /// + /// Represents the SpotDeployment selector. + /// + [Output("spotDeployment")] + public Output SpotDeployment { get; private set; } = null!; + + /// + /// You must specify either `spotDeployment` OR `spotDeployments` but not both. Every SpotDeployment has to be unique. If more than one `SpotDeployment` has been configured, no `traffic` managers can be set as part of the RolloutSpec.For such case ensure that each of the chosen SpotDeployments are being exposed with different Kubernetes services. + /// + [Output("spotDeployments")] + public Output> SpotDeployments { get; private set; } = null!; + + /// + /// Determines the Ocean CD strategy + /// + [Output("strategy")] + public Output Strategy { get; private set; } = null!; + + /// + /// Hosts all of the supported service meshes needed to enable more fine-grained traffic routing. In case `SpotDeployments` contains more than one SpotDeployment the `traffic` manager may not be configured. + /// + [Output("traffic")] + public Output Traffic { get; private set; } = null!; + + + /// + /// Create a RolloutSpec 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 RolloutSpec(string name, RolloutSpecArgs args, CustomResourceOptions? options = null) + : base("spotinst:oceancd/rolloutSpec:RolloutSpec", name, args ?? new RolloutSpecArgs(), MakeResourceOptions(options, "")) + { + } + + private RolloutSpec(string name, Input id, RolloutSpecState? state = null, CustomResourceOptions? options = null) + : base("spotinst:oceancd/rolloutSpec:RolloutSpec", 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 RolloutSpec 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 RolloutSpec Get(string name, Input id, RolloutSpecState? state = null, CustomResourceOptions? options = null) + { + return new RolloutSpec(name, id, state, options); + } + } + + public sealed class RolloutSpecArgs : global::Pulumi.ResourceArgs + { + /// + /// Holds information on how to react when failure happens. + /// + [Input("failurePolicy")] + public Input? FailurePolicy { get; set; } + + /// + /// Identifier name for Ocean CD Rollout Spec. Must be unique + /// + [Input("rolloutSpecName", required: true)] + public Input RolloutSpecName { get; set; } = null!; + + /// + /// Represents the SpotDeployment selector. + /// + [Input("spotDeployment")] + public Input? SpotDeployment { get; set; } + + [Input("spotDeployments")] + private InputList? _spotDeployments; + + /// + /// You must specify either `spotDeployment` OR `spotDeployments` but not both. Every SpotDeployment has to be unique. If more than one `SpotDeployment` has been configured, no `traffic` managers can be set as part of the RolloutSpec.For such case ensure that each of the chosen SpotDeployments are being exposed with different Kubernetes services. + /// + public InputList SpotDeployments + { + get => _spotDeployments ?? (_spotDeployments = new InputList()); + set => _spotDeployments = value; + } + + /// + /// Determines the Ocean CD strategy + /// + [Input("strategy", required: true)] + public Input Strategy { get; set; } = null!; + + /// + /// Hosts all of the supported service meshes needed to enable more fine-grained traffic routing. In case `SpotDeployments` contains more than one SpotDeployment the `traffic` manager may not be configured. + /// + [Input("traffic")] + public Input? Traffic { get; set; } + + public RolloutSpecArgs() + { + } + public static new RolloutSpecArgs Empty => new RolloutSpecArgs(); + } + + public sealed class RolloutSpecState : global::Pulumi.ResourceArgs + { + /// + /// Holds information on how to react when failure happens. + /// + [Input("failurePolicy")] + public Input? FailurePolicy { get; set; } + + /// + /// Identifier name for Ocean CD Rollout Spec. Must be unique + /// + [Input("rolloutSpecName")] + public Input? RolloutSpecName { get; set; } + + /// + /// Represents the SpotDeployment selector. + /// + [Input("spotDeployment")] + public Input? SpotDeployment { get; set; } + + [Input("spotDeployments")] + private InputList? _spotDeployments; + + /// + /// You must specify either `spotDeployment` OR `spotDeployments` but not both. Every SpotDeployment has to be unique. If more than one `SpotDeployment` has been configured, no `traffic` managers can be set as part of the RolloutSpec.For such case ensure that each of the chosen SpotDeployments are being exposed with different Kubernetes services. + /// + public InputList SpotDeployments + { + get => _spotDeployments ?? (_spotDeployments = new InputList()); + set => _spotDeployments = value; + } + + /// + /// Determines the Ocean CD strategy + /// + [Input("strategy")] + public Input? Strategy { get; set; } + + /// + /// Hosts all of the supported service meshes needed to enable more fine-grained traffic routing. In case `SpotDeployments` contains more than one SpotDeployment the `traffic` manager may not be configured. + /// + [Input("traffic")] + public Input? Traffic { get; set; } + + public RolloutSpecState() + { + } + public static new RolloutSpecState Empty => new RolloutSpecState(); + } +} diff --git a/sdk/dotnet/Oceancd/VerificationTemplate.cs b/sdk/dotnet/Oceancd/VerificationTemplate.cs new file mode 100644 index 00000000..53dac706 --- /dev/null +++ b/sdk/dotnet/Oceancd/VerificationTemplate.cs @@ -0,0 +1,349 @@ +// *** 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 Template resource. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using SpotInst = Pulumi.SpotInst; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test = new SpotInst.Oceancd.VerificationTemplate("test", new() + /// { + /// Name = "test-verification-template-tes", + /// Args = new[] + /// { + /// new SpotInst.Oceancd.Inputs.VerificationTemplateArgArgs + /// { + /// ArgName = "test-arg", + /// Value = "test", + /// ValueFrom = new SpotInst.Oceancd.Inputs.VerificationTemplateArgValueFromArgs + /// { + /// SecretKeyRef = new SpotInst.Oceancd.Inputs.VerificationTemplateArgValueFromSecretKeyRefArgs + /// { + /// Name = "test_key", + /// Key = "key-value-test", + /// }, + /// }, + /// }, + /// }, + /// Metrics = new[] + /// { + /// new SpotInst.Oceancd.Inputs.VerificationTemplateMetricArgs + /// { + /// MetricsName = "test-metrics-names", + /// DryRun = false, + /// Interval = "10m", + /// InitialDelay = "1m", + /// Count = 10, + /// SuccessCondition = "result[0] <= 0.95", + /// FailureCondition = "result[0] >= 0.95", + /// FailureLimit = 2, + /// ConsecutiveErrorLimit = 1, + /// Providers = new[] + /// { + /// new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderArgs + /// { + /// Prometheus = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderPrometheusArgs + /// { + /// PrometheusQuery = "http_requests_new", + /// }, + /// Datadog = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderDatadogArgs + /// { + /// Duration = "1m", + /// DatadogQuery = "avg:kubernetes.cpu.user.total", + /// }, + /// NewRelic = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderNewRelicArgs + /// { + /// Profile = "test", + /// NewRelicQuery = "FROM Metric SELECT count", + /// }, + /// CloudWatch = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderCloudWatchArgs + /// { + /// Duration = "5m", + /// MetricDataQueries = new[] + /// { + /// new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs + /// { + /// Id = "utilization", + /// MetricStat = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs + /// { + /// Metric = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs + /// { + /// MetricName = "Test", + /// Namespace = "AWS/EC2", + /// Dimensions = new[] + /// { + /// new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs + /// { + /// DimensionName = "instandId", + /// DimensionValue = "i-123044", + /// }, + /// }, + /// }, + /// MetricPeriod = 400, + /// Stat = "average", + /// Unit = "None", + /// }, + /// Expression = "SELECT AVG(CPUUtilization) FROM SCHEMA", + /// Label = "TestLabel", + /// ReturnData = false, + /// Period = 300, + /// }, + /// }, + /// }, + /// Web = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderWebArgs + /// { + /// Method = "GET", + /// Url = "https://oceancd.com/api/v1/metrics?clusterId= args.clusterId", + /// WebHeaders = new[] + /// { + /// new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderWebWebHeaderArgs + /// { + /// WebHeaderKey = "Autorization", + /// WebHeaderValue = "Bearer=args.token", + /// }, + /// }, + /// Body = "{\"key\": \"test\"}", + /// TimeoutSeconds = 20, + /// JsonPath = "$.data", + /// Insecure = false, + /// }, + /// Job = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderJobArgs + /// { + /// Specs = new[] + /// { + /// new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderJobSpecArgs + /// { + /// BackoffLimit = 1, + /// JobTemplates = new[] + /// { + /// new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderJobSpecJobTemplateArgs + /// { + /// TemplateSpecs = new[] + /// { + /// new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs + /// { + /// Containers = new[] + /// { + /// new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs + /// { + /// ContainerName = "hello", + /// Commands = new[] + /// { + /// "sh", + /// "-c", + /// }, + /// Image = "nginx.2.1", + /// }, + /// }, + /// RestartPolicy = "never", + /// }, + /// }, + /// }, + /// }, + /// }, + /// }, + /// }, + /// Jenkins = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderJenkinsArgs + /// { + /// PipelineName = "testPipelineName", + /// TlsVerification = true, + /// Timeout = "2m", + /// JenkinsInterval = "5s", + /// JenkinsParameters = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs + /// { + /// ParameterKey = "app", + /// ParameterValue = "my-app", + /// }, + /// }, + /// }, + /// }, + /// Baseline = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricBaselineArgs + /// { + /// BaselineProviders = new[] + /// { + /// new SpotInst.Oceancd.Inputs.VerificationTemplateMetricBaselineBaselineProviderArgs + /// { + /// Prometheus = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs + /// { + /// PrometheusQuery = "http_requests_total.status!", + /// }, + /// Datadog = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricBaselineBaselineProviderDatadogArgs + /// { + /// Duration = "2m", + /// DatadogQuery = "avg:kubernetes.cpu.user", + /// }, + /// NewRelic = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs + /// { + /// Profile = "test", + /// NewRelicQuery = "FROM Metric SELECT count*", + /// }, + /// }, + /// }, + /// MinRange = 40, + /// MaxRange = 50, + /// Threshold = "range", + /// }, + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// + [SpotInstResourceType("spotinst:oceancd/verificationTemplate:VerificationTemplate")] + public partial class VerificationTemplate : global::Pulumi.CustomResource + { + /// + /// List of verification arguments. You may specify either `value` OR `valueFrom` but not both.In case `args`:`value` is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity. + /// + [Output("args")] + public Output> Args { get; private set; } = null!; + + /// + /// List of verification metrics. + /// + [Output("metrics")] + public Output> Metrics { get; private set; } = null!; + + /// + /// Identifier name for Ocean CD Verification Template. Must be unique. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + + /// + /// Create a VerificationTemplate 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 VerificationTemplate(string name, VerificationTemplateArgs? args = null, CustomResourceOptions? options = null) + : base("spotinst:oceancd/verificationTemplate:VerificationTemplate", name, args ?? new VerificationTemplateArgs(), MakeResourceOptions(options, "")) + { + } + + private VerificationTemplate(string name, Input id, VerificationTemplateState? state = null, CustomResourceOptions? options = null) + : base("spotinst:oceancd/verificationTemplate:VerificationTemplate", 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 VerificationTemplate 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 VerificationTemplate Get(string name, Input id, VerificationTemplateState? state = null, CustomResourceOptions? options = null) + { + return new VerificationTemplate(name, id, state, options); + } + } + + public sealed class VerificationTemplateArgs : global::Pulumi.ResourceArgs + { + [Input("args")] + private InputList? _args; + + /// + /// List of verification arguments. You may specify either `value` OR `valueFrom` but not both.In case `args`:`value` is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity. + /// + public InputList Args + { + get => _args ?? (_args = new InputList()); + set => _args = value; + } + + [Input("metrics")] + private InputList? _metrics; + + /// + /// List of verification metrics. + /// + public InputList Metrics + { + get => _metrics ?? (_metrics = new InputList()); + set => _metrics = value; + } + + /// + /// Identifier name for Ocean CD Verification Template. Must be unique. + /// + [Input("name")] + public Input? Name { get; set; } + + public VerificationTemplateArgs() + { + } + public static new VerificationTemplateArgs Empty => new VerificationTemplateArgs(); + } + + public sealed class VerificationTemplateState : global::Pulumi.ResourceArgs + { + [Input("args")] + private InputList? _args; + + /// + /// List of verification arguments. You may specify either `value` OR `valueFrom` but not both.In case `args`:`value` is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity. + /// + public InputList Args + { + get => _args ?? (_args = new InputList()); + set => _args = value; + } + + [Input("metrics")] + private InputList? _metrics; + + /// + /// List of verification metrics. + /// + public InputList Metrics + { + get => _metrics ?? (_metrics = new InputList()); + set => _metrics = value; + } + + /// + /// Identifier name for Ocean CD Verification Template. Must be unique. + /// + [Input("name")] + public Input? Name { get; set; } + + public VerificationTemplateState() + { + } + public static new VerificationTemplateState Empty => new VerificationTemplateState(); + } +} diff --git a/sdk/go/spotinst/oceancd/init.go b/sdk/go/spotinst/oceancd/init.go index 739f99e6..40ed2822 100644 --- a/sdk/go/spotinst/oceancd/init.go +++ b/sdk/go/spotinst/oceancd/init.go @@ -21,10 +21,14 @@ func (m *module) Version() semver.Version { func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) { switch typ { + case "spotinst:oceancd/rolloutSpec:RolloutSpec": + r = &RolloutSpec{} case "spotinst:oceancd/strategy:Strategy": r = &Strategy{} case "spotinst:oceancd/verificationProvider:VerificationProvider": r = &VerificationProvider{} + case "spotinst:oceancd/verificationTemplate:VerificationTemplate": + r = &VerificationTemplate{} default: return nil, fmt.Errorf("unknown resource type: %s", typ) } @@ -38,6 +42,11 @@ func init() { if err != nil { version = semver.Version{Major: 1} } + pulumi.RegisterResourceModule( + "spotinst", + "oceancd/rolloutSpec", + &module{version}, + ) pulumi.RegisterResourceModule( "spotinst", "oceancd/strategy", @@ -48,4 +57,9 @@ func init() { "oceancd/verificationProvider", &module{version}, ) + pulumi.RegisterResourceModule( + "spotinst", + "oceancd/verificationTemplate", + &module{version}, + ) } diff --git a/sdk/go/spotinst/oceancd/pulumiTypes.go b/sdk/go/spotinst/oceancd/pulumiTypes.go index 93c987ee..5e4a369d 100644 --- a/sdk/go/spotinst/oceancd/pulumiTypes.go +++ b/sdk/go/spotinst/oceancd/pulumiTypes.go @@ -13,851 +13,3608 @@ import ( 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"` +type RolloutSpecFailurePolicy struct { + // Choose an action to perform on failure. Default is `abort`. Enum: "abort" "pause" "promote". + Action string `pulumi:"action"` } -// StrategyCanaryInput is an input type that accepts StrategyCanaryArgs and StrategyCanaryOutput values. -// You can construct a concrete instance of `StrategyCanaryInput` via: +// RolloutSpecFailurePolicyInput is an input type that accepts RolloutSpecFailurePolicyArgs and RolloutSpecFailurePolicyOutput values. +// You can construct a concrete instance of `RolloutSpecFailurePolicyInput` via: // -// StrategyCanaryArgs{...} -type StrategyCanaryInput interface { +// RolloutSpecFailurePolicyArgs{...} +type RolloutSpecFailurePolicyInput interface { pulumi.Input - ToStrategyCanaryOutput() StrategyCanaryOutput - ToStrategyCanaryOutputWithContext(context.Context) StrategyCanaryOutput + ToRolloutSpecFailurePolicyOutput() RolloutSpecFailurePolicyOutput + ToRolloutSpecFailurePolicyOutputWithContext(context.Context) RolloutSpecFailurePolicyOutput } -type StrategyCanaryArgs struct { - // A list of background verifications. - BackgroundVerification StrategyCanaryBackgroundVerificationPtrInput `pulumi:"backgroundVerification"` - // A set of separate conditions of rollout processing. - Steps StrategyCanaryStepArrayInput `pulumi:"steps"` +type RolloutSpecFailurePolicyArgs struct { + // Choose an action to perform on failure. Default is `abort`. Enum: "abort" "pause" "promote". + Action pulumi.StringInput `pulumi:"action"` } -func (StrategyCanaryArgs) ElementType() reflect.Type { - return reflect.TypeOf((*StrategyCanary)(nil)).Elem() +func (RolloutSpecFailurePolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RolloutSpecFailurePolicy)(nil)).Elem() } -func (i StrategyCanaryArgs) ToStrategyCanaryOutput() StrategyCanaryOutput { - return i.ToStrategyCanaryOutputWithContext(context.Background()) +func (i RolloutSpecFailurePolicyArgs) ToRolloutSpecFailurePolicyOutput() RolloutSpecFailurePolicyOutput { + return i.ToRolloutSpecFailurePolicyOutputWithContext(context.Background()) } -func (i StrategyCanaryArgs) ToStrategyCanaryOutputWithContext(ctx context.Context) StrategyCanaryOutput { - return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryOutput) +func (i RolloutSpecFailurePolicyArgs) ToRolloutSpecFailurePolicyOutputWithContext(ctx context.Context) RolloutSpecFailurePolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecFailurePolicyOutput) } -func (i StrategyCanaryArgs) ToStrategyCanaryPtrOutput() StrategyCanaryPtrOutput { - return i.ToStrategyCanaryPtrOutputWithContext(context.Background()) +func (i RolloutSpecFailurePolicyArgs) ToRolloutSpecFailurePolicyPtrOutput() RolloutSpecFailurePolicyPtrOutput { + return i.ToRolloutSpecFailurePolicyPtrOutputWithContext(context.Background()) } -func (i StrategyCanaryArgs) ToStrategyCanaryPtrOutputWithContext(ctx context.Context) StrategyCanaryPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryOutput).ToStrategyCanaryPtrOutputWithContext(ctx) +func (i RolloutSpecFailurePolicyArgs) ToRolloutSpecFailurePolicyPtrOutputWithContext(ctx context.Context) RolloutSpecFailurePolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecFailurePolicyOutput).ToRolloutSpecFailurePolicyPtrOutputWithContext(ctx) } -// StrategyCanaryPtrInput is an input type that accepts StrategyCanaryArgs, StrategyCanaryPtr and StrategyCanaryPtrOutput values. -// You can construct a concrete instance of `StrategyCanaryPtrInput` via: +// RolloutSpecFailurePolicyPtrInput is an input type that accepts RolloutSpecFailurePolicyArgs, RolloutSpecFailurePolicyPtr and RolloutSpecFailurePolicyPtrOutput values. +// You can construct a concrete instance of `RolloutSpecFailurePolicyPtrInput` via: // -// StrategyCanaryArgs{...} +// RolloutSpecFailurePolicyArgs{...} // // or: // // nil -type StrategyCanaryPtrInput interface { +type RolloutSpecFailurePolicyPtrInput interface { pulumi.Input - ToStrategyCanaryPtrOutput() StrategyCanaryPtrOutput - ToStrategyCanaryPtrOutputWithContext(context.Context) StrategyCanaryPtrOutput + ToRolloutSpecFailurePolicyPtrOutput() RolloutSpecFailurePolicyPtrOutput + ToRolloutSpecFailurePolicyPtrOutputWithContext(context.Context) RolloutSpecFailurePolicyPtrOutput } -type strategyCanaryPtrType StrategyCanaryArgs +type rolloutSpecFailurePolicyPtrType RolloutSpecFailurePolicyArgs -func StrategyCanaryPtr(v *StrategyCanaryArgs) StrategyCanaryPtrInput { - return (*strategyCanaryPtrType)(v) +func RolloutSpecFailurePolicyPtr(v *RolloutSpecFailurePolicyArgs) RolloutSpecFailurePolicyPtrInput { + return (*rolloutSpecFailurePolicyPtrType)(v) } -func (*strategyCanaryPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**StrategyCanary)(nil)).Elem() +func (*rolloutSpecFailurePolicyPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RolloutSpecFailurePolicy)(nil)).Elem() } -func (i *strategyCanaryPtrType) ToStrategyCanaryPtrOutput() StrategyCanaryPtrOutput { - return i.ToStrategyCanaryPtrOutputWithContext(context.Background()) +func (i *rolloutSpecFailurePolicyPtrType) ToRolloutSpecFailurePolicyPtrOutput() RolloutSpecFailurePolicyPtrOutput { + return i.ToRolloutSpecFailurePolicyPtrOutputWithContext(context.Background()) } -func (i *strategyCanaryPtrType) ToStrategyCanaryPtrOutputWithContext(ctx context.Context) StrategyCanaryPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryPtrOutput) +func (i *rolloutSpecFailurePolicyPtrType) ToRolloutSpecFailurePolicyPtrOutputWithContext(ctx context.Context) RolloutSpecFailurePolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecFailurePolicyPtrOutput) } -type StrategyCanaryOutput struct{ *pulumi.OutputState } +type RolloutSpecFailurePolicyOutput struct{ *pulumi.OutputState } -func (StrategyCanaryOutput) ElementType() reflect.Type { - return reflect.TypeOf((*StrategyCanary)(nil)).Elem() +func (RolloutSpecFailurePolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RolloutSpecFailurePolicy)(nil)).Elem() } -func (o StrategyCanaryOutput) ToStrategyCanaryOutput() StrategyCanaryOutput { +func (o RolloutSpecFailurePolicyOutput) ToRolloutSpecFailurePolicyOutput() RolloutSpecFailurePolicyOutput { return o } -func (o StrategyCanaryOutput) ToStrategyCanaryOutputWithContext(ctx context.Context) StrategyCanaryOutput { +func (o RolloutSpecFailurePolicyOutput) ToRolloutSpecFailurePolicyOutputWithContext(ctx context.Context) RolloutSpecFailurePolicyOutput { return o } -func (o StrategyCanaryOutput) ToStrategyCanaryPtrOutput() StrategyCanaryPtrOutput { - return o.ToStrategyCanaryPtrOutputWithContext(context.Background()) +func (o RolloutSpecFailurePolicyOutput) ToRolloutSpecFailurePolicyPtrOutput() RolloutSpecFailurePolicyPtrOutput { + return o.ToRolloutSpecFailurePolicyPtrOutputWithContext(context.Background()) } -func (o StrategyCanaryOutput) ToStrategyCanaryPtrOutputWithContext(ctx context.Context) StrategyCanaryPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v StrategyCanary) *StrategyCanary { +func (o RolloutSpecFailurePolicyOutput) ToRolloutSpecFailurePolicyPtrOutputWithContext(ctx context.Context) RolloutSpecFailurePolicyPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RolloutSpecFailurePolicy) *RolloutSpecFailurePolicy { return &v - }).(StrategyCanaryPtrOutput) -} - -// A list of background verifications. -func (o StrategyCanaryOutput) BackgroundVerification() StrategyCanaryBackgroundVerificationPtrOutput { - return o.ApplyT(func(v StrategyCanary) *StrategyCanaryBackgroundVerification { return v.BackgroundVerification }).(StrategyCanaryBackgroundVerificationPtrOutput) + }).(RolloutSpecFailurePolicyPtrOutput) } -// A set of separate conditions of rollout processing. -func (o StrategyCanaryOutput) Steps() StrategyCanaryStepArrayOutput { - return o.ApplyT(func(v StrategyCanary) []StrategyCanaryStep { return v.Steps }).(StrategyCanaryStepArrayOutput) +// Choose an action to perform on failure. Default is `abort`. Enum: "abort" "pause" "promote". +func (o RolloutSpecFailurePolicyOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v RolloutSpecFailurePolicy) string { return v.Action }).(pulumi.StringOutput) } -type StrategyCanaryPtrOutput struct{ *pulumi.OutputState } +type RolloutSpecFailurePolicyPtrOutput struct{ *pulumi.OutputState } -func (StrategyCanaryPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**StrategyCanary)(nil)).Elem() +func (RolloutSpecFailurePolicyPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RolloutSpecFailurePolicy)(nil)).Elem() } -func (o StrategyCanaryPtrOutput) ToStrategyCanaryPtrOutput() StrategyCanaryPtrOutput { +func (o RolloutSpecFailurePolicyPtrOutput) ToRolloutSpecFailurePolicyPtrOutput() RolloutSpecFailurePolicyPtrOutput { return o } -func (o StrategyCanaryPtrOutput) ToStrategyCanaryPtrOutputWithContext(ctx context.Context) StrategyCanaryPtrOutput { +func (o RolloutSpecFailurePolicyPtrOutput) ToRolloutSpecFailurePolicyPtrOutputWithContext(ctx context.Context) RolloutSpecFailurePolicyPtrOutput { return o } -func (o StrategyCanaryPtrOutput) Elem() StrategyCanaryOutput { - return o.ApplyT(func(v *StrategyCanary) StrategyCanary { +func (o RolloutSpecFailurePolicyPtrOutput) Elem() RolloutSpecFailurePolicyOutput { + return o.ApplyT(func(v *RolloutSpecFailurePolicy) RolloutSpecFailurePolicy { if v != nil { return *v } - var ret StrategyCanary + var ret RolloutSpecFailurePolicy 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) + }).(RolloutSpecFailurePolicyOutput) } -// A set of separate conditions of rollout processing. -func (o StrategyCanaryPtrOutput) Steps() StrategyCanaryStepArrayOutput { - return o.ApplyT(func(v *StrategyCanary) []StrategyCanaryStep { +// Choose an action to perform on failure. Default is `abort`. Enum: "abort" "pause" "promote". +func (o RolloutSpecFailurePolicyPtrOutput) Action() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RolloutSpecFailurePolicy) *string { if v == nil { return nil } - return v.Steps - }).(StrategyCanaryStepArrayOutput) + return &v.Action + }).(pulumi.StringPtrOutput) } -type StrategyCanaryBackgroundVerification struct { - TemplateNames []string `pulumi:"templateNames"` +type RolloutSpecSpotDeployment struct { + // Ocean CD cluster identifier for the references `SpotDeployment`. + SpotDeploymentsClusterId *string `pulumi:"spotDeploymentsClusterId"` + // The name of the `SpotDeployment` resource + SpotDeploymentsName *string `pulumi:"spotDeploymentsName"` + // The namespace which the `SpotDeployment` resource exists within. + SpotDeploymentsNamespace *string `pulumi:"spotDeploymentsNamespace"` } -// StrategyCanaryBackgroundVerificationInput is an input type that accepts StrategyCanaryBackgroundVerificationArgs and StrategyCanaryBackgroundVerificationOutput values. -// You can construct a concrete instance of `StrategyCanaryBackgroundVerificationInput` via: +// RolloutSpecSpotDeploymentInput is an input type that accepts RolloutSpecSpotDeploymentArgs and RolloutSpecSpotDeploymentOutput values. +// You can construct a concrete instance of `RolloutSpecSpotDeploymentInput` via: // -// StrategyCanaryBackgroundVerificationArgs{...} -type StrategyCanaryBackgroundVerificationInput interface { +// RolloutSpecSpotDeploymentArgs{...} +type RolloutSpecSpotDeploymentInput interface { pulumi.Input - ToStrategyCanaryBackgroundVerificationOutput() StrategyCanaryBackgroundVerificationOutput - ToStrategyCanaryBackgroundVerificationOutputWithContext(context.Context) StrategyCanaryBackgroundVerificationOutput + ToRolloutSpecSpotDeploymentOutput() RolloutSpecSpotDeploymentOutput + ToRolloutSpecSpotDeploymentOutputWithContext(context.Context) RolloutSpecSpotDeploymentOutput } -type StrategyCanaryBackgroundVerificationArgs struct { - TemplateNames pulumi.StringArrayInput `pulumi:"templateNames"` +type RolloutSpecSpotDeploymentArgs struct { + // Ocean CD cluster identifier for the references `SpotDeployment`. + SpotDeploymentsClusterId pulumi.StringPtrInput `pulumi:"spotDeploymentsClusterId"` + // The name of the `SpotDeployment` resource + SpotDeploymentsName pulumi.StringPtrInput `pulumi:"spotDeploymentsName"` + // The namespace which the `SpotDeployment` resource exists within. + SpotDeploymentsNamespace pulumi.StringPtrInput `pulumi:"spotDeploymentsNamespace"` } -func (StrategyCanaryBackgroundVerificationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*StrategyCanaryBackgroundVerification)(nil)).Elem() +func (RolloutSpecSpotDeploymentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RolloutSpecSpotDeployment)(nil)).Elem() } -func (i StrategyCanaryBackgroundVerificationArgs) ToStrategyCanaryBackgroundVerificationOutput() StrategyCanaryBackgroundVerificationOutput { - return i.ToStrategyCanaryBackgroundVerificationOutputWithContext(context.Background()) +func (i RolloutSpecSpotDeploymentArgs) ToRolloutSpecSpotDeploymentOutput() RolloutSpecSpotDeploymentOutput { + return i.ToRolloutSpecSpotDeploymentOutputWithContext(context.Background()) } -func (i StrategyCanaryBackgroundVerificationArgs) ToStrategyCanaryBackgroundVerificationOutputWithContext(ctx context.Context) StrategyCanaryBackgroundVerificationOutput { - return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryBackgroundVerificationOutput) +func (i RolloutSpecSpotDeploymentArgs) ToRolloutSpecSpotDeploymentOutputWithContext(ctx context.Context) RolloutSpecSpotDeploymentOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecSpotDeploymentOutput) } -func (i StrategyCanaryBackgroundVerificationArgs) ToStrategyCanaryBackgroundVerificationPtrOutput() StrategyCanaryBackgroundVerificationPtrOutput { - return i.ToStrategyCanaryBackgroundVerificationPtrOutputWithContext(context.Background()) +func (i RolloutSpecSpotDeploymentArgs) ToRolloutSpecSpotDeploymentPtrOutput() RolloutSpecSpotDeploymentPtrOutput { + return i.ToRolloutSpecSpotDeploymentPtrOutputWithContext(context.Background()) } -func (i StrategyCanaryBackgroundVerificationArgs) ToStrategyCanaryBackgroundVerificationPtrOutputWithContext(ctx context.Context) StrategyCanaryBackgroundVerificationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryBackgroundVerificationOutput).ToStrategyCanaryBackgroundVerificationPtrOutputWithContext(ctx) +func (i RolloutSpecSpotDeploymentArgs) ToRolloutSpecSpotDeploymentPtrOutputWithContext(ctx context.Context) RolloutSpecSpotDeploymentPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecSpotDeploymentOutput).ToRolloutSpecSpotDeploymentPtrOutputWithContext(ctx) } -// StrategyCanaryBackgroundVerificationPtrInput is an input type that accepts StrategyCanaryBackgroundVerificationArgs, StrategyCanaryBackgroundVerificationPtr and StrategyCanaryBackgroundVerificationPtrOutput values. -// You can construct a concrete instance of `StrategyCanaryBackgroundVerificationPtrInput` via: +// RolloutSpecSpotDeploymentPtrInput is an input type that accepts RolloutSpecSpotDeploymentArgs, RolloutSpecSpotDeploymentPtr and RolloutSpecSpotDeploymentPtrOutput values. +// You can construct a concrete instance of `RolloutSpecSpotDeploymentPtrInput` via: // -// StrategyCanaryBackgroundVerificationArgs{...} +// RolloutSpecSpotDeploymentArgs{...} // // or: // // nil -type StrategyCanaryBackgroundVerificationPtrInput interface { +type RolloutSpecSpotDeploymentPtrInput interface { pulumi.Input - ToStrategyCanaryBackgroundVerificationPtrOutput() StrategyCanaryBackgroundVerificationPtrOutput - ToStrategyCanaryBackgroundVerificationPtrOutputWithContext(context.Context) StrategyCanaryBackgroundVerificationPtrOutput + ToRolloutSpecSpotDeploymentPtrOutput() RolloutSpecSpotDeploymentPtrOutput + ToRolloutSpecSpotDeploymentPtrOutputWithContext(context.Context) RolloutSpecSpotDeploymentPtrOutput } -type strategyCanaryBackgroundVerificationPtrType StrategyCanaryBackgroundVerificationArgs +type rolloutSpecSpotDeploymentPtrType RolloutSpecSpotDeploymentArgs -func StrategyCanaryBackgroundVerificationPtr(v *StrategyCanaryBackgroundVerificationArgs) StrategyCanaryBackgroundVerificationPtrInput { - return (*strategyCanaryBackgroundVerificationPtrType)(v) +func RolloutSpecSpotDeploymentPtr(v *RolloutSpecSpotDeploymentArgs) RolloutSpecSpotDeploymentPtrInput { + return (*rolloutSpecSpotDeploymentPtrType)(v) } -func (*strategyCanaryBackgroundVerificationPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**StrategyCanaryBackgroundVerification)(nil)).Elem() +func (*rolloutSpecSpotDeploymentPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RolloutSpecSpotDeployment)(nil)).Elem() } -func (i *strategyCanaryBackgroundVerificationPtrType) ToStrategyCanaryBackgroundVerificationPtrOutput() StrategyCanaryBackgroundVerificationPtrOutput { - return i.ToStrategyCanaryBackgroundVerificationPtrOutputWithContext(context.Background()) +func (i *rolloutSpecSpotDeploymentPtrType) ToRolloutSpecSpotDeploymentPtrOutput() RolloutSpecSpotDeploymentPtrOutput { + return i.ToRolloutSpecSpotDeploymentPtrOutputWithContext(context.Background()) } -func (i *strategyCanaryBackgroundVerificationPtrType) ToStrategyCanaryBackgroundVerificationPtrOutputWithContext(ctx context.Context) StrategyCanaryBackgroundVerificationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryBackgroundVerificationPtrOutput) +func (i *rolloutSpecSpotDeploymentPtrType) ToRolloutSpecSpotDeploymentPtrOutputWithContext(ctx context.Context) RolloutSpecSpotDeploymentPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecSpotDeploymentPtrOutput) } -type StrategyCanaryBackgroundVerificationOutput struct{ *pulumi.OutputState } +// RolloutSpecSpotDeploymentArrayInput is an input type that accepts RolloutSpecSpotDeploymentArray and RolloutSpecSpotDeploymentArrayOutput values. +// You can construct a concrete instance of `RolloutSpecSpotDeploymentArrayInput` via: +// +// RolloutSpecSpotDeploymentArray{ RolloutSpecSpotDeploymentArgs{...} } +type RolloutSpecSpotDeploymentArrayInput interface { + pulumi.Input -func (StrategyCanaryBackgroundVerificationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*StrategyCanaryBackgroundVerification)(nil)).Elem() + ToRolloutSpecSpotDeploymentArrayOutput() RolloutSpecSpotDeploymentArrayOutput + ToRolloutSpecSpotDeploymentArrayOutputWithContext(context.Context) RolloutSpecSpotDeploymentArrayOutput } -func (o StrategyCanaryBackgroundVerificationOutput) ToStrategyCanaryBackgroundVerificationOutput() StrategyCanaryBackgroundVerificationOutput { +type RolloutSpecSpotDeploymentArray []RolloutSpecSpotDeploymentInput + +func (RolloutSpecSpotDeploymentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RolloutSpecSpotDeployment)(nil)).Elem() +} + +func (i RolloutSpecSpotDeploymentArray) ToRolloutSpecSpotDeploymentArrayOutput() RolloutSpecSpotDeploymentArrayOutput { + return i.ToRolloutSpecSpotDeploymentArrayOutputWithContext(context.Background()) +} + +func (i RolloutSpecSpotDeploymentArray) ToRolloutSpecSpotDeploymentArrayOutputWithContext(ctx context.Context) RolloutSpecSpotDeploymentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecSpotDeploymentArrayOutput) +} + +type RolloutSpecSpotDeploymentOutput struct{ *pulumi.OutputState } + +func (RolloutSpecSpotDeploymentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RolloutSpecSpotDeployment)(nil)).Elem() +} + +func (o RolloutSpecSpotDeploymentOutput) ToRolloutSpecSpotDeploymentOutput() RolloutSpecSpotDeploymentOutput { return o } -func (o StrategyCanaryBackgroundVerificationOutput) ToStrategyCanaryBackgroundVerificationOutputWithContext(ctx context.Context) StrategyCanaryBackgroundVerificationOutput { +func (o RolloutSpecSpotDeploymentOutput) ToRolloutSpecSpotDeploymentOutputWithContext(ctx context.Context) RolloutSpecSpotDeploymentOutput { return o } -func (o StrategyCanaryBackgroundVerificationOutput) ToStrategyCanaryBackgroundVerificationPtrOutput() StrategyCanaryBackgroundVerificationPtrOutput { - return o.ToStrategyCanaryBackgroundVerificationPtrOutputWithContext(context.Background()) +func (o RolloutSpecSpotDeploymentOutput) ToRolloutSpecSpotDeploymentPtrOutput() RolloutSpecSpotDeploymentPtrOutput { + return o.ToRolloutSpecSpotDeploymentPtrOutputWithContext(context.Background()) } -func (o StrategyCanaryBackgroundVerificationOutput) ToStrategyCanaryBackgroundVerificationPtrOutputWithContext(ctx context.Context) StrategyCanaryBackgroundVerificationPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v StrategyCanaryBackgroundVerification) *StrategyCanaryBackgroundVerification { +func (o RolloutSpecSpotDeploymentOutput) ToRolloutSpecSpotDeploymentPtrOutputWithContext(ctx context.Context) RolloutSpecSpotDeploymentPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RolloutSpecSpotDeployment) *RolloutSpecSpotDeployment { return &v - }).(StrategyCanaryBackgroundVerificationPtrOutput) + }).(RolloutSpecSpotDeploymentPtrOutput) } -func (o StrategyCanaryBackgroundVerificationOutput) TemplateNames() pulumi.StringArrayOutput { - return o.ApplyT(func(v StrategyCanaryBackgroundVerification) []string { return v.TemplateNames }).(pulumi.StringArrayOutput) +// Ocean CD cluster identifier for the references `SpotDeployment`. +func (o RolloutSpecSpotDeploymentOutput) SpotDeploymentsClusterId() pulumi.StringPtrOutput { + return o.ApplyT(func(v RolloutSpecSpotDeployment) *string { return v.SpotDeploymentsClusterId }).(pulumi.StringPtrOutput) } -type StrategyCanaryBackgroundVerificationPtrOutput struct{ *pulumi.OutputState } +// The name of the `SpotDeployment` resource +func (o RolloutSpecSpotDeploymentOutput) SpotDeploymentsName() pulumi.StringPtrOutput { + return o.ApplyT(func(v RolloutSpecSpotDeployment) *string { return v.SpotDeploymentsName }).(pulumi.StringPtrOutput) +} -func (StrategyCanaryBackgroundVerificationPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**StrategyCanaryBackgroundVerification)(nil)).Elem() +// The namespace which the `SpotDeployment` resource exists within. +func (o RolloutSpecSpotDeploymentOutput) SpotDeploymentsNamespace() pulumi.StringPtrOutput { + return o.ApplyT(func(v RolloutSpecSpotDeployment) *string { return v.SpotDeploymentsNamespace }).(pulumi.StringPtrOutput) } -func (o StrategyCanaryBackgroundVerificationPtrOutput) ToStrategyCanaryBackgroundVerificationPtrOutput() StrategyCanaryBackgroundVerificationPtrOutput { +type RolloutSpecSpotDeploymentPtrOutput struct{ *pulumi.OutputState } + +func (RolloutSpecSpotDeploymentPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RolloutSpecSpotDeployment)(nil)).Elem() +} + +func (o RolloutSpecSpotDeploymentPtrOutput) ToRolloutSpecSpotDeploymentPtrOutput() RolloutSpecSpotDeploymentPtrOutput { return o } -func (o StrategyCanaryBackgroundVerificationPtrOutput) ToStrategyCanaryBackgroundVerificationPtrOutputWithContext(ctx context.Context) StrategyCanaryBackgroundVerificationPtrOutput { +func (o RolloutSpecSpotDeploymentPtrOutput) ToRolloutSpecSpotDeploymentPtrOutputWithContext(ctx context.Context) RolloutSpecSpotDeploymentPtrOutput { return o } -func (o StrategyCanaryBackgroundVerificationPtrOutput) Elem() StrategyCanaryBackgroundVerificationOutput { - return o.ApplyT(func(v *StrategyCanaryBackgroundVerification) StrategyCanaryBackgroundVerification { +func (o RolloutSpecSpotDeploymentPtrOutput) Elem() RolloutSpecSpotDeploymentOutput { + return o.ApplyT(func(v *RolloutSpecSpotDeployment) RolloutSpecSpotDeployment { if v != nil { return *v } - var ret StrategyCanaryBackgroundVerification + var ret RolloutSpecSpotDeployment return ret - }).(StrategyCanaryBackgroundVerificationOutput) + }).(RolloutSpecSpotDeploymentOutput) } -func (o StrategyCanaryBackgroundVerificationPtrOutput) TemplateNames() pulumi.StringArrayOutput { - return o.ApplyT(func(v *StrategyCanaryBackgroundVerification) []string { +// Ocean CD cluster identifier for the references `SpotDeployment`. +func (o RolloutSpecSpotDeploymentPtrOutput) SpotDeploymentsClusterId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RolloutSpecSpotDeployment) *string { if v == nil { return nil } - return v.TemplateNames - }).(pulumi.StringArrayOutput) + return v.SpotDeploymentsClusterId + }).(pulumi.StringPtrOutput) } -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"` +// The name of the `SpotDeployment` resource +func (o RolloutSpecSpotDeploymentPtrOutput) SpotDeploymentsName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RolloutSpecSpotDeployment) *string { + if v == nil { + return nil + } + return v.SpotDeploymentsName + }).(pulumi.StringPtrOutput) } -// 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 +// The namespace which the `SpotDeployment` resource exists within. +func (o RolloutSpecSpotDeploymentPtrOutput) SpotDeploymentsNamespace() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RolloutSpecSpotDeployment) *string { + if v == nil { + return nil + } + return v.SpotDeploymentsNamespace + }).(pulumi.StringPtrOutput) +} - ToStrategyCanaryStepOutput() StrategyCanaryStepOutput - ToStrategyCanaryStepOutputWithContext(context.Context) StrategyCanaryStepOutput +type RolloutSpecSpotDeploymentArrayOutput struct{ *pulumi.OutputState } + +func (RolloutSpecSpotDeploymentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RolloutSpecSpotDeployment)(nil)).Elem() } -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 (o RolloutSpecSpotDeploymentArrayOutput) ToRolloutSpecSpotDeploymentArrayOutput() RolloutSpecSpotDeploymentArrayOutput { + return o } -func (StrategyCanaryStepArgs) ElementType() reflect.Type { - return reflect.TypeOf((*StrategyCanaryStep)(nil)).Elem() +func (o RolloutSpecSpotDeploymentArrayOutput) ToRolloutSpecSpotDeploymentArrayOutputWithContext(ctx context.Context) RolloutSpecSpotDeploymentArrayOutput { + return o } -func (i StrategyCanaryStepArgs) ToStrategyCanaryStepOutput() StrategyCanaryStepOutput { - return i.ToStrategyCanaryStepOutputWithContext(context.Background()) +func (o RolloutSpecSpotDeploymentArrayOutput) Index(i pulumi.IntInput) RolloutSpecSpotDeploymentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RolloutSpecSpotDeployment { + return vs[0].([]RolloutSpecSpotDeployment)[vs[1].(int)] + }).(RolloutSpecSpotDeploymentOutput) } -func (i StrategyCanaryStepArgs) ToStrategyCanaryStepOutputWithContext(ctx context.Context) StrategyCanaryStepOutput { - return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryStepOutput) +type RolloutSpecStrategy struct { + // Arguments defined in Verification Templates. + Args []RolloutSpecStrategyArg `pulumi:"args"` + // Ocean CD strategy name identifier. + StrategyName string `pulumi:"strategyName"` } -// StrategyCanaryStepArrayInput is an input type that accepts StrategyCanaryStepArray and StrategyCanaryStepArrayOutput values. -// You can construct a concrete instance of `StrategyCanaryStepArrayInput` via: +// RolloutSpecStrategyInput is an input type that accepts RolloutSpecStrategyArgs and RolloutSpecStrategyOutput values. +// You can construct a concrete instance of `RolloutSpecStrategyInput` via: // -// StrategyCanaryStepArray{ StrategyCanaryStepArgs{...} } -type StrategyCanaryStepArrayInput interface { +// RolloutSpecStrategyArgs{...} +type RolloutSpecStrategyInput interface { pulumi.Input - ToStrategyCanaryStepArrayOutput() StrategyCanaryStepArrayOutput - ToStrategyCanaryStepArrayOutputWithContext(context.Context) StrategyCanaryStepArrayOutput + ToRolloutSpecStrategyOutput() RolloutSpecStrategyOutput + ToRolloutSpecStrategyOutputWithContext(context.Context) RolloutSpecStrategyOutput } -type StrategyCanaryStepArray []StrategyCanaryStepInput - -func (StrategyCanaryStepArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]StrategyCanaryStep)(nil)).Elem() +type RolloutSpecStrategyArgs struct { + // Arguments defined in Verification Templates. + Args RolloutSpecStrategyArgArrayInput `pulumi:"args"` + // Ocean CD strategy name identifier. + StrategyName pulumi.StringInput `pulumi:"strategyName"` } -func (i StrategyCanaryStepArray) ToStrategyCanaryStepArrayOutput() StrategyCanaryStepArrayOutput { - return i.ToStrategyCanaryStepArrayOutputWithContext(context.Background()) +func (RolloutSpecStrategyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RolloutSpecStrategy)(nil)).Elem() } -func (i StrategyCanaryStepArray) ToStrategyCanaryStepArrayOutputWithContext(ctx context.Context) StrategyCanaryStepArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryStepArrayOutput) +func (i RolloutSpecStrategyArgs) ToRolloutSpecStrategyOutput() RolloutSpecStrategyOutput { + return i.ToRolloutSpecStrategyOutputWithContext(context.Background()) } -type StrategyCanaryStepOutput struct{ *pulumi.OutputState } - -func (StrategyCanaryStepOutput) ElementType() reflect.Type { - return reflect.TypeOf((*StrategyCanaryStep)(nil)).Elem() +func (i RolloutSpecStrategyArgs) ToRolloutSpecStrategyOutputWithContext(ctx context.Context) RolloutSpecStrategyOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecStrategyOutput) } -func (o StrategyCanaryStepOutput) ToStrategyCanaryStepOutput() StrategyCanaryStepOutput { - return o +func (i RolloutSpecStrategyArgs) ToRolloutSpecStrategyPtrOutput() RolloutSpecStrategyPtrOutput { + return i.ToRolloutSpecStrategyPtrOutputWithContext(context.Background()) } -func (o StrategyCanaryStepOutput) ToStrategyCanaryStepOutputWithContext(ctx context.Context) StrategyCanaryStepOutput { - return o +func (i RolloutSpecStrategyArgs) ToRolloutSpecStrategyPtrOutputWithContext(ctx context.Context) RolloutSpecStrategyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecStrategyOutput).ToRolloutSpecStrategyPtrOutputWithContext(ctx) } -func (o StrategyCanaryStepOutput) Pause() StrategyCanaryStepPausePtrOutput { - return o.ApplyT(func(v StrategyCanaryStep) *StrategyCanaryStepPause { return v.Pause }).(StrategyCanaryStepPausePtrOutput) -} +// RolloutSpecStrategyPtrInput is an input type that accepts RolloutSpecStrategyArgs, RolloutSpecStrategyPtr and RolloutSpecStrategyPtrOutput values. +// You can construct a concrete instance of `RolloutSpecStrategyPtrInput` via: +// +// RolloutSpecStrategyArgs{...} +// +// or: +// +// nil +type RolloutSpecStrategyPtrInput interface { + pulumi.Input -func (o StrategyCanaryStepOutput) SetCanaryScale() StrategyCanaryStepSetCanaryScalePtrOutput { - return o.ApplyT(func(v StrategyCanaryStep) *StrategyCanaryStepSetCanaryScale { return v.SetCanaryScale }).(StrategyCanaryStepSetCanaryScalePtrOutput) + ToRolloutSpecStrategyPtrOutput() RolloutSpecStrategyPtrOutput + ToRolloutSpecStrategyPtrOutputWithContext(context.Context) RolloutSpecStrategyPtrOutput } -func (o StrategyCanaryStepOutput) SetHeaderRoute() StrategyCanaryStepSetHeaderRoutePtrOutput { - return o.ApplyT(func(v StrategyCanaryStep) *StrategyCanaryStepSetHeaderRoute { return v.SetHeaderRoute }).(StrategyCanaryStepSetHeaderRoutePtrOutput) +type rolloutSpecStrategyPtrType RolloutSpecStrategyArgs + +func RolloutSpecStrategyPtr(v *RolloutSpecStrategyArgs) RolloutSpecStrategyPtrInput { + return (*rolloutSpecStrategyPtrType)(v) } -func (o StrategyCanaryStepOutput) SetWeight() pulumi.IntPtrOutput { - return o.ApplyT(func(v StrategyCanaryStep) *int { return v.SetWeight }).(pulumi.IntPtrOutput) +func (*rolloutSpecStrategyPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RolloutSpecStrategy)(nil)).Elem() } -func (o StrategyCanaryStepOutput) StepName() pulumi.StringPtrOutput { - return o.ApplyT(func(v StrategyCanaryStep) *string { return v.StepName }).(pulumi.StringPtrOutput) +func (i *rolloutSpecStrategyPtrType) ToRolloutSpecStrategyPtrOutput() RolloutSpecStrategyPtrOutput { + return i.ToRolloutSpecStrategyPtrOutputWithContext(context.Background()) } -func (o StrategyCanaryStepOutput) Verification() StrategyCanaryStepVerificationPtrOutput { - return o.ApplyT(func(v StrategyCanaryStep) *StrategyCanaryStepVerification { return v.Verification }).(StrategyCanaryStepVerificationPtrOutput) +func (i *rolloutSpecStrategyPtrType) ToRolloutSpecStrategyPtrOutputWithContext(ctx context.Context) RolloutSpecStrategyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecStrategyPtrOutput) } -type StrategyCanaryStepArrayOutput struct{ *pulumi.OutputState } +type RolloutSpecStrategyOutput struct{ *pulumi.OutputState } -func (StrategyCanaryStepArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]StrategyCanaryStep)(nil)).Elem() +func (RolloutSpecStrategyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RolloutSpecStrategy)(nil)).Elem() } -func (o StrategyCanaryStepArrayOutput) ToStrategyCanaryStepArrayOutput() StrategyCanaryStepArrayOutput { +func (o RolloutSpecStrategyOutput) ToRolloutSpecStrategyOutput() RolloutSpecStrategyOutput { return o } -func (o StrategyCanaryStepArrayOutput) ToStrategyCanaryStepArrayOutputWithContext(ctx context.Context) StrategyCanaryStepArrayOutput { +func (o RolloutSpecStrategyOutput) ToRolloutSpecStrategyOutputWithContext(ctx context.Context) RolloutSpecStrategyOutput { 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) +func (o RolloutSpecStrategyOutput) ToRolloutSpecStrategyPtrOutput() RolloutSpecStrategyPtrOutput { + return o.ToRolloutSpecStrategyPtrOutputWithContext(context.Background()) } -type StrategyCanaryStepPause struct { - Duration *string `pulumi:"duration"` +func (o RolloutSpecStrategyOutput) ToRolloutSpecStrategyPtrOutputWithContext(ctx context.Context) RolloutSpecStrategyPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RolloutSpecStrategy) *RolloutSpecStrategy { + return &v + }).(RolloutSpecStrategyPtrOutput) } -// 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 +// Arguments defined in Verification Templates. +func (o RolloutSpecStrategyOutput) Args() RolloutSpecStrategyArgArrayOutput { + return o.ApplyT(func(v RolloutSpecStrategy) []RolloutSpecStrategyArg { return v.Args }).(RolloutSpecStrategyArgArrayOutput) +} - ToStrategyCanaryStepPauseOutput() StrategyCanaryStepPauseOutput - ToStrategyCanaryStepPauseOutputWithContext(context.Context) StrategyCanaryStepPauseOutput +// Ocean CD strategy name identifier. +func (o RolloutSpecStrategyOutput) StrategyName() pulumi.StringOutput { + return o.ApplyT(func(v RolloutSpecStrategy) string { return v.StrategyName }).(pulumi.StringOutput) } -type StrategyCanaryStepPauseArgs struct { - Duration pulumi.StringPtrInput `pulumi:"duration"` +type RolloutSpecStrategyPtrOutput struct{ *pulumi.OutputState } + +func (RolloutSpecStrategyPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RolloutSpecStrategy)(nil)).Elem() } -func (StrategyCanaryStepPauseArgs) ElementType() reflect.Type { - return reflect.TypeOf((*StrategyCanaryStepPause)(nil)).Elem() +func (o RolloutSpecStrategyPtrOutput) ToRolloutSpecStrategyPtrOutput() RolloutSpecStrategyPtrOutput { + return o } -func (i StrategyCanaryStepPauseArgs) ToStrategyCanaryStepPauseOutput() StrategyCanaryStepPauseOutput { - return i.ToStrategyCanaryStepPauseOutputWithContext(context.Background()) +func (o RolloutSpecStrategyPtrOutput) ToRolloutSpecStrategyPtrOutputWithContext(ctx context.Context) RolloutSpecStrategyPtrOutput { + return o } -func (i StrategyCanaryStepPauseArgs) ToStrategyCanaryStepPauseOutputWithContext(ctx context.Context) StrategyCanaryStepPauseOutput { - return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryStepPauseOutput) +func (o RolloutSpecStrategyPtrOutput) Elem() RolloutSpecStrategyOutput { + return o.ApplyT(func(v *RolloutSpecStrategy) RolloutSpecStrategy { + if v != nil { + return *v + } + var ret RolloutSpecStrategy + return ret + }).(RolloutSpecStrategyOutput) } -func (i StrategyCanaryStepPauseArgs) ToStrategyCanaryStepPausePtrOutput() StrategyCanaryStepPausePtrOutput { - return i.ToStrategyCanaryStepPausePtrOutputWithContext(context.Background()) +// Arguments defined in Verification Templates. +func (o RolloutSpecStrategyPtrOutput) Args() RolloutSpecStrategyArgArrayOutput { + return o.ApplyT(func(v *RolloutSpecStrategy) []RolloutSpecStrategyArg { + if v == nil { + return nil + } + return v.Args + }).(RolloutSpecStrategyArgArrayOutput) } -func (i StrategyCanaryStepPauseArgs) ToStrategyCanaryStepPausePtrOutputWithContext(ctx context.Context) StrategyCanaryStepPausePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryStepPauseOutput).ToStrategyCanaryStepPausePtrOutputWithContext(ctx) +// Ocean CD strategy name identifier. +func (o RolloutSpecStrategyPtrOutput) StrategyName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RolloutSpecStrategy) *string { + if v == nil { + return nil + } + return &v.StrategyName + }).(pulumi.StringPtrOutput) } -// StrategyCanaryStepPausePtrInput is an input type that accepts StrategyCanaryStepPauseArgs, StrategyCanaryStepPausePtr and StrategyCanaryStepPausePtrOutput values. -// You can construct a concrete instance of `StrategyCanaryStepPausePtrInput` via: -// -// StrategyCanaryStepPauseArgs{...} -// -// or: +type RolloutSpecStrategyArg struct { + ArgName string `pulumi:"argName"` + ArgValue *string `pulumi:"argValue"` + ValueFrom *RolloutSpecStrategyArgValueFrom `pulumi:"valueFrom"` +} + +// RolloutSpecStrategyArgInput is an input type that accepts RolloutSpecStrategyArgArgs and RolloutSpecStrategyArgOutput values. +// You can construct a concrete instance of `RolloutSpecStrategyArgInput` via: // -// nil -type StrategyCanaryStepPausePtrInput interface { +// RolloutSpecStrategyArgArgs{...} +type RolloutSpecStrategyArgInput interface { pulumi.Input - ToStrategyCanaryStepPausePtrOutput() StrategyCanaryStepPausePtrOutput - ToStrategyCanaryStepPausePtrOutputWithContext(context.Context) StrategyCanaryStepPausePtrOutput + ToRolloutSpecStrategyArgOutput() RolloutSpecStrategyArgOutput + ToRolloutSpecStrategyArgOutputWithContext(context.Context) RolloutSpecStrategyArgOutput } -type strategyCanaryStepPausePtrType StrategyCanaryStepPauseArgs +type RolloutSpecStrategyArgArgs struct { + ArgName pulumi.StringInput `pulumi:"argName"` + ArgValue pulumi.StringPtrInput `pulumi:"argValue"` + ValueFrom RolloutSpecStrategyArgValueFromPtrInput `pulumi:"valueFrom"` +} -func StrategyCanaryStepPausePtr(v *StrategyCanaryStepPauseArgs) StrategyCanaryStepPausePtrInput { - return (*strategyCanaryStepPausePtrType)(v) +func (RolloutSpecStrategyArgArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RolloutSpecStrategyArg)(nil)).Elem() } -func (*strategyCanaryStepPausePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**StrategyCanaryStepPause)(nil)).Elem() +func (i RolloutSpecStrategyArgArgs) ToRolloutSpecStrategyArgOutput() RolloutSpecStrategyArgOutput { + return i.ToRolloutSpecStrategyArgOutputWithContext(context.Background()) } -func (i *strategyCanaryStepPausePtrType) ToStrategyCanaryStepPausePtrOutput() StrategyCanaryStepPausePtrOutput { - return i.ToStrategyCanaryStepPausePtrOutputWithContext(context.Background()) +func (i RolloutSpecStrategyArgArgs) ToRolloutSpecStrategyArgOutputWithContext(ctx context.Context) RolloutSpecStrategyArgOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecStrategyArgOutput) } -func (i *strategyCanaryStepPausePtrType) ToStrategyCanaryStepPausePtrOutputWithContext(ctx context.Context) StrategyCanaryStepPausePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryStepPausePtrOutput) +// RolloutSpecStrategyArgArrayInput is an input type that accepts RolloutSpecStrategyArgArray and RolloutSpecStrategyArgArrayOutput values. +// You can construct a concrete instance of `RolloutSpecStrategyArgArrayInput` via: +// +// RolloutSpecStrategyArgArray{ RolloutSpecStrategyArgArgs{...} } +type RolloutSpecStrategyArgArrayInput interface { + pulumi.Input + + ToRolloutSpecStrategyArgArrayOutput() RolloutSpecStrategyArgArrayOutput + ToRolloutSpecStrategyArgArrayOutputWithContext(context.Context) RolloutSpecStrategyArgArrayOutput } -type StrategyCanaryStepPauseOutput struct{ *pulumi.OutputState } +type RolloutSpecStrategyArgArray []RolloutSpecStrategyArgInput -func (StrategyCanaryStepPauseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*StrategyCanaryStepPause)(nil)).Elem() +func (RolloutSpecStrategyArgArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RolloutSpecStrategyArg)(nil)).Elem() } -func (o StrategyCanaryStepPauseOutput) ToStrategyCanaryStepPauseOutput() StrategyCanaryStepPauseOutput { +func (i RolloutSpecStrategyArgArray) ToRolloutSpecStrategyArgArrayOutput() RolloutSpecStrategyArgArrayOutput { + return i.ToRolloutSpecStrategyArgArrayOutputWithContext(context.Background()) +} + +func (i RolloutSpecStrategyArgArray) ToRolloutSpecStrategyArgArrayOutputWithContext(ctx context.Context) RolloutSpecStrategyArgArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecStrategyArgArrayOutput) +} + +type RolloutSpecStrategyArgOutput struct{ *pulumi.OutputState } + +func (RolloutSpecStrategyArgOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RolloutSpecStrategyArg)(nil)).Elem() +} + +func (o RolloutSpecStrategyArgOutput) ToRolloutSpecStrategyArgOutput() RolloutSpecStrategyArgOutput { return o } -func (o StrategyCanaryStepPauseOutput) ToStrategyCanaryStepPauseOutputWithContext(ctx context.Context) StrategyCanaryStepPauseOutput { +func (o RolloutSpecStrategyArgOutput) ToRolloutSpecStrategyArgOutputWithContext(ctx context.Context) RolloutSpecStrategyArgOutput { return o } -func (o StrategyCanaryStepPauseOutput) ToStrategyCanaryStepPausePtrOutput() StrategyCanaryStepPausePtrOutput { - return o.ToStrategyCanaryStepPausePtrOutputWithContext(context.Background()) +func (o RolloutSpecStrategyArgOutput) ArgName() pulumi.StringOutput { + return o.ApplyT(func(v RolloutSpecStrategyArg) string { return v.ArgName }).(pulumi.StringOutput) } -func (o StrategyCanaryStepPauseOutput) ToStrategyCanaryStepPausePtrOutputWithContext(ctx context.Context) StrategyCanaryStepPausePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v StrategyCanaryStepPause) *StrategyCanaryStepPause { - return &v - }).(StrategyCanaryStepPausePtrOutput) +func (o RolloutSpecStrategyArgOutput) ArgValue() pulumi.StringPtrOutput { + return o.ApplyT(func(v RolloutSpecStrategyArg) *string { return v.ArgValue }).(pulumi.StringPtrOutput) } -func (o StrategyCanaryStepPauseOutput) Duration() pulumi.StringPtrOutput { - return o.ApplyT(func(v StrategyCanaryStepPause) *string { return v.Duration }).(pulumi.StringPtrOutput) +func (o RolloutSpecStrategyArgOutput) ValueFrom() RolloutSpecStrategyArgValueFromPtrOutput { + return o.ApplyT(func(v RolloutSpecStrategyArg) *RolloutSpecStrategyArgValueFrom { return v.ValueFrom }).(RolloutSpecStrategyArgValueFromPtrOutput) } -type StrategyCanaryStepPausePtrOutput struct{ *pulumi.OutputState } +type RolloutSpecStrategyArgArrayOutput struct{ *pulumi.OutputState } -func (StrategyCanaryStepPausePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**StrategyCanaryStepPause)(nil)).Elem() +func (RolloutSpecStrategyArgArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RolloutSpecStrategyArg)(nil)).Elem() } -func (o StrategyCanaryStepPausePtrOutput) ToStrategyCanaryStepPausePtrOutput() StrategyCanaryStepPausePtrOutput { +func (o RolloutSpecStrategyArgArrayOutput) ToRolloutSpecStrategyArgArrayOutput() RolloutSpecStrategyArgArrayOutput { return o } -func (o StrategyCanaryStepPausePtrOutput) ToStrategyCanaryStepPausePtrOutputWithContext(ctx context.Context) StrategyCanaryStepPausePtrOutput { +func (o RolloutSpecStrategyArgArrayOutput) ToRolloutSpecStrategyArgArrayOutputWithContext(ctx context.Context) RolloutSpecStrategyArgArrayOutput { 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) +func (o RolloutSpecStrategyArgArrayOutput) Index(i pulumi.IntInput) RolloutSpecStrategyArgOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RolloutSpecStrategyArg { + return vs[0].([]RolloutSpecStrategyArg)[vs[1].(int)] + }).(RolloutSpecStrategyArgOutput) } -type StrategyCanaryStepSetCanaryScale struct { - MatchTrafficWeight *bool `pulumi:"matchTrafficWeight"` - Replicas *int `pulumi:"replicas"` - Weight *int `pulumi:"weight"` +type RolloutSpecStrategyArgValueFrom struct { + FieldRef RolloutSpecStrategyArgValueFromFieldRef `pulumi:"fieldRef"` } -// StrategyCanaryStepSetCanaryScaleInput is an input type that accepts StrategyCanaryStepSetCanaryScaleArgs and StrategyCanaryStepSetCanaryScaleOutput values. -// You can construct a concrete instance of `StrategyCanaryStepSetCanaryScaleInput` via: +// RolloutSpecStrategyArgValueFromInput is an input type that accepts RolloutSpecStrategyArgValueFromArgs and RolloutSpecStrategyArgValueFromOutput values. +// You can construct a concrete instance of `RolloutSpecStrategyArgValueFromInput` via: // -// StrategyCanaryStepSetCanaryScaleArgs{...} -type StrategyCanaryStepSetCanaryScaleInput interface { +// RolloutSpecStrategyArgValueFromArgs{...} +type RolloutSpecStrategyArgValueFromInput interface { pulumi.Input - ToStrategyCanaryStepSetCanaryScaleOutput() StrategyCanaryStepSetCanaryScaleOutput - ToStrategyCanaryStepSetCanaryScaleOutputWithContext(context.Context) StrategyCanaryStepSetCanaryScaleOutput + ToRolloutSpecStrategyArgValueFromOutput() RolloutSpecStrategyArgValueFromOutput + ToRolloutSpecStrategyArgValueFromOutputWithContext(context.Context) RolloutSpecStrategyArgValueFromOutput } -type StrategyCanaryStepSetCanaryScaleArgs struct { - MatchTrafficWeight pulumi.BoolPtrInput `pulumi:"matchTrafficWeight"` - Replicas pulumi.IntPtrInput `pulumi:"replicas"` - Weight pulumi.IntPtrInput `pulumi:"weight"` +type RolloutSpecStrategyArgValueFromArgs struct { + FieldRef RolloutSpecStrategyArgValueFromFieldRefInput `pulumi:"fieldRef"` } -func (StrategyCanaryStepSetCanaryScaleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*StrategyCanaryStepSetCanaryScale)(nil)).Elem() +func (RolloutSpecStrategyArgValueFromArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RolloutSpecStrategyArgValueFrom)(nil)).Elem() } -func (i StrategyCanaryStepSetCanaryScaleArgs) ToStrategyCanaryStepSetCanaryScaleOutput() StrategyCanaryStepSetCanaryScaleOutput { - return i.ToStrategyCanaryStepSetCanaryScaleOutputWithContext(context.Background()) +func (i RolloutSpecStrategyArgValueFromArgs) ToRolloutSpecStrategyArgValueFromOutput() RolloutSpecStrategyArgValueFromOutput { + return i.ToRolloutSpecStrategyArgValueFromOutputWithContext(context.Background()) } -func (i StrategyCanaryStepSetCanaryScaleArgs) ToStrategyCanaryStepSetCanaryScaleOutputWithContext(ctx context.Context) StrategyCanaryStepSetCanaryScaleOutput { - return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryStepSetCanaryScaleOutput) +func (i RolloutSpecStrategyArgValueFromArgs) ToRolloutSpecStrategyArgValueFromOutputWithContext(ctx context.Context) RolloutSpecStrategyArgValueFromOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecStrategyArgValueFromOutput) } -func (i StrategyCanaryStepSetCanaryScaleArgs) ToStrategyCanaryStepSetCanaryScalePtrOutput() StrategyCanaryStepSetCanaryScalePtrOutput { - return i.ToStrategyCanaryStepSetCanaryScalePtrOutputWithContext(context.Background()) +func (i RolloutSpecStrategyArgValueFromArgs) ToRolloutSpecStrategyArgValueFromPtrOutput() RolloutSpecStrategyArgValueFromPtrOutput { + return i.ToRolloutSpecStrategyArgValueFromPtrOutputWithContext(context.Background()) } -func (i StrategyCanaryStepSetCanaryScaleArgs) ToStrategyCanaryStepSetCanaryScalePtrOutputWithContext(ctx context.Context) StrategyCanaryStepSetCanaryScalePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryStepSetCanaryScaleOutput).ToStrategyCanaryStepSetCanaryScalePtrOutputWithContext(ctx) +func (i RolloutSpecStrategyArgValueFromArgs) ToRolloutSpecStrategyArgValueFromPtrOutputWithContext(ctx context.Context) RolloutSpecStrategyArgValueFromPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecStrategyArgValueFromOutput).ToRolloutSpecStrategyArgValueFromPtrOutputWithContext(ctx) } -// StrategyCanaryStepSetCanaryScalePtrInput is an input type that accepts StrategyCanaryStepSetCanaryScaleArgs, StrategyCanaryStepSetCanaryScalePtr and StrategyCanaryStepSetCanaryScalePtrOutput values. -// You can construct a concrete instance of `StrategyCanaryStepSetCanaryScalePtrInput` via: +// RolloutSpecStrategyArgValueFromPtrInput is an input type that accepts RolloutSpecStrategyArgValueFromArgs, RolloutSpecStrategyArgValueFromPtr and RolloutSpecStrategyArgValueFromPtrOutput values. +// You can construct a concrete instance of `RolloutSpecStrategyArgValueFromPtrInput` via: // -// StrategyCanaryStepSetCanaryScaleArgs{...} +// RolloutSpecStrategyArgValueFromArgs{...} // // or: // // nil -type StrategyCanaryStepSetCanaryScalePtrInput interface { +type RolloutSpecStrategyArgValueFromPtrInput interface { pulumi.Input - ToStrategyCanaryStepSetCanaryScalePtrOutput() StrategyCanaryStepSetCanaryScalePtrOutput - ToStrategyCanaryStepSetCanaryScalePtrOutputWithContext(context.Context) StrategyCanaryStepSetCanaryScalePtrOutput + ToRolloutSpecStrategyArgValueFromPtrOutput() RolloutSpecStrategyArgValueFromPtrOutput + ToRolloutSpecStrategyArgValueFromPtrOutputWithContext(context.Context) RolloutSpecStrategyArgValueFromPtrOutput } -type strategyCanaryStepSetCanaryScalePtrType StrategyCanaryStepSetCanaryScaleArgs +type rolloutSpecStrategyArgValueFromPtrType RolloutSpecStrategyArgValueFromArgs -func StrategyCanaryStepSetCanaryScalePtr(v *StrategyCanaryStepSetCanaryScaleArgs) StrategyCanaryStepSetCanaryScalePtrInput { - return (*strategyCanaryStepSetCanaryScalePtrType)(v) +func RolloutSpecStrategyArgValueFromPtr(v *RolloutSpecStrategyArgValueFromArgs) RolloutSpecStrategyArgValueFromPtrInput { + return (*rolloutSpecStrategyArgValueFromPtrType)(v) } -func (*strategyCanaryStepSetCanaryScalePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**StrategyCanaryStepSetCanaryScale)(nil)).Elem() +func (*rolloutSpecStrategyArgValueFromPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RolloutSpecStrategyArgValueFrom)(nil)).Elem() } -func (i *strategyCanaryStepSetCanaryScalePtrType) ToStrategyCanaryStepSetCanaryScalePtrOutput() StrategyCanaryStepSetCanaryScalePtrOutput { - return i.ToStrategyCanaryStepSetCanaryScalePtrOutputWithContext(context.Background()) +func (i *rolloutSpecStrategyArgValueFromPtrType) ToRolloutSpecStrategyArgValueFromPtrOutput() RolloutSpecStrategyArgValueFromPtrOutput { + return i.ToRolloutSpecStrategyArgValueFromPtrOutputWithContext(context.Background()) } -func (i *strategyCanaryStepSetCanaryScalePtrType) ToStrategyCanaryStepSetCanaryScalePtrOutputWithContext(ctx context.Context) StrategyCanaryStepSetCanaryScalePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryStepSetCanaryScalePtrOutput) +func (i *rolloutSpecStrategyArgValueFromPtrType) ToRolloutSpecStrategyArgValueFromPtrOutputWithContext(ctx context.Context) RolloutSpecStrategyArgValueFromPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecStrategyArgValueFromPtrOutput) } -type StrategyCanaryStepSetCanaryScaleOutput struct{ *pulumi.OutputState } +type RolloutSpecStrategyArgValueFromOutput struct{ *pulumi.OutputState } -func (StrategyCanaryStepSetCanaryScaleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*StrategyCanaryStepSetCanaryScale)(nil)).Elem() +func (RolloutSpecStrategyArgValueFromOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RolloutSpecStrategyArgValueFrom)(nil)).Elem() } -func (o StrategyCanaryStepSetCanaryScaleOutput) ToStrategyCanaryStepSetCanaryScaleOutput() StrategyCanaryStepSetCanaryScaleOutput { +func (o RolloutSpecStrategyArgValueFromOutput) ToRolloutSpecStrategyArgValueFromOutput() RolloutSpecStrategyArgValueFromOutput { return o } -func (o StrategyCanaryStepSetCanaryScaleOutput) ToStrategyCanaryStepSetCanaryScaleOutputWithContext(ctx context.Context) StrategyCanaryStepSetCanaryScaleOutput { +func (o RolloutSpecStrategyArgValueFromOutput) ToRolloutSpecStrategyArgValueFromOutputWithContext(ctx context.Context) RolloutSpecStrategyArgValueFromOutput { return o } -func (o StrategyCanaryStepSetCanaryScaleOutput) ToStrategyCanaryStepSetCanaryScalePtrOutput() StrategyCanaryStepSetCanaryScalePtrOutput { - return o.ToStrategyCanaryStepSetCanaryScalePtrOutputWithContext(context.Background()) +func (o RolloutSpecStrategyArgValueFromOutput) ToRolloutSpecStrategyArgValueFromPtrOutput() RolloutSpecStrategyArgValueFromPtrOutput { + return o.ToRolloutSpecStrategyArgValueFromPtrOutputWithContext(context.Background()) } -func (o StrategyCanaryStepSetCanaryScaleOutput) ToStrategyCanaryStepSetCanaryScalePtrOutputWithContext(ctx context.Context) StrategyCanaryStepSetCanaryScalePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v StrategyCanaryStepSetCanaryScale) *StrategyCanaryStepSetCanaryScale { +func (o RolloutSpecStrategyArgValueFromOutput) ToRolloutSpecStrategyArgValueFromPtrOutputWithContext(ctx context.Context) RolloutSpecStrategyArgValueFromPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RolloutSpecStrategyArgValueFrom) *RolloutSpecStrategyArgValueFrom { 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) + }).(RolloutSpecStrategyArgValueFromPtrOutput) } -func (o StrategyCanaryStepSetCanaryScaleOutput) Weight() pulumi.IntPtrOutput { - return o.ApplyT(func(v StrategyCanaryStepSetCanaryScale) *int { return v.Weight }).(pulumi.IntPtrOutput) +func (o RolloutSpecStrategyArgValueFromOutput) FieldRef() RolloutSpecStrategyArgValueFromFieldRefOutput { + return o.ApplyT(func(v RolloutSpecStrategyArgValueFrom) RolloutSpecStrategyArgValueFromFieldRef { return v.FieldRef }).(RolloutSpecStrategyArgValueFromFieldRefOutput) } -type StrategyCanaryStepSetCanaryScalePtrOutput struct{ *pulumi.OutputState } +type RolloutSpecStrategyArgValueFromPtrOutput struct{ *pulumi.OutputState } -func (StrategyCanaryStepSetCanaryScalePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**StrategyCanaryStepSetCanaryScale)(nil)).Elem() +func (RolloutSpecStrategyArgValueFromPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RolloutSpecStrategyArgValueFrom)(nil)).Elem() } -func (o StrategyCanaryStepSetCanaryScalePtrOutput) ToStrategyCanaryStepSetCanaryScalePtrOutput() StrategyCanaryStepSetCanaryScalePtrOutput { +func (o RolloutSpecStrategyArgValueFromPtrOutput) ToRolloutSpecStrategyArgValueFromPtrOutput() RolloutSpecStrategyArgValueFromPtrOutput { return o } -func (o StrategyCanaryStepSetCanaryScalePtrOutput) ToStrategyCanaryStepSetCanaryScalePtrOutputWithContext(ctx context.Context) StrategyCanaryStepSetCanaryScalePtrOutput { +func (o RolloutSpecStrategyArgValueFromPtrOutput) ToRolloutSpecStrategyArgValueFromPtrOutputWithContext(ctx context.Context) RolloutSpecStrategyArgValueFromPtrOutput { return o } -func (o StrategyCanaryStepSetCanaryScalePtrOutput) Elem() StrategyCanaryStepSetCanaryScaleOutput { - return o.ApplyT(func(v *StrategyCanaryStepSetCanaryScale) StrategyCanaryStepSetCanaryScale { +func (o RolloutSpecStrategyArgValueFromPtrOutput) Elem() RolloutSpecStrategyArgValueFromOutput { + return o.ApplyT(func(v *RolloutSpecStrategyArgValueFrom) RolloutSpecStrategyArgValueFrom { if v != nil { return *v } - var ret StrategyCanaryStepSetCanaryScale + var ret RolloutSpecStrategyArgValueFrom 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) + }).(RolloutSpecStrategyArgValueFromOutput) } -func (o StrategyCanaryStepSetCanaryScalePtrOutput) Weight() pulumi.IntPtrOutput { - return o.ApplyT(func(v *StrategyCanaryStepSetCanaryScale) *int { +func (o RolloutSpecStrategyArgValueFromPtrOutput) FieldRef() RolloutSpecStrategyArgValueFromFieldRefPtrOutput { + return o.ApplyT(func(v *RolloutSpecStrategyArgValueFrom) *RolloutSpecStrategyArgValueFromFieldRef { if v == nil { return nil } - return v.Weight - }).(pulumi.IntPtrOutput) + return &v.FieldRef + }).(RolloutSpecStrategyArgValueFromFieldRefPtrOutput) } -type StrategyCanaryStepSetHeaderRoute struct { - HeaderRouteName string `pulumi:"headerRouteName"` - Matches []StrategyCanaryStepSetHeaderRouteMatch `pulumi:"matches"` +type RolloutSpecStrategyArgValueFromFieldRef struct { + FieldPath string `pulumi:"fieldPath"` } -// StrategyCanaryStepSetHeaderRouteInput is an input type that accepts StrategyCanaryStepSetHeaderRouteArgs and StrategyCanaryStepSetHeaderRouteOutput values. -// You can construct a concrete instance of `StrategyCanaryStepSetHeaderRouteInput` via: +// RolloutSpecStrategyArgValueFromFieldRefInput is an input type that accepts RolloutSpecStrategyArgValueFromFieldRefArgs and RolloutSpecStrategyArgValueFromFieldRefOutput values. +// You can construct a concrete instance of `RolloutSpecStrategyArgValueFromFieldRefInput` via: // -// StrategyCanaryStepSetHeaderRouteArgs{...} -type StrategyCanaryStepSetHeaderRouteInput interface { +// RolloutSpecStrategyArgValueFromFieldRefArgs{...} +type RolloutSpecStrategyArgValueFromFieldRefInput interface { pulumi.Input - ToStrategyCanaryStepSetHeaderRouteOutput() StrategyCanaryStepSetHeaderRouteOutput - ToStrategyCanaryStepSetHeaderRouteOutputWithContext(context.Context) StrategyCanaryStepSetHeaderRouteOutput + ToRolloutSpecStrategyArgValueFromFieldRefOutput() RolloutSpecStrategyArgValueFromFieldRefOutput + ToRolloutSpecStrategyArgValueFromFieldRefOutputWithContext(context.Context) RolloutSpecStrategyArgValueFromFieldRefOutput } -type StrategyCanaryStepSetHeaderRouteArgs struct { - HeaderRouteName pulumi.StringInput `pulumi:"headerRouteName"` - Matches StrategyCanaryStepSetHeaderRouteMatchArrayInput `pulumi:"matches"` +type RolloutSpecStrategyArgValueFromFieldRefArgs struct { + FieldPath pulumi.StringInput `pulumi:"fieldPath"` } -func (StrategyCanaryStepSetHeaderRouteArgs) ElementType() reflect.Type { - return reflect.TypeOf((*StrategyCanaryStepSetHeaderRoute)(nil)).Elem() +func (RolloutSpecStrategyArgValueFromFieldRefArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RolloutSpecStrategyArgValueFromFieldRef)(nil)).Elem() } -func (i StrategyCanaryStepSetHeaderRouteArgs) ToStrategyCanaryStepSetHeaderRouteOutput() StrategyCanaryStepSetHeaderRouteOutput { - return i.ToStrategyCanaryStepSetHeaderRouteOutputWithContext(context.Background()) +func (i RolloutSpecStrategyArgValueFromFieldRefArgs) ToRolloutSpecStrategyArgValueFromFieldRefOutput() RolloutSpecStrategyArgValueFromFieldRefOutput { + return i.ToRolloutSpecStrategyArgValueFromFieldRefOutputWithContext(context.Background()) } -func (i StrategyCanaryStepSetHeaderRouteArgs) ToStrategyCanaryStepSetHeaderRouteOutputWithContext(ctx context.Context) StrategyCanaryStepSetHeaderRouteOutput { - return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryStepSetHeaderRouteOutput) +func (i RolloutSpecStrategyArgValueFromFieldRefArgs) ToRolloutSpecStrategyArgValueFromFieldRefOutputWithContext(ctx context.Context) RolloutSpecStrategyArgValueFromFieldRefOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecStrategyArgValueFromFieldRefOutput) } -func (i StrategyCanaryStepSetHeaderRouteArgs) ToStrategyCanaryStepSetHeaderRoutePtrOutput() StrategyCanaryStepSetHeaderRoutePtrOutput { - return i.ToStrategyCanaryStepSetHeaderRoutePtrOutputWithContext(context.Background()) +func (i RolloutSpecStrategyArgValueFromFieldRefArgs) ToRolloutSpecStrategyArgValueFromFieldRefPtrOutput() RolloutSpecStrategyArgValueFromFieldRefPtrOutput { + return i.ToRolloutSpecStrategyArgValueFromFieldRefPtrOutputWithContext(context.Background()) } -func (i StrategyCanaryStepSetHeaderRouteArgs) ToStrategyCanaryStepSetHeaderRoutePtrOutputWithContext(ctx context.Context) StrategyCanaryStepSetHeaderRoutePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryStepSetHeaderRouteOutput).ToStrategyCanaryStepSetHeaderRoutePtrOutputWithContext(ctx) +func (i RolloutSpecStrategyArgValueFromFieldRefArgs) ToRolloutSpecStrategyArgValueFromFieldRefPtrOutputWithContext(ctx context.Context) RolloutSpecStrategyArgValueFromFieldRefPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecStrategyArgValueFromFieldRefOutput).ToRolloutSpecStrategyArgValueFromFieldRefPtrOutputWithContext(ctx) } -// StrategyCanaryStepSetHeaderRoutePtrInput is an input type that accepts StrategyCanaryStepSetHeaderRouteArgs, StrategyCanaryStepSetHeaderRoutePtr and StrategyCanaryStepSetHeaderRoutePtrOutput values. -// You can construct a concrete instance of `StrategyCanaryStepSetHeaderRoutePtrInput` via: +// RolloutSpecStrategyArgValueFromFieldRefPtrInput is an input type that accepts RolloutSpecStrategyArgValueFromFieldRefArgs, RolloutSpecStrategyArgValueFromFieldRefPtr and RolloutSpecStrategyArgValueFromFieldRefPtrOutput values. +// You can construct a concrete instance of `RolloutSpecStrategyArgValueFromFieldRefPtrInput` via: // -// StrategyCanaryStepSetHeaderRouteArgs{...} +// RolloutSpecStrategyArgValueFromFieldRefArgs{...} // // or: // // nil -type StrategyCanaryStepSetHeaderRoutePtrInput interface { +type RolloutSpecStrategyArgValueFromFieldRefPtrInput interface { pulumi.Input - ToStrategyCanaryStepSetHeaderRoutePtrOutput() StrategyCanaryStepSetHeaderRoutePtrOutput - ToStrategyCanaryStepSetHeaderRoutePtrOutputWithContext(context.Context) StrategyCanaryStepSetHeaderRoutePtrOutput + ToRolloutSpecStrategyArgValueFromFieldRefPtrOutput() RolloutSpecStrategyArgValueFromFieldRefPtrOutput + ToRolloutSpecStrategyArgValueFromFieldRefPtrOutputWithContext(context.Context) RolloutSpecStrategyArgValueFromFieldRefPtrOutput } -type strategyCanaryStepSetHeaderRoutePtrType StrategyCanaryStepSetHeaderRouteArgs +type rolloutSpecStrategyArgValueFromFieldRefPtrType RolloutSpecStrategyArgValueFromFieldRefArgs -func StrategyCanaryStepSetHeaderRoutePtr(v *StrategyCanaryStepSetHeaderRouteArgs) StrategyCanaryStepSetHeaderRoutePtrInput { - return (*strategyCanaryStepSetHeaderRoutePtrType)(v) +func RolloutSpecStrategyArgValueFromFieldRefPtr(v *RolloutSpecStrategyArgValueFromFieldRefArgs) RolloutSpecStrategyArgValueFromFieldRefPtrInput { + return (*rolloutSpecStrategyArgValueFromFieldRefPtrType)(v) } -func (*strategyCanaryStepSetHeaderRoutePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**StrategyCanaryStepSetHeaderRoute)(nil)).Elem() +func (*rolloutSpecStrategyArgValueFromFieldRefPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RolloutSpecStrategyArgValueFromFieldRef)(nil)).Elem() } -func (i *strategyCanaryStepSetHeaderRoutePtrType) ToStrategyCanaryStepSetHeaderRoutePtrOutput() StrategyCanaryStepSetHeaderRoutePtrOutput { - return i.ToStrategyCanaryStepSetHeaderRoutePtrOutputWithContext(context.Background()) +func (i *rolloutSpecStrategyArgValueFromFieldRefPtrType) ToRolloutSpecStrategyArgValueFromFieldRefPtrOutput() RolloutSpecStrategyArgValueFromFieldRefPtrOutput { + return i.ToRolloutSpecStrategyArgValueFromFieldRefPtrOutputWithContext(context.Background()) } -func (i *strategyCanaryStepSetHeaderRoutePtrType) ToStrategyCanaryStepSetHeaderRoutePtrOutputWithContext(ctx context.Context) StrategyCanaryStepSetHeaderRoutePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryStepSetHeaderRoutePtrOutput) +func (i *rolloutSpecStrategyArgValueFromFieldRefPtrType) ToRolloutSpecStrategyArgValueFromFieldRefPtrOutputWithContext(ctx context.Context) RolloutSpecStrategyArgValueFromFieldRefPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecStrategyArgValueFromFieldRefPtrOutput) } -type StrategyCanaryStepSetHeaderRouteOutput struct{ *pulumi.OutputState } +type RolloutSpecStrategyArgValueFromFieldRefOutput struct{ *pulumi.OutputState } -func (StrategyCanaryStepSetHeaderRouteOutput) ElementType() reflect.Type { - return reflect.TypeOf((*StrategyCanaryStepSetHeaderRoute)(nil)).Elem() +func (RolloutSpecStrategyArgValueFromFieldRefOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RolloutSpecStrategyArgValueFromFieldRef)(nil)).Elem() } -func (o StrategyCanaryStepSetHeaderRouteOutput) ToStrategyCanaryStepSetHeaderRouteOutput() StrategyCanaryStepSetHeaderRouteOutput { +func (o RolloutSpecStrategyArgValueFromFieldRefOutput) ToRolloutSpecStrategyArgValueFromFieldRefOutput() RolloutSpecStrategyArgValueFromFieldRefOutput { return o } -func (o StrategyCanaryStepSetHeaderRouteOutput) ToStrategyCanaryStepSetHeaderRouteOutputWithContext(ctx context.Context) StrategyCanaryStepSetHeaderRouteOutput { +func (o RolloutSpecStrategyArgValueFromFieldRefOutput) ToRolloutSpecStrategyArgValueFromFieldRefOutputWithContext(ctx context.Context) RolloutSpecStrategyArgValueFromFieldRefOutput { return o } -func (o StrategyCanaryStepSetHeaderRouteOutput) ToStrategyCanaryStepSetHeaderRoutePtrOutput() StrategyCanaryStepSetHeaderRoutePtrOutput { - return o.ToStrategyCanaryStepSetHeaderRoutePtrOutputWithContext(context.Background()) +func (o RolloutSpecStrategyArgValueFromFieldRefOutput) ToRolloutSpecStrategyArgValueFromFieldRefPtrOutput() RolloutSpecStrategyArgValueFromFieldRefPtrOutput { + return o.ToRolloutSpecStrategyArgValueFromFieldRefPtrOutputWithContext(context.Background()) } -func (o StrategyCanaryStepSetHeaderRouteOutput) ToStrategyCanaryStepSetHeaderRoutePtrOutputWithContext(ctx context.Context) StrategyCanaryStepSetHeaderRoutePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v StrategyCanaryStepSetHeaderRoute) *StrategyCanaryStepSetHeaderRoute { +func (o RolloutSpecStrategyArgValueFromFieldRefOutput) ToRolloutSpecStrategyArgValueFromFieldRefPtrOutputWithContext(ctx context.Context) RolloutSpecStrategyArgValueFromFieldRefPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RolloutSpecStrategyArgValueFromFieldRef) *RolloutSpecStrategyArgValueFromFieldRef { return &v - }).(StrategyCanaryStepSetHeaderRoutePtrOutput) -} - -func (o StrategyCanaryStepSetHeaderRouteOutput) HeaderRouteName() pulumi.StringOutput { - return o.ApplyT(func(v StrategyCanaryStepSetHeaderRoute) string { return v.HeaderRouteName }).(pulumi.StringOutput) + }).(RolloutSpecStrategyArgValueFromFieldRefPtrOutput) } -func (o StrategyCanaryStepSetHeaderRouteOutput) Matches() StrategyCanaryStepSetHeaderRouteMatchArrayOutput { - return o.ApplyT(func(v StrategyCanaryStepSetHeaderRoute) []StrategyCanaryStepSetHeaderRouteMatch { return v.Matches }).(StrategyCanaryStepSetHeaderRouteMatchArrayOutput) +func (o RolloutSpecStrategyArgValueFromFieldRefOutput) FieldPath() pulumi.StringOutput { + return o.ApplyT(func(v RolloutSpecStrategyArgValueFromFieldRef) string { return v.FieldPath }).(pulumi.StringOutput) } -type StrategyCanaryStepSetHeaderRoutePtrOutput struct{ *pulumi.OutputState } +type RolloutSpecStrategyArgValueFromFieldRefPtrOutput struct{ *pulumi.OutputState } -func (StrategyCanaryStepSetHeaderRoutePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**StrategyCanaryStepSetHeaderRoute)(nil)).Elem() +func (RolloutSpecStrategyArgValueFromFieldRefPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RolloutSpecStrategyArgValueFromFieldRef)(nil)).Elem() } -func (o StrategyCanaryStepSetHeaderRoutePtrOutput) ToStrategyCanaryStepSetHeaderRoutePtrOutput() StrategyCanaryStepSetHeaderRoutePtrOutput { +func (o RolloutSpecStrategyArgValueFromFieldRefPtrOutput) ToRolloutSpecStrategyArgValueFromFieldRefPtrOutput() RolloutSpecStrategyArgValueFromFieldRefPtrOutput { return o } -func (o StrategyCanaryStepSetHeaderRoutePtrOutput) ToStrategyCanaryStepSetHeaderRoutePtrOutputWithContext(ctx context.Context) StrategyCanaryStepSetHeaderRoutePtrOutput { +func (o RolloutSpecStrategyArgValueFromFieldRefPtrOutput) ToRolloutSpecStrategyArgValueFromFieldRefPtrOutputWithContext(ctx context.Context) RolloutSpecStrategyArgValueFromFieldRefPtrOutput { return o } -func (o StrategyCanaryStepSetHeaderRoutePtrOutput) Elem() StrategyCanaryStepSetHeaderRouteOutput { - return o.ApplyT(func(v *StrategyCanaryStepSetHeaderRoute) StrategyCanaryStepSetHeaderRoute { +func (o RolloutSpecStrategyArgValueFromFieldRefPtrOutput) Elem() RolloutSpecStrategyArgValueFromFieldRefOutput { + return o.ApplyT(func(v *RolloutSpecStrategyArgValueFromFieldRef) RolloutSpecStrategyArgValueFromFieldRef { if v != nil { return *v } - var ret StrategyCanaryStepSetHeaderRoute + var ret RolloutSpecStrategyArgValueFromFieldRef return ret - }).(StrategyCanaryStepSetHeaderRouteOutput) + }).(RolloutSpecStrategyArgValueFromFieldRefOutput) } -func (o StrategyCanaryStepSetHeaderRoutePtrOutput) HeaderRouteName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *StrategyCanaryStepSetHeaderRoute) *string { +func (o RolloutSpecStrategyArgValueFromFieldRefPtrOutput) FieldPath() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RolloutSpecStrategyArgValueFromFieldRef) *string { if v == nil { return nil } - return &v.HeaderRouteName + return &v.FieldPath + }).(pulumi.StringPtrOutput) +} + +type RolloutSpecTraffic struct { + // Holds ALB Ingress specific configuration to route traffic. + Alb *RolloutSpecTrafficAlb `pulumi:"alb"` + // Holds specific configuration to use Ambassador to route traffic. + Ambassador *RolloutSpecTrafficAmbassador `pulumi:"ambassador"` + // The canary service name. + CanaryService *string `pulumi:"canaryService"` + // Holds Istio specific configuration to route traffic. + Istio *RolloutSpecTrafficIstio `pulumi:"istio"` + // Holds Nginx Ingress specific configuration to route traffic. + Nginx *RolloutSpecTrafficNginx `pulumi:"nginx"` + // Holds the ping and pong services. You can use `pingPong` field only when using ALB as a traffic manager with the IP Mode approach. + PingPong *RolloutSpecTrafficPingPong `pulumi:"pingPong"` + // Holds TrafficSplit specific configuration to route traffic. + Smi *RolloutSpecTrafficSmi `pulumi:"smi"` + // The stable service name. + StableService *string `pulumi:"stableService"` +} + +// RolloutSpecTrafficInput is an input type that accepts RolloutSpecTrafficArgs and RolloutSpecTrafficOutput values. +// You can construct a concrete instance of `RolloutSpecTrafficInput` via: +// +// RolloutSpecTrafficArgs{...} +type RolloutSpecTrafficInput interface { + pulumi.Input + + ToRolloutSpecTrafficOutput() RolloutSpecTrafficOutput + ToRolloutSpecTrafficOutputWithContext(context.Context) RolloutSpecTrafficOutput +} + +type RolloutSpecTrafficArgs struct { + // Holds ALB Ingress specific configuration to route traffic. + Alb RolloutSpecTrafficAlbPtrInput `pulumi:"alb"` + // Holds specific configuration to use Ambassador to route traffic. + Ambassador RolloutSpecTrafficAmbassadorPtrInput `pulumi:"ambassador"` + // The canary service name. + CanaryService pulumi.StringPtrInput `pulumi:"canaryService"` + // Holds Istio specific configuration to route traffic. + Istio RolloutSpecTrafficIstioPtrInput `pulumi:"istio"` + // Holds Nginx Ingress specific configuration to route traffic. + Nginx RolloutSpecTrafficNginxPtrInput `pulumi:"nginx"` + // Holds the ping and pong services. You can use `pingPong` field only when using ALB as a traffic manager with the IP Mode approach. + PingPong RolloutSpecTrafficPingPongPtrInput `pulumi:"pingPong"` + // Holds TrafficSplit specific configuration to route traffic. + Smi RolloutSpecTrafficSmiPtrInput `pulumi:"smi"` + // The stable service name. + StableService pulumi.StringPtrInput `pulumi:"stableService"` +} + +func (RolloutSpecTrafficArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RolloutSpecTraffic)(nil)).Elem() +} + +func (i RolloutSpecTrafficArgs) ToRolloutSpecTrafficOutput() RolloutSpecTrafficOutput { + return i.ToRolloutSpecTrafficOutputWithContext(context.Background()) +} + +func (i RolloutSpecTrafficArgs) ToRolloutSpecTrafficOutputWithContext(ctx context.Context) RolloutSpecTrafficOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecTrafficOutput) +} + +func (i RolloutSpecTrafficArgs) ToRolloutSpecTrafficPtrOutput() RolloutSpecTrafficPtrOutput { + return i.ToRolloutSpecTrafficPtrOutputWithContext(context.Background()) +} + +func (i RolloutSpecTrafficArgs) ToRolloutSpecTrafficPtrOutputWithContext(ctx context.Context) RolloutSpecTrafficPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecTrafficOutput).ToRolloutSpecTrafficPtrOutputWithContext(ctx) +} + +// RolloutSpecTrafficPtrInput is an input type that accepts RolloutSpecTrafficArgs, RolloutSpecTrafficPtr and RolloutSpecTrafficPtrOutput values. +// You can construct a concrete instance of `RolloutSpecTrafficPtrInput` via: +// +// RolloutSpecTrafficArgs{...} +// +// or: +// +// nil +type RolloutSpecTrafficPtrInput interface { + pulumi.Input + + ToRolloutSpecTrafficPtrOutput() RolloutSpecTrafficPtrOutput + ToRolloutSpecTrafficPtrOutputWithContext(context.Context) RolloutSpecTrafficPtrOutput +} + +type rolloutSpecTrafficPtrType RolloutSpecTrafficArgs + +func RolloutSpecTrafficPtr(v *RolloutSpecTrafficArgs) RolloutSpecTrafficPtrInput { + return (*rolloutSpecTrafficPtrType)(v) +} + +func (*rolloutSpecTrafficPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RolloutSpecTraffic)(nil)).Elem() +} + +func (i *rolloutSpecTrafficPtrType) ToRolloutSpecTrafficPtrOutput() RolloutSpecTrafficPtrOutput { + return i.ToRolloutSpecTrafficPtrOutputWithContext(context.Background()) +} + +func (i *rolloutSpecTrafficPtrType) ToRolloutSpecTrafficPtrOutputWithContext(ctx context.Context) RolloutSpecTrafficPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecTrafficPtrOutput) +} + +type RolloutSpecTrafficOutput struct{ *pulumi.OutputState } + +func (RolloutSpecTrafficOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RolloutSpecTraffic)(nil)).Elem() +} + +func (o RolloutSpecTrafficOutput) ToRolloutSpecTrafficOutput() RolloutSpecTrafficOutput { + return o +} + +func (o RolloutSpecTrafficOutput) ToRolloutSpecTrafficOutputWithContext(ctx context.Context) RolloutSpecTrafficOutput { + return o +} + +func (o RolloutSpecTrafficOutput) ToRolloutSpecTrafficPtrOutput() RolloutSpecTrafficPtrOutput { + return o.ToRolloutSpecTrafficPtrOutputWithContext(context.Background()) +} + +func (o RolloutSpecTrafficOutput) ToRolloutSpecTrafficPtrOutputWithContext(ctx context.Context) RolloutSpecTrafficPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RolloutSpecTraffic) *RolloutSpecTraffic { + return &v + }).(RolloutSpecTrafficPtrOutput) +} + +// Holds ALB Ingress specific configuration to route traffic. +func (o RolloutSpecTrafficOutput) Alb() RolloutSpecTrafficAlbPtrOutput { + return o.ApplyT(func(v RolloutSpecTraffic) *RolloutSpecTrafficAlb { return v.Alb }).(RolloutSpecTrafficAlbPtrOutput) +} + +// Holds specific configuration to use Ambassador to route traffic. +func (o RolloutSpecTrafficOutput) Ambassador() RolloutSpecTrafficAmbassadorPtrOutput { + return o.ApplyT(func(v RolloutSpecTraffic) *RolloutSpecTrafficAmbassador { return v.Ambassador }).(RolloutSpecTrafficAmbassadorPtrOutput) +} + +// The canary service name. +func (o RolloutSpecTrafficOutput) CanaryService() pulumi.StringPtrOutput { + return o.ApplyT(func(v RolloutSpecTraffic) *string { return v.CanaryService }).(pulumi.StringPtrOutput) +} + +// Holds Istio specific configuration to route traffic. +func (o RolloutSpecTrafficOutput) Istio() RolloutSpecTrafficIstioPtrOutput { + return o.ApplyT(func(v RolloutSpecTraffic) *RolloutSpecTrafficIstio { return v.Istio }).(RolloutSpecTrafficIstioPtrOutput) +} + +// Holds Nginx Ingress specific configuration to route traffic. +func (o RolloutSpecTrafficOutput) Nginx() RolloutSpecTrafficNginxPtrOutput { + return o.ApplyT(func(v RolloutSpecTraffic) *RolloutSpecTrafficNginx { return v.Nginx }).(RolloutSpecTrafficNginxPtrOutput) +} + +// Holds the ping and pong services. You can use `pingPong` field only when using ALB as a traffic manager with the IP Mode approach. +func (o RolloutSpecTrafficOutput) PingPong() RolloutSpecTrafficPingPongPtrOutput { + return o.ApplyT(func(v RolloutSpecTraffic) *RolloutSpecTrafficPingPong { return v.PingPong }).(RolloutSpecTrafficPingPongPtrOutput) +} + +// Holds TrafficSplit specific configuration to route traffic. +func (o RolloutSpecTrafficOutput) Smi() RolloutSpecTrafficSmiPtrOutput { + return o.ApplyT(func(v RolloutSpecTraffic) *RolloutSpecTrafficSmi { return v.Smi }).(RolloutSpecTrafficSmiPtrOutput) +} + +// The stable service name. +func (o RolloutSpecTrafficOutput) StableService() pulumi.StringPtrOutput { + return o.ApplyT(func(v RolloutSpecTraffic) *string { return v.StableService }).(pulumi.StringPtrOutput) +} + +type RolloutSpecTrafficPtrOutput struct{ *pulumi.OutputState } + +func (RolloutSpecTrafficPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RolloutSpecTraffic)(nil)).Elem() +} + +func (o RolloutSpecTrafficPtrOutput) ToRolloutSpecTrafficPtrOutput() RolloutSpecTrafficPtrOutput { + return o +} + +func (o RolloutSpecTrafficPtrOutput) ToRolloutSpecTrafficPtrOutputWithContext(ctx context.Context) RolloutSpecTrafficPtrOutput { + return o +} + +func (o RolloutSpecTrafficPtrOutput) Elem() RolloutSpecTrafficOutput { + return o.ApplyT(func(v *RolloutSpecTraffic) RolloutSpecTraffic { + if v != nil { + return *v + } + var ret RolloutSpecTraffic + return ret + }).(RolloutSpecTrafficOutput) +} + +// Holds ALB Ingress specific configuration to route traffic. +func (o RolloutSpecTrafficPtrOutput) Alb() RolloutSpecTrafficAlbPtrOutput { + return o.ApplyT(func(v *RolloutSpecTraffic) *RolloutSpecTrafficAlb { + if v == nil { + return nil + } + return v.Alb + }).(RolloutSpecTrafficAlbPtrOutput) +} + +// Holds specific configuration to use Ambassador to route traffic. +func (o RolloutSpecTrafficPtrOutput) Ambassador() RolloutSpecTrafficAmbassadorPtrOutput { + return o.ApplyT(func(v *RolloutSpecTraffic) *RolloutSpecTrafficAmbassador { + if v == nil { + return nil + } + return v.Ambassador + }).(RolloutSpecTrafficAmbassadorPtrOutput) +} + +// The canary service name. +func (o RolloutSpecTrafficPtrOutput) CanaryService() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RolloutSpecTraffic) *string { + if v == nil { + return nil + } + return v.CanaryService + }).(pulumi.StringPtrOutput) +} + +// Holds Istio specific configuration to route traffic. +func (o RolloutSpecTrafficPtrOutput) Istio() RolloutSpecTrafficIstioPtrOutput { + return o.ApplyT(func(v *RolloutSpecTraffic) *RolloutSpecTrafficIstio { + if v == nil { + return nil + } + return v.Istio + }).(RolloutSpecTrafficIstioPtrOutput) +} + +// Holds Nginx Ingress specific configuration to route traffic. +func (o RolloutSpecTrafficPtrOutput) Nginx() RolloutSpecTrafficNginxPtrOutput { + return o.ApplyT(func(v *RolloutSpecTraffic) *RolloutSpecTrafficNginx { + if v == nil { + return nil + } + return v.Nginx + }).(RolloutSpecTrafficNginxPtrOutput) +} + +// Holds the ping and pong services. You can use `pingPong` field only when using ALB as a traffic manager with the IP Mode approach. +func (o RolloutSpecTrafficPtrOutput) PingPong() RolloutSpecTrafficPingPongPtrOutput { + return o.ApplyT(func(v *RolloutSpecTraffic) *RolloutSpecTrafficPingPong { + if v == nil { + return nil + } + return v.PingPong + }).(RolloutSpecTrafficPingPongPtrOutput) +} + +// Holds TrafficSplit specific configuration to route traffic. +func (o RolloutSpecTrafficPtrOutput) Smi() RolloutSpecTrafficSmiPtrOutput { + return o.ApplyT(func(v *RolloutSpecTraffic) *RolloutSpecTrafficSmi { + if v == nil { + return nil + } + return v.Smi + }).(RolloutSpecTrafficSmiPtrOutput) +} + +// The stable service name. +func (o RolloutSpecTrafficPtrOutput) StableService() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RolloutSpecTraffic) *string { + if v == nil { + return nil + } + return v.StableService + }).(pulumi.StringPtrOutput) +} + +type RolloutSpecTrafficAlb struct { + AlbAnnotationPrefix *string `pulumi:"albAnnotationPrefix"` + AlbIngress string `pulumi:"albIngress"` + AlbRootService string `pulumi:"albRootService"` + ServicePort int `pulumi:"servicePort"` + StickinessConfig *RolloutSpecTrafficAlbStickinessConfig `pulumi:"stickinessConfig"` +} + +// RolloutSpecTrafficAlbInput is an input type that accepts RolloutSpecTrafficAlbArgs and RolloutSpecTrafficAlbOutput values. +// You can construct a concrete instance of `RolloutSpecTrafficAlbInput` via: +// +// RolloutSpecTrafficAlbArgs{...} +type RolloutSpecTrafficAlbInput interface { + pulumi.Input + + ToRolloutSpecTrafficAlbOutput() RolloutSpecTrafficAlbOutput + ToRolloutSpecTrafficAlbOutputWithContext(context.Context) RolloutSpecTrafficAlbOutput +} + +type RolloutSpecTrafficAlbArgs struct { + AlbAnnotationPrefix pulumi.StringPtrInput `pulumi:"albAnnotationPrefix"` + AlbIngress pulumi.StringInput `pulumi:"albIngress"` + AlbRootService pulumi.StringInput `pulumi:"albRootService"` + ServicePort pulumi.IntInput `pulumi:"servicePort"` + StickinessConfig RolloutSpecTrafficAlbStickinessConfigPtrInput `pulumi:"stickinessConfig"` +} + +func (RolloutSpecTrafficAlbArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RolloutSpecTrafficAlb)(nil)).Elem() +} + +func (i RolloutSpecTrafficAlbArgs) ToRolloutSpecTrafficAlbOutput() RolloutSpecTrafficAlbOutput { + return i.ToRolloutSpecTrafficAlbOutputWithContext(context.Background()) +} + +func (i RolloutSpecTrafficAlbArgs) ToRolloutSpecTrafficAlbOutputWithContext(ctx context.Context) RolloutSpecTrafficAlbOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecTrafficAlbOutput) +} + +func (i RolloutSpecTrafficAlbArgs) ToRolloutSpecTrafficAlbPtrOutput() RolloutSpecTrafficAlbPtrOutput { + return i.ToRolloutSpecTrafficAlbPtrOutputWithContext(context.Background()) +} + +func (i RolloutSpecTrafficAlbArgs) ToRolloutSpecTrafficAlbPtrOutputWithContext(ctx context.Context) RolloutSpecTrafficAlbPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecTrafficAlbOutput).ToRolloutSpecTrafficAlbPtrOutputWithContext(ctx) +} + +// RolloutSpecTrafficAlbPtrInput is an input type that accepts RolloutSpecTrafficAlbArgs, RolloutSpecTrafficAlbPtr and RolloutSpecTrafficAlbPtrOutput values. +// You can construct a concrete instance of `RolloutSpecTrafficAlbPtrInput` via: +// +// RolloutSpecTrafficAlbArgs{...} +// +// or: +// +// nil +type RolloutSpecTrafficAlbPtrInput interface { + pulumi.Input + + ToRolloutSpecTrafficAlbPtrOutput() RolloutSpecTrafficAlbPtrOutput + ToRolloutSpecTrafficAlbPtrOutputWithContext(context.Context) RolloutSpecTrafficAlbPtrOutput +} + +type rolloutSpecTrafficAlbPtrType RolloutSpecTrafficAlbArgs + +func RolloutSpecTrafficAlbPtr(v *RolloutSpecTrafficAlbArgs) RolloutSpecTrafficAlbPtrInput { + return (*rolloutSpecTrafficAlbPtrType)(v) +} + +func (*rolloutSpecTrafficAlbPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RolloutSpecTrafficAlb)(nil)).Elem() +} + +func (i *rolloutSpecTrafficAlbPtrType) ToRolloutSpecTrafficAlbPtrOutput() RolloutSpecTrafficAlbPtrOutput { + return i.ToRolloutSpecTrafficAlbPtrOutputWithContext(context.Background()) +} + +func (i *rolloutSpecTrafficAlbPtrType) ToRolloutSpecTrafficAlbPtrOutputWithContext(ctx context.Context) RolloutSpecTrafficAlbPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecTrafficAlbPtrOutput) +} + +type RolloutSpecTrafficAlbOutput struct{ *pulumi.OutputState } + +func (RolloutSpecTrafficAlbOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RolloutSpecTrafficAlb)(nil)).Elem() +} + +func (o RolloutSpecTrafficAlbOutput) ToRolloutSpecTrafficAlbOutput() RolloutSpecTrafficAlbOutput { + return o +} + +func (o RolloutSpecTrafficAlbOutput) ToRolloutSpecTrafficAlbOutputWithContext(ctx context.Context) RolloutSpecTrafficAlbOutput { + return o +} + +func (o RolloutSpecTrafficAlbOutput) ToRolloutSpecTrafficAlbPtrOutput() RolloutSpecTrafficAlbPtrOutput { + return o.ToRolloutSpecTrafficAlbPtrOutputWithContext(context.Background()) +} + +func (o RolloutSpecTrafficAlbOutput) ToRolloutSpecTrafficAlbPtrOutputWithContext(ctx context.Context) RolloutSpecTrafficAlbPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RolloutSpecTrafficAlb) *RolloutSpecTrafficAlb { + return &v + }).(RolloutSpecTrafficAlbPtrOutput) +} + +func (o RolloutSpecTrafficAlbOutput) AlbAnnotationPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v RolloutSpecTrafficAlb) *string { return v.AlbAnnotationPrefix }).(pulumi.StringPtrOutput) +} + +func (o RolloutSpecTrafficAlbOutput) AlbIngress() pulumi.StringOutput { + return o.ApplyT(func(v RolloutSpecTrafficAlb) string { return v.AlbIngress }).(pulumi.StringOutput) +} + +func (o RolloutSpecTrafficAlbOutput) AlbRootService() pulumi.StringOutput { + return o.ApplyT(func(v RolloutSpecTrafficAlb) string { return v.AlbRootService }).(pulumi.StringOutput) +} + +func (o RolloutSpecTrafficAlbOutput) ServicePort() pulumi.IntOutput { + return o.ApplyT(func(v RolloutSpecTrafficAlb) int { return v.ServicePort }).(pulumi.IntOutput) +} + +func (o RolloutSpecTrafficAlbOutput) StickinessConfig() RolloutSpecTrafficAlbStickinessConfigPtrOutput { + return o.ApplyT(func(v RolloutSpecTrafficAlb) *RolloutSpecTrafficAlbStickinessConfig { return v.StickinessConfig }).(RolloutSpecTrafficAlbStickinessConfigPtrOutput) +} + +type RolloutSpecTrafficAlbPtrOutput struct{ *pulumi.OutputState } + +func (RolloutSpecTrafficAlbPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RolloutSpecTrafficAlb)(nil)).Elem() +} + +func (o RolloutSpecTrafficAlbPtrOutput) ToRolloutSpecTrafficAlbPtrOutput() RolloutSpecTrafficAlbPtrOutput { + return o +} + +func (o RolloutSpecTrafficAlbPtrOutput) ToRolloutSpecTrafficAlbPtrOutputWithContext(ctx context.Context) RolloutSpecTrafficAlbPtrOutput { + return o +} + +func (o RolloutSpecTrafficAlbPtrOutput) Elem() RolloutSpecTrafficAlbOutput { + return o.ApplyT(func(v *RolloutSpecTrafficAlb) RolloutSpecTrafficAlb { + if v != nil { + return *v + } + var ret RolloutSpecTrafficAlb + return ret + }).(RolloutSpecTrafficAlbOutput) +} + +func (o RolloutSpecTrafficAlbPtrOutput) AlbAnnotationPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RolloutSpecTrafficAlb) *string { + if v == nil { + return nil + } + return v.AlbAnnotationPrefix + }).(pulumi.StringPtrOutput) +} + +func (o RolloutSpecTrafficAlbPtrOutput) AlbIngress() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RolloutSpecTrafficAlb) *string { + if v == nil { + return nil + } + return &v.AlbIngress + }).(pulumi.StringPtrOutput) +} + +func (o RolloutSpecTrafficAlbPtrOutput) AlbRootService() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RolloutSpecTrafficAlb) *string { + if v == nil { + return nil + } + return &v.AlbRootService + }).(pulumi.StringPtrOutput) +} + +func (o RolloutSpecTrafficAlbPtrOutput) ServicePort() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RolloutSpecTrafficAlb) *int { + if v == nil { + return nil + } + return &v.ServicePort + }).(pulumi.IntPtrOutput) +} + +func (o RolloutSpecTrafficAlbPtrOutput) StickinessConfig() RolloutSpecTrafficAlbStickinessConfigPtrOutput { + return o.ApplyT(func(v *RolloutSpecTrafficAlb) *RolloutSpecTrafficAlbStickinessConfig { + if v == nil { + return nil + } + return v.StickinessConfig + }).(RolloutSpecTrafficAlbStickinessConfigPtrOutput) +} + +type RolloutSpecTrafficAlbStickinessConfig struct { + DurationSeconds *int `pulumi:"durationSeconds"` + Enabled *bool `pulumi:"enabled"` +} + +// RolloutSpecTrafficAlbStickinessConfigInput is an input type that accepts RolloutSpecTrafficAlbStickinessConfigArgs and RolloutSpecTrafficAlbStickinessConfigOutput values. +// You can construct a concrete instance of `RolloutSpecTrafficAlbStickinessConfigInput` via: +// +// RolloutSpecTrafficAlbStickinessConfigArgs{...} +type RolloutSpecTrafficAlbStickinessConfigInput interface { + pulumi.Input + + ToRolloutSpecTrafficAlbStickinessConfigOutput() RolloutSpecTrafficAlbStickinessConfigOutput + ToRolloutSpecTrafficAlbStickinessConfigOutputWithContext(context.Context) RolloutSpecTrafficAlbStickinessConfigOutput +} + +type RolloutSpecTrafficAlbStickinessConfigArgs struct { + DurationSeconds pulumi.IntPtrInput `pulumi:"durationSeconds"` + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` +} + +func (RolloutSpecTrafficAlbStickinessConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RolloutSpecTrafficAlbStickinessConfig)(nil)).Elem() +} + +func (i RolloutSpecTrafficAlbStickinessConfigArgs) ToRolloutSpecTrafficAlbStickinessConfigOutput() RolloutSpecTrafficAlbStickinessConfigOutput { + return i.ToRolloutSpecTrafficAlbStickinessConfigOutputWithContext(context.Background()) +} + +func (i RolloutSpecTrafficAlbStickinessConfigArgs) ToRolloutSpecTrafficAlbStickinessConfigOutputWithContext(ctx context.Context) RolloutSpecTrafficAlbStickinessConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecTrafficAlbStickinessConfigOutput) +} + +func (i RolloutSpecTrafficAlbStickinessConfigArgs) ToRolloutSpecTrafficAlbStickinessConfigPtrOutput() RolloutSpecTrafficAlbStickinessConfigPtrOutput { + return i.ToRolloutSpecTrafficAlbStickinessConfigPtrOutputWithContext(context.Background()) +} + +func (i RolloutSpecTrafficAlbStickinessConfigArgs) ToRolloutSpecTrafficAlbStickinessConfigPtrOutputWithContext(ctx context.Context) RolloutSpecTrafficAlbStickinessConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecTrafficAlbStickinessConfigOutput).ToRolloutSpecTrafficAlbStickinessConfigPtrOutputWithContext(ctx) +} + +// RolloutSpecTrafficAlbStickinessConfigPtrInput is an input type that accepts RolloutSpecTrafficAlbStickinessConfigArgs, RolloutSpecTrafficAlbStickinessConfigPtr and RolloutSpecTrafficAlbStickinessConfigPtrOutput values. +// You can construct a concrete instance of `RolloutSpecTrafficAlbStickinessConfigPtrInput` via: +// +// RolloutSpecTrafficAlbStickinessConfigArgs{...} +// +// or: +// +// nil +type RolloutSpecTrafficAlbStickinessConfigPtrInput interface { + pulumi.Input + + ToRolloutSpecTrafficAlbStickinessConfigPtrOutput() RolloutSpecTrafficAlbStickinessConfigPtrOutput + ToRolloutSpecTrafficAlbStickinessConfigPtrOutputWithContext(context.Context) RolloutSpecTrafficAlbStickinessConfigPtrOutput +} + +type rolloutSpecTrafficAlbStickinessConfigPtrType RolloutSpecTrafficAlbStickinessConfigArgs + +func RolloutSpecTrafficAlbStickinessConfigPtr(v *RolloutSpecTrafficAlbStickinessConfigArgs) RolloutSpecTrafficAlbStickinessConfigPtrInput { + return (*rolloutSpecTrafficAlbStickinessConfigPtrType)(v) +} + +func (*rolloutSpecTrafficAlbStickinessConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RolloutSpecTrafficAlbStickinessConfig)(nil)).Elem() +} + +func (i *rolloutSpecTrafficAlbStickinessConfigPtrType) ToRolloutSpecTrafficAlbStickinessConfigPtrOutput() RolloutSpecTrafficAlbStickinessConfigPtrOutput { + return i.ToRolloutSpecTrafficAlbStickinessConfigPtrOutputWithContext(context.Background()) +} + +func (i *rolloutSpecTrafficAlbStickinessConfigPtrType) ToRolloutSpecTrafficAlbStickinessConfigPtrOutputWithContext(ctx context.Context) RolloutSpecTrafficAlbStickinessConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecTrafficAlbStickinessConfigPtrOutput) +} + +type RolloutSpecTrafficAlbStickinessConfigOutput struct{ *pulumi.OutputState } + +func (RolloutSpecTrafficAlbStickinessConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RolloutSpecTrafficAlbStickinessConfig)(nil)).Elem() +} + +func (o RolloutSpecTrafficAlbStickinessConfigOutput) ToRolloutSpecTrafficAlbStickinessConfigOutput() RolloutSpecTrafficAlbStickinessConfigOutput { + return o +} + +func (o RolloutSpecTrafficAlbStickinessConfigOutput) ToRolloutSpecTrafficAlbStickinessConfigOutputWithContext(ctx context.Context) RolloutSpecTrafficAlbStickinessConfigOutput { + return o +} + +func (o RolloutSpecTrafficAlbStickinessConfigOutput) ToRolloutSpecTrafficAlbStickinessConfigPtrOutput() RolloutSpecTrafficAlbStickinessConfigPtrOutput { + return o.ToRolloutSpecTrafficAlbStickinessConfigPtrOutputWithContext(context.Background()) +} + +func (o RolloutSpecTrafficAlbStickinessConfigOutput) ToRolloutSpecTrafficAlbStickinessConfigPtrOutputWithContext(ctx context.Context) RolloutSpecTrafficAlbStickinessConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RolloutSpecTrafficAlbStickinessConfig) *RolloutSpecTrafficAlbStickinessConfig { + return &v + }).(RolloutSpecTrafficAlbStickinessConfigPtrOutput) +} + +func (o RolloutSpecTrafficAlbStickinessConfigOutput) DurationSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v RolloutSpecTrafficAlbStickinessConfig) *int { return v.DurationSeconds }).(pulumi.IntPtrOutput) +} + +func (o RolloutSpecTrafficAlbStickinessConfigOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v RolloutSpecTrafficAlbStickinessConfig) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +} + +type RolloutSpecTrafficAlbStickinessConfigPtrOutput struct{ *pulumi.OutputState } + +func (RolloutSpecTrafficAlbStickinessConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RolloutSpecTrafficAlbStickinessConfig)(nil)).Elem() +} + +func (o RolloutSpecTrafficAlbStickinessConfigPtrOutput) ToRolloutSpecTrafficAlbStickinessConfigPtrOutput() RolloutSpecTrafficAlbStickinessConfigPtrOutput { + return o +} + +func (o RolloutSpecTrafficAlbStickinessConfigPtrOutput) ToRolloutSpecTrafficAlbStickinessConfigPtrOutputWithContext(ctx context.Context) RolloutSpecTrafficAlbStickinessConfigPtrOutput { + return o +} + +func (o RolloutSpecTrafficAlbStickinessConfigPtrOutput) Elem() RolloutSpecTrafficAlbStickinessConfigOutput { + return o.ApplyT(func(v *RolloutSpecTrafficAlbStickinessConfig) RolloutSpecTrafficAlbStickinessConfig { + if v != nil { + return *v + } + var ret RolloutSpecTrafficAlbStickinessConfig + return ret + }).(RolloutSpecTrafficAlbStickinessConfigOutput) +} + +func (o RolloutSpecTrafficAlbStickinessConfigPtrOutput) DurationSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RolloutSpecTrafficAlbStickinessConfig) *int { + if v == nil { + return nil + } + return v.DurationSeconds + }).(pulumi.IntPtrOutput) +} + +func (o RolloutSpecTrafficAlbStickinessConfigPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *RolloutSpecTrafficAlbStickinessConfig) *bool { + if v == nil { + return nil + } + return v.Enabled + }).(pulumi.BoolPtrOutput) +} + +type RolloutSpecTrafficAmbassador struct { + Mappings []string `pulumi:"mappings"` +} + +// RolloutSpecTrafficAmbassadorInput is an input type that accepts RolloutSpecTrafficAmbassadorArgs and RolloutSpecTrafficAmbassadorOutput values. +// You can construct a concrete instance of `RolloutSpecTrafficAmbassadorInput` via: +// +// RolloutSpecTrafficAmbassadorArgs{...} +type RolloutSpecTrafficAmbassadorInput interface { + pulumi.Input + + ToRolloutSpecTrafficAmbassadorOutput() RolloutSpecTrafficAmbassadorOutput + ToRolloutSpecTrafficAmbassadorOutputWithContext(context.Context) RolloutSpecTrafficAmbassadorOutput +} + +type RolloutSpecTrafficAmbassadorArgs struct { + Mappings pulumi.StringArrayInput `pulumi:"mappings"` +} + +func (RolloutSpecTrafficAmbassadorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RolloutSpecTrafficAmbassador)(nil)).Elem() +} + +func (i RolloutSpecTrafficAmbassadorArgs) ToRolloutSpecTrafficAmbassadorOutput() RolloutSpecTrafficAmbassadorOutput { + return i.ToRolloutSpecTrafficAmbassadorOutputWithContext(context.Background()) +} + +func (i RolloutSpecTrafficAmbassadorArgs) ToRolloutSpecTrafficAmbassadorOutputWithContext(ctx context.Context) RolloutSpecTrafficAmbassadorOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecTrafficAmbassadorOutput) +} + +func (i RolloutSpecTrafficAmbassadorArgs) ToRolloutSpecTrafficAmbassadorPtrOutput() RolloutSpecTrafficAmbassadorPtrOutput { + return i.ToRolloutSpecTrafficAmbassadorPtrOutputWithContext(context.Background()) +} + +func (i RolloutSpecTrafficAmbassadorArgs) ToRolloutSpecTrafficAmbassadorPtrOutputWithContext(ctx context.Context) RolloutSpecTrafficAmbassadorPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecTrafficAmbassadorOutput).ToRolloutSpecTrafficAmbassadorPtrOutputWithContext(ctx) +} + +// RolloutSpecTrafficAmbassadorPtrInput is an input type that accepts RolloutSpecTrafficAmbassadorArgs, RolloutSpecTrafficAmbassadorPtr and RolloutSpecTrafficAmbassadorPtrOutput values. +// You can construct a concrete instance of `RolloutSpecTrafficAmbassadorPtrInput` via: +// +// RolloutSpecTrafficAmbassadorArgs{...} +// +// or: +// +// nil +type RolloutSpecTrafficAmbassadorPtrInput interface { + pulumi.Input + + ToRolloutSpecTrafficAmbassadorPtrOutput() RolloutSpecTrafficAmbassadorPtrOutput + ToRolloutSpecTrafficAmbassadorPtrOutputWithContext(context.Context) RolloutSpecTrafficAmbassadorPtrOutput +} + +type rolloutSpecTrafficAmbassadorPtrType RolloutSpecTrafficAmbassadorArgs + +func RolloutSpecTrafficAmbassadorPtr(v *RolloutSpecTrafficAmbassadorArgs) RolloutSpecTrafficAmbassadorPtrInput { + return (*rolloutSpecTrafficAmbassadorPtrType)(v) +} + +func (*rolloutSpecTrafficAmbassadorPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RolloutSpecTrafficAmbassador)(nil)).Elem() +} + +func (i *rolloutSpecTrafficAmbassadorPtrType) ToRolloutSpecTrafficAmbassadorPtrOutput() RolloutSpecTrafficAmbassadorPtrOutput { + return i.ToRolloutSpecTrafficAmbassadorPtrOutputWithContext(context.Background()) +} + +func (i *rolloutSpecTrafficAmbassadorPtrType) ToRolloutSpecTrafficAmbassadorPtrOutputWithContext(ctx context.Context) RolloutSpecTrafficAmbassadorPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecTrafficAmbassadorPtrOutput) +} + +type RolloutSpecTrafficAmbassadorOutput struct{ *pulumi.OutputState } + +func (RolloutSpecTrafficAmbassadorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RolloutSpecTrafficAmbassador)(nil)).Elem() +} + +func (o RolloutSpecTrafficAmbassadorOutput) ToRolloutSpecTrafficAmbassadorOutput() RolloutSpecTrafficAmbassadorOutput { + return o +} + +func (o RolloutSpecTrafficAmbassadorOutput) ToRolloutSpecTrafficAmbassadorOutputWithContext(ctx context.Context) RolloutSpecTrafficAmbassadorOutput { + return o +} + +func (o RolloutSpecTrafficAmbassadorOutput) ToRolloutSpecTrafficAmbassadorPtrOutput() RolloutSpecTrafficAmbassadorPtrOutput { + return o.ToRolloutSpecTrafficAmbassadorPtrOutputWithContext(context.Background()) +} + +func (o RolloutSpecTrafficAmbassadorOutput) ToRolloutSpecTrafficAmbassadorPtrOutputWithContext(ctx context.Context) RolloutSpecTrafficAmbassadorPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RolloutSpecTrafficAmbassador) *RolloutSpecTrafficAmbassador { + return &v + }).(RolloutSpecTrafficAmbassadorPtrOutput) +} + +func (o RolloutSpecTrafficAmbassadorOutput) Mappings() pulumi.StringArrayOutput { + return o.ApplyT(func(v RolloutSpecTrafficAmbassador) []string { return v.Mappings }).(pulumi.StringArrayOutput) +} + +type RolloutSpecTrafficAmbassadorPtrOutput struct{ *pulumi.OutputState } + +func (RolloutSpecTrafficAmbassadorPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RolloutSpecTrafficAmbassador)(nil)).Elem() +} + +func (o RolloutSpecTrafficAmbassadorPtrOutput) ToRolloutSpecTrafficAmbassadorPtrOutput() RolloutSpecTrafficAmbassadorPtrOutput { + return o +} + +func (o RolloutSpecTrafficAmbassadorPtrOutput) ToRolloutSpecTrafficAmbassadorPtrOutputWithContext(ctx context.Context) RolloutSpecTrafficAmbassadorPtrOutput { + return o +} + +func (o RolloutSpecTrafficAmbassadorPtrOutput) Elem() RolloutSpecTrafficAmbassadorOutput { + return o.ApplyT(func(v *RolloutSpecTrafficAmbassador) RolloutSpecTrafficAmbassador { + if v != nil { + return *v + } + var ret RolloutSpecTrafficAmbassador + return ret + }).(RolloutSpecTrafficAmbassadorOutput) +} + +func (o RolloutSpecTrafficAmbassadorPtrOutput) Mappings() pulumi.StringArrayOutput { + return o.ApplyT(func(v *RolloutSpecTrafficAmbassador) []string { + if v == nil { + return nil + } + return v.Mappings + }).(pulumi.StringArrayOutput) +} + +type RolloutSpecTrafficIstio struct { + DestinationRule *RolloutSpecTrafficIstioDestinationRule `pulumi:"destinationRule"` + VirtualServices []RolloutSpecTrafficIstioVirtualService `pulumi:"virtualServices"` +} + +// RolloutSpecTrafficIstioInput is an input type that accepts RolloutSpecTrafficIstioArgs and RolloutSpecTrafficIstioOutput values. +// You can construct a concrete instance of `RolloutSpecTrafficIstioInput` via: +// +// RolloutSpecTrafficIstioArgs{...} +type RolloutSpecTrafficIstioInput interface { + pulumi.Input + + ToRolloutSpecTrafficIstioOutput() RolloutSpecTrafficIstioOutput + ToRolloutSpecTrafficIstioOutputWithContext(context.Context) RolloutSpecTrafficIstioOutput +} + +type RolloutSpecTrafficIstioArgs struct { + DestinationRule RolloutSpecTrafficIstioDestinationRulePtrInput `pulumi:"destinationRule"` + VirtualServices RolloutSpecTrafficIstioVirtualServiceArrayInput `pulumi:"virtualServices"` +} + +func (RolloutSpecTrafficIstioArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RolloutSpecTrafficIstio)(nil)).Elem() +} + +func (i RolloutSpecTrafficIstioArgs) ToRolloutSpecTrafficIstioOutput() RolloutSpecTrafficIstioOutput { + return i.ToRolloutSpecTrafficIstioOutputWithContext(context.Background()) +} + +func (i RolloutSpecTrafficIstioArgs) ToRolloutSpecTrafficIstioOutputWithContext(ctx context.Context) RolloutSpecTrafficIstioOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecTrafficIstioOutput) +} + +func (i RolloutSpecTrafficIstioArgs) ToRolloutSpecTrafficIstioPtrOutput() RolloutSpecTrafficIstioPtrOutput { + return i.ToRolloutSpecTrafficIstioPtrOutputWithContext(context.Background()) +} + +func (i RolloutSpecTrafficIstioArgs) ToRolloutSpecTrafficIstioPtrOutputWithContext(ctx context.Context) RolloutSpecTrafficIstioPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecTrafficIstioOutput).ToRolloutSpecTrafficIstioPtrOutputWithContext(ctx) +} + +// RolloutSpecTrafficIstioPtrInput is an input type that accepts RolloutSpecTrafficIstioArgs, RolloutSpecTrafficIstioPtr and RolloutSpecTrafficIstioPtrOutput values. +// You can construct a concrete instance of `RolloutSpecTrafficIstioPtrInput` via: +// +// RolloutSpecTrafficIstioArgs{...} +// +// or: +// +// nil +type RolloutSpecTrafficIstioPtrInput interface { + pulumi.Input + + ToRolloutSpecTrafficIstioPtrOutput() RolloutSpecTrafficIstioPtrOutput + ToRolloutSpecTrafficIstioPtrOutputWithContext(context.Context) RolloutSpecTrafficIstioPtrOutput +} + +type rolloutSpecTrafficIstioPtrType RolloutSpecTrafficIstioArgs + +func RolloutSpecTrafficIstioPtr(v *RolloutSpecTrafficIstioArgs) RolloutSpecTrafficIstioPtrInput { + return (*rolloutSpecTrafficIstioPtrType)(v) +} + +func (*rolloutSpecTrafficIstioPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RolloutSpecTrafficIstio)(nil)).Elem() +} + +func (i *rolloutSpecTrafficIstioPtrType) ToRolloutSpecTrafficIstioPtrOutput() RolloutSpecTrafficIstioPtrOutput { + return i.ToRolloutSpecTrafficIstioPtrOutputWithContext(context.Background()) +} + +func (i *rolloutSpecTrafficIstioPtrType) ToRolloutSpecTrafficIstioPtrOutputWithContext(ctx context.Context) RolloutSpecTrafficIstioPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecTrafficIstioPtrOutput) +} + +type RolloutSpecTrafficIstioOutput struct{ *pulumi.OutputState } + +func (RolloutSpecTrafficIstioOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RolloutSpecTrafficIstio)(nil)).Elem() +} + +func (o RolloutSpecTrafficIstioOutput) ToRolloutSpecTrafficIstioOutput() RolloutSpecTrafficIstioOutput { + return o +} + +func (o RolloutSpecTrafficIstioOutput) ToRolloutSpecTrafficIstioOutputWithContext(ctx context.Context) RolloutSpecTrafficIstioOutput { + return o +} + +func (o RolloutSpecTrafficIstioOutput) ToRolloutSpecTrafficIstioPtrOutput() RolloutSpecTrafficIstioPtrOutput { + return o.ToRolloutSpecTrafficIstioPtrOutputWithContext(context.Background()) +} + +func (o RolloutSpecTrafficIstioOutput) ToRolloutSpecTrafficIstioPtrOutputWithContext(ctx context.Context) RolloutSpecTrafficIstioPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RolloutSpecTrafficIstio) *RolloutSpecTrafficIstio { + return &v + }).(RolloutSpecTrafficIstioPtrOutput) +} + +func (o RolloutSpecTrafficIstioOutput) DestinationRule() RolloutSpecTrafficIstioDestinationRulePtrOutput { + return o.ApplyT(func(v RolloutSpecTrafficIstio) *RolloutSpecTrafficIstioDestinationRule { return v.DestinationRule }).(RolloutSpecTrafficIstioDestinationRulePtrOutput) +} + +func (o RolloutSpecTrafficIstioOutput) VirtualServices() RolloutSpecTrafficIstioVirtualServiceArrayOutput { + return o.ApplyT(func(v RolloutSpecTrafficIstio) []RolloutSpecTrafficIstioVirtualService { return v.VirtualServices }).(RolloutSpecTrafficIstioVirtualServiceArrayOutput) +} + +type RolloutSpecTrafficIstioPtrOutput struct{ *pulumi.OutputState } + +func (RolloutSpecTrafficIstioPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RolloutSpecTrafficIstio)(nil)).Elem() +} + +func (o RolloutSpecTrafficIstioPtrOutput) ToRolloutSpecTrafficIstioPtrOutput() RolloutSpecTrafficIstioPtrOutput { + return o +} + +func (o RolloutSpecTrafficIstioPtrOutput) ToRolloutSpecTrafficIstioPtrOutputWithContext(ctx context.Context) RolloutSpecTrafficIstioPtrOutput { + return o +} + +func (o RolloutSpecTrafficIstioPtrOutput) Elem() RolloutSpecTrafficIstioOutput { + return o.ApplyT(func(v *RolloutSpecTrafficIstio) RolloutSpecTrafficIstio { + if v != nil { + return *v + } + var ret RolloutSpecTrafficIstio + return ret + }).(RolloutSpecTrafficIstioOutput) +} + +func (o RolloutSpecTrafficIstioPtrOutput) DestinationRule() RolloutSpecTrafficIstioDestinationRulePtrOutput { + return o.ApplyT(func(v *RolloutSpecTrafficIstio) *RolloutSpecTrafficIstioDestinationRule { + if v == nil { + return nil + } + return v.DestinationRule + }).(RolloutSpecTrafficIstioDestinationRulePtrOutput) +} + +func (o RolloutSpecTrafficIstioPtrOutput) VirtualServices() RolloutSpecTrafficIstioVirtualServiceArrayOutput { + return o.ApplyT(func(v *RolloutSpecTrafficIstio) []RolloutSpecTrafficIstioVirtualService { + if v == nil { + return nil + } + return v.VirtualServices + }).(RolloutSpecTrafficIstioVirtualServiceArrayOutput) +} + +type RolloutSpecTrafficIstioDestinationRule struct { + CanarySubsetName string `pulumi:"canarySubsetName"` + DestinationRuleName string `pulumi:"destinationRuleName"` + StableSubsetName string `pulumi:"stableSubsetName"` +} + +// RolloutSpecTrafficIstioDestinationRuleInput is an input type that accepts RolloutSpecTrafficIstioDestinationRuleArgs and RolloutSpecTrafficIstioDestinationRuleOutput values. +// You can construct a concrete instance of `RolloutSpecTrafficIstioDestinationRuleInput` via: +// +// RolloutSpecTrafficIstioDestinationRuleArgs{...} +type RolloutSpecTrafficIstioDestinationRuleInput interface { + pulumi.Input + + ToRolloutSpecTrafficIstioDestinationRuleOutput() RolloutSpecTrafficIstioDestinationRuleOutput + ToRolloutSpecTrafficIstioDestinationRuleOutputWithContext(context.Context) RolloutSpecTrafficIstioDestinationRuleOutput +} + +type RolloutSpecTrafficIstioDestinationRuleArgs struct { + CanarySubsetName pulumi.StringInput `pulumi:"canarySubsetName"` + DestinationRuleName pulumi.StringInput `pulumi:"destinationRuleName"` + StableSubsetName pulumi.StringInput `pulumi:"stableSubsetName"` +} + +func (RolloutSpecTrafficIstioDestinationRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RolloutSpecTrafficIstioDestinationRule)(nil)).Elem() +} + +func (i RolloutSpecTrafficIstioDestinationRuleArgs) ToRolloutSpecTrafficIstioDestinationRuleOutput() RolloutSpecTrafficIstioDestinationRuleOutput { + return i.ToRolloutSpecTrafficIstioDestinationRuleOutputWithContext(context.Background()) +} + +func (i RolloutSpecTrafficIstioDestinationRuleArgs) ToRolloutSpecTrafficIstioDestinationRuleOutputWithContext(ctx context.Context) RolloutSpecTrafficIstioDestinationRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecTrafficIstioDestinationRuleOutput) +} + +func (i RolloutSpecTrafficIstioDestinationRuleArgs) ToRolloutSpecTrafficIstioDestinationRulePtrOutput() RolloutSpecTrafficIstioDestinationRulePtrOutput { + return i.ToRolloutSpecTrafficIstioDestinationRulePtrOutputWithContext(context.Background()) +} + +func (i RolloutSpecTrafficIstioDestinationRuleArgs) ToRolloutSpecTrafficIstioDestinationRulePtrOutputWithContext(ctx context.Context) RolloutSpecTrafficIstioDestinationRulePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecTrafficIstioDestinationRuleOutput).ToRolloutSpecTrafficIstioDestinationRulePtrOutputWithContext(ctx) +} + +// RolloutSpecTrafficIstioDestinationRulePtrInput is an input type that accepts RolloutSpecTrafficIstioDestinationRuleArgs, RolloutSpecTrafficIstioDestinationRulePtr and RolloutSpecTrafficIstioDestinationRulePtrOutput values. +// You can construct a concrete instance of `RolloutSpecTrafficIstioDestinationRulePtrInput` via: +// +// RolloutSpecTrafficIstioDestinationRuleArgs{...} +// +// or: +// +// nil +type RolloutSpecTrafficIstioDestinationRulePtrInput interface { + pulumi.Input + + ToRolloutSpecTrafficIstioDestinationRulePtrOutput() RolloutSpecTrafficIstioDestinationRulePtrOutput + ToRolloutSpecTrafficIstioDestinationRulePtrOutputWithContext(context.Context) RolloutSpecTrafficIstioDestinationRulePtrOutput +} + +type rolloutSpecTrafficIstioDestinationRulePtrType RolloutSpecTrafficIstioDestinationRuleArgs + +func RolloutSpecTrafficIstioDestinationRulePtr(v *RolloutSpecTrafficIstioDestinationRuleArgs) RolloutSpecTrafficIstioDestinationRulePtrInput { + return (*rolloutSpecTrafficIstioDestinationRulePtrType)(v) +} + +func (*rolloutSpecTrafficIstioDestinationRulePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RolloutSpecTrafficIstioDestinationRule)(nil)).Elem() +} + +func (i *rolloutSpecTrafficIstioDestinationRulePtrType) ToRolloutSpecTrafficIstioDestinationRulePtrOutput() RolloutSpecTrafficIstioDestinationRulePtrOutput { + return i.ToRolloutSpecTrafficIstioDestinationRulePtrOutputWithContext(context.Background()) +} + +func (i *rolloutSpecTrafficIstioDestinationRulePtrType) ToRolloutSpecTrafficIstioDestinationRulePtrOutputWithContext(ctx context.Context) RolloutSpecTrafficIstioDestinationRulePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecTrafficIstioDestinationRulePtrOutput) +} + +type RolloutSpecTrafficIstioDestinationRuleOutput struct{ *pulumi.OutputState } + +func (RolloutSpecTrafficIstioDestinationRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RolloutSpecTrafficIstioDestinationRule)(nil)).Elem() +} + +func (o RolloutSpecTrafficIstioDestinationRuleOutput) ToRolloutSpecTrafficIstioDestinationRuleOutput() RolloutSpecTrafficIstioDestinationRuleOutput { + return o +} + +func (o RolloutSpecTrafficIstioDestinationRuleOutput) ToRolloutSpecTrafficIstioDestinationRuleOutputWithContext(ctx context.Context) RolloutSpecTrafficIstioDestinationRuleOutput { + return o +} + +func (o RolloutSpecTrafficIstioDestinationRuleOutput) ToRolloutSpecTrafficIstioDestinationRulePtrOutput() RolloutSpecTrafficIstioDestinationRulePtrOutput { + return o.ToRolloutSpecTrafficIstioDestinationRulePtrOutputWithContext(context.Background()) +} + +func (o RolloutSpecTrafficIstioDestinationRuleOutput) ToRolloutSpecTrafficIstioDestinationRulePtrOutputWithContext(ctx context.Context) RolloutSpecTrafficIstioDestinationRulePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RolloutSpecTrafficIstioDestinationRule) *RolloutSpecTrafficIstioDestinationRule { + return &v + }).(RolloutSpecTrafficIstioDestinationRulePtrOutput) +} + +func (o RolloutSpecTrafficIstioDestinationRuleOutput) CanarySubsetName() pulumi.StringOutput { + return o.ApplyT(func(v RolloutSpecTrafficIstioDestinationRule) string { return v.CanarySubsetName }).(pulumi.StringOutput) +} + +func (o RolloutSpecTrafficIstioDestinationRuleOutput) DestinationRuleName() pulumi.StringOutput { + return o.ApplyT(func(v RolloutSpecTrafficIstioDestinationRule) string { return v.DestinationRuleName }).(pulumi.StringOutput) +} + +func (o RolloutSpecTrafficIstioDestinationRuleOutput) StableSubsetName() pulumi.StringOutput { + return o.ApplyT(func(v RolloutSpecTrafficIstioDestinationRule) string { return v.StableSubsetName }).(pulumi.StringOutput) +} + +type RolloutSpecTrafficIstioDestinationRulePtrOutput struct{ *pulumi.OutputState } + +func (RolloutSpecTrafficIstioDestinationRulePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RolloutSpecTrafficIstioDestinationRule)(nil)).Elem() +} + +func (o RolloutSpecTrafficIstioDestinationRulePtrOutput) ToRolloutSpecTrafficIstioDestinationRulePtrOutput() RolloutSpecTrafficIstioDestinationRulePtrOutput { + return o +} + +func (o RolloutSpecTrafficIstioDestinationRulePtrOutput) ToRolloutSpecTrafficIstioDestinationRulePtrOutputWithContext(ctx context.Context) RolloutSpecTrafficIstioDestinationRulePtrOutput { + return o +} + +func (o RolloutSpecTrafficIstioDestinationRulePtrOutput) Elem() RolloutSpecTrafficIstioDestinationRuleOutput { + return o.ApplyT(func(v *RolloutSpecTrafficIstioDestinationRule) RolloutSpecTrafficIstioDestinationRule { + if v != nil { + return *v + } + var ret RolloutSpecTrafficIstioDestinationRule + return ret + }).(RolloutSpecTrafficIstioDestinationRuleOutput) +} + +func (o RolloutSpecTrafficIstioDestinationRulePtrOutput) CanarySubsetName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RolloutSpecTrafficIstioDestinationRule) *string { + if v == nil { + return nil + } + return &v.CanarySubsetName + }).(pulumi.StringPtrOutput) +} + +func (o RolloutSpecTrafficIstioDestinationRulePtrOutput) DestinationRuleName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RolloutSpecTrafficIstioDestinationRule) *string { + if v == nil { + return nil + } + return &v.DestinationRuleName + }).(pulumi.StringPtrOutput) +} + +func (o RolloutSpecTrafficIstioDestinationRulePtrOutput) StableSubsetName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RolloutSpecTrafficIstioDestinationRule) *string { + if v == nil { + return nil + } + return &v.StableSubsetName + }).(pulumi.StringPtrOutput) +} + +type RolloutSpecTrafficIstioVirtualService struct { + TlsRoutes []RolloutSpecTrafficIstioVirtualServiceTlsRoute `pulumi:"tlsRoutes"` + VirtualServiceName string `pulumi:"virtualServiceName"` + VirtualServiceRoutes []string `pulumi:"virtualServiceRoutes"` +} + +// RolloutSpecTrafficIstioVirtualServiceInput is an input type that accepts RolloutSpecTrafficIstioVirtualServiceArgs and RolloutSpecTrafficIstioVirtualServiceOutput values. +// You can construct a concrete instance of `RolloutSpecTrafficIstioVirtualServiceInput` via: +// +// RolloutSpecTrafficIstioVirtualServiceArgs{...} +type RolloutSpecTrafficIstioVirtualServiceInput interface { + pulumi.Input + + ToRolloutSpecTrafficIstioVirtualServiceOutput() RolloutSpecTrafficIstioVirtualServiceOutput + ToRolloutSpecTrafficIstioVirtualServiceOutputWithContext(context.Context) RolloutSpecTrafficIstioVirtualServiceOutput +} + +type RolloutSpecTrafficIstioVirtualServiceArgs struct { + TlsRoutes RolloutSpecTrafficIstioVirtualServiceTlsRouteArrayInput `pulumi:"tlsRoutes"` + VirtualServiceName pulumi.StringInput `pulumi:"virtualServiceName"` + VirtualServiceRoutes pulumi.StringArrayInput `pulumi:"virtualServiceRoutes"` +} + +func (RolloutSpecTrafficIstioVirtualServiceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RolloutSpecTrafficIstioVirtualService)(nil)).Elem() +} + +func (i RolloutSpecTrafficIstioVirtualServiceArgs) ToRolloutSpecTrafficIstioVirtualServiceOutput() RolloutSpecTrafficIstioVirtualServiceOutput { + return i.ToRolloutSpecTrafficIstioVirtualServiceOutputWithContext(context.Background()) +} + +func (i RolloutSpecTrafficIstioVirtualServiceArgs) ToRolloutSpecTrafficIstioVirtualServiceOutputWithContext(ctx context.Context) RolloutSpecTrafficIstioVirtualServiceOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecTrafficIstioVirtualServiceOutput) +} + +// RolloutSpecTrafficIstioVirtualServiceArrayInput is an input type that accepts RolloutSpecTrafficIstioVirtualServiceArray and RolloutSpecTrafficIstioVirtualServiceArrayOutput values. +// You can construct a concrete instance of `RolloutSpecTrafficIstioVirtualServiceArrayInput` via: +// +// RolloutSpecTrafficIstioVirtualServiceArray{ RolloutSpecTrafficIstioVirtualServiceArgs{...} } +type RolloutSpecTrafficIstioVirtualServiceArrayInput interface { + pulumi.Input + + ToRolloutSpecTrafficIstioVirtualServiceArrayOutput() RolloutSpecTrafficIstioVirtualServiceArrayOutput + ToRolloutSpecTrafficIstioVirtualServiceArrayOutputWithContext(context.Context) RolloutSpecTrafficIstioVirtualServiceArrayOutput +} + +type RolloutSpecTrafficIstioVirtualServiceArray []RolloutSpecTrafficIstioVirtualServiceInput + +func (RolloutSpecTrafficIstioVirtualServiceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RolloutSpecTrafficIstioVirtualService)(nil)).Elem() +} + +func (i RolloutSpecTrafficIstioVirtualServiceArray) ToRolloutSpecTrafficIstioVirtualServiceArrayOutput() RolloutSpecTrafficIstioVirtualServiceArrayOutput { + return i.ToRolloutSpecTrafficIstioVirtualServiceArrayOutputWithContext(context.Background()) +} + +func (i RolloutSpecTrafficIstioVirtualServiceArray) ToRolloutSpecTrafficIstioVirtualServiceArrayOutputWithContext(ctx context.Context) RolloutSpecTrafficIstioVirtualServiceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecTrafficIstioVirtualServiceArrayOutput) +} + +type RolloutSpecTrafficIstioVirtualServiceOutput struct{ *pulumi.OutputState } + +func (RolloutSpecTrafficIstioVirtualServiceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RolloutSpecTrafficIstioVirtualService)(nil)).Elem() +} + +func (o RolloutSpecTrafficIstioVirtualServiceOutput) ToRolloutSpecTrafficIstioVirtualServiceOutput() RolloutSpecTrafficIstioVirtualServiceOutput { + return o +} + +func (o RolloutSpecTrafficIstioVirtualServiceOutput) ToRolloutSpecTrafficIstioVirtualServiceOutputWithContext(ctx context.Context) RolloutSpecTrafficIstioVirtualServiceOutput { + return o +} + +func (o RolloutSpecTrafficIstioVirtualServiceOutput) TlsRoutes() RolloutSpecTrafficIstioVirtualServiceTlsRouteArrayOutput { + return o.ApplyT(func(v RolloutSpecTrafficIstioVirtualService) []RolloutSpecTrafficIstioVirtualServiceTlsRoute { + return v.TlsRoutes + }).(RolloutSpecTrafficIstioVirtualServiceTlsRouteArrayOutput) +} + +func (o RolloutSpecTrafficIstioVirtualServiceOutput) VirtualServiceName() pulumi.StringOutput { + return o.ApplyT(func(v RolloutSpecTrafficIstioVirtualService) string { return v.VirtualServiceName }).(pulumi.StringOutput) +} + +func (o RolloutSpecTrafficIstioVirtualServiceOutput) VirtualServiceRoutes() pulumi.StringArrayOutput { + return o.ApplyT(func(v RolloutSpecTrafficIstioVirtualService) []string { return v.VirtualServiceRoutes }).(pulumi.StringArrayOutput) +} + +type RolloutSpecTrafficIstioVirtualServiceArrayOutput struct{ *pulumi.OutputState } + +func (RolloutSpecTrafficIstioVirtualServiceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RolloutSpecTrafficIstioVirtualService)(nil)).Elem() +} + +func (o RolloutSpecTrafficIstioVirtualServiceArrayOutput) ToRolloutSpecTrafficIstioVirtualServiceArrayOutput() RolloutSpecTrafficIstioVirtualServiceArrayOutput { + return o +} + +func (o RolloutSpecTrafficIstioVirtualServiceArrayOutput) ToRolloutSpecTrafficIstioVirtualServiceArrayOutputWithContext(ctx context.Context) RolloutSpecTrafficIstioVirtualServiceArrayOutput { + return o +} + +func (o RolloutSpecTrafficIstioVirtualServiceArrayOutput) Index(i pulumi.IntInput) RolloutSpecTrafficIstioVirtualServiceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RolloutSpecTrafficIstioVirtualService { + return vs[0].([]RolloutSpecTrafficIstioVirtualService)[vs[1].(int)] + }).(RolloutSpecTrafficIstioVirtualServiceOutput) +} + +type RolloutSpecTrafficIstioVirtualServiceTlsRoute struct { + Port *int `pulumi:"port"` + SniHosts []string `pulumi:"sniHosts"` +} + +// RolloutSpecTrafficIstioVirtualServiceTlsRouteInput is an input type that accepts RolloutSpecTrafficIstioVirtualServiceTlsRouteArgs and RolloutSpecTrafficIstioVirtualServiceTlsRouteOutput values. +// You can construct a concrete instance of `RolloutSpecTrafficIstioVirtualServiceTlsRouteInput` via: +// +// RolloutSpecTrafficIstioVirtualServiceTlsRouteArgs{...} +type RolloutSpecTrafficIstioVirtualServiceTlsRouteInput interface { + pulumi.Input + + ToRolloutSpecTrafficIstioVirtualServiceTlsRouteOutput() RolloutSpecTrafficIstioVirtualServiceTlsRouteOutput + ToRolloutSpecTrafficIstioVirtualServiceTlsRouteOutputWithContext(context.Context) RolloutSpecTrafficIstioVirtualServiceTlsRouteOutput +} + +type RolloutSpecTrafficIstioVirtualServiceTlsRouteArgs struct { + Port pulumi.IntPtrInput `pulumi:"port"` + SniHosts pulumi.StringArrayInput `pulumi:"sniHosts"` +} + +func (RolloutSpecTrafficIstioVirtualServiceTlsRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RolloutSpecTrafficIstioVirtualServiceTlsRoute)(nil)).Elem() +} + +func (i RolloutSpecTrafficIstioVirtualServiceTlsRouteArgs) ToRolloutSpecTrafficIstioVirtualServiceTlsRouteOutput() RolloutSpecTrafficIstioVirtualServiceTlsRouteOutput { + return i.ToRolloutSpecTrafficIstioVirtualServiceTlsRouteOutputWithContext(context.Background()) +} + +func (i RolloutSpecTrafficIstioVirtualServiceTlsRouteArgs) ToRolloutSpecTrafficIstioVirtualServiceTlsRouteOutputWithContext(ctx context.Context) RolloutSpecTrafficIstioVirtualServiceTlsRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecTrafficIstioVirtualServiceTlsRouteOutput) +} + +// RolloutSpecTrafficIstioVirtualServiceTlsRouteArrayInput is an input type that accepts RolloutSpecTrafficIstioVirtualServiceTlsRouteArray and RolloutSpecTrafficIstioVirtualServiceTlsRouteArrayOutput values. +// You can construct a concrete instance of `RolloutSpecTrafficIstioVirtualServiceTlsRouteArrayInput` via: +// +// RolloutSpecTrafficIstioVirtualServiceTlsRouteArray{ RolloutSpecTrafficIstioVirtualServiceTlsRouteArgs{...} } +type RolloutSpecTrafficIstioVirtualServiceTlsRouteArrayInput interface { + pulumi.Input + + ToRolloutSpecTrafficIstioVirtualServiceTlsRouteArrayOutput() RolloutSpecTrafficIstioVirtualServiceTlsRouteArrayOutput + ToRolloutSpecTrafficIstioVirtualServiceTlsRouteArrayOutputWithContext(context.Context) RolloutSpecTrafficIstioVirtualServiceTlsRouteArrayOutput +} + +type RolloutSpecTrafficIstioVirtualServiceTlsRouteArray []RolloutSpecTrafficIstioVirtualServiceTlsRouteInput + +func (RolloutSpecTrafficIstioVirtualServiceTlsRouteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RolloutSpecTrafficIstioVirtualServiceTlsRoute)(nil)).Elem() +} + +func (i RolloutSpecTrafficIstioVirtualServiceTlsRouteArray) ToRolloutSpecTrafficIstioVirtualServiceTlsRouteArrayOutput() RolloutSpecTrafficIstioVirtualServiceTlsRouteArrayOutput { + return i.ToRolloutSpecTrafficIstioVirtualServiceTlsRouteArrayOutputWithContext(context.Background()) +} + +func (i RolloutSpecTrafficIstioVirtualServiceTlsRouteArray) ToRolloutSpecTrafficIstioVirtualServiceTlsRouteArrayOutputWithContext(ctx context.Context) RolloutSpecTrafficIstioVirtualServiceTlsRouteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecTrafficIstioVirtualServiceTlsRouteArrayOutput) +} + +type RolloutSpecTrafficIstioVirtualServiceTlsRouteOutput struct{ *pulumi.OutputState } + +func (RolloutSpecTrafficIstioVirtualServiceTlsRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RolloutSpecTrafficIstioVirtualServiceTlsRoute)(nil)).Elem() +} + +func (o RolloutSpecTrafficIstioVirtualServiceTlsRouteOutput) ToRolloutSpecTrafficIstioVirtualServiceTlsRouteOutput() RolloutSpecTrafficIstioVirtualServiceTlsRouteOutput { + return o +} + +func (o RolloutSpecTrafficIstioVirtualServiceTlsRouteOutput) ToRolloutSpecTrafficIstioVirtualServiceTlsRouteOutputWithContext(ctx context.Context) RolloutSpecTrafficIstioVirtualServiceTlsRouteOutput { + return o +} + +func (o RolloutSpecTrafficIstioVirtualServiceTlsRouteOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v RolloutSpecTrafficIstioVirtualServiceTlsRoute) *int { return v.Port }).(pulumi.IntPtrOutput) +} + +func (o RolloutSpecTrafficIstioVirtualServiceTlsRouteOutput) SniHosts() pulumi.StringArrayOutput { + return o.ApplyT(func(v RolloutSpecTrafficIstioVirtualServiceTlsRoute) []string { return v.SniHosts }).(pulumi.StringArrayOutput) +} + +type RolloutSpecTrafficIstioVirtualServiceTlsRouteArrayOutput struct{ *pulumi.OutputState } + +func (RolloutSpecTrafficIstioVirtualServiceTlsRouteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RolloutSpecTrafficIstioVirtualServiceTlsRoute)(nil)).Elem() +} + +func (o RolloutSpecTrafficIstioVirtualServiceTlsRouteArrayOutput) ToRolloutSpecTrafficIstioVirtualServiceTlsRouteArrayOutput() RolloutSpecTrafficIstioVirtualServiceTlsRouteArrayOutput { + return o +} + +func (o RolloutSpecTrafficIstioVirtualServiceTlsRouteArrayOutput) ToRolloutSpecTrafficIstioVirtualServiceTlsRouteArrayOutputWithContext(ctx context.Context) RolloutSpecTrafficIstioVirtualServiceTlsRouteArrayOutput { + return o +} + +func (o RolloutSpecTrafficIstioVirtualServiceTlsRouteArrayOutput) Index(i pulumi.IntInput) RolloutSpecTrafficIstioVirtualServiceTlsRouteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RolloutSpecTrafficIstioVirtualServiceTlsRoute { + return vs[0].([]RolloutSpecTrafficIstioVirtualServiceTlsRoute)[vs[1].(int)] + }).(RolloutSpecTrafficIstioVirtualServiceTlsRouteOutput) +} + +type RolloutSpecTrafficNginx struct { + AdditionalIngressAnnotation *RolloutSpecTrafficNginxAdditionalIngressAnnotation `pulumi:"additionalIngressAnnotation"` + NginxAnnotationPrefix *string `pulumi:"nginxAnnotationPrefix"` + StableIngress string `pulumi:"stableIngress"` +} + +// RolloutSpecTrafficNginxInput is an input type that accepts RolloutSpecTrafficNginxArgs and RolloutSpecTrafficNginxOutput values. +// You can construct a concrete instance of `RolloutSpecTrafficNginxInput` via: +// +// RolloutSpecTrafficNginxArgs{...} +type RolloutSpecTrafficNginxInput interface { + pulumi.Input + + ToRolloutSpecTrafficNginxOutput() RolloutSpecTrafficNginxOutput + ToRolloutSpecTrafficNginxOutputWithContext(context.Context) RolloutSpecTrafficNginxOutput +} + +type RolloutSpecTrafficNginxArgs struct { + AdditionalIngressAnnotation RolloutSpecTrafficNginxAdditionalIngressAnnotationPtrInput `pulumi:"additionalIngressAnnotation"` + NginxAnnotationPrefix pulumi.StringPtrInput `pulumi:"nginxAnnotationPrefix"` + StableIngress pulumi.StringInput `pulumi:"stableIngress"` +} + +func (RolloutSpecTrafficNginxArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RolloutSpecTrafficNginx)(nil)).Elem() +} + +func (i RolloutSpecTrafficNginxArgs) ToRolloutSpecTrafficNginxOutput() RolloutSpecTrafficNginxOutput { + return i.ToRolloutSpecTrafficNginxOutputWithContext(context.Background()) +} + +func (i RolloutSpecTrafficNginxArgs) ToRolloutSpecTrafficNginxOutputWithContext(ctx context.Context) RolloutSpecTrafficNginxOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecTrafficNginxOutput) +} + +func (i RolloutSpecTrafficNginxArgs) ToRolloutSpecTrafficNginxPtrOutput() RolloutSpecTrafficNginxPtrOutput { + return i.ToRolloutSpecTrafficNginxPtrOutputWithContext(context.Background()) +} + +func (i RolloutSpecTrafficNginxArgs) ToRolloutSpecTrafficNginxPtrOutputWithContext(ctx context.Context) RolloutSpecTrafficNginxPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecTrafficNginxOutput).ToRolloutSpecTrafficNginxPtrOutputWithContext(ctx) +} + +// RolloutSpecTrafficNginxPtrInput is an input type that accepts RolloutSpecTrafficNginxArgs, RolloutSpecTrafficNginxPtr and RolloutSpecTrafficNginxPtrOutput values. +// You can construct a concrete instance of `RolloutSpecTrafficNginxPtrInput` via: +// +// RolloutSpecTrafficNginxArgs{...} +// +// or: +// +// nil +type RolloutSpecTrafficNginxPtrInput interface { + pulumi.Input + + ToRolloutSpecTrafficNginxPtrOutput() RolloutSpecTrafficNginxPtrOutput + ToRolloutSpecTrafficNginxPtrOutputWithContext(context.Context) RolloutSpecTrafficNginxPtrOutput +} + +type rolloutSpecTrafficNginxPtrType RolloutSpecTrafficNginxArgs + +func RolloutSpecTrafficNginxPtr(v *RolloutSpecTrafficNginxArgs) RolloutSpecTrafficNginxPtrInput { + return (*rolloutSpecTrafficNginxPtrType)(v) +} + +func (*rolloutSpecTrafficNginxPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RolloutSpecTrafficNginx)(nil)).Elem() +} + +func (i *rolloutSpecTrafficNginxPtrType) ToRolloutSpecTrafficNginxPtrOutput() RolloutSpecTrafficNginxPtrOutput { + return i.ToRolloutSpecTrafficNginxPtrOutputWithContext(context.Background()) +} + +func (i *rolloutSpecTrafficNginxPtrType) ToRolloutSpecTrafficNginxPtrOutputWithContext(ctx context.Context) RolloutSpecTrafficNginxPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecTrafficNginxPtrOutput) +} + +type RolloutSpecTrafficNginxOutput struct{ *pulumi.OutputState } + +func (RolloutSpecTrafficNginxOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RolloutSpecTrafficNginx)(nil)).Elem() +} + +func (o RolloutSpecTrafficNginxOutput) ToRolloutSpecTrafficNginxOutput() RolloutSpecTrafficNginxOutput { + return o +} + +func (o RolloutSpecTrafficNginxOutput) ToRolloutSpecTrafficNginxOutputWithContext(ctx context.Context) RolloutSpecTrafficNginxOutput { + return o +} + +func (o RolloutSpecTrafficNginxOutput) ToRolloutSpecTrafficNginxPtrOutput() RolloutSpecTrafficNginxPtrOutput { + return o.ToRolloutSpecTrafficNginxPtrOutputWithContext(context.Background()) +} + +func (o RolloutSpecTrafficNginxOutput) ToRolloutSpecTrafficNginxPtrOutputWithContext(ctx context.Context) RolloutSpecTrafficNginxPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RolloutSpecTrafficNginx) *RolloutSpecTrafficNginx { + return &v + }).(RolloutSpecTrafficNginxPtrOutput) +} + +func (o RolloutSpecTrafficNginxOutput) AdditionalIngressAnnotation() RolloutSpecTrafficNginxAdditionalIngressAnnotationPtrOutput { + return o.ApplyT(func(v RolloutSpecTrafficNginx) *RolloutSpecTrafficNginxAdditionalIngressAnnotation { + return v.AdditionalIngressAnnotation + }).(RolloutSpecTrafficNginxAdditionalIngressAnnotationPtrOutput) +} + +func (o RolloutSpecTrafficNginxOutput) NginxAnnotationPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v RolloutSpecTrafficNginx) *string { return v.NginxAnnotationPrefix }).(pulumi.StringPtrOutput) +} + +func (o RolloutSpecTrafficNginxOutput) StableIngress() pulumi.StringOutput { + return o.ApplyT(func(v RolloutSpecTrafficNginx) string { return v.StableIngress }).(pulumi.StringOutput) +} + +type RolloutSpecTrafficNginxPtrOutput struct{ *pulumi.OutputState } + +func (RolloutSpecTrafficNginxPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RolloutSpecTrafficNginx)(nil)).Elem() +} + +func (o RolloutSpecTrafficNginxPtrOutput) ToRolloutSpecTrafficNginxPtrOutput() RolloutSpecTrafficNginxPtrOutput { + return o +} + +func (o RolloutSpecTrafficNginxPtrOutput) ToRolloutSpecTrafficNginxPtrOutputWithContext(ctx context.Context) RolloutSpecTrafficNginxPtrOutput { + return o +} + +func (o RolloutSpecTrafficNginxPtrOutput) Elem() RolloutSpecTrafficNginxOutput { + return o.ApplyT(func(v *RolloutSpecTrafficNginx) RolloutSpecTrafficNginx { + if v != nil { + return *v + } + var ret RolloutSpecTrafficNginx + return ret + }).(RolloutSpecTrafficNginxOutput) +} + +func (o RolloutSpecTrafficNginxPtrOutput) AdditionalIngressAnnotation() RolloutSpecTrafficNginxAdditionalIngressAnnotationPtrOutput { + return o.ApplyT(func(v *RolloutSpecTrafficNginx) *RolloutSpecTrafficNginxAdditionalIngressAnnotation { + if v == nil { + return nil + } + return v.AdditionalIngressAnnotation + }).(RolloutSpecTrafficNginxAdditionalIngressAnnotationPtrOutput) +} + +func (o RolloutSpecTrafficNginxPtrOutput) NginxAnnotationPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RolloutSpecTrafficNginx) *string { + if v == nil { + return nil + } + return v.NginxAnnotationPrefix + }).(pulumi.StringPtrOutput) +} + +func (o RolloutSpecTrafficNginxPtrOutput) StableIngress() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RolloutSpecTrafficNginx) *string { + if v == nil { + return nil + } + return &v.StableIngress + }).(pulumi.StringPtrOutput) +} + +type RolloutSpecTrafficNginxAdditionalIngressAnnotation struct { + CanaryByHeader *string `pulumi:"canaryByHeader"` + Key1 *string `pulumi:"key1"` +} + +// RolloutSpecTrafficNginxAdditionalIngressAnnotationInput is an input type that accepts RolloutSpecTrafficNginxAdditionalIngressAnnotationArgs and RolloutSpecTrafficNginxAdditionalIngressAnnotationOutput values. +// You can construct a concrete instance of `RolloutSpecTrafficNginxAdditionalIngressAnnotationInput` via: +// +// RolloutSpecTrafficNginxAdditionalIngressAnnotationArgs{...} +type RolloutSpecTrafficNginxAdditionalIngressAnnotationInput interface { + pulumi.Input + + ToRolloutSpecTrafficNginxAdditionalIngressAnnotationOutput() RolloutSpecTrafficNginxAdditionalIngressAnnotationOutput + ToRolloutSpecTrafficNginxAdditionalIngressAnnotationOutputWithContext(context.Context) RolloutSpecTrafficNginxAdditionalIngressAnnotationOutput +} + +type RolloutSpecTrafficNginxAdditionalIngressAnnotationArgs struct { + CanaryByHeader pulumi.StringPtrInput `pulumi:"canaryByHeader"` + Key1 pulumi.StringPtrInput `pulumi:"key1"` +} + +func (RolloutSpecTrafficNginxAdditionalIngressAnnotationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RolloutSpecTrafficNginxAdditionalIngressAnnotation)(nil)).Elem() +} + +func (i RolloutSpecTrafficNginxAdditionalIngressAnnotationArgs) ToRolloutSpecTrafficNginxAdditionalIngressAnnotationOutput() RolloutSpecTrafficNginxAdditionalIngressAnnotationOutput { + return i.ToRolloutSpecTrafficNginxAdditionalIngressAnnotationOutputWithContext(context.Background()) +} + +func (i RolloutSpecTrafficNginxAdditionalIngressAnnotationArgs) ToRolloutSpecTrafficNginxAdditionalIngressAnnotationOutputWithContext(ctx context.Context) RolloutSpecTrafficNginxAdditionalIngressAnnotationOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecTrafficNginxAdditionalIngressAnnotationOutput) +} + +func (i RolloutSpecTrafficNginxAdditionalIngressAnnotationArgs) ToRolloutSpecTrafficNginxAdditionalIngressAnnotationPtrOutput() RolloutSpecTrafficNginxAdditionalIngressAnnotationPtrOutput { + return i.ToRolloutSpecTrafficNginxAdditionalIngressAnnotationPtrOutputWithContext(context.Background()) +} + +func (i RolloutSpecTrafficNginxAdditionalIngressAnnotationArgs) ToRolloutSpecTrafficNginxAdditionalIngressAnnotationPtrOutputWithContext(ctx context.Context) RolloutSpecTrafficNginxAdditionalIngressAnnotationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecTrafficNginxAdditionalIngressAnnotationOutput).ToRolloutSpecTrafficNginxAdditionalIngressAnnotationPtrOutputWithContext(ctx) +} + +// RolloutSpecTrafficNginxAdditionalIngressAnnotationPtrInput is an input type that accepts RolloutSpecTrafficNginxAdditionalIngressAnnotationArgs, RolloutSpecTrafficNginxAdditionalIngressAnnotationPtr and RolloutSpecTrafficNginxAdditionalIngressAnnotationPtrOutput values. +// You can construct a concrete instance of `RolloutSpecTrafficNginxAdditionalIngressAnnotationPtrInput` via: +// +// RolloutSpecTrafficNginxAdditionalIngressAnnotationArgs{...} +// +// or: +// +// nil +type RolloutSpecTrafficNginxAdditionalIngressAnnotationPtrInput interface { + pulumi.Input + + ToRolloutSpecTrafficNginxAdditionalIngressAnnotationPtrOutput() RolloutSpecTrafficNginxAdditionalIngressAnnotationPtrOutput + ToRolloutSpecTrafficNginxAdditionalIngressAnnotationPtrOutputWithContext(context.Context) RolloutSpecTrafficNginxAdditionalIngressAnnotationPtrOutput +} + +type rolloutSpecTrafficNginxAdditionalIngressAnnotationPtrType RolloutSpecTrafficNginxAdditionalIngressAnnotationArgs + +func RolloutSpecTrafficNginxAdditionalIngressAnnotationPtr(v *RolloutSpecTrafficNginxAdditionalIngressAnnotationArgs) RolloutSpecTrafficNginxAdditionalIngressAnnotationPtrInput { + return (*rolloutSpecTrafficNginxAdditionalIngressAnnotationPtrType)(v) +} + +func (*rolloutSpecTrafficNginxAdditionalIngressAnnotationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RolloutSpecTrafficNginxAdditionalIngressAnnotation)(nil)).Elem() +} + +func (i *rolloutSpecTrafficNginxAdditionalIngressAnnotationPtrType) ToRolloutSpecTrafficNginxAdditionalIngressAnnotationPtrOutput() RolloutSpecTrafficNginxAdditionalIngressAnnotationPtrOutput { + return i.ToRolloutSpecTrafficNginxAdditionalIngressAnnotationPtrOutputWithContext(context.Background()) +} + +func (i *rolloutSpecTrafficNginxAdditionalIngressAnnotationPtrType) ToRolloutSpecTrafficNginxAdditionalIngressAnnotationPtrOutputWithContext(ctx context.Context) RolloutSpecTrafficNginxAdditionalIngressAnnotationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecTrafficNginxAdditionalIngressAnnotationPtrOutput) +} + +type RolloutSpecTrafficNginxAdditionalIngressAnnotationOutput struct{ *pulumi.OutputState } + +func (RolloutSpecTrafficNginxAdditionalIngressAnnotationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RolloutSpecTrafficNginxAdditionalIngressAnnotation)(nil)).Elem() +} + +func (o RolloutSpecTrafficNginxAdditionalIngressAnnotationOutput) ToRolloutSpecTrafficNginxAdditionalIngressAnnotationOutput() RolloutSpecTrafficNginxAdditionalIngressAnnotationOutput { + return o +} + +func (o RolloutSpecTrafficNginxAdditionalIngressAnnotationOutput) ToRolloutSpecTrafficNginxAdditionalIngressAnnotationOutputWithContext(ctx context.Context) RolloutSpecTrafficNginxAdditionalIngressAnnotationOutput { + return o +} + +func (o RolloutSpecTrafficNginxAdditionalIngressAnnotationOutput) ToRolloutSpecTrafficNginxAdditionalIngressAnnotationPtrOutput() RolloutSpecTrafficNginxAdditionalIngressAnnotationPtrOutput { + return o.ToRolloutSpecTrafficNginxAdditionalIngressAnnotationPtrOutputWithContext(context.Background()) +} + +func (o RolloutSpecTrafficNginxAdditionalIngressAnnotationOutput) ToRolloutSpecTrafficNginxAdditionalIngressAnnotationPtrOutputWithContext(ctx context.Context) RolloutSpecTrafficNginxAdditionalIngressAnnotationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RolloutSpecTrafficNginxAdditionalIngressAnnotation) *RolloutSpecTrafficNginxAdditionalIngressAnnotation { + return &v + }).(RolloutSpecTrafficNginxAdditionalIngressAnnotationPtrOutput) +} + +func (o RolloutSpecTrafficNginxAdditionalIngressAnnotationOutput) CanaryByHeader() pulumi.StringPtrOutput { + return o.ApplyT(func(v RolloutSpecTrafficNginxAdditionalIngressAnnotation) *string { return v.CanaryByHeader }).(pulumi.StringPtrOutput) +} + +func (o RolloutSpecTrafficNginxAdditionalIngressAnnotationOutput) Key1() pulumi.StringPtrOutput { + return o.ApplyT(func(v RolloutSpecTrafficNginxAdditionalIngressAnnotation) *string { return v.Key1 }).(pulumi.StringPtrOutput) +} + +type RolloutSpecTrafficNginxAdditionalIngressAnnotationPtrOutput struct{ *pulumi.OutputState } + +func (RolloutSpecTrafficNginxAdditionalIngressAnnotationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RolloutSpecTrafficNginxAdditionalIngressAnnotation)(nil)).Elem() +} + +func (o RolloutSpecTrafficNginxAdditionalIngressAnnotationPtrOutput) ToRolloutSpecTrafficNginxAdditionalIngressAnnotationPtrOutput() RolloutSpecTrafficNginxAdditionalIngressAnnotationPtrOutput { + return o +} + +func (o RolloutSpecTrafficNginxAdditionalIngressAnnotationPtrOutput) ToRolloutSpecTrafficNginxAdditionalIngressAnnotationPtrOutputWithContext(ctx context.Context) RolloutSpecTrafficNginxAdditionalIngressAnnotationPtrOutput { + return o +} + +func (o RolloutSpecTrafficNginxAdditionalIngressAnnotationPtrOutput) Elem() RolloutSpecTrafficNginxAdditionalIngressAnnotationOutput { + return o.ApplyT(func(v *RolloutSpecTrafficNginxAdditionalIngressAnnotation) RolloutSpecTrafficNginxAdditionalIngressAnnotation { + if v != nil { + return *v + } + var ret RolloutSpecTrafficNginxAdditionalIngressAnnotation + return ret + }).(RolloutSpecTrafficNginxAdditionalIngressAnnotationOutput) +} + +func (o RolloutSpecTrafficNginxAdditionalIngressAnnotationPtrOutput) CanaryByHeader() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RolloutSpecTrafficNginxAdditionalIngressAnnotation) *string { + if v == nil { + return nil + } + return v.CanaryByHeader + }).(pulumi.StringPtrOutput) +} + +func (o RolloutSpecTrafficNginxAdditionalIngressAnnotationPtrOutput) Key1() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RolloutSpecTrafficNginxAdditionalIngressAnnotation) *string { + if v == nil { + return nil + } + return v.Key1 + }).(pulumi.StringPtrOutput) +} + +type RolloutSpecTrafficPingPong struct { + PingService string `pulumi:"pingService"` + PongService string `pulumi:"pongService"` +} + +// RolloutSpecTrafficPingPongInput is an input type that accepts RolloutSpecTrafficPingPongArgs and RolloutSpecTrafficPingPongOutput values. +// You can construct a concrete instance of `RolloutSpecTrafficPingPongInput` via: +// +// RolloutSpecTrafficPingPongArgs{...} +type RolloutSpecTrafficPingPongInput interface { + pulumi.Input + + ToRolloutSpecTrafficPingPongOutput() RolloutSpecTrafficPingPongOutput + ToRolloutSpecTrafficPingPongOutputWithContext(context.Context) RolloutSpecTrafficPingPongOutput +} + +type RolloutSpecTrafficPingPongArgs struct { + PingService pulumi.StringInput `pulumi:"pingService"` + PongService pulumi.StringInput `pulumi:"pongService"` +} + +func (RolloutSpecTrafficPingPongArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RolloutSpecTrafficPingPong)(nil)).Elem() +} + +func (i RolloutSpecTrafficPingPongArgs) ToRolloutSpecTrafficPingPongOutput() RolloutSpecTrafficPingPongOutput { + return i.ToRolloutSpecTrafficPingPongOutputWithContext(context.Background()) +} + +func (i RolloutSpecTrafficPingPongArgs) ToRolloutSpecTrafficPingPongOutputWithContext(ctx context.Context) RolloutSpecTrafficPingPongOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecTrafficPingPongOutput) +} + +func (i RolloutSpecTrafficPingPongArgs) ToRolloutSpecTrafficPingPongPtrOutput() RolloutSpecTrafficPingPongPtrOutput { + return i.ToRolloutSpecTrafficPingPongPtrOutputWithContext(context.Background()) +} + +func (i RolloutSpecTrafficPingPongArgs) ToRolloutSpecTrafficPingPongPtrOutputWithContext(ctx context.Context) RolloutSpecTrafficPingPongPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecTrafficPingPongOutput).ToRolloutSpecTrafficPingPongPtrOutputWithContext(ctx) +} + +// RolloutSpecTrafficPingPongPtrInput is an input type that accepts RolloutSpecTrafficPingPongArgs, RolloutSpecTrafficPingPongPtr and RolloutSpecTrafficPingPongPtrOutput values. +// You can construct a concrete instance of `RolloutSpecTrafficPingPongPtrInput` via: +// +// RolloutSpecTrafficPingPongArgs{...} +// +// or: +// +// nil +type RolloutSpecTrafficPingPongPtrInput interface { + pulumi.Input + + ToRolloutSpecTrafficPingPongPtrOutput() RolloutSpecTrafficPingPongPtrOutput + ToRolloutSpecTrafficPingPongPtrOutputWithContext(context.Context) RolloutSpecTrafficPingPongPtrOutput +} + +type rolloutSpecTrafficPingPongPtrType RolloutSpecTrafficPingPongArgs + +func RolloutSpecTrafficPingPongPtr(v *RolloutSpecTrafficPingPongArgs) RolloutSpecTrafficPingPongPtrInput { + return (*rolloutSpecTrafficPingPongPtrType)(v) +} + +func (*rolloutSpecTrafficPingPongPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RolloutSpecTrafficPingPong)(nil)).Elem() +} + +func (i *rolloutSpecTrafficPingPongPtrType) ToRolloutSpecTrafficPingPongPtrOutput() RolloutSpecTrafficPingPongPtrOutput { + return i.ToRolloutSpecTrafficPingPongPtrOutputWithContext(context.Background()) +} + +func (i *rolloutSpecTrafficPingPongPtrType) ToRolloutSpecTrafficPingPongPtrOutputWithContext(ctx context.Context) RolloutSpecTrafficPingPongPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecTrafficPingPongPtrOutput) +} + +type RolloutSpecTrafficPingPongOutput struct{ *pulumi.OutputState } + +func (RolloutSpecTrafficPingPongOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RolloutSpecTrafficPingPong)(nil)).Elem() +} + +func (o RolloutSpecTrafficPingPongOutput) ToRolloutSpecTrafficPingPongOutput() RolloutSpecTrafficPingPongOutput { + return o +} + +func (o RolloutSpecTrafficPingPongOutput) ToRolloutSpecTrafficPingPongOutputWithContext(ctx context.Context) RolloutSpecTrafficPingPongOutput { + return o +} + +func (o RolloutSpecTrafficPingPongOutput) ToRolloutSpecTrafficPingPongPtrOutput() RolloutSpecTrafficPingPongPtrOutput { + return o.ToRolloutSpecTrafficPingPongPtrOutputWithContext(context.Background()) +} + +func (o RolloutSpecTrafficPingPongOutput) ToRolloutSpecTrafficPingPongPtrOutputWithContext(ctx context.Context) RolloutSpecTrafficPingPongPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RolloutSpecTrafficPingPong) *RolloutSpecTrafficPingPong { + return &v + }).(RolloutSpecTrafficPingPongPtrOutput) +} + +func (o RolloutSpecTrafficPingPongOutput) PingService() pulumi.StringOutput { + return o.ApplyT(func(v RolloutSpecTrafficPingPong) string { return v.PingService }).(pulumi.StringOutput) +} + +func (o RolloutSpecTrafficPingPongOutput) PongService() pulumi.StringOutput { + return o.ApplyT(func(v RolloutSpecTrafficPingPong) string { return v.PongService }).(pulumi.StringOutput) +} + +type RolloutSpecTrafficPingPongPtrOutput struct{ *pulumi.OutputState } + +func (RolloutSpecTrafficPingPongPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RolloutSpecTrafficPingPong)(nil)).Elem() +} + +func (o RolloutSpecTrafficPingPongPtrOutput) ToRolloutSpecTrafficPingPongPtrOutput() RolloutSpecTrafficPingPongPtrOutput { + return o +} + +func (o RolloutSpecTrafficPingPongPtrOutput) ToRolloutSpecTrafficPingPongPtrOutputWithContext(ctx context.Context) RolloutSpecTrafficPingPongPtrOutput { + return o +} + +func (o RolloutSpecTrafficPingPongPtrOutput) Elem() RolloutSpecTrafficPingPongOutput { + return o.ApplyT(func(v *RolloutSpecTrafficPingPong) RolloutSpecTrafficPingPong { + if v != nil { + return *v + } + var ret RolloutSpecTrafficPingPong + return ret + }).(RolloutSpecTrafficPingPongOutput) +} + +func (o RolloutSpecTrafficPingPongPtrOutput) PingService() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RolloutSpecTrafficPingPong) *string { + if v == nil { + return nil + } + return &v.PingService + }).(pulumi.StringPtrOutput) +} + +func (o RolloutSpecTrafficPingPongPtrOutput) PongService() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RolloutSpecTrafficPingPong) *string { + if v == nil { + return nil + } + return &v.PongService + }).(pulumi.StringPtrOutput) +} + +type RolloutSpecTrafficSmi struct { + SmiRootService *string `pulumi:"smiRootService"` + TrafficSplitName *string `pulumi:"trafficSplitName"` +} + +// RolloutSpecTrafficSmiInput is an input type that accepts RolloutSpecTrafficSmiArgs and RolloutSpecTrafficSmiOutput values. +// You can construct a concrete instance of `RolloutSpecTrafficSmiInput` via: +// +// RolloutSpecTrafficSmiArgs{...} +type RolloutSpecTrafficSmiInput interface { + pulumi.Input + + ToRolloutSpecTrafficSmiOutput() RolloutSpecTrafficSmiOutput + ToRolloutSpecTrafficSmiOutputWithContext(context.Context) RolloutSpecTrafficSmiOutput +} + +type RolloutSpecTrafficSmiArgs struct { + SmiRootService pulumi.StringPtrInput `pulumi:"smiRootService"` + TrafficSplitName pulumi.StringPtrInput `pulumi:"trafficSplitName"` +} + +func (RolloutSpecTrafficSmiArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RolloutSpecTrafficSmi)(nil)).Elem() +} + +func (i RolloutSpecTrafficSmiArgs) ToRolloutSpecTrafficSmiOutput() RolloutSpecTrafficSmiOutput { + return i.ToRolloutSpecTrafficSmiOutputWithContext(context.Background()) +} + +func (i RolloutSpecTrafficSmiArgs) ToRolloutSpecTrafficSmiOutputWithContext(ctx context.Context) RolloutSpecTrafficSmiOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecTrafficSmiOutput) +} + +func (i RolloutSpecTrafficSmiArgs) ToRolloutSpecTrafficSmiPtrOutput() RolloutSpecTrafficSmiPtrOutput { + return i.ToRolloutSpecTrafficSmiPtrOutputWithContext(context.Background()) +} + +func (i RolloutSpecTrafficSmiArgs) ToRolloutSpecTrafficSmiPtrOutputWithContext(ctx context.Context) RolloutSpecTrafficSmiPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecTrafficSmiOutput).ToRolloutSpecTrafficSmiPtrOutputWithContext(ctx) +} + +// RolloutSpecTrafficSmiPtrInput is an input type that accepts RolloutSpecTrafficSmiArgs, RolloutSpecTrafficSmiPtr and RolloutSpecTrafficSmiPtrOutput values. +// You can construct a concrete instance of `RolloutSpecTrafficSmiPtrInput` via: +// +// RolloutSpecTrafficSmiArgs{...} +// +// or: +// +// nil +type RolloutSpecTrafficSmiPtrInput interface { + pulumi.Input + + ToRolloutSpecTrafficSmiPtrOutput() RolloutSpecTrafficSmiPtrOutput + ToRolloutSpecTrafficSmiPtrOutputWithContext(context.Context) RolloutSpecTrafficSmiPtrOutput +} + +type rolloutSpecTrafficSmiPtrType RolloutSpecTrafficSmiArgs + +func RolloutSpecTrafficSmiPtr(v *RolloutSpecTrafficSmiArgs) RolloutSpecTrafficSmiPtrInput { + return (*rolloutSpecTrafficSmiPtrType)(v) +} + +func (*rolloutSpecTrafficSmiPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RolloutSpecTrafficSmi)(nil)).Elem() +} + +func (i *rolloutSpecTrafficSmiPtrType) ToRolloutSpecTrafficSmiPtrOutput() RolloutSpecTrafficSmiPtrOutput { + return i.ToRolloutSpecTrafficSmiPtrOutputWithContext(context.Background()) +} + +func (i *rolloutSpecTrafficSmiPtrType) ToRolloutSpecTrafficSmiPtrOutputWithContext(ctx context.Context) RolloutSpecTrafficSmiPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecTrafficSmiPtrOutput) +} + +type RolloutSpecTrafficSmiOutput struct{ *pulumi.OutputState } + +func (RolloutSpecTrafficSmiOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RolloutSpecTrafficSmi)(nil)).Elem() +} + +func (o RolloutSpecTrafficSmiOutput) ToRolloutSpecTrafficSmiOutput() RolloutSpecTrafficSmiOutput { + return o +} + +func (o RolloutSpecTrafficSmiOutput) ToRolloutSpecTrafficSmiOutputWithContext(ctx context.Context) RolloutSpecTrafficSmiOutput { + return o +} + +func (o RolloutSpecTrafficSmiOutput) ToRolloutSpecTrafficSmiPtrOutput() RolloutSpecTrafficSmiPtrOutput { + return o.ToRolloutSpecTrafficSmiPtrOutputWithContext(context.Background()) +} + +func (o RolloutSpecTrafficSmiOutput) ToRolloutSpecTrafficSmiPtrOutputWithContext(ctx context.Context) RolloutSpecTrafficSmiPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RolloutSpecTrafficSmi) *RolloutSpecTrafficSmi { + return &v + }).(RolloutSpecTrafficSmiPtrOutput) +} + +func (o RolloutSpecTrafficSmiOutput) SmiRootService() pulumi.StringPtrOutput { + return o.ApplyT(func(v RolloutSpecTrafficSmi) *string { return v.SmiRootService }).(pulumi.StringPtrOutput) +} + +func (o RolloutSpecTrafficSmiOutput) TrafficSplitName() pulumi.StringPtrOutput { + return o.ApplyT(func(v RolloutSpecTrafficSmi) *string { return v.TrafficSplitName }).(pulumi.StringPtrOutput) +} + +type RolloutSpecTrafficSmiPtrOutput struct{ *pulumi.OutputState } + +func (RolloutSpecTrafficSmiPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RolloutSpecTrafficSmi)(nil)).Elem() +} + +func (o RolloutSpecTrafficSmiPtrOutput) ToRolloutSpecTrafficSmiPtrOutput() RolloutSpecTrafficSmiPtrOutput { + return o +} + +func (o RolloutSpecTrafficSmiPtrOutput) ToRolloutSpecTrafficSmiPtrOutputWithContext(ctx context.Context) RolloutSpecTrafficSmiPtrOutput { + return o +} + +func (o RolloutSpecTrafficSmiPtrOutput) Elem() RolloutSpecTrafficSmiOutput { + return o.ApplyT(func(v *RolloutSpecTrafficSmi) RolloutSpecTrafficSmi { + if v != nil { + return *v + } + var ret RolloutSpecTrafficSmi + return ret + }).(RolloutSpecTrafficSmiOutput) +} + +func (o RolloutSpecTrafficSmiPtrOutput) SmiRootService() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RolloutSpecTrafficSmi) *string { + if v == nil { + return nil + } + return v.SmiRootService + }).(pulumi.StringPtrOutput) +} + +func (o RolloutSpecTrafficSmiPtrOutput) TrafficSplitName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RolloutSpecTrafficSmi) *string { + if v == nil { + return nil + } + return v.TrafficSplitName + }).(pulumi.StringPtrOutput) +} + +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) } @@ -866,1649 +3623,5513 @@ func (o StrategyCanaryStepSetHeaderRoutePtrOutput) Matches() StrategyCanaryStepS if v == nil { return nil } - return v.Matches - }).(StrategyCanaryStepSetHeaderRouteMatchArrayOutput) + 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) +} + +type VerificationTemplateArg struct { + // Name of an argument. + ArgName string `pulumi:"argName"` + // String representation of data. + Value *string `pulumi:"value"` + // ValueFrom object. + ValueFrom *VerificationTemplateArgValueFrom `pulumi:"valueFrom"` +} + +// VerificationTemplateArgInput is an input type that accepts VerificationTemplateArgArgs and VerificationTemplateArgOutput values. +// You can construct a concrete instance of `VerificationTemplateArgInput` via: +// +// VerificationTemplateArgArgs{...} +type VerificationTemplateArgInput interface { + pulumi.Input + + ToVerificationTemplateArgOutput() VerificationTemplateArgOutput + ToVerificationTemplateArgOutputWithContext(context.Context) VerificationTemplateArgOutput +} + +type VerificationTemplateArgArgs struct { + // Name of an argument. + ArgName pulumi.StringInput `pulumi:"argName"` + // String representation of data. + Value pulumi.StringPtrInput `pulumi:"value"` + // ValueFrom object. + ValueFrom VerificationTemplateArgValueFromPtrInput `pulumi:"valueFrom"` +} + +func (VerificationTemplateArgArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateArg)(nil)).Elem() +} + +func (i VerificationTemplateArgArgs) ToVerificationTemplateArgOutput() VerificationTemplateArgOutput { + return i.ToVerificationTemplateArgOutputWithContext(context.Background()) +} + +func (i VerificationTemplateArgArgs) ToVerificationTemplateArgOutputWithContext(ctx context.Context) VerificationTemplateArgOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateArgOutput) +} + +// VerificationTemplateArgArrayInput is an input type that accepts VerificationTemplateArgArray and VerificationTemplateArgArrayOutput values. +// You can construct a concrete instance of `VerificationTemplateArgArrayInput` via: +// +// VerificationTemplateArgArray{ VerificationTemplateArgArgs{...} } +type VerificationTemplateArgArrayInput interface { + pulumi.Input + + ToVerificationTemplateArgArrayOutput() VerificationTemplateArgArrayOutput + ToVerificationTemplateArgArrayOutputWithContext(context.Context) VerificationTemplateArgArrayOutput +} + +type VerificationTemplateArgArray []VerificationTemplateArgInput + +func (VerificationTemplateArgArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]VerificationTemplateArg)(nil)).Elem() +} + +func (i VerificationTemplateArgArray) ToVerificationTemplateArgArrayOutput() VerificationTemplateArgArrayOutput { + return i.ToVerificationTemplateArgArrayOutputWithContext(context.Background()) +} + +func (i VerificationTemplateArgArray) ToVerificationTemplateArgArrayOutputWithContext(ctx context.Context) VerificationTemplateArgArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateArgArrayOutput) +} + +type VerificationTemplateArgOutput struct{ *pulumi.OutputState } + +func (VerificationTemplateArgOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateArg)(nil)).Elem() +} + +func (o VerificationTemplateArgOutput) ToVerificationTemplateArgOutput() VerificationTemplateArgOutput { + return o +} + +func (o VerificationTemplateArgOutput) ToVerificationTemplateArgOutputWithContext(ctx context.Context) VerificationTemplateArgOutput { + return o +} + +// Name of an argument. +func (o VerificationTemplateArgOutput) ArgName() pulumi.StringOutput { + return o.ApplyT(func(v VerificationTemplateArg) string { return v.ArgName }).(pulumi.StringOutput) +} + +// String representation of data. +func (o VerificationTemplateArgOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v VerificationTemplateArg) *string { return v.Value }).(pulumi.StringPtrOutput) +} + +// ValueFrom object. +func (o VerificationTemplateArgOutput) ValueFrom() VerificationTemplateArgValueFromPtrOutput { + return o.ApplyT(func(v VerificationTemplateArg) *VerificationTemplateArgValueFrom { return v.ValueFrom }).(VerificationTemplateArgValueFromPtrOutput) +} + +type VerificationTemplateArgArrayOutput struct{ *pulumi.OutputState } + +func (VerificationTemplateArgArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]VerificationTemplateArg)(nil)).Elem() +} + +func (o VerificationTemplateArgArrayOutput) ToVerificationTemplateArgArrayOutput() VerificationTemplateArgArrayOutput { + return o +} + +func (o VerificationTemplateArgArrayOutput) ToVerificationTemplateArgArrayOutputWithContext(ctx context.Context) VerificationTemplateArgArrayOutput { + return o +} + +func (o VerificationTemplateArgArrayOutput) Index(i pulumi.IntInput) VerificationTemplateArgOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) VerificationTemplateArg { + return vs[0].([]VerificationTemplateArg)[vs[1].(int)] + }).(VerificationTemplateArgOutput) +} + +type VerificationTemplateArgValueFrom struct { + SecretKeyRef *VerificationTemplateArgValueFromSecretKeyRef `pulumi:"secretKeyRef"` +} + +// VerificationTemplateArgValueFromInput is an input type that accepts VerificationTemplateArgValueFromArgs and VerificationTemplateArgValueFromOutput values. +// You can construct a concrete instance of `VerificationTemplateArgValueFromInput` via: +// +// VerificationTemplateArgValueFromArgs{...} +type VerificationTemplateArgValueFromInput interface { + pulumi.Input + + ToVerificationTemplateArgValueFromOutput() VerificationTemplateArgValueFromOutput + ToVerificationTemplateArgValueFromOutputWithContext(context.Context) VerificationTemplateArgValueFromOutput +} + +type VerificationTemplateArgValueFromArgs struct { + SecretKeyRef VerificationTemplateArgValueFromSecretKeyRefPtrInput `pulumi:"secretKeyRef"` +} + +func (VerificationTemplateArgValueFromArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateArgValueFrom)(nil)).Elem() +} + +func (i VerificationTemplateArgValueFromArgs) ToVerificationTemplateArgValueFromOutput() VerificationTemplateArgValueFromOutput { + return i.ToVerificationTemplateArgValueFromOutputWithContext(context.Background()) +} + +func (i VerificationTemplateArgValueFromArgs) ToVerificationTemplateArgValueFromOutputWithContext(ctx context.Context) VerificationTemplateArgValueFromOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateArgValueFromOutput) +} + +func (i VerificationTemplateArgValueFromArgs) ToVerificationTemplateArgValueFromPtrOutput() VerificationTemplateArgValueFromPtrOutput { + return i.ToVerificationTemplateArgValueFromPtrOutputWithContext(context.Background()) +} + +func (i VerificationTemplateArgValueFromArgs) ToVerificationTemplateArgValueFromPtrOutputWithContext(ctx context.Context) VerificationTemplateArgValueFromPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateArgValueFromOutput).ToVerificationTemplateArgValueFromPtrOutputWithContext(ctx) +} + +// VerificationTemplateArgValueFromPtrInput is an input type that accepts VerificationTemplateArgValueFromArgs, VerificationTemplateArgValueFromPtr and VerificationTemplateArgValueFromPtrOutput values. +// You can construct a concrete instance of `VerificationTemplateArgValueFromPtrInput` via: +// +// VerificationTemplateArgValueFromArgs{...} +// +// or: +// +// nil +type VerificationTemplateArgValueFromPtrInput interface { + pulumi.Input + + ToVerificationTemplateArgValueFromPtrOutput() VerificationTemplateArgValueFromPtrOutput + ToVerificationTemplateArgValueFromPtrOutputWithContext(context.Context) VerificationTemplateArgValueFromPtrOutput +} + +type verificationTemplateArgValueFromPtrType VerificationTemplateArgValueFromArgs + +func VerificationTemplateArgValueFromPtr(v *VerificationTemplateArgValueFromArgs) VerificationTemplateArgValueFromPtrInput { + return (*verificationTemplateArgValueFromPtrType)(v) +} + +func (*verificationTemplateArgValueFromPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationTemplateArgValueFrom)(nil)).Elem() +} + +func (i *verificationTemplateArgValueFromPtrType) ToVerificationTemplateArgValueFromPtrOutput() VerificationTemplateArgValueFromPtrOutput { + return i.ToVerificationTemplateArgValueFromPtrOutputWithContext(context.Background()) +} + +func (i *verificationTemplateArgValueFromPtrType) ToVerificationTemplateArgValueFromPtrOutputWithContext(ctx context.Context) VerificationTemplateArgValueFromPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateArgValueFromPtrOutput) +} + +type VerificationTemplateArgValueFromOutput struct{ *pulumi.OutputState } + +func (VerificationTemplateArgValueFromOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateArgValueFrom)(nil)).Elem() +} + +func (o VerificationTemplateArgValueFromOutput) ToVerificationTemplateArgValueFromOutput() VerificationTemplateArgValueFromOutput { + return o +} + +func (o VerificationTemplateArgValueFromOutput) ToVerificationTemplateArgValueFromOutputWithContext(ctx context.Context) VerificationTemplateArgValueFromOutput { + return o +} + +func (o VerificationTemplateArgValueFromOutput) ToVerificationTemplateArgValueFromPtrOutput() VerificationTemplateArgValueFromPtrOutput { + return o.ToVerificationTemplateArgValueFromPtrOutputWithContext(context.Background()) +} + +func (o VerificationTemplateArgValueFromOutput) ToVerificationTemplateArgValueFromPtrOutputWithContext(ctx context.Context) VerificationTemplateArgValueFromPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VerificationTemplateArgValueFrom) *VerificationTemplateArgValueFrom { + return &v + }).(VerificationTemplateArgValueFromPtrOutput) +} + +func (o VerificationTemplateArgValueFromOutput) SecretKeyRef() VerificationTemplateArgValueFromSecretKeyRefPtrOutput { + return o.ApplyT(func(v VerificationTemplateArgValueFrom) *VerificationTemplateArgValueFromSecretKeyRef { + return v.SecretKeyRef + }).(VerificationTemplateArgValueFromSecretKeyRefPtrOutput) +} + +type VerificationTemplateArgValueFromPtrOutput struct{ *pulumi.OutputState } + +func (VerificationTemplateArgValueFromPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationTemplateArgValueFrom)(nil)).Elem() +} + +func (o VerificationTemplateArgValueFromPtrOutput) ToVerificationTemplateArgValueFromPtrOutput() VerificationTemplateArgValueFromPtrOutput { + return o +} + +func (o VerificationTemplateArgValueFromPtrOutput) ToVerificationTemplateArgValueFromPtrOutputWithContext(ctx context.Context) VerificationTemplateArgValueFromPtrOutput { + return o +} + +func (o VerificationTemplateArgValueFromPtrOutput) Elem() VerificationTemplateArgValueFromOutput { + return o.ApplyT(func(v *VerificationTemplateArgValueFrom) VerificationTemplateArgValueFrom { + if v != nil { + return *v + } + var ret VerificationTemplateArgValueFrom + return ret + }).(VerificationTemplateArgValueFromOutput) +} + +func (o VerificationTemplateArgValueFromPtrOutput) SecretKeyRef() VerificationTemplateArgValueFromSecretKeyRefPtrOutput { + return o.ApplyT(func(v *VerificationTemplateArgValueFrom) *VerificationTemplateArgValueFromSecretKeyRef { + if v == nil { + return nil + } + return v.SecretKeyRef + }).(VerificationTemplateArgValueFromSecretKeyRefPtrOutput) +} + +type VerificationTemplateArgValueFromSecretKeyRef struct { + Key string `pulumi:"key"` + // Identifier name for Ocean CD Verification Template. Must be unique. + Name string `pulumi:"name"` +} + +// VerificationTemplateArgValueFromSecretKeyRefInput is an input type that accepts VerificationTemplateArgValueFromSecretKeyRefArgs and VerificationTemplateArgValueFromSecretKeyRefOutput values. +// You can construct a concrete instance of `VerificationTemplateArgValueFromSecretKeyRefInput` via: +// +// VerificationTemplateArgValueFromSecretKeyRefArgs{...} +type VerificationTemplateArgValueFromSecretKeyRefInput interface { + pulumi.Input + + ToVerificationTemplateArgValueFromSecretKeyRefOutput() VerificationTemplateArgValueFromSecretKeyRefOutput + ToVerificationTemplateArgValueFromSecretKeyRefOutputWithContext(context.Context) VerificationTemplateArgValueFromSecretKeyRefOutput +} + +type VerificationTemplateArgValueFromSecretKeyRefArgs struct { + Key pulumi.StringInput `pulumi:"key"` + // Identifier name for Ocean CD Verification Template. Must be unique. + Name pulumi.StringInput `pulumi:"name"` +} + +func (VerificationTemplateArgValueFromSecretKeyRefArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateArgValueFromSecretKeyRef)(nil)).Elem() +} + +func (i VerificationTemplateArgValueFromSecretKeyRefArgs) ToVerificationTemplateArgValueFromSecretKeyRefOutput() VerificationTemplateArgValueFromSecretKeyRefOutput { + return i.ToVerificationTemplateArgValueFromSecretKeyRefOutputWithContext(context.Background()) +} + +func (i VerificationTemplateArgValueFromSecretKeyRefArgs) ToVerificationTemplateArgValueFromSecretKeyRefOutputWithContext(ctx context.Context) VerificationTemplateArgValueFromSecretKeyRefOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateArgValueFromSecretKeyRefOutput) +} + +func (i VerificationTemplateArgValueFromSecretKeyRefArgs) ToVerificationTemplateArgValueFromSecretKeyRefPtrOutput() VerificationTemplateArgValueFromSecretKeyRefPtrOutput { + return i.ToVerificationTemplateArgValueFromSecretKeyRefPtrOutputWithContext(context.Background()) +} + +func (i VerificationTemplateArgValueFromSecretKeyRefArgs) ToVerificationTemplateArgValueFromSecretKeyRefPtrOutputWithContext(ctx context.Context) VerificationTemplateArgValueFromSecretKeyRefPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateArgValueFromSecretKeyRefOutput).ToVerificationTemplateArgValueFromSecretKeyRefPtrOutputWithContext(ctx) +} + +// VerificationTemplateArgValueFromSecretKeyRefPtrInput is an input type that accepts VerificationTemplateArgValueFromSecretKeyRefArgs, VerificationTemplateArgValueFromSecretKeyRefPtr and VerificationTemplateArgValueFromSecretKeyRefPtrOutput values. +// You can construct a concrete instance of `VerificationTemplateArgValueFromSecretKeyRefPtrInput` via: +// +// VerificationTemplateArgValueFromSecretKeyRefArgs{...} +// +// or: +// +// nil +type VerificationTemplateArgValueFromSecretKeyRefPtrInput interface { + pulumi.Input + + ToVerificationTemplateArgValueFromSecretKeyRefPtrOutput() VerificationTemplateArgValueFromSecretKeyRefPtrOutput + ToVerificationTemplateArgValueFromSecretKeyRefPtrOutputWithContext(context.Context) VerificationTemplateArgValueFromSecretKeyRefPtrOutput +} + +type verificationTemplateArgValueFromSecretKeyRefPtrType VerificationTemplateArgValueFromSecretKeyRefArgs + +func VerificationTemplateArgValueFromSecretKeyRefPtr(v *VerificationTemplateArgValueFromSecretKeyRefArgs) VerificationTemplateArgValueFromSecretKeyRefPtrInput { + return (*verificationTemplateArgValueFromSecretKeyRefPtrType)(v) +} + +func (*verificationTemplateArgValueFromSecretKeyRefPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationTemplateArgValueFromSecretKeyRef)(nil)).Elem() +} + +func (i *verificationTemplateArgValueFromSecretKeyRefPtrType) ToVerificationTemplateArgValueFromSecretKeyRefPtrOutput() VerificationTemplateArgValueFromSecretKeyRefPtrOutput { + return i.ToVerificationTemplateArgValueFromSecretKeyRefPtrOutputWithContext(context.Background()) +} + +func (i *verificationTemplateArgValueFromSecretKeyRefPtrType) ToVerificationTemplateArgValueFromSecretKeyRefPtrOutputWithContext(ctx context.Context) VerificationTemplateArgValueFromSecretKeyRefPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateArgValueFromSecretKeyRefPtrOutput) +} + +type VerificationTemplateArgValueFromSecretKeyRefOutput struct{ *pulumi.OutputState } + +func (VerificationTemplateArgValueFromSecretKeyRefOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateArgValueFromSecretKeyRef)(nil)).Elem() +} + +func (o VerificationTemplateArgValueFromSecretKeyRefOutput) ToVerificationTemplateArgValueFromSecretKeyRefOutput() VerificationTemplateArgValueFromSecretKeyRefOutput { + return o +} + +func (o VerificationTemplateArgValueFromSecretKeyRefOutput) ToVerificationTemplateArgValueFromSecretKeyRefOutputWithContext(ctx context.Context) VerificationTemplateArgValueFromSecretKeyRefOutput { + return o +} + +func (o VerificationTemplateArgValueFromSecretKeyRefOutput) ToVerificationTemplateArgValueFromSecretKeyRefPtrOutput() VerificationTemplateArgValueFromSecretKeyRefPtrOutput { + return o.ToVerificationTemplateArgValueFromSecretKeyRefPtrOutputWithContext(context.Background()) +} + +func (o VerificationTemplateArgValueFromSecretKeyRefOutput) ToVerificationTemplateArgValueFromSecretKeyRefPtrOutputWithContext(ctx context.Context) VerificationTemplateArgValueFromSecretKeyRefPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VerificationTemplateArgValueFromSecretKeyRef) *VerificationTemplateArgValueFromSecretKeyRef { + return &v + }).(VerificationTemplateArgValueFromSecretKeyRefPtrOutput) +} + +func (o VerificationTemplateArgValueFromSecretKeyRefOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v VerificationTemplateArgValueFromSecretKeyRef) string { return v.Key }).(pulumi.StringOutput) +} + +// Identifier name for Ocean CD Verification Template. Must be unique. +func (o VerificationTemplateArgValueFromSecretKeyRefOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v VerificationTemplateArgValueFromSecretKeyRef) string { return v.Name }).(pulumi.StringOutput) +} + +type VerificationTemplateArgValueFromSecretKeyRefPtrOutput struct{ *pulumi.OutputState } + +func (VerificationTemplateArgValueFromSecretKeyRefPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationTemplateArgValueFromSecretKeyRef)(nil)).Elem() +} + +func (o VerificationTemplateArgValueFromSecretKeyRefPtrOutput) ToVerificationTemplateArgValueFromSecretKeyRefPtrOutput() VerificationTemplateArgValueFromSecretKeyRefPtrOutput { + return o +} + +func (o VerificationTemplateArgValueFromSecretKeyRefPtrOutput) ToVerificationTemplateArgValueFromSecretKeyRefPtrOutputWithContext(ctx context.Context) VerificationTemplateArgValueFromSecretKeyRefPtrOutput { + return o +} + +func (o VerificationTemplateArgValueFromSecretKeyRefPtrOutput) Elem() VerificationTemplateArgValueFromSecretKeyRefOutput { + return o.ApplyT(func(v *VerificationTemplateArgValueFromSecretKeyRef) VerificationTemplateArgValueFromSecretKeyRef { + if v != nil { + return *v + } + var ret VerificationTemplateArgValueFromSecretKeyRef + return ret + }).(VerificationTemplateArgValueFromSecretKeyRefOutput) +} + +func (o VerificationTemplateArgValueFromSecretKeyRefPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VerificationTemplateArgValueFromSecretKeyRef) *string { + if v == nil { + return nil + } + return &v.Key + }).(pulumi.StringPtrOutput) +} + +// Identifier name for Ocean CD Verification Template. Must be unique. +func (o VerificationTemplateArgValueFromSecretKeyRefPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VerificationTemplateArgValueFromSecretKeyRef) *string { + if v == nil { + return nil + } + return &v.Name + }).(pulumi.StringPtrOutput) +} + +type VerificationTemplateMetric struct { + // Baseline Object. + Baseline *VerificationTemplateMetricBaseline `pulumi:"baseline"` + // The maximum number of times the measurement is allowed to error in succession, before the metric is considered error.Default is 4.When choosing `Jenkins` as the provider, there is no need to send this variable. + ConsecutiveErrorLimit *int `pulumi:"consecutiveErrorLimit"` + // The number of times to run the measurement. If both interval and count are omitted, the effective count is 1. If only interval is specified, metric runs indefinitely. If count > 1, interval must be specified. When choosing `Jenkins` as the provider, there is no need to send this variable. + Count *int `pulumi:"count"` + // Defines whether the metric should have an impact on the result of the rollout. + DryRun *bool `pulumi:"dryRun"` + // An expression which determines if a measurement is considered failed.If failureCondition is set, then successCondition is not allowed. When choosing Jenkins as the provider, there is no need to send this variable. + FailureCondition *string `pulumi:"failureCondition"` + // The maximum number of times the measurement is allowed to fail, before the entire metric is considered failed.Default is 0. When choosing `Jenkins` as the provider, there is no need to send this variable. + FailureLimit *int `pulumi:"failureLimit"` + // How long to wait before starting this metric measurements. When choosing Jenkins as the provider, there is no need to send this variable. + InitialDelay *string `pulumi:"initialDelay"` + // Defines an interval string (30s, 5m, 1h) between each verification measurements. If omitted, will perform a single measurement.When choosing Jenkins as the provider, there is no need to send this variable. + Interval *string `pulumi:"interval"` + // The name of the verification metric. + MetricsName string `pulumi:"metricsName"` + // The name of the monitoring tool chosen for the metric. + Providers []VerificationTemplateMetricProvider `pulumi:"providers"` + // An expression which determines if a measurement is considered successful. The keyword `result` is a variable reference to the value of measurement. Results can be both structured data or primitive. If successCondition is set, then failureCondition is not allowed. When choosing `Jenkins` as the provider, there is no need to send this variable. + SuccessCondition *string `pulumi:"successCondition"` +} + +// VerificationTemplateMetricInput is an input type that accepts VerificationTemplateMetricArgs and VerificationTemplateMetricOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricInput` via: +// +// VerificationTemplateMetricArgs{...} +type VerificationTemplateMetricInput interface { + pulumi.Input + + ToVerificationTemplateMetricOutput() VerificationTemplateMetricOutput + ToVerificationTemplateMetricOutputWithContext(context.Context) VerificationTemplateMetricOutput +} + +type VerificationTemplateMetricArgs struct { + // Baseline Object. + Baseline VerificationTemplateMetricBaselinePtrInput `pulumi:"baseline"` + // The maximum number of times the measurement is allowed to error in succession, before the metric is considered error.Default is 4.When choosing `Jenkins` as the provider, there is no need to send this variable. + ConsecutiveErrorLimit pulumi.IntPtrInput `pulumi:"consecutiveErrorLimit"` + // The number of times to run the measurement. If both interval and count are omitted, the effective count is 1. If only interval is specified, metric runs indefinitely. If count > 1, interval must be specified. When choosing `Jenkins` as the provider, there is no need to send this variable. + Count pulumi.IntPtrInput `pulumi:"count"` + // Defines whether the metric should have an impact on the result of the rollout. + DryRun pulumi.BoolPtrInput `pulumi:"dryRun"` + // An expression which determines if a measurement is considered failed.If failureCondition is set, then successCondition is not allowed. When choosing Jenkins as the provider, there is no need to send this variable. + FailureCondition pulumi.StringPtrInput `pulumi:"failureCondition"` + // The maximum number of times the measurement is allowed to fail, before the entire metric is considered failed.Default is 0. When choosing `Jenkins` as the provider, there is no need to send this variable. + FailureLimit pulumi.IntPtrInput `pulumi:"failureLimit"` + // How long to wait before starting this metric measurements. When choosing Jenkins as the provider, there is no need to send this variable. + InitialDelay pulumi.StringPtrInput `pulumi:"initialDelay"` + // Defines an interval string (30s, 5m, 1h) between each verification measurements. If omitted, will perform a single measurement.When choosing Jenkins as the provider, there is no need to send this variable. + Interval pulumi.StringPtrInput `pulumi:"interval"` + // The name of the verification metric. + MetricsName pulumi.StringInput `pulumi:"metricsName"` + // The name of the monitoring tool chosen for the metric. + Providers VerificationTemplateMetricProviderArrayInput `pulumi:"providers"` + // An expression which determines if a measurement is considered successful. The keyword `result` is a variable reference to the value of measurement. Results can be both structured data or primitive. If successCondition is set, then failureCondition is not allowed. When choosing `Jenkins` as the provider, there is no need to send this variable. + SuccessCondition pulumi.StringPtrInput `pulumi:"successCondition"` +} + +func (VerificationTemplateMetricArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetric)(nil)).Elem() +} + +func (i VerificationTemplateMetricArgs) ToVerificationTemplateMetricOutput() VerificationTemplateMetricOutput { + return i.ToVerificationTemplateMetricOutputWithContext(context.Background()) +} + +func (i VerificationTemplateMetricArgs) ToVerificationTemplateMetricOutputWithContext(ctx context.Context) VerificationTemplateMetricOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricOutput) +} + +// VerificationTemplateMetricArrayInput is an input type that accepts VerificationTemplateMetricArray and VerificationTemplateMetricArrayOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricArrayInput` via: +// +// VerificationTemplateMetricArray{ VerificationTemplateMetricArgs{...} } +type VerificationTemplateMetricArrayInput interface { + pulumi.Input + + ToVerificationTemplateMetricArrayOutput() VerificationTemplateMetricArrayOutput + ToVerificationTemplateMetricArrayOutputWithContext(context.Context) VerificationTemplateMetricArrayOutput +} + +type VerificationTemplateMetricArray []VerificationTemplateMetricInput + +func (VerificationTemplateMetricArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]VerificationTemplateMetric)(nil)).Elem() +} + +func (i VerificationTemplateMetricArray) ToVerificationTemplateMetricArrayOutput() VerificationTemplateMetricArrayOutput { + return i.ToVerificationTemplateMetricArrayOutputWithContext(context.Background()) +} + +func (i VerificationTemplateMetricArray) ToVerificationTemplateMetricArrayOutputWithContext(ctx context.Context) VerificationTemplateMetricArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricArrayOutput) +} + +type VerificationTemplateMetricOutput struct{ *pulumi.OutputState } + +func (VerificationTemplateMetricOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetric)(nil)).Elem() +} + +func (o VerificationTemplateMetricOutput) ToVerificationTemplateMetricOutput() VerificationTemplateMetricOutput { + return o +} + +func (o VerificationTemplateMetricOutput) ToVerificationTemplateMetricOutputWithContext(ctx context.Context) VerificationTemplateMetricOutput { + return o +} + +// Baseline Object. +func (o VerificationTemplateMetricOutput) Baseline() VerificationTemplateMetricBaselinePtrOutput { + return o.ApplyT(func(v VerificationTemplateMetric) *VerificationTemplateMetricBaseline { return v.Baseline }).(VerificationTemplateMetricBaselinePtrOutput) +} + +// The maximum number of times the measurement is allowed to error in succession, before the metric is considered error.Default is 4.When choosing `Jenkins` as the provider, there is no need to send this variable. +func (o VerificationTemplateMetricOutput) ConsecutiveErrorLimit() pulumi.IntPtrOutput { + return o.ApplyT(func(v VerificationTemplateMetric) *int { return v.ConsecutiveErrorLimit }).(pulumi.IntPtrOutput) +} + +// The number of times to run the measurement. If both interval and count are omitted, the effective count is 1. If only interval is specified, metric runs indefinitely. If count > 1, interval must be specified. When choosing `Jenkins` as the provider, there is no need to send this variable. +func (o VerificationTemplateMetricOutput) Count() pulumi.IntPtrOutput { + return o.ApplyT(func(v VerificationTemplateMetric) *int { return v.Count }).(pulumi.IntPtrOutput) +} + +// Defines whether the metric should have an impact on the result of the rollout. +func (o VerificationTemplateMetricOutput) DryRun() pulumi.BoolPtrOutput { + return o.ApplyT(func(v VerificationTemplateMetric) *bool { return v.DryRun }).(pulumi.BoolPtrOutput) +} + +// An expression which determines if a measurement is considered failed.If failureCondition is set, then successCondition is not allowed. When choosing Jenkins as the provider, there is no need to send this variable. +func (o VerificationTemplateMetricOutput) FailureCondition() pulumi.StringPtrOutput { + return o.ApplyT(func(v VerificationTemplateMetric) *string { return v.FailureCondition }).(pulumi.StringPtrOutput) +} + +// The maximum number of times the measurement is allowed to fail, before the entire metric is considered failed.Default is 0. When choosing `Jenkins` as the provider, there is no need to send this variable. +func (o VerificationTemplateMetricOutput) FailureLimit() pulumi.IntPtrOutput { + return o.ApplyT(func(v VerificationTemplateMetric) *int { return v.FailureLimit }).(pulumi.IntPtrOutput) +} + +// How long to wait before starting this metric measurements. When choosing Jenkins as the provider, there is no need to send this variable. +func (o VerificationTemplateMetricOutput) InitialDelay() pulumi.StringPtrOutput { + return o.ApplyT(func(v VerificationTemplateMetric) *string { return v.InitialDelay }).(pulumi.StringPtrOutput) +} + +// Defines an interval string (30s, 5m, 1h) between each verification measurements. If omitted, will perform a single measurement.When choosing Jenkins as the provider, there is no need to send this variable. +func (o VerificationTemplateMetricOutput) Interval() pulumi.StringPtrOutput { + return o.ApplyT(func(v VerificationTemplateMetric) *string { return v.Interval }).(pulumi.StringPtrOutput) +} + +// The name of the verification metric. +func (o VerificationTemplateMetricOutput) MetricsName() pulumi.StringOutput { + return o.ApplyT(func(v VerificationTemplateMetric) string { return v.MetricsName }).(pulumi.StringOutput) +} + +// The name of the monitoring tool chosen for the metric. +func (o VerificationTemplateMetricOutput) Providers() VerificationTemplateMetricProviderArrayOutput { + return o.ApplyT(func(v VerificationTemplateMetric) []VerificationTemplateMetricProvider { return v.Providers }).(VerificationTemplateMetricProviderArrayOutput) +} + +// An expression which determines if a measurement is considered successful. The keyword `result` is a variable reference to the value of measurement. Results can be both structured data or primitive. If successCondition is set, then failureCondition is not allowed. When choosing `Jenkins` as the provider, there is no need to send this variable. +func (o VerificationTemplateMetricOutput) SuccessCondition() pulumi.StringPtrOutput { + return o.ApplyT(func(v VerificationTemplateMetric) *string { return v.SuccessCondition }).(pulumi.StringPtrOutput) +} + +type VerificationTemplateMetricArrayOutput struct{ *pulumi.OutputState } + +func (VerificationTemplateMetricArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]VerificationTemplateMetric)(nil)).Elem() +} + +func (o VerificationTemplateMetricArrayOutput) ToVerificationTemplateMetricArrayOutput() VerificationTemplateMetricArrayOutput { + return o +} + +func (o VerificationTemplateMetricArrayOutput) ToVerificationTemplateMetricArrayOutputWithContext(ctx context.Context) VerificationTemplateMetricArrayOutput { + return o +} + +func (o VerificationTemplateMetricArrayOutput) Index(i pulumi.IntInput) VerificationTemplateMetricOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) VerificationTemplateMetric { + return vs[0].([]VerificationTemplateMetric)[vs[1].(int)] + }).(VerificationTemplateMetricOutput) +} + +type VerificationTemplateMetricBaseline struct { + BaselineProviders []VerificationTemplateMetricBaselineBaselineProvider `pulumi:"baselineProviders"` + MaxRange *int `pulumi:"maxRange"` + MinRange *int `pulumi:"minRange"` + Threshold string `pulumi:"threshold"` +} + +// VerificationTemplateMetricBaselineInput is an input type that accepts VerificationTemplateMetricBaselineArgs and VerificationTemplateMetricBaselineOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricBaselineInput` via: +// +// VerificationTemplateMetricBaselineArgs{...} +type VerificationTemplateMetricBaselineInput interface { + pulumi.Input + + ToVerificationTemplateMetricBaselineOutput() VerificationTemplateMetricBaselineOutput + ToVerificationTemplateMetricBaselineOutputWithContext(context.Context) VerificationTemplateMetricBaselineOutput +} + +type VerificationTemplateMetricBaselineArgs struct { + BaselineProviders VerificationTemplateMetricBaselineBaselineProviderArrayInput `pulumi:"baselineProviders"` + MaxRange pulumi.IntPtrInput `pulumi:"maxRange"` + MinRange pulumi.IntPtrInput `pulumi:"minRange"` + Threshold pulumi.StringInput `pulumi:"threshold"` +} + +func (VerificationTemplateMetricBaselineArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricBaseline)(nil)).Elem() +} + +func (i VerificationTemplateMetricBaselineArgs) ToVerificationTemplateMetricBaselineOutput() VerificationTemplateMetricBaselineOutput { + return i.ToVerificationTemplateMetricBaselineOutputWithContext(context.Background()) +} + +func (i VerificationTemplateMetricBaselineArgs) ToVerificationTemplateMetricBaselineOutputWithContext(ctx context.Context) VerificationTemplateMetricBaselineOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricBaselineOutput) +} + +func (i VerificationTemplateMetricBaselineArgs) ToVerificationTemplateMetricBaselinePtrOutput() VerificationTemplateMetricBaselinePtrOutput { + return i.ToVerificationTemplateMetricBaselinePtrOutputWithContext(context.Background()) +} + +func (i VerificationTemplateMetricBaselineArgs) ToVerificationTemplateMetricBaselinePtrOutputWithContext(ctx context.Context) VerificationTemplateMetricBaselinePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricBaselineOutput).ToVerificationTemplateMetricBaselinePtrOutputWithContext(ctx) +} + +// VerificationTemplateMetricBaselinePtrInput is an input type that accepts VerificationTemplateMetricBaselineArgs, VerificationTemplateMetricBaselinePtr and VerificationTemplateMetricBaselinePtrOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricBaselinePtrInput` via: +// +// VerificationTemplateMetricBaselineArgs{...} +// +// or: +// +// nil +type VerificationTemplateMetricBaselinePtrInput interface { + pulumi.Input + + ToVerificationTemplateMetricBaselinePtrOutput() VerificationTemplateMetricBaselinePtrOutput + ToVerificationTemplateMetricBaselinePtrOutputWithContext(context.Context) VerificationTemplateMetricBaselinePtrOutput +} + +type verificationTemplateMetricBaselinePtrType VerificationTemplateMetricBaselineArgs + +func VerificationTemplateMetricBaselinePtr(v *VerificationTemplateMetricBaselineArgs) VerificationTemplateMetricBaselinePtrInput { + return (*verificationTemplateMetricBaselinePtrType)(v) +} + +func (*verificationTemplateMetricBaselinePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationTemplateMetricBaseline)(nil)).Elem() +} + +func (i *verificationTemplateMetricBaselinePtrType) ToVerificationTemplateMetricBaselinePtrOutput() VerificationTemplateMetricBaselinePtrOutput { + return i.ToVerificationTemplateMetricBaselinePtrOutputWithContext(context.Background()) +} + +func (i *verificationTemplateMetricBaselinePtrType) ToVerificationTemplateMetricBaselinePtrOutputWithContext(ctx context.Context) VerificationTemplateMetricBaselinePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricBaselinePtrOutput) +} + +type VerificationTemplateMetricBaselineOutput struct{ *pulumi.OutputState } + +func (VerificationTemplateMetricBaselineOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricBaseline)(nil)).Elem() +} + +func (o VerificationTemplateMetricBaselineOutput) ToVerificationTemplateMetricBaselineOutput() VerificationTemplateMetricBaselineOutput { + return o +} + +func (o VerificationTemplateMetricBaselineOutput) ToVerificationTemplateMetricBaselineOutputWithContext(ctx context.Context) VerificationTemplateMetricBaselineOutput { + return o +} + +func (o VerificationTemplateMetricBaselineOutput) ToVerificationTemplateMetricBaselinePtrOutput() VerificationTemplateMetricBaselinePtrOutput { + return o.ToVerificationTemplateMetricBaselinePtrOutputWithContext(context.Background()) +} + +func (o VerificationTemplateMetricBaselineOutput) ToVerificationTemplateMetricBaselinePtrOutputWithContext(ctx context.Context) VerificationTemplateMetricBaselinePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VerificationTemplateMetricBaseline) *VerificationTemplateMetricBaseline { + return &v + }).(VerificationTemplateMetricBaselinePtrOutput) +} + +func (o VerificationTemplateMetricBaselineOutput) BaselineProviders() VerificationTemplateMetricBaselineBaselineProviderArrayOutput { + return o.ApplyT(func(v VerificationTemplateMetricBaseline) []VerificationTemplateMetricBaselineBaselineProvider { + return v.BaselineProviders + }).(VerificationTemplateMetricBaselineBaselineProviderArrayOutput) +} + +func (o VerificationTemplateMetricBaselineOutput) MaxRange() pulumi.IntPtrOutput { + return o.ApplyT(func(v VerificationTemplateMetricBaseline) *int { return v.MaxRange }).(pulumi.IntPtrOutput) +} + +func (o VerificationTemplateMetricBaselineOutput) MinRange() pulumi.IntPtrOutput { + return o.ApplyT(func(v VerificationTemplateMetricBaseline) *int { return v.MinRange }).(pulumi.IntPtrOutput) +} + +func (o VerificationTemplateMetricBaselineOutput) Threshold() pulumi.StringOutput { + return o.ApplyT(func(v VerificationTemplateMetricBaseline) string { return v.Threshold }).(pulumi.StringOutput) +} + +type VerificationTemplateMetricBaselinePtrOutput struct{ *pulumi.OutputState } + +func (VerificationTemplateMetricBaselinePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationTemplateMetricBaseline)(nil)).Elem() +} + +func (o VerificationTemplateMetricBaselinePtrOutput) ToVerificationTemplateMetricBaselinePtrOutput() VerificationTemplateMetricBaselinePtrOutput { + return o +} + +func (o VerificationTemplateMetricBaselinePtrOutput) ToVerificationTemplateMetricBaselinePtrOutputWithContext(ctx context.Context) VerificationTemplateMetricBaselinePtrOutput { + return o +} + +func (o VerificationTemplateMetricBaselinePtrOutput) Elem() VerificationTemplateMetricBaselineOutput { + return o.ApplyT(func(v *VerificationTemplateMetricBaseline) VerificationTemplateMetricBaseline { + if v != nil { + return *v + } + var ret VerificationTemplateMetricBaseline + return ret + }).(VerificationTemplateMetricBaselineOutput) +} + +func (o VerificationTemplateMetricBaselinePtrOutput) BaselineProviders() VerificationTemplateMetricBaselineBaselineProviderArrayOutput { + return o.ApplyT(func(v *VerificationTemplateMetricBaseline) []VerificationTemplateMetricBaselineBaselineProvider { + if v == nil { + return nil + } + return v.BaselineProviders + }).(VerificationTemplateMetricBaselineBaselineProviderArrayOutput) +} + +func (o VerificationTemplateMetricBaselinePtrOutput) MaxRange() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VerificationTemplateMetricBaseline) *int { + if v == nil { + return nil + } + return v.MaxRange + }).(pulumi.IntPtrOutput) +} + +func (o VerificationTemplateMetricBaselinePtrOutput) MinRange() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VerificationTemplateMetricBaseline) *int { + if v == nil { + return nil + } + return v.MinRange + }).(pulumi.IntPtrOutput) +} + +func (o VerificationTemplateMetricBaselinePtrOutput) Threshold() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VerificationTemplateMetricBaseline) *string { + if v == nil { + return nil + } + return &v.Threshold + }).(pulumi.StringPtrOutput) +} + +type VerificationTemplateMetricBaselineBaselineProvider struct { + Datadog *VerificationTemplateMetricBaselineBaselineProviderDatadog `pulumi:"datadog"` + NewRelic *VerificationTemplateMetricBaselineBaselineProviderNewRelic `pulumi:"newRelic"` + Prometheus *VerificationTemplateMetricBaselineBaselineProviderPrometheus `pulumi:"prometheus"` +} + +// VerificationTemplateMetricBaselineBaselineProviderInput is an input type that accepts VerificationTemplateMetricBaselineBaselineProviderArgs and VerificationTemplateMetricBaselineBaselineProviderOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricBaselineBaselineProviderInput` via: +// +// VerificationTemplateMetricBaselineBaselineProviderArgs{...} +type VerificationTemplateMetricBaselineBaselineProviderInput interface { + pulumi.Input + + ToVerificationTemplateMetricBaselineBaselineProviderOutput() VerificationTemplateMetricBaselineBaselineProviderOutput + ToVerificationTemplateMetricBaselineBaselineProviderOutputWithContext(context.Context) VerificationTemplateMetricBaselineBaselineProviderOutput +} + +type VerificationTemplateMetricBaselineBaselineProviderArgs struct { + Datadog VerificationTemplateMetricBaselineBaselineProviderDatadogPtrInput `pulumi:"datadog"` + NewRelic VerificationTemplateMetricBaselineBaselineProviderNewRelicPtrInput `pulumi:"newRelic"` + Prometheus VerificationTemplateMetricBaselineBaselineProviderPrometheusPtrInput `pulumi:"prometheus"` +} + +func (VerificationTemplateMetricBaselineBaselineProviderArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricBaselineBaselineProvider)(nil)).Elem() +} + +func (i VerificationTemplateMetricBaselineBaselineProviderArgs) ToVerificationTemplateMetricBaselineBaselineProviderOutput() VerificationTemplateMetricBaselineBaselineProviderOutput { + return i.ToVerificationTemplateMetricBaselineBaselineProviderOutputWithContext(context.Background()) +} + +func (i VerificationTemplateMetricBaselineBaselineProviderArgs) ToVerificationTemplateMetricBaselineBaselineProviderOutputWithContext(ctx context.Context) VerificationTemplateMetricBaselineBaselineProviderOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricBaselineBaselineProviderOutput) +} + +// VerificationTemplateMetricBaselineBaselineProviderArrayInput is an input type that accepts VerificationTemplateMetricBaselineBaselineProviderArray and VerificationTemplateMetricBaselineBaselineProviderArrayOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricBaselineBaselineProviderArrayInput` via: +// +// VerificationTemplateMetricBaselineBaselineProviderArray{ VerificationTemplateMetricBaselineBaselineProviderArgs{...} } +type VerificationTemplateMetricBaselineBaselineProviderArrayInput interface { + pulumi.Input + + ToVerificationTemplateMetricBaselineBaselineProviderArrayOutput() VerificationTemplateMetricBaselineBaselineProviderArrayOutput + ToVerificationTemplateMetricBaselineBaselineProviderArrayOutputWithContext(context.Context) VerificationTemplateMetricBaselineBaselineProviderArrayOutput +} + +type VerificationTemplateMetricBaselineBaselineProviderArray []VerificationTemplateMetricBaselineBaselineProviderInput + +func (VerificationTemplateMetricBaselineBaselineProviderArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]VerificationTemplateMetricBaselineBaselineProvider)(nil)).Elem() +} + +func (i VerificationTemplateMetricBaselineBaselineProviderArray) ToVerificationTemplateMetricBaselineBaselineProviderArrayOutput() VerificationTemplateMetricBaselineBaselineProviderArrayOutput { + return i.ToVerificationTemplateMetricBaselineBaselineProviderArrayOutputWithContext(context.Background()) +} + +func (i VerificationTemplateMetricBaselineBaselineProviderArray) ToVerificationTemplateMetricBaselineBaselineProviderArrayOutputWithContext(ctx context.Context) VerificationTemplateMetricBaselineBaselineProviderArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricBaselineBaselineProviderArrayOutput) +} + +type VerificationTemplateMetricBaselineBaselineProviderOutput struct{ *pulumi.OutputState } + +func (VerificationTemplateMetricBaselineBaselineProviderOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricBaselineBaselineProvider)(nil)).Elem() +} + +func (o VerificationTemplateMetricBaselineBaselineProviderOutput) ToVerificationTemplateMetricBaselineBaselineProviderOutput() VerificationTemplateMetricBaselineBaselineProviderOutput { + return o +} + +func (o VerificationTemplateMetricBaselineBaselineProviderOutput) ToVerificationTemplateMetricBaselineBaselineProviderOutputWithContext(ctx context.Context) VerificationTemplateMetricBaselineBaselineProviderOutput { + return o +} + +func (o VerificationTemplateMetricBaselineBaselineProviderOutput) Datadog() VerificationTemplateMetricBaselineBaselineProviderDatadogPtrOutput { + return o.ApplyT(func(v VerificationTemplateMetricBaselineBaselineProvider) *VerificationTemplateMetricBaselineBaselineProviderDatadog { + return v.Datadog + }).(VerificationTemplateMetricBaselineBaselineProviderDatadogPtrOutput) +} + +func (o VerificationTemplateMetricBaselineBaselineProviderOutput) NewRelic() VerificationTemplateMetricBaselineBaselineProviderNewRelicPtrOutput { + return o.ApplyT(func(v VerificationTemplateMetricBaselineBaselineProvider) *VerificationTemplateMetricBaselineBaselineProviderNewRelic { + return v.NewRelic + }).(VerificationTemplateMetricBaselineBaselineProviderNewRelicPtrOutput) +} + +func (o VerificationTemplateMetricBaselineBaselineProviderOutput) Prometheus() VerificationTemplateMetricBaselineBaselineProviderPrometheusPtrOutput { + return o.ApplyT(func(v VerificationTemplateMetricBaselineBaselineProvider) *VerificationTemplateMetricBaselineBaselineProviderPrometheus { + return v.Prometheus + }).(VerificationTemplateMetricBaselineBaselineProviderPrometheusPtrOutput) +} + +type VerificationTemplateMetricBaselineBaselineProviderArrayOutput struct{ *pulumi.OutputState } + +func (VerificationTemplateMetricBaselineBaselineProviderArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]VerificationTemplateMetricBaselineBaselineProvider)(nil)).Elem() +} + +func (o VerificationTemplateMetricBaselineBaselineProviderArrayOutput) ToVerificationTemplateMetricBaselineBaselineProviderArrayOutput() VerificationTemplateMetricBaselineBaselineProviderArrayOutput { + return o +} + +func (o VerificationTemplateMetricBaselineBaselineProviderArrayOutput) ToVerificationTemplateMetricBaselineBaselineProviderArrayOutputWithContext(ctx context.Context) VerificationTemplateMetricBaselineBaselineProviderArrayOutput { + return o +} + +func (o VerificationTemplateMetricBaselineBaselineProviderArrayOutput) Index(i pulumi.IntInput) VerificationTemplateMetricBaselineBaselineProviderOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) VerificationTemplateMetricBaselineBaselineProvider { + return vs[0].([]VerificationTemplateMetricBaselineBaselineProvider)[vs[1].(int)] + }).(VerificationTemplateMetricBaselineBaselineProviderOutput) +} + +type VerificationTemplateMetricBaselineBaselineProviderDatadog struct { + DatadogQuery string `pulumi:"datadogQuery"` + Duration *string `pulumi:"duration"` +} + +// VerificationTemplateMetricBaselineBaselineProviderDatadogInput is an input type that accepts VerificationTemplateMetricBaselineBaselineProviderDatadogArgs and VerificationTemplateMetricBaselineBaselineProviderDatadogOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricBaselineBaselineProviderDatadogInput` via: +// +// VerificationTemplateMetricBaselineBaselineProviderDatadogArgs{...} +type VerificationTemplateMetricBaselineBaselineProviderDatadogInput interface { + pulumi.Input + + ToVerificationTemplateMetricBaselineBaselineProviderDatadogOutput() VerificationTemplateMetricBaselineBaselineProviderDatadogOutput + ToVerificationTemplateMetricBaselineBaselineProviderDatadogOutputWithContext(context.Context) VerificationTemplateMetricBaselineBaselineProviderDatadogOutput +} + +type VerificationTemplateMetricBaselineBaselineProviderDatadogArgs struct { + DatadogQuery pulumi.StringInput `pulumi:"datadogQuery"` + Duration pulumi.StringPtrInput `pulumi:"duration"` +} + +func (VerificationTemplateMetricBaselineBaselineProviderDatadogArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricBaselineBaselineProviderDatadog)(nil)).Elem() +} + +func (i VerificationTemplateMetricBaselineBaselineProviderDatadogArgs) ToVerificationTemplateMetricBaselineBaselineProviderDatadogOutput() VerificationTemplateMetricBaselineBaselineProviderDatadogOutput { + return i.ToVerificationTemplateMetricBaselineBaselineProviderDatadogOutputWithContext(context.Background()) +} + +func (i VerificationTemplateMetricBaselineBaselineProviderDatadogArgs) ToVerificationTemplateMetricBaselineBaselineProviderDatadogOutputWithContext(ctx context.Context) VerificationTemplateMetricBaselineBaselineProviderDatadogOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricBaselineBaselineProviderDatadogOutput) +} + +func (i VerificationTemplateMetricBaselineBaselineProviderDatadogArgs) ToVerificationTemplateMetricBaselineBaselineProviderDatadogPtrOutput() VerificationTemplateMetricBaselineBaselineProviderDatadogPtrOutput { + return i.ToVerificationTemplateMetricBaselineBaselineProviderDatadogPtrOutputWithContext(context.Background()) +} + +func (i VerificationTemplateMetricBaselineBaselineProviderDatadogArgs) ToVerificationTemplateMetricBaselineBaselineProviderDatadogPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricBaselineBaselineProviderDatadogPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricBaselineBaselineProviderDatadogOutput).ToVerificationTemplateMetricBaselineBaselineProviderDatadogPtrOutputWithContext(ctx) +} + +// VerificationTemplateMetricBaselineBaselineProviderDatadogPtrInput is an input type that accepts VerificationTemplateMetricBaselineBaselineProviderDatadogArgs, VerificationTemplateMetricBaselineBaselineProviderDatadogPtr and VerificationTemplateMetricBaselineBaselineProviderDatadogPtrOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricBaselineBaselineProviderDatadogPtrInput` via: +// +// VerificationTemplateMetricBaselineBaselineProviderDatadogArgs{...} +// +// or: +// +// nil +type VerificationTemplateMetricBaselineBaselineProviderDatadogPtrInput interface { + pulumi.Input + + ToVerificationTemplateMetricBaselineBaselineProviderDatadogPtrOutput() VerificationTemplateMetricBaselineBaselineProviderDatadogPtrOutput + ToVerificationTemplateMetricBaselineBaselineProviderDatadogPtrOutputWithContext(context.Context) VerificationTemplateMetricBaselineBaselineProviderDatadogPtrOutput +} + +type verificationTemplateMetricBaselineBaselineProviderDatadogPtrType VerificationTemplateMetricBaselineBaselineProviderDatadogArgs + +func VerificationTemplateMetricBaselineBaselineProviderDatadogPtr(v *VerificationTemplateMetricBaselineBaselineProviderDatadogArgs) VerificationTemplateMetricBaselineBaselineProviderDatadogPtrInput { + return (*verificationTemplateMetricBaselineBaselineProviderDatadogPtrType)(v) +} + +func (*verificationTemplateMetricBaselineBaselineProviderDatadogPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationTemplateMetricBaselineBaselineProviderDatadog)(nil)).Elem() +} + +func (i *verificationTemplateMetricBaselineBaselineProviderDatadogPtrType) ToVerificationTemplateMetricBaselineBaselineProviderDatadogPtrOutput() VerificationTemplateMetricBaselineBaselineProviderDatadogPtrOutput { + return i.ToVerificationTemplateMetricBaselineBaselineProviderDatadogPtrOutputWithContext(context.Background()) +} + +func (i *verificationTemplateMetricBaselineBaselineProviderDatadogPtrType) ToVerificationTemplateMetricBaselineBaselineProviderDatadogPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricBaselineBaselineProviderDatadogPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricBaselineBaselineProviderDatadogPtrOutput) +} + +type VerificationTemplateMetricBaselineBaselineProviderDatadogOutput struct{ *pulumi.OutputState } + +func (VerificationTemplateMetricBaselineBaselineProviderDatadogOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricBaselineBaselineProviderDatadog)(nil)).Elem() +} + +func (o VerificationTemplateMetricBaselineBaselineProviderDatadogOutput) ToVerificationTemplateMetricBaselineBaselineProviderDatadogOutput() VerificationTemplateMetricBaselineBaselineProviderDatadogOutput { + return o +} + +func (o VerificationTemplateMetricBaselineBaselineProviderDatadogOutput) ToVerificationTemplateMetricBaselineBaselineProviderDatadogOutputWithContext(ctx context.Context) VerificationTemplateMetricBaselineBaselineProviderDatadogOutput { + return o +} + +func (o VerificationTemplateMetricBaselineBaselineProviderDatadogOutput) ToVerificationTemplateMetricBaselineBaselineProviderDatadogPtrOutput() VerificationTemplateMetricBaselineBaselineProviderDatadogPtrOutput { + return o.ToVerificationTemplateMetricBaselineBaselineProviderDatadogPtrOutputWithContext(context.Background()) +} + +func (o VerificationTemplateMetricBaselineBaselineProviderDatadogOutput) ToVerificationTemplateMetricBaselineBaselineProviderDatadogPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricBaselineBaselineProviderDatadogPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VerificationTemplateMetricBaselineBaselineProviderDatadog) *VerificationTemplateMetricBaselineBaselineProviderDatadog { + return &v + }).(VerificationTemplateMetricBaselineBaselineProviderDatadogPtrOutput) +} + +func (o VerificationTemplateMetricBaselineBaselineProviderDatadogOutput) DatadogQuery() pulumi.StringOutput { + return o.ApplyT(func(v VerificationTemplateMetricBaselineBaselineProviderDatadog) string { return v.DatadogQuery }).(pulumi.StringOutput) +} + +func (o VerificationTemplateMetricBaselineBaselineProviderDatadogOutput) Duration() pulumi.StringPtrOutput { + return o.ApplyT(func(v VerificationTemplateMetricBaselineBaselineProviderDatadog) *string { return v.Duration }).(pulumi.StringPtrOutput) +} + +type VerificationTemplateMetricBaselineBaselineProviderDatadogPtrOutput struct{ *pulumi.OutputState } + +func (VerificationTemplateMetricBaselineBaselineProviderDatadogPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationTemplateMetricBaselineBaselineProviderDatadog)(nil)).Elem() +} + +func (o VerificationTemplateMetricBaselineBaselineProviderDatadogPtrOutput) ToVerificationTemplateMetricBaselineBaselineProviderDatadogPtrOutput() VerificationTemplateMetricBaselineBaselineProviderDatadogPtrOutput { + return o +} + +func (o VerificationTemplateMetricBaselineBaselineProviderDatadogPtrOutput) ToVerificationTemplateMetricBaselineBaselineProviderDatadogPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricBaselineBaselineProviderDatadogPtrOutput { + return o +} + +func (o VerificationTemplateMetricBaselineBaselineProviderDatadogPtrOutput) Elem() VerificationTemplateMetricBaselineBaselineProviderDatadogOutput { + return o.ApplyT(func(v *VerificationTemplateMetricBaselineBaselineProviderDatadog) VerificationTemplateMetricBaselineBaselineProviderDatadog { + if v != nil { + return *v + } + var ret VerificationTemplateMetricBaselineBaselineProviderDatadog + return ret + }).(VerificationTemplateMetricBaselineBaselineProviderDatadogOutput) +} + +func (o VerificationTemplateMetricBaselineBaselineProviderDatadogPtrOutput) DatadogQuery() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VerificationTemplateMetricBaselineBaselineProviderDatadog) *string { + if v == nil { + return nil + } + return &v.DatadogQuery + }).(pulumi.StringPtrOutput) +} + +func (o VerificationTemplateMetricBaselineBaselineProviderDatadogPtrOutput) Duration() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VerificationTemplateMetricBaselineBaselineProviderDatadog) *string { + if v == nil { + return nil + } + return v.Duration + }).(pulumi.StringPtrOutput) +} + +type VerificationTemplateMetricBaselineBaselineProviderNewRelic struct { + NewRelicQuery string `pulumi:"newRelicQuery"` + Profile *string `pulumi:"profile"` +} + +// VerificationTemplateMetricBaselineBaselineProviderNewRelicInput is an input type that accepts VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs and VerificationTemplateMetricBaselineBaselineProviderNewRelicOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricBaselineBaselineProviderNewRelicInput` via: +// +// VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs{...} +type VerificationTemplateMetricBaselineBaselineProviderNewRelicInput interface { + pulumi.Input + + ToVerificationTemplateMetricBaselineBaselineProviderNewRelicOutput() VerificationTemplateMetricBaselineBaselineProviderNewRelicOutput + ToVerificationTemplateMetricBaselineBaselineProviderNewRelicOutputWithContext(context.Context) VerificationTemplateMetricBaselineBaselineProviderNewRelicOutput +} + +type VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs struct { + NewRelicQuery pulumi.StringInput `pulumi:"newRelicQuery"` + Profile pulumi.StringPtrInput `pulumi:"profile"` +} + +func (VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricBaselineBaselineProviderNewRelic)(nil)).Elem() +} + +func (i VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs) ToVerificationTemplateMetricBaselineBaselineProviderNewRelicOutput() VerificationTemplateMetricBaselineBaselineProviderNewRelicOutput { + return i.ToVerificationTemplateMetricBaselineBaselineProviderNewRelicOutputWithContext(context.Background()) +} + +func (i VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs) ToVerificationTemplateMetricBaselineBaselineProviderNewRelicOutputWithContext(ctx context.Context) VerificationTemplateMetricBaselineBaselineProviderNewRelicOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricBaselineBaselineProviderNewRelicOutput) +} + +func (i VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs) ToVerificationTemplateMetricBaselineBaselineProviderNewRelicPtrOutput() VerificationTemplateMetricBaselineBaselineProviderNewRelicPtrOutput { + return i.ToVerificationTemplateMetricBaselineBaselineProviderNewRelicPtrOutputWithContext(context.Background()) +} + +func (i VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs) ToVerificationTemplateMetricBaselineBaselineProviderNewRelicPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricBaselineBaselineProviderNewRelicPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricBaselineBaselineProviderNewRelicOutput).ToVerificationTemplateMetricBaselineBaselineProviderNewRelicPtrOutputWithContext(ctx) +} + +// VerificationTemplateMetricBaselineBaselineProviderNewRelicPtrInput is an input type that accepts VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs, VerificationTemplateMetricBaselineBaselineProviderNewRelicPtr and VerificationTemplateMetricBaselineBaselineProviderNewRelicPtrOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricBaselineBaselineProviderNewRelicPtrInput` via: +// +// VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs{...} +// +// or: +// +// nil +type VerificationTemplateMetricBaselineBaselineProviderNewRelicPtrInput interface { + pulumi.Input + + ToVerificationTemplateMetricBaselineBaselineProviderNewRelicPtrOutput() VerificationTemplateMetricBaselineBaselineProviderNewRelicPtrOutput + ToVerificationTemplateMetricBaselineBaselineProviderNewRelicPtrOutputWithContext(context.Context) VerificationTemplateMetricBaselineBaselineProviderNewRelicPtrOutput +} + +type verificationTemplateMetricBaselineBaselineProviderNewRelicPtrType VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs + +func VerificationTemplateMetricBaselineBaselineProviderNewRelicPtr(v *VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs) VerificationTemplateMetricBaselineBaselineProviderNewRelicPtrInput { + return (*verificationTemplateMetricBaselineBaselineProviderNewRelicPtrType)(v) +} + +func (*verificationTemplateMetricBaselineBaselineProviderNewRelicPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationTemplateMetricBaselineBaselineProviderNewRelic)(nil)).Elem() +} + +func (i *verificationTemplateMetricBaselineBaselineProviderNewRelicPtrType) ToVerificationTemplateMetricBaselineBaselineProviderNewRelicPtrOutput() VerificationTemplateMetricBaselineBaselineProviderNewRelicPtrOutput { + return i.ToVerificationTemplateMetricBaselineBaselineProviderNewRelicPtrOutputWithContext(context.Background()) +} + +func (i *verificationTemplateMetricBaselineBaselineProviderNewRelicPtrType) ToVerificationTemplateMetricBaselineBaselineProviderNewRelicPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricBaselineBaselineProviderNewRelicPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricBaselineBaselineProviderNewRelicPtrOutput) +} + +type VerificationTemplateMetricBaselineBaselineProviderNewRelicOutput struct{ *pulumi.OutputState } + +func (VerificationTemplateMetricBaselineBaselineProviderNewRelicOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricBaselineBaselineProviderNewRelic)(nil)).Elem() +} + +func (o VerificationTemplateMetricBaselineBaselineProviderNewRelicOutput) ToVerificationTemplateMetricBaselineBaselineProviderNewRelicOutput() VerificationTemplateMetricBaselineBaselineProviderNewRelicOutput { + return o +} + +func (o VerificationTemplateMetricBaselineBaselineProviderNewRelicOutput) ToVerificationTemplateMetricBaselineBaselineProviderNewRelicOutputWithContext(ctx context.Context) VerificationTemplateMetricBaselineBaselineProviderNewRelicOutput { + return o +} + +func (o VerificationTemplateMetricBaselineBaselineProviderNewRelicOutput) ToVerificationTemplateMetricBaselineBaselineProviderNewRelicPtrOutput() VerificationTemplateMetricBaselineBaselineProviderNewRelicPtrOutput { + return o.ToVerificationTemplateMetricBaselineBaselineProviderNewRelicPtrOutputWithContext(context.Background()) +} + +func (o VerificationTemplateMetricBaselineBaselineProviderNewRelicOutput) ToVerificationTemplateMetricBaselineBaselineProviderNewRelicPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricBaselineBaselineProviderNewRelicPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VerificationTemplateMetricBaselineBaselineProviderNewRelic) *VerificationTemplateMetricBaselineBaselineProviderNewRelic { + return &v + }).(VerificationTemplateMetricBaselineBaselineProviderNewRelicPtrOutput) +} + +func (o VerificationTemplateMetricBaselineBaselineProviderNewRelicOutput) NewRelicQuery() pulumi.StringOutput { + return o.ApplyT(func(v VerificationTemplateMetricBaselineBaselineProviderNewRelic) string { return v.NewRelicQuery }).(pulumi.StringOutput) +} + +func (o VerificationTemplateMetricBaselineBaselineProviderNewRelicOutput) Profile() pulumi.StringPtrOutput { + return o.ApplyT(func(v VerificationTemplateMetricBaselineBaselineProviderNewRelic) *string { return v.Profile }).(pulumi.StringPtrOutput) +} + +type VerificationTemplateMetricBaselineBaselineProviderNewRelicPtrOutput struct{ *pulumi.OutputState } + +func (VerificationTemplateMetricBaselineBaselineProviderNewRelicPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationTemplateMetricBaselineBaselineProviderNewRelic)(nil)).Elem() +} + +func (o VerificationTemplateMetricBaselineBaselineProviderNewRelicPtrOutput) ToVerificationTemplateMetricBaselineBaselineProviderNewRelicPtrOutput() VerificationTemplateMetricBaselineBaselineProviderNewRelicPtrOutput { + return o +} + +func (o VerificationTemplateMetricBaselineBaselineProviderNewRelicPtrOutput) ToVerificationTemplateMetricBaselineBaselineProviderNewRelicPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricBaselineBaselineProviderNewRelicPtrOutput { + return o +} + +func (o VerificationTemplateMetricBaselineBaselineProviderNewRelicPtrOutput) Elem() VerificationTemplateMetricBaselineBaselineProviderNewRelicOutput { + return o.ApplyT(func(v *VerificationTemplateMetricBaselineBaselineProviderNewRelic) VerificationTemplateMetricBaselineBaselineProviderNewRelic { + if v != nil { + return *v + } + var ret VerificationTemplateMetricBaselineBaselineProviderNewRelic + return ret + }).(VerificationTemplateMetricBaselineBaselineProviderNewRelicOutput) +} + +func (o VerificationTemplateMetricBaselineBaselineProviderNewRelicPtrOutput) NewRelicQuery() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VerificationTemplateMetricBaselineBaselineProviderNewRelic) *string { + if v == nil { + return nil + } + return &v.NewRelicQuery + }).(pulumi.StringPtrOutput) +} + +func (o VerificationTemplateMetricBaselineBaselineProviderNewRelicPtrOutput) Profile() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VerificationTemplateMetricBaselineBaselineProviderNewRelic) *string { + if v == nil { + return nil + } + return v.Profile + }).(pulumi.StringPtrOutput) +} + +type VerificationTemplateMetricBaselineBaselineProviderPrometheus struct { + PrometheusQuery string `pulumi:"prometheusQuery"` +} + +// VerificationTemplateMetricBaselineBaselineProviderPrometheusInput is an input type that accepts VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs and VerificationTemplateMetricBaselineBaselineProviderPrometheusOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricBaselineBaselineProviderPrometheusInput` via: +// +// VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs{...} +type VerificationTemplateMetricBaselineBaselineProviderPrometheusInput interface { + pulumi.Input + + ToVerificationTemplateMetricBaselineBaselineProviderPrometheusOutput() VerificationTemplateMetricBaselineBaselineProviderPrometheusOutput + ToVerificationTemplateMetricBaselineBaselineProviderPrometheusOutputWithContext(context.Context) VerificationTemplateMetricBaselineBaselineProviderPrometheusOutput +} + +type VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs struct { + PrometheusQuery pulumi.StringInput `pulumi:"prometheusQuery"` +} + +func (VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricBaselineBaselineProviderPrometheus)(nil)).Elem() +} + +func (i VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs) ToVerificationTemplateMetricBaselineBaselineProviderPrometheusOutput() VerificationTemplateMetricBaselineBaselineProviderPrometheusOutput { + return i.ToVerificationTemplateMetricBaselineBaselineProviderPrometheusOutputWithContext(context.Background()) +} + +func (i VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs) ToVerificationTemplateMetricBaselineBaselineProviderPrometheusOutputWithContext(ctx context.Context) VerificationTemplateMetricBaselineBaselineProviderPrometheusOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricBaselineBaselineProviderPrometheusOutput) +} + +func (i VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs) ToVerificationTemplateMetricBaselineBaselineProviderPrometheusPtrOutput() VerificationTemplateMetricBaselineBaselineProviderPrometheusPtrOutput { + return i.ToVerificationTemplateMetricBaselineBaselineProviderPrometheusPtrOutputWithContext(context.Background()) +} + +func (i VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs) ToVerificationTemplateMetricBaselineBaselineProviderPrometheusPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricBaselineBaselineProviderPrometheusPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricBaselineBaselineProviderPrometheusOutput).ToVerificationTemplateMetricBaselineBaselineProviderPrometheusPtrOutputWithContext(ctx) +} + +// VerificationTemplateMetricBaselineBaselineProviderPrometheusPtrInput is an input type that accepts VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs, VerificationTemplateMetricBaselineBaselineProviderPrometheusPtr and VerificationTemplateMetricBaselineBaselineProviderPrometheusPtrOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricBaselineBaselineProviderPrometheusPtrInput` via: +// +// VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs{...} +// +// or: +// +// nil +type VerificationTemplateMetricBaselineBaselineProviderPrometheusPtrInput interface { + pulumi.Input + + ToVerificationTemplateMetricBaselineBaselineProviderPrometheusPtrOutput() VerificationTemplateMetricBaselineBaselineProviderPrometheusPtrOutput + ToVerificationTemplateMetricBaselineBaselineProviderPrometheusPtrOutputWithContext(context.Context) VerificationTemplateMetricBaselineBaselineProviderPrometheusPtrOutput +} + +type verificationTemplateMetricBaselineBaselineProviderPrometheusPtrType VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs + +func VerificationTemplateMetricBaselineBaselineProviderPrometheusPtr(v *VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs) VerificationTemplateMetricBaselineBaselineProviderPrometheusPtrInput { + return (*verificationTemplateMetricBaselineBaselineProviderPrometheusPtrType)(v) +} + +func (*verificationTemplateMetricBaselineBaselineProviderPrometheusPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationTemplateMetricBaselineBaselineProviderPrometheus)(nil)).Elem() +} + +func (i *verificationTemplateMetricBaselineBaselineProviderPrometheusPtrType) ToVerificationTemplateMetricBaselineBaselineProviderPrometheusPtrOutput() VerificationTemplateMetricBaselineBaselineProviderPrometheusPtrOutput { + return i.ToVerificationTemplateMetricBaselineBaselineProviderPrometheusPtrOutputWithContext(context.Background()) +} + +func (i *verificationTemplateMetricBaselineBaselineProviderPrometheusPtrType) ToVerificationTemplateMetricBaselineBaselineProviderPrometheusPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricBaselineBaselineProviderPrometheusPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricBaselineBaselineProviderPrometheusPtrOutput) +} + +type VerificationTemplateMetricBaselineBaselineProviderPrometheusOutput struct{ *pulumi.OutputState } + +func (VerificationTemplateMetricBaselineBaselineProviderPrometheusOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricBaselineBaselineProviderPrometheus)(nil)).Elem() +} + +func (o VerificationTemplateMetricBaselineBaselineProviderPrometheusOutput) ToVerificationTemplateMetricBaselineBaselineProviderPrometheusOutput() VerificationTemplateMetricBaselineBaselineProviderPrometheusOutput { + return o +} + +func (o VerificationTemplateMetricBaselineBaselineProviderPrometheusOutput) ToVerificationTemplateMetricBaselineBaselineProviderPrometheusOutputWithContext(ctx context.Context) VerificationTemplateMetricBaselineBaselineProviderPrometheusOutput { + return o +} + +func (o VerificationTemplateMetricBaselineBaselineProviderPrometheusOutput) ToVerificationTemplateMetricBaselineBaselineProviderPrometheusPtrOutput() VerificationTemplateMetricBaselineBaselineProviderPrometheusPtrOutput { + return o.ToVerificationTemplateMetricBaselineBaselineProviderPrometheusPtrOutputWithContext(context.Background()) +} + +func (o VerificationTemplateMetricBaselineBaselineProviderPrometheusOutput) ToVerificationTemplateMetricBaselineBaselineProviderPrometheusPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricBaselineBaselineProviderPrometheusPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VerificationTemplateMetricBaselineBaselineProviderPrometheus) *VerificationTemplateMetricBaselineBaselineProviderPrometheus { + return &v + }).(VerificationTemplateMetricBaselineBaselineProviderPrometheusPtrOutput) +} + +func (o VerificationTemplateMetricBaselineBaselineProviderPrometheusOutput) PrometheusQuery() pulumi.StringOutput { + return o.ApplyT(func(v VerificationTemplateMetricBaselineBaselineProviderPrometheus) string { return v.PrometheusQuery }).(pulumi.StringOutput) +} + +type VerificationTemplateMetricBaselineBaselineProviderPrometheusPtrOutput struct{ *pulumi.OutputState } + +func (VerificationTemplateMetricBaselineBaselineProviderPrometheusPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationTemplateMetricBaselineBaselineProviderPrometheus)(nil)).Elem() +} + +func (o VerificationTemplateMetricBaselineBaselineProviderPrometheusPtrOutput) ToVerificationTemplateMetricBaselineBaselineProviderPrometheusPtrOutput() VerificationTemplateMetricBaselineBaselineProviderPrometheusPtrOutput { + return o +} + +func (o VerificationTemplateMetricBaselineBaselineProviderPrometheusPtrOutput) ToVerificationTemplateMetricBaselineBaselineProviderPrometheusPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricBaselineBaselineProviderPrometheusPtrOutput { + return o +} + +func (o VerificationTemplateMetricBaselineBaselineProviderPrometheusPtrOutput) Elem() VerificationTemplateMetricBaselineBaselineProviderPrometheusOutput { + return o.ApplyT(func(v *VerificationTemplateMetricBaselineBaselineProviderPrometheus) VerificationTemplateMetricBaselineBaselineProviderPrometheus { + if v != nil { + return *v + } + var ret VerificationTemplateMetricBaselineBaselineProviderPrometheus + return ret + }).(VerificationTemplateMetricBaselineBaselineProviderPrometheusOutput) +} + +func (o VerificationTemplateMetricBaselineBaselineProviderPrometheusPtrOutput) PrometheusQuery() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VerificationTemplateMetricBaselineBaselineProviderPrometheus) *string { + if v == nil { + return nil + } + return &v.PrometheusQuery + }).(pulumi.StringPtrOutput) +} + +type VerificationTemplateMetricProvider struct { + CloudWatch *VerificationTemplateMetricProviderCloudWatch `pulumi:"cloudWatch"` + Datadog *VerificationTemplateMetricProviderDatadog `pulumi:"datadog"` + Jenkins *VerificationTemplateMetricProviderJenkins `pulumi:"jenkins"` + Job *VerificationTemplateMetricProviderJob `pulumi:"job"` + NewRelic *VerificationTemplateMetricProviderNewRelic `pulumi:"newRelic"` + Prometheus *VerificationTemplateMetricProviderPrometheus `pulumi:"prometheus"` + Web *VerificationTemplateMetricProviderWeb `pulumi:"web"` +} + +// VerificationTemplateMetricProviderInput is an input type that accepts VerificationTemplateMetricProviderArgs and VerificationTemplateMetricProviderOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricProviderInput` via: +// +// VerificationTemplateMetricProviderArgs{...} +type VerificationTemplateMetricProviderInput interface { + pulumi.Input + + ToVerificationTemplateMetricProviderOutput() VerificationTemplateMetricProviderOutput + ToVerificationTemplateMetricProviderOutputWithContext(context.Context) VerificationTemplateMetricProviderOutput +} + +type VerificationTemplateMetricProviderArgs struct { + CloudWatch VerificationTemplateMetricProviderCloudWatchPtrInput `pulumi:"cloudWatch"` + Datadog VerificationTemplateMetricProviderDatadogPtrInput `pulumi:"datadog"` + Jenkins VerificationTemplateMetricProviderJenkinsPtrInput `pulumi:"jenkins"` + Job VerificationTemplateMetricProviderJobPtrInput `pulumi:"job"` + NewRelic VerificationTemplateMetricProviderNewRelicPtrInput `pulumi:"newRelic"` + Prometheus VerificationTemplateMetricProviderPrometheusPtrInput `pulumi:"prometheus"` + Web VerificationTemplateMetricProviderWebPtrInput `pulumi:"web"` +} + +func (VerificationTemplateMetricProviderArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricProvider)(nil)).Elem() +} + +func (i VerificationTemplateMetricProviderArgs) ToVerificationTemplateMetricProviderOutput() VerificationTemplateMetricProviderOutput { + return i.ToVerificationTemplateMetricProviderOutputWithContext(context.Background()) +} + +func (i VerificationTemplateMetricProviderArgs) ToVerificationTemplateMetricProviderOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderOutput) +} + +// VerificationTemplateMetricProviderArrayInput is an input type that accepts VerificationTemplateMetricProviderArray and VerificationTemplateMetricProviderArrayOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricProviderArrayInput` via: +// +// VerificationTemplateMetricProviderArray{ VerificationTemplateMetricProviderArgs{...} } +type VerificationTemplateMetricProviderArrayInput interface { + pulumi.Input + + ToVerificationTemplateMetricProviderArrayOutput() VerificationTemplateMetricProviderArrayOutput + ToVerificationTemplateMetricProviderArrayOutputWithContext(context.Context) VerificationTemplateMetricProviderArrayOutput +} + +type VerificationTemplateMetricProviderArray []VerificationTemplateMetricProviderInput + +func (VerificationTemplateMetricProviderArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]VerificationTemplateMetricProvider)(nil)).Elem() +} + +func (i VerificationTemplateMetricProviderArray) ToVerificationTemplateMetricProviderArrayOutput() VerificationTemplateMetricProviderArrayOutput { + return i.ToVerificationTemplateMetricProviderArrayOutputWithContext(context.Background()) +} + +func (i VerificationTemplateMetricProviderArray) ToVerificationTemplateMetricProviderArrayOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderArrayOutput) +} + +type VerificationTemplateMetricProviderOutput struct{ *pulumi.OutputState } + +func (VerificationTemplateMetricProviderOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricProvider)(nil)).Elem() +} + +func (o VerificationTemplateMetricProviderOutput) ToVerificationTemplateMetricProviderOutput() VerificationTemplateMetricProviderOutput { + return o +} + +func (o VerificationTemplateMetricProviderOutput) ToVerificationTemplateMetricProviderOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderOutput { + return o +} + +func (o VerificationTemplateMetricProviderOutput) CloudWatch() VerificationTemplateMetricProviderCloudWatchPtrOutput { + return o.ApplyT(func(v VerificationTemplateMetricProvider) *VerificationTemplateMetricProviderCloudWatch { + return v.CloudWatch + }).(VerificationTemplateMetricProviderCloudWatchPtrOutput) +} + +func (o VerificationTemplateMetricProviderOutput) Datadog() VerificationTemplateMetricProviderDatadogPtrOutput { + return o.ApplyT(func(v VerificationTemplateMetricProvider) *VerificationTemplateMetricProviderDatadog { + return v.Datadog + }).(VerificationTemplateMetricProviderDatadogPtrOutput) +} + +func (o VerificationTemplateMetricProviderOutput) Jenkins() VerificationTemplateMetricProviderJenkinsPtrOutput { + return o.ApplyT(func(v VerificationTemplateMetricProvider) *VerificationTemplateMetricProviderJenkins { + return v.Jenkins + }).(VerificationTemplateMetricProviderJenkinsPtrOutput) +} + +func (o VerificationTemplateMetricProviderOutput) Job() VerificationTemplateMetricProviderJobPtrOutput { + return o.ApplyT(func(v VerificationTemplateMetricProvider) *VerificationTemplateMetricProviderJob { return v.Job }).(VerificationTemplateMetricProviderJobPtrOutput) +} + +func (o VerificationTemplateMetricProviderOutput) NewRelic() VerificationTemplateMetricProviderNewRelicPtrOutput { + return o.ApplyT(func(v VerificationTemplateMetricProvider) *VerificationTemplateMetricProviderNewRelic { + return v.NewRelic + }).(VerificationTemplateMetricProviderNewRelicPtrOutput) +} + +func (o VerificationTemplateMetricProviderOutput) Prometheus() VerificationTemplateMetricProviderPrometheusPtrOutput { + return o.ApplyT(func(v VerificationTemplateMetricProvider) *VerificationTemplateMetricProviderPrometheus { + return v.Prometheus + }).(VerificationTemplateMetricProviderPrometheusPtrOutput) +} + +func (o VerificationTemplateMetricProviderOutput) Web() VerificationTemplateMetricProviderWebPtrOutput { + return o.ApplyT(func(v VerificationTemplateMetricProvider) *VerificationTemplateMetricProviderWeb { return v.Web }).(VerificationTemplateMetricProviderWebPtrOutput) +} + +type VerificationTemplateMetricProviderArrayOutput struct{ *pulumi.OutputState } + +func (VerificationTemplateMetricProviderArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]VerificationTemplateMetricProvider)(nil)).Elem() +} + +func (o VerificationTemplateMetricProviderArrayOutput) ToVerificationTemplateMetricProviderArrayOutput() VerificationTemplateMetricProviderArrayOutput { + return o +} + +func (o VerificationTemplateMetricProviderArrayOutput) ToVerificationTemplateMetricProviderArrayOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderArrayOutput { + return o +} + +func (o VerificationTemplateMetricProviderArrayOutput) Index(i pulumi.IntInput) VerificationTemplateMetricProviderOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) VerificationTemplateMetricProvider { + return vs[0].([]VerificationTemplateMetricProvider)[vs[1].(int)] + }).(VerificationTemplateMetricProviderOutput) +} + +type VerificationTemplateMetricProviderCloudWatch struct { + Duration *string `pulumi:"duration"` + MetricDataQueries []VerificationTemplateMetricProviderCloudWatchMetricDataQuery `pulumi:"metricDataQueries"` +} + +// VerificationTemplateMetricProviderCloudWatchInput is an input type that accepts VerificationTemplateMetricProviderCloudWatchArgs and VerificationTemplateMetricProviderCloudWatchOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricProviderCloudWatchInput` via: +// +// VerificationTemplateMetricProviderCloudWatchArgs{...} +type VerificationTemplateMetricProviderCloudWatchInput interface { + pulumi.Input + + ToVerificationTemplateMetricProviderCloudWatchOutput() VerificationTemplateMetricProviderCloudWatchOutput + ToVerificationTemplateMetricProviderCloudWatchOutputWithContext(context.Context) VerificationTemplateMetricProviderCloudWatchOutput +} + +type VerificationTemplateMetricProviderCloudWatchArgs struct { + Duration pulumi.StringPtrInput `pulumi:"duration"` + MetricDataQueries VerificationTemplateMetricProviderCloudWatchMetricDataQueryArrayInput `pulumi:"metricDataQueries"` +} + +func (VerificationTemplateMetricProviderCloudWatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricProviderCloudWatch)(nil)).Elem() +} + +func (i VerificationTemplateMetricProviderCloudWatchArgs) ToVerificationTemplateMetricProviderCloudWatchOutput() VerificationTemplateMetricProviderCloudWatchOutput { + return i.ToVerificationTemplateMetricProviderCloudWatchOutputWithContext(context.Background()) +} + +func (i VerificationTemplateMetricProviderCloudWatchArgs) ToVerificationTemplateMetricProviderCloudWatchOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderCloudWatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderCloudWatchOutput) +} + +func (i VerificationTemplateMetricProviderCloudWatchArgs) ToVerificationTemplateMetricProviderCloudWatchPtrOutput() VerificationTemplateMetricProviderCloudWatchPtrOutput { + return i.ToVerificationTemplateMetricProviderCloudWatchPtrOutputWithContext(context.Background()) +} + +func (i VerificationTemplateMetricProviderCloudWatchArgs) ToVerificationTemplateMetricProviderCloudWatchPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderCloudWatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderCloudWatchOutput).ToVerificationTemplateMetricProviderCloudWatchPtrOutputWithContext(ctx) +} + +// VerificationTemplateMetricProviderCloudWatchPtrInput is an input type that accepts VerificationTemplateMetricProviderCloudWatchArgs, VerificationTemplateMetricProviderCloudWatchPtr and VerificationTemplateMetricProviderCloudWatchPtrOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricProviderCloudWatchPtrInput` via: +// +// VerificationTemplateMetricProviderCloudWatchArgs{...} +// +// or: +// +// nil +type VerificationTemplateMetricProviderCloudWatchPtrInput interface { + pulumi.Input + + ToVerificationTemplateMetricProviderCloudWatchPtrOutput() VerificationTemplateMetricProviderCloudWatchPtrOutput + ToVerificationTemplateMetricProviderCloudWatchPtrOutputWithContext(context.Context) VerificationTemplateMetricProviderCloudWatchPtrOutput +} + +type verificationTemplateMetricProviderCloudWatchPtrType VerificationTemplateMetricProviderCloudWatchArgs + +func VerificationTemplateMetricProviderCloudWatchPtr(v *VerificationTemplateMetricProviderCloudWatchArgs) VerificationTemplateMetricProviderCloudWatchPtrInput { + return (*verificationTemplateMetricProviderCloudWatchPtrType)(v) +} + +func (*verificationTemplateMetricProviderCloudWatchPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationTemplateMetricProviderCloudWatch)(nil)).Elem() +} + +func (i *verificationTemplateMetricProviderCloudWatchPtrType) ToVerificationTemplateMetricProviderCloudWatchPtrOutput() VerificationTemplateMetricProviderCloudWatchPtrOutput { + return i.ToVerificationTemplateMetricProviderCloudWatchPtrOutputWithContext(context.Background()) +} + +func (i *verificationTemplateMetricProviderCloudWatchPtrType) ToVerificationTemplateMetricProviderCloudWatchPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderCloudWatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderCloudWatchPtrOutput) +} + +type VerificationTemplateMetricProviderCloudWatchOutput struct{ *pulumi.OutputState } + +func (VerificationTemplateMetricProviderCloudWatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricProviderCloudWatch)(nil)).Elem() +} + +func (o VerificationTemplateMetricProviderCloudWatchOutput) ToVerificationTemplateMetricProviderCloudWatchOutput() VerificationTemplateMetricProviderCloudWatchOutput { + return o +} + +func (o VerificationTemplateMetricProviderCloudWatchOutput) ToVerificationTemplateMetricProviderCloudWatchOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderCloudWatchOutput { + return o +} + +func (o VerificationTemplateMetricProviderCloudWatchOutput) ToVerificationTemplateMetricProviderCloudWatchPtrOutput() VerificationTemplateMetricProviderCloudWatchPtrOutput { + return o.ToVerificationTemplateMetricProviderCloudWatchPtrOutputWithContext(context.Background()) +} + +func (o VerificationTemplateMetricProviderCloudWatchOutput) ToVerificationTemplateMetricProviderCloudWatchPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderCloudWatchPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VerificationTemplateMetricProviderCloudWatch) *VerificationTemplateMetricProviderCloudWatch { + return &v + }).(VerificationTemplateMetricProviderCloudWatchPtrOutput) +} + +func (o VerificationTemplateMetricProviderCloudWatchOutput) Duration() pulumi.StringPtrOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderCloudWatch) *string { return v.Duration }).(pulumi.StringPtrOutput) +} + +func (o VerificationTemplateMetricProviderCloudWatchOutput) MetricDataQueries() VerificationTemplateMetricProviderCloudWatchMetricDataQueryArrayOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderCloudWatch) []VerificationTemplateMetricProviderCloudWatchMetricDataQuery { + return v.MetricDataQueries + }).(VerificationTemplateMetricProviderCloudWatchMetricDataQueryArrayOutput) +} + +type VerificationTemplateMetricProviderCloudWatchPtrOutput struct{ *pulumi.OutputState } + +func (VerificationTemplateMetricProviderCloudWatchPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationTemplateMetricProviderCloudWatch)(nil)).Elem() +} + +func (o VerificationTemplateMetricProviderCloudWatchPtrOutput) ToVerificationTemplateMetricProviderCloudWatchPtrOutput() VerificationTemplateMetricProviderCloudWatchPtrOutput { + return o +} + +func (o VerificationTemplateMetricProviderCloudWatchPtrOutput) ToVerificationTemplateMetricProviderCloudWatchPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderCloudWatchPtrOutput { + return o +} + +func (o VerificationTemplateMetricProviderCloudWatchPtrOutput) Elem() VerificationTemplateMetricProviderCloudWatchOutput { + return o.ApplyT(func(v *VerificationTemplateMetricProviderCloudWatch) VerificationTemplateMetricProviderCloudWatch { + if v != nil { + return *v + } + var ret VerificationTemplateMetricProviderCloudWatch + return ret + }).(VerificationTemplateMetricProviderCloudWatchOutput) +} + +func (o VerificationTemplateMetricProviderCloudWatchPtrOutput) Duration() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VerificationTemplateMetricProviderCloudWatch) *string { + if v == nil { + return nil + } + return v.Duration + }).(pulumi.StringPtrOutput) +} + +func (o VerificationTemplateMetricProviderCloudWatchPtrOutput) MetricDataQueries() VerificationTemplateMetricProviderCloudWatchMetricDataQueryArrayOutput { + return o.ApplyT(func(v *VerificationTemplateMetricProviderCloudWatch) []VerificationTemplateMetricProviderCloudWatchMetricDataQuery { + if v == nil { + return nil + } + return v.MetricDataQueries + }).(VerificationTemplateMetricProviderCloudWatchMetricDataQueryArrayOutput) +} + +type VerificationTemplateMetricProviderCloudWatchMetricDataQuery struct { + Expression *string `pulumi:"expression"` + Id string `pulumi:"id"` + Label *string `pulumi:"label"` + MetricStat *VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat `pulumi:"metricStat"` + Period *int `pulumi:"period"` + ReturnData *bool `pulumi:"returnData"` +} + +// VerificationTemplateMetricProviderCloudWatchMetricDataQueryInput is an input type that accepts VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs and VerificationTemplateMetricProviderCloudWatchMetricDataQueryOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricProviderCloudWatchMetricDataQueryInput` via: +// +// VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs{...} +type VerificationTemplateMetricProviderCloudWatchMetricDataQueryInput interface { + pulumi.Input + + ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryOutput() VerificationTemplateMetricProviderCloudWatchMetricDataQueryOutput + ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryOutputWithContext(context.Context) VerificationTemplateMetricProviderCloudWatchMetricDataQueryOutput +} + +type VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs struct { + Expression pulumi.StringPtrInput `pulumi:"expression"` + Id pulumi.StringInput `pulumi:"id"` + Label pulumi.StringPtrInput `pulumi:"label"` + MetricStat VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrInput `pulumi:"metricStat"` + Period pulumi.IntPtrInput `pulumi:"period"` + ReturnData pulumi.BoolPtrInput `pulumi:"returnData"` +} + +func (VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricProviderCloudWatchMetricDataQuery)(nil)).Elem() +} + +func (i VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs) ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryOutput() VerificationTemplateMetricProviderCloudWatchMetricDataQueryOutput { + return i.ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryOutputWithContext(context.Background()) +} + +func (i VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs) ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderCloudWatchMetricDataQueryOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderCloudWatchMetricDataQueryOutput) +} + +// VerificationTemplateMetricProviderCloudWatchMetricDataQueryArrayInput is an input type that accepts VerificationTemplateMetricProviderCloudWatchMetricDataQueryArray and VerificationTemplateMetricProviderCloudWatchMetricDataQueryArrayOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricProviderCloudWatchMetricDataQueryArrayInput` via: +// +// VerificationTemplateMetricProviderCloudWatchMetricDataQueryArray{ VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs{...} } +type VerificationTemplateMetricProviderCloudWatchMetricDataQueryArrayInput interface { + pulumi.Input + + ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryArrayOutput() VerificationTemplateMetricProviderCloudWatchMetricDataQueryArrayOutput + ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryArrayOutputWithContext(context.Context) VerificationTemplateMetricProviderCloudWatchMetricDataQueryArrayOutput +} + +type VerificationTemplateMetricProviderCloudWatchMetricDataQueryArray []VerificationTemplateMetricProviderCloudWatchMetricDataQueryInput + +func (VerificationTemplateMetricProviderCloudWatchMetricDataQueryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]VerificationTemplateMetricProviderCloudWatchMetricDataQuery)(nil)).Elem() +} + +func (i VerificationTemplateMetricProviderCloudWatchMetricDataQueryArray) ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryArrayOutput() VerificationTemplateMetricProviderCloudWatchMetricDataQueryArrayOutput { + return i.ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryArrayOutputWithContext(context.Background()) +} + +func (i VerificationTemplateMetricProviderCloudWatchMetricDataQueryArray) ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryArrayOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderCloudWatchMetricDataQueryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderCloudWatchMetricDataQueryArrayOutput) +} + +type VerificationTemplateMetricProviderCloudWatchMetricDataQueryOutput struct{ *pulumi.OutputState } + +func (VerificationTemplateMetricProviderCloudWatchMetricDataQueryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricProviderCloudWatchMetricDataQuery)(nil)).Elem() +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryOutput) ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryOutput() VerificationTemplateMetricProviderCloudWatchMetricDataQueryOutput { + return o +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryOutput) ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderCloudWatchMetricDataQueryOutput { + return o +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryOutput) Expression() pulumi.StringPtrOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderCloudWatchMetricDataQuery) *string { return v.Expression }).(pulumi.StringPtrOutput) +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderCloudWatchMetricDataQuery) string { return v.Id }).(pulumi.StringOutput) +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryOutput) Label() pulumi.StringPtrOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderCloudWatchMetricDataQuery) *string { return v.Label }).(pulumi.StringPtrOutput) +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryOutput) MetricStat() VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderCloudWatchMetricDataQuery) *VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat { + return v.MetricStat + }).(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrOutput) +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryOutput) Period() pulumi.IntPtrOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderCloudWatchMetricDataQuery) *int { return v.Period }).(pulumi.IntPtrOutput) +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryOutput) ReturnData() pulumi.BoolPtrOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderCloudWatchMetricDataQuery) *bool { return v.ReturnData }).(pulumi.BoolPtrOutput) +} + +type VerificationTemplateMetricProviderCloudWatchMetricDataQueryArrayOutput struct{ *pulumi.OutputState } + +func (VerificationTemplateMetricProviderCloudWatchMetricDataQueryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]VerificationTemplateMetricProviderCloudWatchMetricDataQuery)(nil)).Elem() +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryArrayOutput) ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryArrayOutput() VerificationTemplateMetricProviderCloudWatchMetricDataQueryArrayOutput { + return o +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryArrayOutput) ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryArrayOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderCloudWatchMetricDataQueryArrayOutput { + return o +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryArrayOutput) Index(i pulumi.IntInput) VerificationTemplateMetricProviderCloudWatchMetricDataQueryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) VerificationTemplateMetricProviderCloudWatchMetricDataQuery { + return vs[0].([]VerificationTemplateMetricProviderCloudWatchMetricDataQuery)[vs[1].(int)] + }).(VerificationTemplateMetricProviderCloudWatchMetricDataQueryOutput) +} + +type VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat struct { + Metric *VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric `pulumi:"metric"` + MetricPeriod *int `pulumi:"metricPeriod"` + Stat *string `pulumi:"stat"` + Unit *string `pulumi:"unit"` +} + +// VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatInput is an input type that accepts VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs and VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatInput` via: +// +// VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs{...} +type VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatInput interface { + pulumi.Input + + ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatOutput() VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatOutput + ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatOutputWithContext(context.Context) VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatOutput +} + +type VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs struct { + Metric VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrInput `pulumi:"metric"` + MetricPeriod pulumi.IntPtrInput `pulumi:"metricPeriod"` + Stat pulumi.StringPtrInput `pulumi:"stat"` + Unit pulumi.StringPtrInput `pulumi:"unit"` +} + +func (VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat)(nil)).Elem() +} + +func (i VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs) ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatOutput() VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatOutput { + return i.ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatOutputWithContext(context.Background()) +} + +func (i VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs) ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatOutput) +} + +func (i VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs) ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrOutput() VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrOutput { + return i.ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrOutputWithContext(context.Background()) +} + +func (i VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs) ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatOutput).ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrOutputWithContext(ctx) +} + +// VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrInput is an input type that accepts VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs, VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtr and VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrInput` via: +// +// VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs{...} +// +// or: +// +// nil +type VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrInput interface { + pulumi.Input + + ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrOutput() VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrOutput + ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrOutputWithContext(context.Context) VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrOutput +} + +type verificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrType VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs + +func VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtr(v *VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs) VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrInput { + return (*verificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrType)(v) +} + +func (*verificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat)(nil)).Elem() +} + +func (i *verificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrType) ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrOutput() VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrOutput { + return i.ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrOutputWithContext(context.Background()) +} + +func (i *verificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrType) ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrOutput) +} + +type VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatOutput struct{ *pulumi.OutputState } + +func (VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat)(nil)).Elem() +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatOutput) ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatOutput() VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatOutput { + return o +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatOutput) ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatOutput { + return o +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatOutput) ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrOutput() VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrOutput { + return o.ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrOutputWithContext(context.Background()) +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatOutput) ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat) *VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat { + return &v + }).(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrOutput) +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatOutput) Metric() VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat) *VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric { + return v.Metric + }).(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrOutput) +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatOutput) MetricPeriod() pulumi.IntPtrOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat) *int { + return v.MetricPeriod + }).(pulumi.IntPtrOutput) +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatOutput) Stat() pulumi.StringPtrOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat) *string { return v.Stat }).(pulumi.StringPtrOutput) +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatOutput) Unit() pulumi.StringPtrOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat) *string { return v.Unit }).(pulumi.StringPtrOutput) +} + +type VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrOutput struct{ *pulumi.OutputState } + +func (VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat)(nil)).Elem() +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrOutput) ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrOutput() VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrOutput { + return o +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrOutput) ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrOutput { + return o +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrOutput) Elem() VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatOutput { + return o.ApplyT(func(v *VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat) VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat { + if v != nil { + return *v + } + var ret VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat + return ret + }).(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatOutput) +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrOutput) Metric() VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrOutput { + return o.ApplyT(func(v *VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat) *VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric { + if v == nil { + return nil + } + return v.Metric + }).(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrOutput) +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrOutput) MetricPeriod() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat) *int { + if v == nil { + return nil + } + return v.MetricPeriod + }).(pulumi.IntPtrOutput) +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrOutput) Stat() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat) *string { + if v == nil { + return nil + } + return v.Stat + }).(pulumi.StringPtrOutput) +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrOutput) Unit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat) *string { + if v == nil { + return nil + } + return v.Unit + }).(pulumi.StringPtrOutput) +} + +type VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric struct { + Dimensions []VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension `pulumi:"dimensions"` + MetricName string `pulumi:"metricName"` + Namespace *string `pulumi:"namespace"` +} + +// VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricInput is an input type that accepts VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs and VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricInput` via: +// +// VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs{...} +type VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricInput interface { + pulumi.Input + + ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricOutput() VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricOutput + ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricOutputWithContext(context.Context) VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricOutput +} + +type VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs struct { + Dimensions VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArrayInput `pulumi:"dimensions"` + MetricName pulumi.StringInput `pulumi:"metricName"` + Namespace pulumi.StringPtrInput `pulumi:"namespace"` +} + +func (VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric)(nil)).Elem() +} + +func (i VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs) ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricOutput() VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricOutput { + return i.ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricOutputWithContext(context.Background()) +} + +func (i VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs) ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricOutput) +} + +func (i VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs) ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrOutput() VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrOutput { + return i.ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrOutputWithContext(context.Background()) +} + +func (i VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs) ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricOutput).ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrOutputWithContext(ctx) +} + +// VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrInput is an input type that accepts VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs, VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtr and VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrInput` via: +// +// VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs{...} +// +// or: +// +// nil +type VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrInput interface { + pulumi.Input + + ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrOutput() VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrOutput + ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrOutputWithContext(context.Context) VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrOutput +} + +type verificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrType VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs + +func VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtr(v *VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs) VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrInput { + return (*verificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrType)(v) +} + +func (*verificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric)(nil)).Elem() +} + +func (i *verificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrType) ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrOutput() VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrOutput { + return i.ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrOutputWithContext(context.Background()) +} + +func (i *verificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrType) ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrOutput) +} + +type VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricOutput struct{ *pulumi.OutputState } + +func (VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric)(nil)).Elem() +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricOutput) ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricOutput() VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricOutput { + return o +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricOutput) ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricOutput { + return o +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricOutput) ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrOutput() VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrOutput { + return o.ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrOutputWithContext(context.Background()) +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricOutput) ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric) *VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric { + return &v + }).(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrOutput) +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricOutput) Dimensions() VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArrayOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric) []VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension { + return v.Dimensions + }).(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArrayOutput) +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricOutput) MetricName() pulumi.StringOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric) string { + return v.MetricName + }).(pulumi.StringOutput) +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricOutput) Namespace() pulumi.StringPtrOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric) *string { + return v.Namespace + }).(pulumi.StringPtrOutput) +} + +type VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrOutput struct{ *pulumi.OutputState } + +func (VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric)(nil)).Elem() +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrOutput) ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrOutput() VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrOutput { + return o +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrOutput) ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrOutput { + return o +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrOutput) Elem() VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricOutput { + return o.ApplyT(func(v *VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric) VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric { + if v != nil { + return *v + } + var ret VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric + return ret + }).(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricOutput) +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrOutput) Dimensions() VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArrayOutput { + return o.ApplyT(func(v *VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric) []VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension { + if v == nil { + return nil + } + return v.Dimensions + }).(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArrayOutput) +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrOutput) MetricName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric) *string { + if v == nil { + return nil + } + return &v.MetricName + }).(pulumi.StringPtrOutput) +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrOutput) Namespace() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric) *string { + if v == nil { + return nil + } + return v.Namespace + }).(pulumi.StringPtrOutput) +} + +type VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension struct { + DimensionName string `pulumi:"dimensionName"` + DimensionValue string `pulumi:"dimensionValue"` +} + +// VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionInput is an input type that accepts VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs and VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionInput` via: +// +// VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs{...} +type VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionInput interface { + pulumi.Input + + ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionOutput() VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionOutput + ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionOutputWithContext(context.Context) VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionOutput +} + +type VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs struct { + DimensionName pulumi.StringInput `pulumi:"dimensionName"` + DimensionValue pulumi.StringInput `pulumi:"dimensionValue"` +} + +func (VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension)(nil)).Elem() +} + +func (i VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs) ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionOutput() VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionOutput { + return i.ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionOutputWithContext(context.Background()) } -type StrategyCanaryStepSetHeaderRouteMatch struct { - HeaderName string `pulumi:"headerName"` - HeaderValue StrategyCanaryStepSetHeaderRouteMatchHeaderValue `pulumi:"headerValue"` +func (i VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs) ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionOutput) +} + +// VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArrayInput is an input type that accepts VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArray and VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArrayOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArrayInput` via: +// +// VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArray{ VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs{...} } +type VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArrayInput interface { + pulumi.Input + + ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArrayOutput() VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArrayOutput + ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArrayOutputWithContext(context.Context) VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArrayOutput +} + +type VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArray []VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionInput + +func (VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension)(nil)).Elem() +} + +func (i VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArray) ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArrayOutput() VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArrayOutput { + return i.ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArrayOutputWithContext(context.Background()) +} + +func (i VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArray) ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArrayOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArrayOutput) +} + +type VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionOutput struct{ *pulumi.OutputState } + +func (VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension)(nil)).Elem() +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionOutput) ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionOutput() VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionOutput { + return o +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionOutput) ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionOutput { + return o +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionOutput) DimensionName() pulumi.StringOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension) string { + return v.DimensionName + }).(pulumi.StringOutput) +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionOutput) DimensionValue() pulumi.StringOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension) string { + return v.DimensionValue + }).(pulumi.StringOutput) +} + +type VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArrayOutput struct{ *pulumi.OutputState } + +func (VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension)(nil)).Elem() +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArrayOutput) ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArrayOutput() VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArrayOutput { + return o +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArrayOutput) ToVerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArrayOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArrayOutput { + return o +} + +func (o VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArrayOutput) Index(i pulumi.IntInput) VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension { + return vs[0].([]VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension)[vs[1].(int)] + }).(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionOutput) +} + +type VerificationTemplateMetricProviderDatadog struct { + DatadogQuery *string `pulumi:"datadogQuery"` + Duration *string `pulumi:"duration"` +} + +// VerificationTemplateMetricProviderDatadogInput is an input type that accepts VerificationTemplateMetricProviderDatadogArgs and VerificationTemplateMetricProviderDatadogOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricProviderDatadogInput` via: +// +// VerificationTemplateMetricProviderDatadogArgs{...} +type VerificationTemplateMetricProviderDatadogInput interface { + pulumi.Input + + ToVerificationTemplateMetricProviderDatadogOutput() VerificationTemplateMetricProviderDatadogOutput + ToVerificationTemplateMetricProviderDatadogOutputWithContext(context.Context) VerificationTemplateMetricProviderDatadogOutput +} + +type VerificationTemplateMetricProviderDatadogArgs struct { + DatadogQuery pulumi.StringPtrInput `pulumi:"datadogQuery"` + Duration pulumi.StringPtrInput `pulumi:"duration"` +} + +func (VerificationTemplateMetricProviderDatadogArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricProviderDatadog)(nil)).Elem() +} + +func (i VerificationTemplateMetricProviderDatadogArgs) ToVerificationTemplateMetricProviderDatadogOutput() VerificationTemplateMetricProviderDatadogOutput { + return i.ToVerificationTemplateMetricProviderDatadogOutputWithContext(context.Background()) +} + +func (i VerificationTemplateMetricProviderDatadogArgs) ToVerificationTemplateMetricProviderDatadogOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderDatadogOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderDatadogOutput) +} + +func (i VerificationTemplateMetricProviderDatadogArgs) ToVerificationTemplateMetricProviderDatadogPtrOutput() VerificationTemplateMetricProviderDatadogPtrOutput { + return i.ToVerificationTemplateMetricProviderDatadogPtrOutputWithContext(context.Background()) +} + +func (i VerificationTemplateMetricProviderDatadogArgs) ToVerificationTemplateMetricProviderDatadogPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderDatadogPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderDatadogOutput).ToVerificationTemplateMetricProviderDatadogPtrOutputWithContext(ctx) +} + +// VerificationTemplateMetricProviderDatadogPtrInput is an input type that accepts VerificationTemplateMetricProviderDatadogArgs, VerificationTemplateMetricProviderDatadogPtr and VerificationTemplateMetricProviderDatadogPtrOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricProviderDatadogPtrInput` via: +// +// VerificationTemplateMetricProviderDatadogArgs{...} +// +// or: +// +// nil +type VerificationTemplateMetricProviderDatadogPtrInput interface { + pulumi.Input + + ToVerificationTemplateMetricProviderDatadogPtrOutput() VerificationTemplateMetricProviderDatadogPtrOutput + ToVerificationTemplateMetricProviderDatadogPtrOutputWithContext(context.Context) VerificationTemplateMetricProviderDatadogPtrOutput } -// 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 +type verificationTemplateMetricProviderDatadogPtrType VerificationTemplateMetricProviderDatadogArgs - ToStrategyCanaryStepSetHeaderRouteMatchOutput() StrategyCanaryStepSetHeaderRouteMatchOutput - ToStrategyCanaryStepSetHeaderRouteMatchOutputWithContext(context.Context) StrategyCanaryStepSetHeaderRouteMatchOutput +func VerificationTemplateMetricProviderDatadogPtr(v *VerificationTemplateMetricProviderDatadogArgs) VerificationTemplateMetricProviderDatadogPtrInput { + return (*verificationTemplateMetricProviderDatadogPtrType)(v) } -type StrategyCanaryStepSetHeaderRouteMatchArgs struct { - HeaderName pulumi.StringInput `pulumi:"headerName"` - HeaderValue StrategyCanaryStepSetHeaderRouteMatchHeaderValueInput `pulumi:"headerValue"` +func (*verificationTemplateMetricProviderDatadogPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationTemplateMetricProviderDatadog)(nil)).Elem() } -func (StrategyCanaryStepSetHeaderRouteMatchArgs) ElementType() reflect.Type { - return reflect.TypeOf((*StrategyCanaryStepSetHeaderRouteMatch)(nil)).Elem() +func (i *verificationTemplateMetricProviderDatadogPtrType) ToVerificationTemplateMetricProviderDatadogPtrOutput() VerificationTemplateMetricProviderDatadogPtrOutput { + return i.ToVerificationTemplateMetricProviderDatadogPtrOutputWithContext(context.Background()) } -func (i StrategyCanaryStepSetHeaderRouteMatchArgs) ToStrategyCanaryStepSetHeaderRouteMatchOutput() StrategyCanaryStepSetHeaderRouteMatchOutput { - return i.ToStrategyCanaryStepSetHeaderRouteMatchOutputWithContext(context.Background()) +func (i *verificationTemplateMetricProviderDatadogPtrType) ToVerificationTemplateMetricProviderDatadogPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderDatadogPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderDatadogPtrOutput) } -func (i StrategyCanaryStepSetHeaderRouteMatchArgs) ToStrategyCanaryStepSetHeaderRouteMatchOutputWithContext(ctx context.Context) StrategyCanaryStepSetHeaderRouteMatchOutput { - return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryStepSetHeaderRouteMatchOutput) +type VerificationTemplateMetricProviderDatadogOutput struct{ *pulumi.OutputState } + +func (VerificationTemplateMetricProviderDatadogOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricProviderDatadog)(nil)).Elem() } -// 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 +func (o VerificationTemplateMetricProviderDatadogOutput) ToVerificationTemplateMetricProviderDatadogOutput() VerificationTemplateMetricProviderDatadogOutput { + return o +} - ToStrategyCanaryStepSetHeaderRouteMatchArrayOutput() StrategyCanaryStepSetHeaderRouteMatchArrayOutput - ToStrategyCanaryStepSetHeaderRouteMatchArrayOutputWithContext(context.Context) StrategyCanaryStepSetHeaderRouteMatchArrayOutput +func (o VerificationTemplateMetricProviderDatadogOutput) ToVerificationTemplateMetricProviderDatadogOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderDatadogOutput { + return o } -type StrategyCanaryStepSetHeaderRouteMatchArray []StrategyCanaryStepSetHeaderRouteMatchInput +func (o VerificationTemplateMetricProviderDatadogOutput) ToVerificationTemplateMetricProviderDatadogPtrOutput() VerificationTemplateMetricProviderDatadogPtrOutput { + return o.ToVerificationTemplateMetricProviderDatadogPtrOutputWithContext(context.Background()) +} -func (StrategyCanaryStepSetHeaderRouteMatchArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]StrategyCanaryStepSetHeaderRouteMatch)(nil)).Elem() +func (o VerificationTemplateMetricProviderDatadogOutput) ToVerificationTemplateMetricProviderDatadogPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderDatadogPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VerificationTemplateMetricProviderDatadog) *VerificationTemplateMetricProviderDatadog { + return &v + }).(VerificationTemplateMetricProviderDatadogPtrOutput) } -func (i StrategyCanaryStepSetHeaderRouteMatchArray) ToStrategyCanaryStepSetHeaderRouteMatchArrayOutput() StrategyCanaryStepSetHeaderRouteMatchArrayOutput { - return i.ToStrategyCanaryStepSetHeaderRouteMatchArrayOutputWithContext(context.Background()) +func (o VerificationTemplateMetricProviderDatadogOutput) DatadogQuery() pulumi.StringPtrOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderDatadog) *string { return v.DatadogQuery }).(pulumi.StringPtrOutput) } -func (i StrategyCanaryStepSetHeaderRouteMatchArray) ToStrategyCanaryStepSetHeaderRouteMatchArrayOutputWithContext(ctx context.Context) StrategyCanaryStepSetHeaderRouteMatchArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryStepSetHeaderRouteMatchArrayOutput) +func (o VerificationTemplateMetricProviderDatadogOutput) Duration() pulumi.StringPtrOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderDatadog) *string { return v.Duration }).(pulumi.StringPtrOutput) } -type StrategyCanaryStepSetHeaderRouteMatchOutput struct{ *pulumi.OutputState } +type VerificationTemplateMetricProviderDatadogPtrOutput struct{ *pulumi.OutputState } -func (StrategyCanaryStepSetHeaderRouteMatchOutput) ElementType() reflect.Type { - return reflect.TypeOf((*StrategyCanaryStepSetHeaderRouteMatch)(nil)).Elem() +func (VerificationTemplateMetricProviderDatadogPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationTemplateMetricProviderDatadog)(nil)).Elem() } -func (o StrategyCanaryStepSetHeaderRouteMatchOutput) ToStrategyCanaryStepSetHeaderRouteMatchOutput() StrategyCanaryStepSetHeaderRouteMatchOutput { +func (o VerificationTemplateMetricProviderDatadogPtrOutput) ToVerificationTemplateMetricProviderDatadogPtrOutput() VerificationTemplateMetricProviderDatadogPtrOutput { return o } -func (o StrategyCanaryStepSetHeaderRouteMatchOutput) ToStrategyCanaryStepSetHeaderRouteMatchOutputWithContext(ctx context.Context) StrategyCanaryStepSetHeaderRouteMatchOutput { +func (o VerificationTemplateMetricProviderDatadogPtrOutput) ToVerificationTemplateMetricProviderDatadogPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderDatadogPtrOutput { return o } -func (o StrategyCanaryStepSetHeaderRouteMatchOutput) HeaderName() pulumi.StringOutput { - return o.ApplyT(func(v StrategyCanaryStepSetHeaderRouteMatch) string { return v.HeaderName }).(pulumi.StringOutput) +func (o VerificationTemplateMetricProviderDatadogPtrOutput) Elem() VerificationTemplateMetricProviderDatadogOutput { + return o.ApplyT(func(v *VerificationTemplateMetricProviderDatadog) VerificationTemplateMetricProviderDatadog { + if v != nil { + return *v + } + var ret VerificationTemplateMetricProviderDatadog + return ret + }).(VerificationTemplateMetricProviderDatadogOutput) } -func (o StrategyCanaryStepSetHeaderRouteMatchOutput) HeaderValue() StrategyCanaryStepSetHeaderRouteMatchHeaderValueOutput { - return o.ApplyT(func(v StrategyCanaryStepSetHeaderRouteMatch) StrategyCanaryStepSetHeaderRouteMatchHeaderValue { - return v.HeaderValue - }).(StrategyCanaryStepSetHeaderRouteMatchHeaderValueOutput) +func (o VerificationTemplateMetricProviderDatadogPtrOutput) DatadogQuery() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VerificationTemplateMetricProviderDatadog) *string { + if v == nil { + return nil + } + return v.DatadogQuery + }).(pulumi.StringPtrOutput) } -type StrategyCanaryStepSetHeaderRouteMatchArrayOutput struct{ *pulumi.OutputState } +func (o VerificationTemplateMetricProviderDatadogPtrOutput) Duration() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VerificationTemplateMetricProviderDatadog) *string { + if v == nil { + return nil + } + return v.Duration + }).(pulumi.StringPtrOutput) +} -func (StrategyCanaryStepSetHeaderRouteMatchArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]StrategyCanaryStepSetHeaderRouteMatch)(nil)).Elem() +type VerificationTemplateMetricProviderJenkins struct { + JenkinsInterval string `pulumi:"jenkinsInterval"` + JenkinsParameters *VerificationTemplateMetricProviderJenkinsJenkinsParameters `pulumi:"jenkinsParameters"` + PipelineName string `pulumi:"pipelineName"` + Timeout string `pulumi:"timeout"` + TlsVerification *bool `pulumi:"tlsVerification"` } -func (o StrategyCanaryStepSetHeaderRouteMatchArrayOutput) ToStrategyCanaryStepSetHeaderRouteMatchArrayOutput() StrategyCanaryStepSetHeaderRouteMatchArrayOutput { - return o +// VerificationTemplateMetricProviderJenkinsInput is an input type that accepts VerificationTemplateMetricProviderJenkinsArgs and VerificationTemplateMetricProviderJenkinsOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricProviderJenkinsInput` via: +// +// VerificationTemplateMetricProviderJenkinsArgs{...} +type VerificationTemplateMetricProviderJenkinsInput interface { + pulumi.Input + + ToVerificationTemplateMetricProviderJenkinsOutput() VerificationTemplateMetricProviderJenkinsOutput + ToVerificationTemplateMetricProviderJenkinsOutputWithContext(context.Context) VerificationTemplateMetricProviderJenkinsOutput } -func (o StrategyCanaryStepSetHeaderRouteMatchArrayOutput) ToStrategyCanaryStepSetHeaderRouteMatchArrayOutputWithContext(ctx context.Context) StrategyCanaryStepSetHeaderRouteMatchArrayOutput { - return o +type VerificationTemplateMetricProviderJenkinsArgs struct { + JenkinsInterval pulumi.StringInput `pulumi:"jenkinsInterval"` + JenkinsParameters VerificationTemplateMetricProviderJenkinsJenkinsParametersPtrInput `pulumi:"jenkinsParameters"` + PipelineName pulumi.StringInput `pulumi:"pipelineName"` + Timeout pulumi.StringInput `pulumi:"timeout"` + TlsVerification pulumi.BoolPtrInput `pulumi:"tlsVerification"` } -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) +func (VerificationTemplateMetricProviderJenkinsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricProviderJenkins)(nil)).Elem() } -type StrategyCanaryStepSetHeaderRouteMatchHeaderValue struct { - Exact *string `pulumi:"exact"` - Prefix *string `pulumi:"prefix"` - Regex *string `pulumi:"regex"` +func (i VerificationTemplateMetricProviderJenkinsArgs) ToVerificationTemplateMetricProviderJenkinsOutput() VerificationTemplateMetricProviderJenkinsOutput { + return i.ToVerificationTemplateMetricProviderJenkinsOutputWithContext(context.Background()) } -// StrategyCanaryStepSetHeaderRouteMatchHeaderValueInput is an input type that accepts StrategyCanaryStepSetHeaderRouteMatchHeaderValueArgs and StrategyCanaryStepSetHeaderRouteMatchHeaderValueOutput values. -// You can construct a concrete instance of `StrategyCanaryStepSetHeaderRouteMatchHeaderValueInput` via: +func (i VerificationTemplateMetricProviderJenkinsArgs) ToVerificationTemplateMetricProviderJenkinsOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderJenkinsOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderJenkinsOutput) +} + +func (i VerificationTemplateMetricProviderJenkinsArgs) ToVerificationTemplateMetricProviderJenkinsPtrOutput() VerificationTemplateMetricProviderJenkinsPtrOutput { + return i.ToVerificationTemplateMetricProviderJenkinsPtrOutputWithContext(context.Background()) +} + +func (i VerificationTemplateMetricProviderJenkinsArgs) ToVerificationTemplateMetricProviderJenkinsPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderJenkinsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderJenkinsOutput).ToVerificationTemplateMetricProviderJenkinsPtrOutputWithContext(ctx) +} + +// VerificationTemplateMetricProviderJenkinsPtrInput is an input type that accepts VerificationTemplateMetricProviderJenkinsArgs, VerificationTemplateMetricProviderJenkinsPtr and VerificationTemplateMetricProviderJenkinsPtrOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricProviderJenkinsPtrInput` via: // -// StrategyCanaryStepSetHeaderRouteMatchHeaderValueArgs{...} -type StrategyCanaryStepSetHeaderRouteMatchHeaderValueInput interface { +// VerificationTemplateMetricProviderJenkinsArgs{...} +// +// or: +// +// nil +type VerificationTemplateMetricProviderJenkinsPtrInput interface { pulumi.Input - ToStrategyCanaryStepSetHeaderRouteMatchHeaderValueOutput() StrategyCanaryStepSetHeaderRouteMatchHeaderValueOutput - ToStrategyCanaryStepSetHeaderRouteMatchHeaderValueOutputWithContext(context.Context) StrategyCanaryStepSetHeaderRouteMatchHeaderValueOutput + ToVerificationTemplateMetricProviderJenkinsPtrOutput() VerificationTemplateMetricProviderJenkinsPtrOutput + ToVerificationTemplateMetricProviderJenkinsPtrOutputWithContext(context.Context) VerificationTemplateMetricProviderJenkinsPtrOutput } -type StrategyCanaryStepSetHeaderRouteMatchHeaderValueArgs struct { - Exact pulumi.StringPtrInput `pulumi:"exact"` - Prefix pulumi.StringPtrInput `pulumi:"prefix"` - Regex pulumi.StringPtrInput `pulumi:"regex"` +type verificationTemplateMetricProviderJenkinsPtrType VerificationTemplateMetricProviderJenkinsArgs + +func VerificationTemplateMetricProviderJenkinsPtr(v *VerificationTemplateMetricProviderJenkinsArgs) VerificationTemplateMetricProviderJenkinsPtrInput { + return (*verificationTemplateMetricProviderJenkinsPtrType)(v) } -func (StrategyCanaryStepSetHeaderRouteMatchHeaderValueArgs) ElementType() reflect.Type { - return reflect.TypeOf((*StrategyCanaryStepSetHeaderRouteMatchHeaderValue)(nil)).Elem() +func (*verificationTemplateMetricProviderJenkinsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationTemplateMetricProviderJenkins)(nil)).Elem() } -func (i StrategyCanaryStepSetHeaderRouteMatchHeaderValueArgs) ToStrategyCanaryStepSetHeaderRouteMatchHeaderValueOutput() StrategyCanaryStepSetHeaderRouteMatchHeaderValueOutput { - return i.ToStrategyCanaryStepSetHeaderRouteMatchHeaderValueOutputWithContext(context.Background()) +func (i *verificationTemplateMetricProviderJenkinsPtrType) ToVerificationTemplateMetricProviderJenkinsPtrOutput() VerificationTemplateMetricProviderJenkinsPtrOutput { + return i.ToVerificationTemplateMetricProviderJenkinsPtrOutputWithContext(context.Background()) } -func (i StrategyCanaryStepSetHeaderRouteMatchHeaderValueArgs) ToStrategyCanaryStepSetHeaderRouteMatchHeaderValueOutputWithContext(ctx context.Context) StrategyCanaryStepSetHeaderRouteMatchHeaderValueOutput { - return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryStepSetHeaderRouteMatchHeaderValueOutput) +func (i *verificationTemplateMetricProviderJenkinsPtrType) ToVerificationTemplateMetricProviderJenkinsPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderJenkinsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderJenkinsPtrOutput) } -type StrategyCanaryStepSetHeaderRouteMatchHeaderValueOutput struct{ *pulumi.OutputState } +type VerificationTemplateMetricProviderJenkinsOutput struct{ *pulumi.OutputState } -func (StrategyCanaryStepSetHeaderRouteMatchHeaderValueOutput) ElementType() reflect.Type { - return reflect.TypeOf((*StrategyCanaryStepSetHeaderRouteMatchHeaderValue)(nil)).Elem() +func (VerificationTemplateMetricProviderJenkinsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricProviderJenkins)(nil)).Elem() } -func (o StrategyCanaryStepSetHeaderRouteMatchHeaderValueOutput) ToStrategyCanaryStepSetHeaderRouteMatchHeaderValueOutput() StrategyCanaryStepSetHeaderRouteMatchHeaderValueOutput { +func (o VerificationTemplateMetricProviderJenkinsOutput) ToVerificationTemplateMetricProviderJenkinsOutput() VerificationTemplateMetricProviderJenkinsOutput { return o } -func (o StrategyCanaryStepSetHeaderRouteMatchHeaderValueOutput) ToStrategyCanaryStepSetHeaderRouteMatchHeaderValueOutputWithContext(ctx context.Context) StrategyCanaryStepSetHeaderRouteMatchHeaderValueOutput { +func (o VerificationTemplateMetricProviderJenkinsOutput) ToVerificationTemplateMetricProviderJenkinsOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderJenkinsOutput { return o } -func (o StrategyCanaryStepSetHeaderRouteMatchHeaderValueOutput) Exact() pulumi.StringPtrOutput { - return o.ApplyT(func(v StrategyCanaryStepSetHeaderRouteMatchHeaderValue) *string { return v.Exact }).(pulumi.StringPtrOutput) +func (o VerificationTemplateMetricProviderJenkinsOutput) ToVerificationTemplateMetricProviderJenkinsPtrOutput() VerificationTemplateMetricProviderJenkinsPtrOutput { + return o.ToVerificationTemplateMetricProviderJenkinsPtrOutputWithContext(context.Background()) } -func (o StrategyCanaryStepSetHeaderRouteMatchHeaderValueOutput) Prefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v StrategyCanaryStepSetHeaderRouteMatchHeaderValue) *string { return v.Prefix }).(pulumi.StringPtrOutput) +func (o VerificationTemplateMetricProviderJenkinsOutput) ToVerificationTemplateMetricProviderJenkinsPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderJenkinsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VerificationTemplateMetricProviderJenkins) *VerificationTemplateMetricProviderJenkins { + return &v + }).(VerificationTemplateMetricProviderJenkinsPtrOutput) } -func (o StrategyCanaryStepSetHeaderRouteMatchHeaderValueOutput) Regex() pulumi.StringPtrOutput { - return o.ApplyT(func(v StrategyCanaryStepSetHeaderRouteMatchHeaderValue) *string { return v.Regex }).(pulumi.StringPtrOutput) +func (o VerificationTemplateMetricProviderJenkinsOutput) JenkinsInterval() pulumi.StringOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderJenkins) string { return v.JenkinsInterval }).(pulumi.StringOutput) } -type StrategyCanaryStepVerification struct { - TemplateNames []string `pulumi:"templateNames"` +func (o VerificationTemplateMetricProviderJenkinsOutput) JenkinsParameters() VerificationTemplateMetricProviderJenkinsJenkinsParametersPtrOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderJenkins) *VerificationTemplateMetricProviderJenkinsJenkinsParameters { + return v.JenkinsParameters + }).(VerificationTemplateMetricProviderJenkinsJenkinsParametersPtrOutput) } -// StrategyCanaryStepVerificationInput is an input type that accepts StrategyCanaryStepVerificationArgs and StrategyCanaryStepVerificationOutput values. -// You can construct a concrete instance of `StrategyCanaryStepVerificationInput` via: +func (o VerificationTemplateMetricProviderJenkinsOutput) PipelineName() pulumi.StringOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderJenkins) string { return v.PipelineName }).(pulumi.StringOutput) +} + +func (o VerificationTemplateMetricProviderJenkinsOutput) Timeout() pulumi.StringOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderJenkins) string { return v.Timeout }).(pulumi.StringOutput) +} + +func (o VerificationTemplateMetricProviderJenkinsOutput) TlsVerification() pulumi.BoolPtrOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderJenkins) *bool { return v.TlsVerification }).(pulumi.BoolPtrOutput) +} + +type VerificationTemplateMetricProviderJenkinsPtrOutput struct{ *pulumi.OutputState } + +func (VerificationTemplateMetricProviderJenkinsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationTemplateMetricProviderJenkins)(nil)).Elem() +} + +func (o VerificationTemplateMetricProviderJenkinsPtrOutput) ToVerificationTemplateMetricProviderJenkinsPtrOutput() VerificationTemplateMetricProviderJenkinsPtrOutput { + return o +} + +func (o VerificationTemplateMetricProviderJenkinsPtrOutput) ToVerificationTemplateMetricProviderJenkinsPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderJenkinsPtrOutput { + return o +} + +func (o VerificationTemplateMetricProviderJenkinsPtrOutput) Elem() VerificationTemplateMetricProviderJenkinsOutput { + return o.ApplyT(func(v *VerificationTemplateMetricProviderJenkins) VerificationTemplateMetricProviderJenkins { + if v != nil { + return *v + } + var ret VerificationTemplateMetricProviderJenkins + return ret + }).(VerificationTemplateMetricProviderJenkinsOutput) +} + +func (o VerificationTemplateMetricProviderJenkinsPtrOutput) JenkinsInterval() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VerificationTemplateMetricProviderJenkins) *string { + if v == nil { + return nil + } + return &v.JenkinsInterval + }).(pulumi.StringPtrOutput) +} + +func (o VerificationTemplateMetricProviderJenkinsPtrOutput) JenkinsParameters() VerificationTemplateMetricProviderJenkinsJenkinsParametersPtrOutput { + return o.ApplyT(func(v *VerificationTemplateMetricProviderJenkins) *VerificationTemplateMetricProviderJenkinsJenkinsParameters { + if v == nil { + return nil + } + return v.JenkinsParameters + }).(VerificationTemplateMetricProviderJenkinsJenkinsParametersPtrOutput) +} + +func (o VerificationTemplateMetricProviderJenkinsPtrOutput) PipelineName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VerificationTemplateMetricProviderJenkins) *string { + if v == nil { + return nil + } + return &v.PipelineName + }).(pulumi.StringPtrOutput) +} + +func (o VerificationTemplateMetricProviderJenkinsPtrOutput) Timeout() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VerificationTemplateMetricProviderJenkins) *string { + if v == nil { + return nil + } + return &v.Timeout + }).(pulumi.StringPtrOutput) +} + +func (o VerificationTemplateMetricProviderJenkinsPtrOutput) TlsVerification() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *VerificationTemplateMetricProviderJenkins) *bool { + if v == nil { + return nil + } + return v.TlsVerification + }).(pulumi.BoolPtrOutput) +} + +type VerificationTemplateMetricProviderJenkinsJenkinsParameters struct { + ParameterKey string `pulumi:"parameterKey"` + ParameterValue string `pulumi:"parameterValue"` +} + +// VerificationTemplateMetricProviderJenkinsJenkinsParametersInput is an input type that accepts VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs and VerificationTemplateMetricProviderJenkinsJenkinsParametersOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricProviderJenkinsJenkinsParametersInput` via: // -// StrategyCanaryStepVerificationArgs{...} -type StrategyCanaryStepVerificationInput interface { +// VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs{...} +type VerificationTemplateMetricProviderJenkinsJenkinsParametersInput interface { pulumi.Input - ToStrategyCanaryStepVerificationOutput() StrategyCanaryStepVerificationOutput - ToStrategyCanaryStepVerificationOutputWithContext(context.Context) StrategyCanaryStepVerificationOutput + ToVerificationTemplateMetricProviderJenkinsJenkinsParametersOutput() VerificationTemplateMetricProviderJenkinsJenkinsParametersOutput + ToVerificationTemplateMetricProviderJenkinsJenkinsParametersOutputWithContext(context.Context) VerificationTemplateMetricProviderJenkinsJenkinsParametersOutput } -type StrategyCanaryStepVerificationArgs struct { - TemplateNames pulumi.StringArrayInput `pulumi:"templateNames"` +type VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs struct { + ParameterKey pulumi.StringInput `pulumi:"parameterKey"` + ParameterValue pulumi.StringInput `pulumi:"parameterValue"` } -func (StrategyCanaryStepVerificationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*StrategyCanaryStepVerification)(nil)).Elem() +func (VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricProviderJenkinsJenkinsParameters)(nil)).Elem() } -func (i StrategyCanaryStepVerificationArgs) ToStrategyCanaryStepVerificationOutput() StrategyCanaryStepVerificationOutput { - return i.ToStrategyCanaryStepVerificationOutputWithContext(context.Background()) +func (i VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs) ToVerificationTemplateMetricProviderJenkinsJenkinsParametersOutput() VerificationTemplateMetricProviderJenkinsJenkinsParametersOutput { + return i.ToVerificationTemplateMetricProviderJenkinsJenkinsParametersOutputWithContext(context.Background()) } -func (i StrategyCanaryStepVerificationArgs) ToStrategyCanaryStepVerificationOutputWithContext(ctx context.Context) StrategyCanaryStepVerificationOutput { - return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryStepVerificationOutput) +func (i VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs) ToVerificationTemplateMetricProviderJenkinsJenkinsParametersOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderJenkinsJenkinsParametersOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderJenkinsJenkinsParametersOutput) } -func (i StrategyCanaryStepVerificationArgs) ToStrategyCanaryStepVerificationPtrOutput() StrategyCanaryStepVerificationPtrOutput { - return i.ToStrategyCanaryStepVerificationPtrOutputWithContext(context.Background()) +func (i VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs) ToVerificationTemplateMetricProviderJenkinsJenkinsParametersPtrOutput() VerificationTemplateMetricProviderJenkinsJenkinsParametersPtrOutput { + return i.ToVerificationTemplateMetricProviderJenkinsJenkinsParametersPtrOutputWithContext(context.Background()) } -func (i StrategyCanaryStepVerificationArgs) ToStrategyCanaryStepVerificationPtrOutputWithContext(ctx context.Context) StrategyCanaryStepVerificationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryStepVerificationOutput).ToStrategyCanaryStepVerificationPtrOutputWithContext(ctx) +func (i VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs) ToVerificationTemplateMetricProviderJenkinsJenkinsParametersPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderJenkinsJenkinsParametersPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderJenkinsJenkinsParametersOutput).ToVerificationTemplateMetricProviderJenkinsJenkinsParametersPtrOutputWithContext(ctx) } -// StrategyCanaryStepVerificationPtrInput is an input type that accepts StrategyCanaryStepVerificationArgs, StrategyCanaryStepVerificationPtr and StrategyCanaryStepVerificationPtrOutput values. -// You can construct a concrete instance of `StrategyCanaryStepVerificationPtrInput` via: +// VerificationTemplateMetricProviderJenkinsJenkinsParametersPtrInput is an input type that accepts VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs, VerificationTemplateMetricProviderJenkinsJenkinsParametersPtr and VerificationTemplateMetricProviderJenkinsJenkinsParametersPtrOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricProviderJenkinsJenkinsParametersPtrInput` via: // -// StrategyCanaryStepVerificationArgs{...} +// VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs{...} // // or: // // nil -type StrategyCanaryStepVerificationPtrInput interface { +type VerificationTemplateMetricProviderJenkinsJenkinsParametersPtrInput interface { pulumi.Input - ToStrategyCanaryStepVerificationPtrOutput() StrategyCanaryStepVerificationPtrOutput - ToStrategyCanaryStepVerificationPtrOutputWithContext(context.Context) StrategyCanaryStepVerificationPtrOutput + ToVerificationTemplateMetricProviderJenkinsJenkinsParametersPtrOutput() VerificationTemplateMetricProviderJenkinsJenkinsParametersPtrOutput + ToVerificationTemplateMetricProviderJenkinsJenkinsParametersPtrOutputWithContext(context.Context) VerificationTemplateMetricProviderJenkinsJenkinsParametersPtrOutput } -type strategyCanaryStepVerificationPtrType StrategyCanaryStepVerificationArgs +type verificationTemplateMetricProviderJenkinsJenkinsParametersPtrType VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs -func StrategyCanaryStepVerificationPtr(v *StrategyCanaryStepVerificationArgs) StrategyCanaryStepVerificationPtrInput { - return (*strategyCanaryStepVerificationPtrType)(v) +func VerificationTemplateMetricProviderJenkinsJenkinsParametersPtr(v *VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs) VerificationTemplateMetricProviderJenkinsJenkinsParametersPtrInput { + return (*verificationTemplateMetricProviderJenkinsJenkinsParametersPtrType)(v) } -func (*strategyCanaryStepVerificationPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**StrategyCanaryStepVerification)(nil)).Elem() +func (*verificationTemplateMetricProviderJenkinsJenkinsParametersPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationTemplateMetricProviderJenkinsJenkinsParameters)(nil)).Elem() } -func (i *strategyCanaryStepVerificationPtrType) ToStrategyCanaryStepVerificationPtrOutput() StrategyCanaryStepVerificationPtrOutput { - return i.ToStrategyCanaryStepVerificationPtrOutputWithContext(context.Background()) +func (i *verificationTemplateMetricProviderJenkinsJenkinsParametersPtrType) ToVerificationTemplateMetricProviderJenkinsJenkinsParametersPtrOutput() VerificationTemplateMetricProviderJenkinsJenkinsParametersPtrOutput { + return i.ToVerificationTemplateMetricProviderJenkinsJenkinsParametersPtrOutputWithContext(context.Background()) } -func (i *strategyCanaryStepVerificationPtrType) ToStrategyCanaryStepVerificationPtrOutputWithContext(ctx context.Context) StrategyCanaryStepVerificationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(StrategyCanaryStepVerificationPtrOutput) +func (i *verificationTemplateMetricProviderJenkinsJenkinsParametersPtrType) ToVerificationTemplateMetricProviderJenkinsJenkinsParametersPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderJenkinsJenkinsParametersPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderJenkinsJenkinsParametersPtrOutput) } -type StrategyCanaryStepVerificationOutput struct{ *pulumi.OutputState } +type VerificationTemplateMetricProviderJenkinsJenkinsParametersOutput struct{ *pulumi.OutputState } -func (StrategyCanaryStepVerificationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*StrategyCanaryStepVerification)(nil)).Elem() +func (VerificationTemplateMetricProviderJenkinsJenkinsParametersOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricProviderJenkinsJenkinsParameters)(nil)).Elem() } -func (o StrategyCanaryStepVerificationOutput) ToStrategyCanaryStepVerificationOutput() StrategyCanaryStepVerificationOutput { +func (o VerificationTemplateMetricProviderJenkinsJenkinsParametersOutput) ToVerificationTemplateMetricProviderJenkinsJenkinsParametersOutput() VerificationTemplateMetricProviderJenkinsJenkinsParametersOutput { return o } -func (o StrategyCanaryStepVerificationOutput) ToStrategyCanaryStepVerificationOutputWithContext(ctx context.Context) StrategyCanaryStepVerificationOutput { +func (o VerificationTemplateMetricProviderJenkinsJenkinsParametersOutput) ToVerificationTemplateMetricProviderJenkinsJenkinsParametersOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderJenkinsJenkinsParametersOutput { return o } -func (o StrategyCanaryStepVerificationOutput) ToStrategyCanaryStepVerificationPtrOutput() StrategyCanaryStepVerificationPtrOutput { - return o.ToStrategyCanaryStepVerificationPtrOutputWithContext(context.Background()) +func (o VerificationTemplateMetricProviderJenkinsJenkinsParametersOutput) ToVerificationTemplateMetricProviderJenkinsJenkinsParametersPtrOutput() VerificationTemplateMetricProviderJenkinsJenkinsParametersPtrOutput { + return o.ToVerificationTemplateMetricProviderJenkinsJenkinsParametersPtrOutputWithContext(context.Background()) } -func (o StrategyCanaryStepVerificationOutput) ToStrategyCanaryStepVerificationPtrOutputWithContext(ctx context.Context) StrategyCanaryStepVerificationPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v StrategyCanaryStepVerification) *StrategyCanaryStepVerification { +func (o VerificationTemplateMetricProviderJenkinsJenkinsParametersOutput) ToVerificationTemplateMetricProviderJenkinsJenkinsParametersPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderJenkinsJenkinsParametersPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VerificationTemplateMetricProviderJenkinsJenkinsParameters) *VerificationTemplateMetricProviderJenkinsJenkinsParameters { return &v - }).(StrategyCanaryStepVerificationPtrOutput) + }).(VerificationTemplateMetricProviderJenkinsJenkinsParametersPtrOutput) } -func (o StrategyCanaryStepVerificationOutput) TemplateNames() pulumi.StringArrayOutput { - return o.ApplyT(func(v StrategyCanaryStepVerification) []string { return v.TemplateNames }).(pulumi.StringArrayOutput) +func (o VerificationTemplateMetricProviderJenkinsJenkinsParametersOutput) ParameterKey() pulumi.StringOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderJenkinsJenkinsParameters) string { return v.ParameterKey }).(pulumi.StringOutput) } -type StrategyCanaryStepVerificationPtrOutput struct{ *pulumi.OutputState } +func (o VerificationTemplateMetricProviderJenkinsJenkinsParametersOutput) ParameterValue() pulumi.StringOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderJenkinsJenkinsParameters) string { return v.ParameterValue }).(pulumi.StringOutput) +} -func (StrategyCanaryStepVerificationPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**StrategyCanaryStepVerification)(nil)).Elem() +type VerificationTemplateMetricProviderJenkinsJenkinsParametersPtrOutput struct{ *pulumi.OutputState } + +func (VerificationTemplateMetricProviderJenkinsJenkinsParametersPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationTemplateMetricProviderJenkinsJenkinsParameters)(nil)).Elem() } -func (o StrategyCanaryStepVerificationPtrOutput) ToStrategyCanaryStepVerificationPtrOutput() StrategyCanaryStepVerificationPtrOutput { +func (o VerificationTemplateMetricProviderJenkinsJenkinsParametersPtrOutput) ToVerificationTemplateMetricProviderJenkinsJenkinsParametersPtrOutput() VerificationTemplateMetricProviderJenkinsJenkinsParametersPtrOutput { return o } -func (o StrategyCanaryStepVerificationPtrOutput) ToStrategyCanaryStepVerificationPtrOutputWithContext(ctx context.Context) StrategyCanaryStepVerificationPtrOutput { +func (o VerificationTemplateMetricProviderJenkinsJenkinsParametersPtrOutput) ToVerificationTemplateMetricProviderJenkinsJenkinsParametersPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderJenkinsJenkinsParametersPtrOutput { return o } -func (o StrategyCanaryStepVerificationPtrOutput) Elem() StrategyCanaryStepVerificationOutput { - return o.ApplyT(func(v *StrategyCanaryStepVerification) StrategyCanaryStepVerification { +func (o VerificationTemplateMetricProviderJenkinsJenkinsParametersPtrOutput) Elem() VerificationTemplateMetricProviderJenkinsJenkinsParametersOutput { + return o.ApplyT(func(v *VerificationTemplateMetricProviderJenkinsJenkinsParameters) VerificationTemplateMetricProviderJenkinsJenkinsParameters { if v != nil { return *v } - var ret StrategyCanaryStepVerification + var ret VerificationTemplateMetricProviderJenkinsJenkinsParameters return ret - }).(StrategyCanaryStepVerificationOutput) + }).(VerificationTemplateMetricProviderJenkinsJenkinsParametersOutput) } -func (o StrategyCanaryStepVerificationPtrOutput) TemplateNames() pulumi.StringArrayOutput { - return o.ApplyT(func(v *StrategyCanaryStepVerification) []string { +func (o VerificationTemplateMetricProviderJenkinsJenkinsParametersPtrOutput) ParameterKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VerificationTemplateMetricProviderJenkinsJenkinsParameters) *string { if v == nil { return nil } - return v.TemplateNames - }).(pulumi.StringArrayOutput) + return &v.ParameterKey + }).(pulumi.StringPtrOutput) } -type StrategyRolling struct { - // A set of separate conditions of rollout processing. - Steps []StrategyRollingStep `pulumi:"steps"` +func (o VerificationTemplateMetricProviderJenkinsJenkinsParametersPtrOutput) ParameterValue() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VerificationTemplateMetricProviderJenkinsJenkinsParameters) *string { + if v == nil { + return nil + } + return &v.ParameterValue + }).(pulumi.StringPtrOutput) } -// StrategyRollingInput is an input type that accepts StrategyRollingArgs and StrategyRollingOutput values. -// You can construct a concrete instance of `StrategyRollingInput` via: +type VerificationTemplateMetricProviderJob struct { + Specs []VerificationTemplateMetricProviderJobSpec `pulumi:"specs"` +} + +// VerificationTemplateMetricProviderJobInput is an input type that accepts VerificationTemplateMetricProviderJobArgs and VerificationTemplateMetricProviderJobOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricProviderJobInput` via: // -// StrategyRollingArgs{...} -type StrategyRollingInput interface { +// VerificationTemplateMetricProviderJobArgs{...} +type VerificationTemplateMetricProviderJobInput interface { pulumi.Input - ToStrategyRollingOutput() StrategyRollingOutput - ToStrategyRollingOutputWithContext(context.Context) StrategyRollingOutput + ToVerificationTemplateMetricProviderJobOutput() VerificationTemplateMetricProviderJobOutput + ToVerificationTemplateMetricProviderJobOutputWithContext(context.Context) VerificationTemplateMetricProviderJobOutput } -type StrategyRollingArgs struct { - // A set of separate conditions of rollout processing. - Steps StrategyRollingStepArrayInput `pulumi:"steps"` +type VerificationTemplateMetricProviderJobArgs struct { + Specs VerificationTemplateMetricProviderJobSpecArrayInput `pulumi:"specs"` } -func (StrategyRollingArgs) ElementType() reflect.Type { - return reflect.TypeOf((*StrategyRolling)(nil)).Elem() +func (VerificationTemplateMetricProviderJobArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricProviderJob)(nil)).Elem() } -func (i StrategyRollingArgs) ToStrategyRollingOutput() StrategyRollingOutput { - return i.ToStrategyRollingOutputWithContext(context.Background()) +func (i VerificationTemplateMetricProviderJobArgs) ToVerificationTemplateMetricProviderJobOutput() VerificationTemplateMetricProviderJobOutput { + return i.ToVerificationTemplateMetricProviderJobOutputWithContext(context.Background()) } -func (i StrategyRollingArgs) ToStrategyRollingOutputWithContext(ctx context.Context) StrategyRollingOutput { - return pulumi.ToOutputWithContext(ctx, i).(StrategyRollingOutput) +func (i VerificationTemplateMetricProviderJobArgs) ToVerificationTemplateMetricProviderJobOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderJobOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderJobOutput) } -func (i StrategyRollingArgs) ToStrategyRollingPtrOutput() StrategyRollingPtrOutput { - return i.ToStrategyRollingPtrOutputWithContext(context.Background()) +func (i VerificationTemplateMetricProviderJobArgs) ToVerificationTemplateMetricProviderJobPtrOutput() VerificationTemplateMetricProviderJobPtrOutput { + return i.ToVerificationTemplateMetricProviderJobPtrOutputWithContext(context.Background()) } -func (i StrategyRollingArgs) ToStrategyRollingPtrOutputWithContext(ctx context.Context) StrategyRollingPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(StrategyRollingOutput).ToStrategyRollingPtrOutputWithContext(ctx) +func (i VerificationTemplateMetricProviderJobArgs) ToVerificationTemplateMetricProviderJobPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderJobPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderJobOutput).ToVerificationTemplateMetricProviderJobPtrOutputWithContext(ctx) } -// StrategyRollingPtrInput is an input type that accepts StrategyRollingArgs, StrategyRollingPtr and StrategyRollingPtrOutput values. -// You can construct a concrete instance of `StrategyRollingPtrInput` via: +// VerificationTemplateMetricProviderJobPtrInput is an input type that accepts VerificationTemplateMetricProviderJobArgs, VerificationTemplateMetricProviderJobPtr and VerificationTemplateMetricProviderJobPtrOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricProviderJobPtrInput` via: // -// StrategyRollingArgs{...} +// VerificationTemplateMetricProviderJobArgs{...} // // or: // // nil -type StrategyRollingPtrInput interface { +type VerificationTemplateMetricProviderJobPtrInput interface { pulumi.Input - ToStrategyRollingPtrOutput() StrategyRollingPtrOutput - ToStrategyRollingPtrOutputWithContext(context.Context) StrategyRollingPtrOutput + ToVerificationTemplateMetricProviderJobPtrOutput() VerificationTemplateMetricProviderJobPtrOutput + ToVerificationTemplateMetricProviderJobPtrOutputWithContext(context.Context) VerificationTemplateMetricProviderJobPtrOutput } -type strategyRollingPtrType StrategyRollingArgs +type verificationTemplateMetricProviderJobPtrType VerificationTemplateMetricProviderJobArgs -func StrategyRollingPtr(v *StrategyRollingArgs) StrategyRollingPtrInput { - return (*strategyRollingPtrType)(v) +func VerificationTemplateMetricProviderJobPtr(v *VerificationTemplateMetricProviderJobArgs) VerificationTemplateMetricProviderJobPtrInput { + return (*verificationTemplateMetricProviderJobPtrType)(v) } -func (*strategyRollingPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**StrategyRolling)(nil)).Elem() +func (*verificationTemplateMetricProviderJobPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationTemplateMetricProviderJob)(nil)).Elem() } -func (i *strategyRollingPtrType) ToStrategyRollingPtrOutput() StrategyRollingPtrOutput { - return i.ToStrategyRollingPtrOutputWithContext(context.Background()) +func (i *verificationTemplateMetricProviderJobPtrType) ToVerificationTemplateMetricProviderJobPtrOutput() VerificationTemplateMetricProviderJobPtrOutput { + return i.ToVerificationTemplateMetricProviderJobPtrOutputWithContext(context.Background()) } -func (i *strategyRollingPtrType) ToStrategyRollingPtrOutputWithContext(ctx context.Context) StrategyRollingPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(StrategyRollingPtrOutput) +func (i *verificationTemplateMetricProviderJobPtrType) ToVerificationTemplateMetricProviderJobPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderJobPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderJobPtrOutput) } -type StrategyRollingOutput struct{ *pulumi.OutputState } +type VerificationTemplateMetricProviderJobOutput struct{ *pulumi.OutputState } -func (StrategyRollingOutput) ElementType() reflect.Type { - return reflect.TypeOf((*StrategyRolling)(nil)).Elem() +func (VerificationTemplateMetricProviderJobOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricProviderJob)(nil)).Elem() } -func (o StrategyRollingOutput) ToStrategyRollingOutput() StrategyRollingOutput { +func (o VerificationTemplateMetricProviderJobOutput) ToVerificationTemplateMetricProviderJobOutput() VerificationTemplateMetricProviderJobOutput { return o } -func (o StrategyRollingOutput) ToStrategyRollingOutputWithContext(ctx context.Context) StrategyRollingOutput { +func (o VerificationTemplateMetricProviderJobOutput) ToVerificationTemplateMetricProviderJobOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderJobOutput { return o } -func (o StrategyRollingOutput) ToStrategyRollingPtrOutput() StrategyRollingPtrOutput { - return o.ToStrategyRollingPtrOutputWithContext(context.Background()) +func (o VerificationTemplateMetricProviderJobOutput) ToVerificationTemplateMetricProviderJobPtrOutput() VerificationTemplateMetricProviderJobPtrOutput { + return o.ToVerificationTemplateMetricProviderJobPtrOutputWithContext(context.Background()) } -func (o StrategyRollingOutput) ToStrategyRollingPtrOutputWithContext(ctx context.Context) StrategyRollingPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v StrategyRolling) *StrategyRolling { +func (o VerificationTemplateMetricProviderJobOutput) ToVerificationTemplateMetricProviderJobPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderJobPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VerificationTemplateMetricProviderJob) *VerificationTemplateMetricProviderJob { return &v - }).(StrategyRollingPtrOutput) + }).(VerificationTemplateMetricProviderJobPtrOutput) } -// A set of separate conditions of rollout processing. -func (o StrategyRollingOutput) Steps() StrategyRollingStepArrayOutput { - return o.ApplyT(func(v StrategyRolling) []StrategyRollingStep { return v.Steps }).(StrategyRollingStepArrayOutput) +func (o VerificationTemplateMetricProviderJobOutput) Specs() VerificationTemplateMetricProviderJobSpecArrayOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderJob) []VerificationTemplateMetricProviderJobSpec { + return v.Specs + }).(VerificationTemplateMetricProviderJobSpecArrayOutput) } -type StrategyRollingPtrOutput struct{ *pulumi.OutputState } +type VerificationTemplateMetricProviderJobPtrOutput struct{ *pulumi.OutputState } -func (StrategyRollingPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**StrategyRolling)(nil)).Elem() +func (VerificationTemplateMetricProviderJobPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationTemplateMetricProviderJob)(nil)).Elem() } -func (o StrategyRollingPtrOutput) ToStrategyRollingPtrOutput() StrategyRollingPtrOutput { +func (o VerificationTemplateMetricProviderJobPtrOutput) ToVerificationTemplateMetricProviderJobPtrOutput() VerificationTemplateMetricProviderJobPtrOutput { return o } -func (o StrategyRollingPtrOutput) ToStrategyRollingPtrOutputWithContext(ctx context.Context) StrategyRollingPtrOutput { +func (o VerificationTemplateMetricProviderJobPtrOutput) ToVerificationTemplateMetricProviderJobPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderJobPtrOutput { return o } -func (o StrategyRollingPtrOutput) Elem() StrategyRollingOutput { - return o.ApplyT(func(v *StrategyRolling) StrategyRolling { +func (o VerificationTemplateMetricProviderJobPtrOutput) Elem() VerificationTemplateMetricProviderJobOutput { + return o.ApplyT(func(v *VerificationTemplateMetricProviderJob) VerificationTemplateMetricProviderJob { if v != nil { return *v } - var ret StrategyRolling + var ret VerificationTemplateMetricProviderJob return ret - }).(StrategyRollingOutput) + }).(VerificationTemplateMetricProviderJobOutput) } -// A set of separate conditions of rollout processing. -func (o StrategyRollingPtrOutput) Steps() StrategyRollingStepArrayOutput { - return o.ApplyT(func(v *StrategyRolling) []StrategyRollingStep { +func (o VerificationTemplateMetricProviderJobPtrOutput) Specs() VerificationTemplateMetricProviderJobSpecArrayOutput { + return o.ApplyT(func(v *VerificationTemplateMetricProviderJob) []VerificationTemplateMetricProviderJobSpec { if v == nil { return nil } - return v.Steps - }).(StrategyRollingStepArrayOutput) + return v.Specs + }).(VerificationTemplateMetricProviderJobSpecArrayOutput) } -type StrategyRollingStep struct { - Pause *StrategyRollingStepPause `pulumi:"pause"` - StepsName *string `pulumi:"stepsName"` - Verification *StrategyRollingStepVerification `pulumi:"verification"` +type VerificationTemplateMetricProviderJobSpec struct { + BackoffLimit *int `pulumi:"backoffLimit"` + JobTemplates []VerificationTemplateMetricProviderJobSpecJobTemplate `pulumi:"jobTemplates"` } -// StrategyRollingStepInput is an input type that accepts StrategyRollingStepArgs and StrategyRollingStepOutput values. -// You can construct a concrete instance of `StrategyRollingStepInput` via: +// VerificationTemplateMetricProviderJobSpecInput is an input type that accepts VerificationTemplateMetricProviderJobSpecArgs and VerificationTemplateMetricProviderJobSpecOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricProviderJobSpecInput` via: // -// StrategyRollingStepArgs{...} -type StrategyRollingStepInput interface { +// VerificationTemplateMetricProviderJobSpecArgs{...} +type VerificationTemplateMetricProviderJobSpecInput interface { pulumi.Input - ToStrategyRollingStepOutput() StrategyRollingStepOutput - ToStrategyRollingStepOutputWithContext(context.Context) StrategyRollingStepOutput + ToVerificationTemplateMetricProviderJobSpecOutput() VerificationTemplateMetricProviderJobSpecOutput + ToVerificationTemplateMetricProviderJobSpecOutputWithContext(context.Context) VerificationTemplateMetricProviderJobSpecOutput } -type StrategyRollingStepArgs struct { - Pause StrategyRollingStepPausePtrInput `pulumi:"pause"` - StepsName pulumi.StringPtrInput `pulumi:"stepsName"` - Verification StrategyRollingStepVerificationPtrInput `pulumi:"verification"` +type VerificationTemplateMetricProviderJobSpecArgs struct { + BackoffLimit pulumi.IntPtrInput `pulumi:"backoffLimit"` + JobTemplates VerificationTemplateMetricProviderJobSpecJobTemplateArrayInput `pulumi:"jobTemplates"` } -func (StrategyRollingStepArgs) ElementType() reflect.Type { - return reflect.TypeOf((*StrategyRollingStep)(nil)).Elem() +func (VerificationTemplateMetricProviderJobSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricProviderJobSpec)(nil)).Elem() } -func (i StrategyRollingStepArgs) ToStrategyRollingStepOutput() StrategyRollingStepOutput { - return i.ToStrategyRollingStepOutputWithContext(context.Background()) +func (i VerificationTemplateMetricProviderJobSpecArgs) ToVerificationTemplateMetricProviderJobSpecOutput() VerificationTemplateMetricProviderJobSpecOutput { + return i.ToVerificationTemplateMetricProviderJobSpecOutputWithContext(context.Background()) } -func (i StrategyRollingStepArgs) ToStrategyRollingStepOutputWithContext(ctx context.Context) StrategyRollingStepOutput { - return pulumi.ToOutputWithContext(ctx, i).(StrategyRollingStepOutput) +func (i VerificationTemplateMetricProviderJobSpecArgs) ToVerificationTemplateMetricProviderJobSpecOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderJobSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderJobSpecOutput) } -// StrategyRollingStepArrayInput is an input type that accepts StrategyRollingStepArray and StrategyRollingStepArrayOutput values. -// You can construct a concrete instance of `StrategyRollingStepArrayInput` via: +// VerificationTemplateMetricProviderJobSpecArrayInput is an input type that accepts VerificationTemplateMetricProviderJobSpecArray and VerificationTemplateMetricProviderJobSpecArrayOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricProviderJobSpecArrayInput` via: // -// StrategyRollingStepArray{ StrategyRollingStepArgs{...} } -type StrategyRollingStepArrayInput interface { +// VerificationTemplateMetricProviderJobSpecArray{ VerificationTemplateMetricProviderJobSpecArgs{...} } +type VerificationTemplateMetricProviderJobSpecArrayInput interface { pulumi.Input - ToStrategyRollingStepArrayOutput() StrategyRollingStepArrayOutput - ToStrategyRollingStepArrayOutputWithContext(context.Context) StrategyRollingStepArrayOutput + ToVerificationTemplateMetricProviderJobSpecArrayOutput() VerificationTemplateMetricProviderJobSpecArrayOutput + ToVerificationTemplateMetricProviderJobSpecArrayOutputWithContext(context.Context) VerificationTemplateMetricProviderJobSpecArrayOutput } -type StrategyRollingStepArray []StrategyRollingStepInput +type VerificationTemplateMetricProviderJobSpecArray []VerificationTemplateMetricProviderJobSpecInput -func (StrategyRollingStepArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]StrategyRollingStep)(nil)).Elem() +func (VerificationTemplateMetricProviderJobSpecArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]VerificationTemplateMetricProviderJobSpec)(nil)).Elem() } -func (i StrategyRollingStepArray) ToStrategyRollingStepArrayOutput() StrategyRollingStepArrayOutput { - return i.ToStrategyRollingStepArrayOutputWithContext(context.Background()) +func (i VerificationTemplateMetricProviderJobSpecArray) ToVerificationTemplateMetricProviderJobSpecArrayOutput() VerificationTemplateMetricProviderJobSpecArrayOutput { + return i.ToVerificationTemplateMetricProviderJobSpecArrayOutputWithContext(context.Background()) } -func (i StrategyRollingStepArray) ToStrategyRollingStepArrayOutputWithContext(ctx context.Context) StrategyRollingStepArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(StrategyRollingStepArrayOutput) +func (i VerificationTemplateMetricProviderJobSpecArray) ToVerificationTemplateMetricProviderJobSpecArrayOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderJobSpecArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderJobSpecArrayOutput) } -type StrategyRollingStepOutput struct{ *pulumi.OutputState } +type VerificationTemplateMetricProviderJobSpecOutput struct{ *pulumi.OutputState } -func (StrategyRollingStepOutput) ElementType() reflect.Type { - return reflect.TypeOf((*StrategyRollingStep)(nil)).Elem() +func (VerificationTemplateMetricProviderJobSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricProviderJobSpec)(nil)).Elem() } -func (o StrategyRollingStepOutput) ToStrategyRollingStepOutput() StrategyRollingStepOutput { +func (o VerificationTemplateMetricProviderJobSpecOutput) ToVerificationTemplateMetricProviderJobSpecOutput() VerificationTemplateMetricProviderJobSpecOutput { return o } -func (o StrategyRollingStepOutput) ToStrategyRollingStepOutputWithContext(ctx context.Context) StrategyRollingStepOutput { +func (o VerificationTemplateMetricProviderJobSpecOutput) ToVerificationTemplateMetricProviderJobSpecOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderJobSpecOutput { 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 VerificationTemplateMetricProviderJobSpecOutput) BackoffLimit() pulumi.IntPtrOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderJobSpec) *int { return v.BackoffLimit }).(pulumi.IntPtrOutput) } -func (o StrategyRollingStepOutput) Verification() StrategyRollingStepVerificationPtrOutput { - return o.ApplyT(func(v StrategyRollingStep) *StrategyRollingStepVerification { return v.Verification }).(StrategyRollingStepVerificationPtrOutput) +func (o VerificationTemplateMetricProviderJobSpecOutput) JobTemplates() VerificationTemplateMetricProviderJobSpecJobTemplateArrayOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderJobSpec) []VerificationTemplateMetricProviderJobSpecJobTemplate { + return v.JobTemplates + }).(VerificationTemplateMetricProviderJobSpecJobTemplateArrayOutput) } -type StrategyRollingStepArrayOutput struct{ *pulumi.OutputState } +type VerificationTemplateMetricProviderJobSpecArrayOutput struct{ *pulumi.OutputState } -func (StrategyRollingStepArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]StrategyRollingStep)(nil)).Elem() +func (VerificationTemplateMetricProviderJobSpecArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]VerificationTemplateMetricProviderJobSpec)(nil)).Elem() } -func (o StrategyRollingStepArrayOutput) ToStrategyRollingStepArrayOutput() StrategyRollingStepArrayOutput { +func (o VerificationTemplateMetricProviderJobSpecArrayOutput) ToVerificationTemplateMetricProviderJobSpecArrayOutput() VerificationTemplateMetricProviderJobSpecArrayOutput { return o } -func (o StrategyRollingStepArrayOutput) ToStrategyRollingStepArrayOutputWithContext(ctx context.Context) StrategyRollingStepArrayOutput { +func (o VerificationTemplateMetricProviderJobSpecArrayOutput) ToVerificationTemplateMetricProviderJobSpecArrayOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderJobSpecArrayOutput { 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) +func (o VerificationTemplateMetricProviderJobSpecArrayOutput) Index(i pulumi.IntInput) VerificationTemplateMetricProviderJobSpecOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) VerificationTemplateMetricProviderJobSpec { + return vs[0].([]VerificationTemplateMetricProviderJobSpec)[vs[1].(int)] + }).(VerificationTemplateMetricProviderJobSpecOutput) } -type StrategyRollingStepPause struct { - Duration *string `pulumi:"duration"` +type VerificationTemplateMetricProviderJobSpecJobTemplate struct { + TemplateSpecs []VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec `pulumi:"templateSpecs"` } -// StrategyRollingStepPauseInput is an input type that accepts StrategyRollingStepPauseArgs and StrategyRollingStepPauseOutput values. -// You can construct a concrete instance of `StrategyRollingStepPauseInput` via: +// VerificationTemplateMetricProviderJobSpecJobTemplateInput is an input type that accepts VerificationTemplateMetricProviderJobSpecJobTemplateArgs and VerificationTemplateMetricProviderJobSpecJobTemplateOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricProviderJobSpecJobTemplateInput` via: // -// StrategyRollingStepPauseArgs{...} -type StrategyRollingStepPauseInput interface { +// VerificationTemplateMetricProviderJobSpecJobTemplateArgs{...} +type VerificationTemplateMetricProviderJobSpecJobTemplateInput 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() + ToVerificationTemplateMetricProviderJobSpecJobTemplateOutput() VerificationTemplateMetricProviderJobSpecJobTemplateOutput + ToVerificationTemplateMetricProviderJobSpecJobTemplateOutputWithContext(context.Context) VerificationTemplateMetricProviderJobSpecJobTemplateOutput } -func (i StrategyRollingStepPauseArgs) ToStrategyRollingStepPauseOutput() StrategyRollingStepPauseOutput { - return i.ToStrategyRollingStepPauseOutputWithContext(context.Background()) +type VerificationTemplateMetricProviderJobSpecJobTemplateArgs struct { + TemplateSpecs VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArrayInput `pulumi:"templateSpecs"` } -func (i StrategyRollingStepPauseArgs) ToStrategyRollingStepPauseOutputWithContext(ctx context.Context) StrategyRollingStepPauseOutput { - return pulumi.ToOutputWithContext(ctx, i).(StrategyRollingStepPauseOutput) +func (VerificationTemplateMetricProviderJobSpecJobTemplateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricProviderJobSpecJobTemplate)(nil)).Elem() } -func (i StrategyRollingStepPauseArgs) ToStrategyRollingStepPausePtrOutput() StrategyRollingStepPausePtrOutput { - return i.ToStrategyRollingStepPausePtrOutputWithContext(context.Background()) +func (i VerificationTemplateMetricProviderJobSpecJobTemplateArgs) ToVerificationTemplateMetricProviderJobSpecJobTemplateOutput() VerificationTemplateMetricProviderJobSpecJobTemplateOutput { + return i.ToVerificationTemplateMetricProviderJobSpecJobTemplateOutputWithContext(context.Background()) } -func (i StrategyRollingStepPauseArgs) ToStrategyRollingStepPausePtrOutputWithContext(ctx context.Context) StrategyRollingStepPausePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(StrategyRollingStepPauseOutput).ToStrategyRollingStepPausePtrOutputWithContext(ctx) +func (i VerificationTemplateMetricProviderJobSpecJobTemplateArgs) ToVerificationTemplateMetricProviderJobSpecJobTemplateOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderJobSpecJobTemplateOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderJobSpecJobTemplateOutput) } -// StrategyRollingStepPausePtrInput is an input type that accepts StrategyRollingStepPauseArgs, StrategyRollingStepPausePtr and StrategyRollingStepPausePtrOutput values. -// You can construct a concrete instance of `StrategyRollingStepPausePtrInput` via: -// -// StrategyRollingStepPauseArgs{...} -// -// or: +// VerificationTemplateMetricProviderJobSpecJobTemplateArrayInput is an input type that accepts VerificationTemplateMetricProviderJobSpecJobTemplateArray and VerificationTemplateMetricProviderJobSpecJobTemplateArrayOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricProviderJobSpecJobTemplateArrayInput` via: // -// nil -type StrategyRollingStepPausePtrInput interface { +// VerificationTemplateMetricProviderJobSpecJobTemplateArray{ VerificationTemplateMetricProviderJobSpecJobTemplateArgs{...} } +type VerificationTemplateMetricProviderJobSpecJobTemplateArrayInput interface { pulumi.Input - ToStrategyRollingStepPausePtrOutput() StrategyRollingStepPausePtrOutput - ToStrategyRollingStepPausePtrOutputWithContext(context.Context) StrategyRollingStepPausePtrOutput + ToVerificationTemplateMetricProviderJobSpecJobTemplateArrayOutput() VerificationTemplateMetricProviderJobSpecJobTemplateArrayOutput + ToVerificationTemplateMetricProviderJobSpecJobTemplateArrayOutputWithContext(context.Context) VerificationTemplateMetricProviderJobSpecJobTemplateArrayOutput } -type strategyRollingStepPausePtrType StrategyRollingStepPauseArgs - -func StrategyRollingStepPausePtr(v *StrategyRollingStepPauseArgs) StrategyRollingStepPausePtrInput { - return (*strategyRollingStepPausePtrType)(v) -} +type VerificationTemplateMetricProviderJobSpecJobTemplateArray []VerificationTemplateMetricProviderJobSpecJobTemplateInput -func (*strategyRollingStepPausePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**StrategyRollingStepPause)(nil)).Elem() +func (VerificationTemplateMetricProviderJobSpecJobTemplateArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]VerificationTemplateMetricProviderJobSpecJobTemplate)(nil)).Elem() } -func (i *strategyRollingStepPausePtrType) ToStrategyRollingStepPausePtrOutput() StrategyRollingStepPausePtrOutput { - return i.ToStrategyRollingStepPausePtrOutputWithContext(context.Background()) +func (i VerificationTemplateMetricProviderJobSpecJobTemplateArray) ToVerificationTemplateMetricProviderJobSpecJobTemplateArrayOutput() VerificationTemplateMetricProviderJobSpecJobTemplateArrayOutput { + return i.ToVerificationTemplateMetricProviderJobSpecJobTemplateArrayOutputWithContext(context.Background()) } -func (i *strategyRollingStepPausePtrType) ToStrategyRollingStepPausePtrOutputWithContext(ctx context.Context) StrategyRollingStepPausePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(StrategyRollingStepPausePtrOutput) +func (i VerificationTemplateMetricProviderJobSpecJobTemplateArray) ToVerificationTemplateMetricProviderJobSpecJobTemplateArrayOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderJobSpecJobTemplateArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderJobSpecJobTemplateArrayOutput) } -type StrategyRollingStepPauseOutput struct{ *pulumi.OutputState } +type VerificationTemplateMetricProviderJobSpecJobTemplateOutput struct{ *pulumi.OutputState } -func (StrategyRollingStepPauseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*StrategyRollingStepPause)(nil)).Elem() +func (VerificationTemplateMetricProviderJobSpecJobTemplateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricProviderJobSpecJobTemplate)(nil)).Elem() } -func (o StrategyRollingStepPauseOutput) ToStrategyRollingStepPauseOutput() StrategyRollingStepPauseOutput { +func (o VerificationTemplateMetricProviderJobSpecJobTemplateOutput) ToVerificationTemplateMetricProviderJobSpecJobTemplateOutput() VerificationTemplateMetricProviderJobSpecJobTemplateOutput { return o } -func (o StrategyRollingStepPauseOutput) ToStrategyRollingStepPauseOutputWithContext(ctx context.Context) StrategyRollingStepPauseOutput { +func (o VerificationTemplateMetricProviderJobSpecJobTemplateOutput) ToVerificationTemplateMetricProviderJobSpecJobTemplateOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderJobSpecJobTemplateOutput { 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) +func (o VerificationTemplateMetricProviderJobSpecJobTemplateOutput) TemplateSpecs() VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArrayOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderJobSpecJobTemplate) []VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec { + return v.TemplateSpecs + }).(VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArrayOutput) } -type StrategyRollingStepPausePtrOutput struct{ *pulumi.OutputState } +type VerificationTemplateMetricProviderJobSpecJobTemplateArrayOutput struct{ *pulumi.OutputState } -func (StrategyRollingStepPausePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**StrategyRollingStepPause)(nil)).Elem() +func (VerificationTemplateMetricProviderJobSpecJobTemplateArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]VerificationTemplateMetricProviderJobSpecJobTemplate)(nil)).Elem() } -func (o StrategyRollingStepPausePtrOutput) ToStrategyRollingStepPausePtrOutput() StrategyRollingStepPausePtrOutput { +func (o VerificationTemplateMetricProviderJobSpecJobTemplateArrayOutput) ToVerificationTemplateMetricProviderJobSpecJobTemplateArrayOutput() VerificationTemplateMetricProviderJobSpecJobTemplateArrayOutput { return o } -func (o StrategyRollingStepPausePtrOutput) ToStrategyRollingStepPausePtrOutputWithContext(ctx context.Context) StrategyRollingStepPausePtrOutput { +func (o VerificationTemplateMetricProviderJobSpecJobTemplateArrayOutput) ToVerificationTemplateMetricProviderJobSpecJobTemplateArrayOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderJobSpecJobTemplateArrayOutput { 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) +func (o VerificationTemplateMetricProviderJobSpecJobTemplateArrayOutput) Index(i pulumi.IntInput) VerificationTemplateMetricProviderJobSpecJobTemplateOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) VerificationTemplateMetricProviderJobSpecJobTemplate { + return vs[0].([]VerificationTemplateMetricProviderJobSpecJobTemplate)[vs[1].(int)] + }).(VerificationTemplateMetricProviderJobSpecJobTemplateOutput) } -type StrategyRollingStepVerification struct { - TemplateNames []string `pulumi:"templateNames"` +type VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec struct { + Containers []VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer `pulumi:"containers"` + RestartPolicy string `pulumi:"restartPolicy"` } -// StrategyRollingStepVerificationInput is an input type that accepts StrategyRollingStepVerificationArgs and StrategyRollingStepVerificationOutput values. -// You can construct a concrete instance of `StrategyRollingStepVerificationInput` via: +// VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecInput is an input type that accepts VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs and VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecInput` via: // -// StrategyRollingStepVerificationArgs{...} -type StrategyRollingStepVerificationInput interface { +// VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs{...} +type VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecInput 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() + ToVerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecOutput() VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecOutput + ToVerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecOutputWithContext(context.Context) VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecOutput } -func (i StrategyRollingStepVerificationArgs) ToStrategyRollingStepVerificationOutput() StrategyRollingStepVerificationOutput { - return i.ToStrategyRollingStepVerificationOutputWithContext(context.Background()) +type VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs struct { + Containers VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArrayInput `pulumi:"containers"` + RestartPolicy pulumi.StringInput `pulumi:"restartPolicy"` } -func (i StrategyRollingStepVerificationArgs) ToStrategyRollingStepVerificationOutputWithContext(ctx context.Context) StrategyRollingStepVerificationOutput { - return pulumi.ToOutputWithContext(ctx, i).(StrategyRollingStepVerificationOutput) +func (VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec)(nil)).Elem() } -func (i StrategyRollingStepVerificationArgs) ToStrategyRollingStepVerificationPtrOutput() StrategyRollingStepVerificationPtrOutput { - return i.ToStrategyRollingStepVerificationPtrOutputWithContext(context.Background()) +func (i VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs) ToVerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecOutput() VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecOutput { + return i.ToVerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecOutputWithContext(context.Background()) } -func (i StrategyRollingStepVerificationArgs) ToStrategyRollingStepVerificationPtrOutputWithContext(ctx context.Context) StrategyRollingStepVerificationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(StrategyRollingStepVerificationOutput).ToStrategyRollingStepVerificationPtrOutputWithContext(ctx) +func (i VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs) ToVerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecOutput) } -// StrategyRollingStepVerificationPtrInput is an input type that accepts StrategyRollingStepVerificationArgs, StrategyRollingStepVerificationPtr and StrategyRollingStepVerificationPtrOutput values. -// You can construct a concrete instance of `StrategyRollingStepVerificationPtrInput` via: -// -// StrategyRollingStepVerificationArgs{...} -// -// or: +// VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArrayInput is an input type that accepts VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArray and VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArrayOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArrayInput` via: // -// nil -type StrategyRollingStepVerificationPtrInput interface { +// VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArray{ VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs{...} } +type VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArrayInput interface { pulumi.Input - ToStrategyRollingStepVerificationPtrOutput() StrategyRollingStepVerificationPtrOutput - ToStrategyRollingStepVerificationPtrOutputWithContext(context.Context) StrategyRollingStepVerificationPtrOutput + ToVerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArrayOutput() VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArrayOutput + ToVerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArrayOutputWithContext(context.Context) VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArrayOutput } -type strategyRollingStepVerificationPtrType StrategyRollingStepVerificationArgs - -func StrategyRollingStepVerificationPtr(v *StrategyRollingStepVerificationArgs) StrategyRollingStepVerificationPtrInput { - return (*strategyRollingStepVerificationPtrType)(v) -} +type VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArray []VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecInput -func (*strategyRollingStepVerificationPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**StrategyRollingStepVerification)(nil)).Elem() +func (VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec)(nil)).Elem() } -func (i *strategyRollingStepVerificationPtrType) ToStrategyRollingStepVerificationPtrOutput() StrategyRollingStepVerificationPtrOutput { - return i.ToStrategyRollingStepVerificationPtrOutputWithContext(context.Background()) +func (i VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArray) ToVerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArrayOutput() VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArrayOutput { + return i.ToVerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArrayOutputWithContext(context.Background()) } -func (i *strategyRollingStepVerificationPtrType) ToStrategyRollingStepVerificationPtrOutputWithContext(ctx context.Context) StrategyRollingStepVerificationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(StrategyRollingStepVerificationPtrOutput) +func (i VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArray) ToVerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArrayOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArrayOutput) } -type StrategyRollingStepVerificationOutput struct{ *pulumi.OutputState } +type VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecOutput struct{ *pulumi.OutputState } -func (StrategyRollingStepVerificationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*StrategyRollingStepVerification)(nil)).Elem() +func (VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec)(nil)).Elem() } -func (o StrategyRollingStepVerificationOutput) ToStrategyRollingStepVerificationOutput() StrategyRollingStepVerificationOutput { +func (o VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecOutput) ToVerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecOutput() VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecOutput { return o } -func (o StrategyRollingStepVerificationOutput) ToStrategyRollingStepVerificationOutputWithContext(ctx context.Context) StrategyRollingStepVerificationOutput { +func (o VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecOutput) ToVerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecOutput { 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 VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecOutput) Containers() VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArrayOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec) []VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer { + return v.Containers + }).(VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArrayOutput) } -func (o StrategyRollingStepVerificationOutput) TemplateNames() pulumi.StringArrayOutput { - return o.ApplyT(func(v StrategyRollingStepVerification) []string { return v.TemplateNames }).(pulumi.StringArrayOutput) +func (o VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecOutput) RestartPolicy() pulumi.StringOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec) string { + return v.RestartPolicy + }).(pulumi.StringOutput) } -type StrategyRollingStepVerificationPtrOutput struct{ *pulumi.OutputState } - -func (StrategyRollingStepVerificationPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**StrategyRollingStepVerification)(nil)).Elem() -} +type VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArrayOutput struct{ *pulumi.OutputState } -func (o StrategyRollingStepVerificationPtrOutput) ToStrategyRollingStepVerificationPtrOutput() StrategyRollingStepVerificationPtrOutput { - return o +func (VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec)(nil)).Elem() } -func (o StrategyRollingStepVerificationPtrOutput) ToStrategyRollingStepVerificationPtrOutputWithContext(ctx context.Context) StrategyRollingStepVerificationPtrOutput { +func (o VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArrayOutput) ToVerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArrayOutput() VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArrayOutput { 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 VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArrayOutput) ToVerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArrayOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArrayOutput { + return o } -func (o StrategyRollingStepVerificationPtrOutput) TemplateNames() pulumi.StringArrayOutput { - return o.ApplyT(func(v *StrategyRollingStepVerification) []string { - if v == nil { - return nil - } - return v.TemplateNames - }).(pulumi.StringArrayOutput) +func (o VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArrayOutput) Index(i pulumi.IntInput) VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec { + return vs[0].([]VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec)[vs[1].(int)] + }).(VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecOutput) } -type VerificationProviderCloudWatch struct { - // Set label key. - IamArn string `pulumi:"iamArn"` +type VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer struct { + Commands []string `pulumi:"commands"` + ContainerName string `pulumi:"containerName"` + Image string `pulumi:"image"` } -// VerificationProviderCloudWatchInput is an input type that accepts VerificationProviderCloudWatchArgs and VerificationProviderCloudWatchOutput values. -// You can construct a concrete instance of `VerificationProviderCloudWatchInput` via: +// VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerInput is an input type that accepts VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs and VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerInput` via: // -// VerificationProviderCloudWatchArgs{...} -type VerificationProviderCloudWatchInput interface { +// VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs{...} +type VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerInput 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() + ToVerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerOutput() VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerOutput + ToVerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerOutputWithContext(context.Context) VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerOutput } -func (i VerificationProviderCloudWatchArgs) ToVerificationProviderCloudWatchOutput() VerificationProviderCloudWatchOutput { - return i.ToVerificationProviderCloudWatchOutputWithContext(context.Background()) +type VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs struct { + Commands pulumi.StringArrayInput `pulumi:"commands"` + ContainerName pulumi.StringInput `pulumi:"containerName"` + Image pulumi.StringInput `pulumi:"image"` } -func (i VerificationProviderCloudWatchArgs) ToVerificationProviderCloudWatchOutputWithContext(ctx context.Context) VerificationProviderCloudWatchOutput { - return pulumi.ToOutputWithContext(ctx, i).(VerificationProviderCloudWatchOutput) +func (VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer)(nil)).Elem() } -func (i VerificationProviderCloudWatchArgs) ToVerificationProviderCloudWatchPtrOutput() VerificationProviderCloudWatchPtrOutput { - return i.ToVerificationProviderCloudWatchPtrOutputWithContext(context.Background()) +func (i VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs) ToVerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerOutput() VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerOutput { + return i.ToVerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerOutputWithContext(context.Background()) } -func (i VerificationProviderCloudWatchArgs) ToVerificationProviderCloudWatchPtrOutputWithContext(ctx context.Context) VerificationProviderCloudWatchPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VerificationProviderCloudWatchOutput).ToVerificationProviderCloudWatchPtrOutputWithContext(ctx) +func (i VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs) ToVerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerOutput) } -// VerificationProviderCloudWatchPtrInput is an input type that accepts VerificationProviderCloudWatchArgs, VerificationProviderCloudWatchPtr and VerificationProviderCloudWatchPtrOutput values. -// You can construct a concrete instance of `VerificationProviderCloudWatchPtrInput` via: -// -// VerificationProviderCloudWatchArgs{...} -// -// or: +// VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArrayInput is an input type that accepts VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArray and VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArrayOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArrayInput` via: // -// nil -type VerificationProviderCloudWatchPtrInput interface { +// VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArray{ VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs{...} } +type VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArrayInput interface { pulumi.Input - ToVerificationProviderCloudWatchPtrOutput() VerificationProviderCloudWatchPtrOutput - ToVerificationProviderCloudWatchPtrOutputWithContext(context.Context) VerificationProviderCloudWatchPtrOutput + ToVerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArrayOutput() VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArrayOutput + ToVerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArrayOutputWithContext(context.Context) VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArrayOutput } -type verificationProviderCloudWatchPtrType VerificationProviderCloudWatchArgs - -func VerificationProviderCloudWatchPtr(v *VerificationProviderCloudWatchArgs) VerificationProviderCloudWatchPtrInput { - return (*verificationProviderCloudWatchPtrType)(v) -} +type VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArray []VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerInput -func (*verificationProviderCloudWatchPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VerificationProviderCloudWatch)(nil)).Elem() +func (VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer)(nil)).Elem() } -func (i *verificationProviderCloudWatchPtrType) ToVerificationProviderCloudWatchPtrOutput() VerificationProviderCloudWatchPtrOutput { - return i.ToVerificationProviderCloudWatchPtrOutputWithContext(context.Background()) +func (i VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArray) ToVerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArrayOutput() VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArrayOutput { + return i.ToVerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArrayOutputWithContext(context.Background()) } -func (i *verificationProviderCloudWatchPtrType) ToVerificationProviderCloudWatchPtrOutputWithContext(ctx context.Context) VerificationProviderCloudWatchPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VerificationProviderCloudWatchPtrOutput) +func (i VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArray) ToVerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArrayOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArrayOutput) } -type VerificationProviderCloudWatchOutput struct{ *pulumi.OutputState } +type VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerOutput struct{ *pulumi.OutputState } -func (VerificationProviderCloudWatchOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VerificationProviderCloudWatch)(nil)).Elem() +func (VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer)(nil)).Elem() } -func (o VerificationProviderCloudWatchOutput) ToVerificationProviderCloudWatchOutput() VerificationProviderCloudWatchOutput { +func (o VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerOutput) ToVerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerOutput() VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerOutput { return o } -func (o VerificationProviderCloudWatchOutput) ToVerificationProviderCloudWatchOutputWithContext(ctx context.Context) VerificationProviderCloudWatchOutput { +func (o VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerOutput) ToVerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerOutput { return o } -func (o VerificationProviderCloudWatchOutput) ToVerificationProviderCloudWatchPtrOutput() VerificationProviderCloudWatchPtrOutput { - return o.ToVerificationProviderCloudWatchPtrOutputWithContext(context.Background()) +func (o VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerOutput) Commands() pulumi.StringArrayOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer) []string { + return v.Commands + }).(pulumi.StringArrayOutput) } -func (o VerificationProviderCloudWatchOutput) ToVerificationProviderCloudWatchPtrOutputWithContext(ctx context.Context) VerificationProviderCloudWatchPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VerificationProviderCloudWatch) *VerificationProviderCloudWatch { - return &v - }).(VerificationProviderCloudWatchPtrOutput) +func (o VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerOutput) ContainerName() pulumi.StringOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer) string { + return v.ContainerName + }).(pulumi.StringOutput) } -// Set label key. -func (o VerificationProviderCloudWatchOutput) IamArn() pulumi.StringOutput { - return o.ApplyT(func(v VerificationProviderCloudWatch) string { return v.IamArn }).(pulumi.StringOutput) +func (o VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerOutput) Image() pulumi.StringOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer) string { + return v.Image + }).(pulumi.StringOutput) } -type VerificationProviderCloudWatchPtrOutput struct{ *pulumi.OutputState } +type VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArrayOutput struct{ *pulumi.OutputState } -func (VerificationProviderCloudWatchPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VerificationProviderCloudWatch)(nil)).Elem() +func (VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer)(nil)).Elem() } -func (o VerificationProviderCloudWatchPtrOutput) ToVerificationProviderCloudWatchPtrOutput() VerificationProviderCloudWatchPtrOutput { +func (o VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArrayOutput) ToVerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArrayOutput() VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArrayOutput { return o } -func (o VerificationProviderCloudWatchPtrOutput) ToVerificationProviderCloudWatchPtrOutputWithContext(ctx context.Context) VerificationProviderCloudWatchPtrOutput { +func (o VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArrayOutput) ToVerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArrayOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArrayOutput { 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) +func (o VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArrayOutput) Index(i pulumi.IntInput) VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer { + return vs[0].([]VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer)[vs[1].(int)] + }).(VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerOutput) } -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"` +type VerificationTemplateMetricProviderNewRelic struct { + NewRelicQuery string `pulumi:"newRelicQuery"` + Profile *string `pulumi:"profile"` } -// VerificationProviderDatadogInput is an input type that accepts VerificationProviderDatadogArgs and VerificationProviderDatadogOutput values. -// You can construct a concrete instance of `VerificationProviderDatadogInput` via: +// VerificationTemplateMetricProviderNewRelicInput is an input type that accepts VerificationTemplateMetricProviderNewRelicArgs and VerificationTemplateMetricProviderNewRelicOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricProviderNewRelicInput` via: // -// VerificationProviderDatadogArgs{...} -type VerificationProviderDatadogInput interface { +// VerificationTemplateMetricProviderNewRelicArgs{...} +type VerificationTemplateMetricProviderNewRelicInput interface { pulumi.Input - ToVerificationProviderDatadogOutput() VerificationProviderDatadogOutput - ToVerificationProviderDatadogOutputWithContext(context.Context) VerificationProviderDatadogOutput + ToVerificationTemplateMetricProviderNewRelicOutput() VerificationTemplateMetricProviderNewRelicOutput + ToVerificationTemplateMetricProviderNewRelicOutputWithContext(context.Context) VerificationTemplateMetricProviderNewRelicOutput } -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"` +type VerificationTemplateMetricProviderNewRelicArgs struct { + NewRelicQuery pulumi.StringInput `pulumi:"newRelicQuery"` + Profile pulumi.StringPtrInput `pulumi:"profile"` } -func (VerificationProviderDatadogArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VerificationProviderDatadog)(nil)).Elem() +func (VerificationTemplateMetricProviderNewRelicArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricProviderNewRelic)(nil)).Elem() } -func (i VerificationProviderDatadogArgs) ToVerificationProviderDatadogOutput() VerificationProviderDatadogOutput { - return i.ToVerificationProviderDatadogOutputWithContext(context.Background()) +func (i VerificationTemplateMetricProviderNewRelicArgs) ToVerificationTemplateMetricProviderNewRelicOutput() VerificationTemplateMetricProviderNewRelicOutput { + return i.ToVerificationTemplateMetricProviderNewRelicOutputWithContext(context.Background()) } -func (i VerificationProviderDatadogArgs) ToVerificationProviderDatadogOutputWithContext(ctx context.Context) VerificationProviderDatadogOutput { - return pulumi.ToOutputWithContext(ctx, i).(VerificationProviderDatadogOutput) +func (i VerificationTemplateMetricProviderNewRelicArgs) ToVerificationTemplateMetricProviderNewRelicOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderNewRelicOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderNewRelicOutput) } -func (i VerificationProviderDatadogArgs) ToVerificationProviderDatadogPtrOutput() VerificationProviderDatadogPtrOutput { - return i.ToVerificationProviderDatadogPtrOutputWithContext(context.Background()) +func (i VerificationTemplateMetricProviderNewRelicArgs) ToVerificationTemplateMetricProviderNewRelicPtrOutput() VerificationTemplateMetricProviderNewRelicPtrOutput { + return i.ToVerificationTemplateMetricProviderNewRelicPtrOutputWithContext(context.Background()) } -func (i VerificationProviderDatadogArgs) ToVerificationProviderDatadogPtrOutputWithContext(ctx context.Context) VerificationProviderDatadogPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VerificationProviderDatadogOutput).ToVerificationProviderDatadogPtrOutputWithContext(ctx) +func (i VerificationTemplateMetricProviderNewRelicArgs) ToVerificationTemplateMetricProviderNewRelicPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderNewRelicPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderNewRelicOutput).ToVerificationTemplateMetricProviderNewRelicPtrOutputWithContext(ctx) } -// VerificationProviderDatadogPtrInput is an input type that accepts VerificationProviderDatadogArgs, VerificationProviderDatadogPtr and VerificationProviderDatadogPtrOutput values. -// You can construct a concrete instance of `VerificationProviderDatadogPtrInput` via: +// VerificationTemplateMetricProviderNewRelicPtrInput is an input type that accepts VerificationTemplateMetricProviderNewRelicArgs, VerificationTemplateMetricProviderNewRelicPtr and VerificationTemplateMetricProviderNewRelicPtrOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricProviderNewRelicPtrInput` via: // -// VerificationProviderDatadogArgs{...} +// VerificationTemplateMetricProviderNewRelicArgs{...} // // or: // // nil -type VerificationProviderDatadogPtrInput interface { +type VerificationTemplateMetricProviderNewRelicPtrInput interface { pulumi.Input - ToVerificationProviderDatadogPtrOutput() VerificationProviderDatadogPtrOutput - ToVerificationProviderDatadogPtrOutputWithContext(context.Context) VerificationProviderDatadogPtrOutput + ToVerificationTemplateMetricProviderNewRelicPtrOutput() VerificationTemplateMetricProviderNewRelicPtrOutput + ToVerificationTemplateMetricProviderNewRelicPtrOutputWithContext(context.Context) VerificationTemplateMetricProviderNewRelicPtrOutput } -type verificationProviderDatadogPtrType VerificationProviderDatadogArgs +type verificationTemplateMetricProviderNewRelicPtrType VerificationTemplateMetricProviderNewRelicArgs -func VerificationProviderDatadogPtr(v *VerificationProviderDatadogArgs) VerificationProviderDatadogPtrInput { - return (*verificationProviderDatadogPtrType)(v) +func VerificationTemplateMetricProviderNewRelicPtr(v *VerificationTemplateMetricProviderNewRelicArgs) VerificationTemplateMetricProviderNewRelicPtrInput { + return (*verificationTemplateMetricProviderNewRelicPtrType)(v) } -func (*verificationProviderDatadogPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VerificationProviderDatadog)(nil)).Elem() +func (*verificationTemplateMetricProviderNewRelicPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationTemplateMetricProviderNewRelic)(nil)).Elem() } -func (i *verificationProviderDatadogPtrType) ToVerificationProviderDatadogPtrOutput() VerificationProviderDatadogPtrOutput { - return i.ToVerificationProviderDatadogPtrOutputWithContext(context.Background()) +func (i *verificationTemplateMetricProviderNewRelicPtrType) ToVerificationTemplateMetricProviderNewRelicPtrOutput() VerificationTemplateMetricProviderNewRelicPtrOutput { + return i.ToVerificationTemplateMetricProviderNewRelicPtrOutputWithContext(context.Background()) } -func (i *verificationProviderDatadogPtrType) ToVerificationProviderDatadogPtrOutputWithContext(ctx context.Context) VerificationProviderDatadogPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VerificationProviderDatadogPtrOutput) +func (i *verificationTemplateMetricProviderNewRelicPtrType) ToVerificationTemplateMetricProviderNewRelicPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderNewRelicPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderNewRelicPtrOutput) } -type VerificationProviderDatadogOutput struct{ *pulumi.OutputState } +type VerificationTemplateMetricProviderNewRelicOutput struct{ *pulumi.OutputState } -func (VerificationProviderDatadogOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VerificationProviderDatadog)(nil)).Elem() +func (VerificationTemplateMetricProviderNewRelicOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricProviderNewRelic)(nil)).Elem() } -func (o VerificationProviderDatadogOutput) ToVerificationProviderDatadogOutput() VerificationProviderDatadogOutput { +func (o VerificationTemplateMetricProviderNewRelicOutput) ToVerificationTemplateMetricProviderNewRelicOutput() VerificationTemplateMetricProviderNewRelicOutput { return o } -func (o VerificationProviderDatadogOutput) ToVerificationProviderDatadogOutputWithContext(ctx context.Context) VerificationProviderDatadogOutput { +func (o VerificationTemplateMetricProviderNewRelicOutput) ToVerificationTemplateMetricProviderNewRelicOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderNewRelicOutput { return o } -func (o VerificationProviderDatadogOutput) ToVerificationProviderDatadogPtrOutput() VerificationProviderDatadogPtrOutput { - return o.ToVerificationProviderDatadogPtrOutputWithContext(context.Background()) +func (o VerificationTemplateMetricProviderNewRelicOutput) ToVerificationTemplateMetricProviderNewRelicPtrOutput() VerificationTemplateMetricProviderNewRelicPtrOutput { + return o.ToVerificationTemplateMetricProviderNewRelicPtrOutputWithContext(context.Background()) } -func (o VerificationProviderDatadogOutput) ToVerificationProviderDatadogPtrOutputWithContext(ctx context.Context) VerificationProviderDatadogPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VerificationProviderDatadog) *VerificationProviderDatadog { +func (o VerificationTemplateMetricProviderNewRelicOutput) ToVerificationTemplateMetricProviderNewRelicPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderNewRelicPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VerificationTemplateMetricProviderNewRelic) *VerificationTemplateMetricProviderNewRelic { return &v - }).(VerificationProviderDatadogPtrOutput) -} - -// DataDog API URL. -func (o VerificationProviderDatadogOutput) Address() pulumi.StringOutput { - return o.ApplyT(func(v VerificationProviderDatadog) string { return v.Address }).(pulumi.StringOutput) + }).(VerificationTemplateMetricProviderNewRelicPtrOutput) } -// 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) +func (o VerificationTemplateMetricProviderNewRelicOutput) NewRelicQuery() pulumi.StringOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderNewRelic) string { return v.NewRelicQuery }).(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) +func (o VerificationTemplateMetricProviderNewRelicOutput) Profile() pulumi.StringPtrOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderNewRelic) *string { return v.Profile }).(pulumi.StringPtrOutput) } -type VerificationProviderDatadogPtrOutput struct{ *pulumi.OutputState } +type VerificationTemplateMetricProviderNewRelicPtrOutput struct{ *pulumi.OutputState } -func (VerificationProviderDatadogPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VerificationProviderDatadog)(nil)).Elem() +func (VerificationTemplateMetricProviderNewRelicPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationTemplateMetricProviderNewRelic)(nil)).Elem() } -func (o VerificationProviderDatadogPtrOutput) ToVerificationProviderDatadogPtrOutput() VerificationProviderDatadogPtrOutput { +func (o VerificationTemplateMetricProviderNewRelicPtrOutput) ToVerificationTemplateMetricProviderNewRelicPtrOutput() VerificationTemplateMetricProviderNewRelicPtrOutput { return o } -func (o VerificationProviderDatadogPtrOutput) ToVerificationProviderDatadogPtrOutputWithContext(ctx context.Context) VerificationProviderDatadogPtrOutput { +func (o VerificationTemplateMetricProviderNewRelicPtrOutput) ToVerificationTemplateMetricProviderNewRelicPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderNewRelicPtrOutput { return o } -func (o VerificationProviderDatadogPtrOutput) Elem() VerificationProviderDatadogOutput { - return o.ApplyT(func(v *VerificationProviderDatadog) VerificationProviderDatadog { +func (o VerificationTemplateMetricProviderNewRelicPtrOutput) Elem() VerificationTemplateMetricProviderNewRelicOutput { + return o.ApplyT(func(v *VerificationTemplateMetricProviderNewRelic) VerificationTemplateMetricProviderNewRelic { if v != nil { return *v } - var ret VerificationProviderDatadog + var ret VerificationTemplateMetricProviderNewRelic 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) + }).(VerificationTemplateMetricProviderNewRelicOutput) } -// 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 { +func (o VerificationTemplateMetricProviderNewRelicPtrOutput) NewRelicQuery() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VerificationTemplateMetricProviderNewRelic) *string { if v == nil { return nil } - return &v.ApiKey + return &v.NewRelicQuery }).(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 { +func (o VerificationTemplateMetricProviderNewRelicPtrOutput) Profile() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VerificationTemplateMetricProviderNewRelic) *string { if v == nil { return nil } - return &v.AppKey + return v.Profile }).(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"` +type VerificationTemplateMetricProviderPrometheus struct { + PrometheusQuery string `pulumi:"prometheusQuery"` } -// VerificationProviderJenkinsInput is an input type that accepts VerificationProviderJenkinsArgs and VerificationProviderJenkinsOutput values. -// You can construct a concrete instance of `VerificationProviderJenkinsInput` via: +// VerificationTemplateMetricProviderPrometheusInput is an input type that accepts VerificationTemplateMetricProviderPrometheusArgs and VerificationTemplateMetricProviderPrometheusOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricProviderPrometheusInput` via: // -// VerificationProviderJenkinsArgs{...} -type VerificationProviderJenkinsInput interface { +// VerificationTemplateMetricProviderPrometheusArgs{...} +type VerificationTemplateMetricProviderPrometheusInput interface { pulumi.Input - ToVerificationProviderJenkinsOutput() VerificationProviderJenkinsOutput - ToVerificationProviderJenkinsOutputWithContext(context.Context) VerificationProviderJenkinsOutput + ToVerificationTemplateMetricProviderPrometheusOutput() VerificationTemplateMetricProviderPrometheusOutput + ToVerificationTemplateMetricProviderPrometheusOutputWithContext(context.Context) VerificationTemplateMetricProviderPrometheusOutput } -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"` +type VerificationTemplateMetricProviderPrometheusArgs struct { + PrometheusQuery pulumi.StringInput `pulumi:"prometheusQuery"` } -func (VerificationProviderJenkinsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VerificationProviderJenkins)(nil)).Elem() +func (VerificationTemplateMetricProviderPrometheusArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricProviderPrometheus)(nil)).Elem() } -func (i VerificationProviderJenkinsArgs) ToVerificationProviderJenkinsOutput() VerificationProviderJenkinsOutput { - return i.ToVerificationProviderJenkinsOutputWithContext(context.Background()) +func (i VerificationTemplateMetricProviderPrometheusArgs) ToVerificationTemplateMetricProviderPrometheusOutput() VerificationTemplateMetricProviderPrometheusOutput { + return i.ToVerificationTemplateMetricProviderPrometheusOutputWithContext(context.Background()) } -func (i VerificationProviderJenkinsArgs) ToVerificationProviderJenkinsOutputWithContext(ctx context.Context) VerificationProviderJenkinsOutput { - return pulumi.ToOutputWithContext(ctx, i).(VerificationProviderJenkinsOutput) +func (i VerificationTemplateMetricProviderPrometheusArgs) ToVerificationTemplateMetricProviderPrometheusOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderPrometheusOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderPrometheusOutput) } -func (i VerificationProviderJenkinsArgs) ToVerificationProviderJenkinsPtrOutput() VerificationProviderJenkinsPtrOutput { - return i.ToVerificationProviderJenkinsPtrOutputWithContext(context.Background()) +func (i VerificationTemplateMetricProviderPrometheusArgs) ToVerificationTemplateMetricProviderPrometheusPtrOutput() VerificationTemplateMetricProviderPrometheusPtrOutput { + return i.ToVerificationTemplateMetricProviderPrometheusPtrOutputWithContext(context.Background()) } -func (i VerificationProviderJenkinsArgs) ToVerificationProviderJenkinsPtrOutputWithContext(ctx context.Context) VerificationProviderJenkinsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VerificationProviderJenkinsOutput).ToVerificationProviderJenkinsPtrOutputWithContext(ctx) +func (i VerificationTemplateMetricProviderPrometheusArgs) ToVerificationTemplateMetricProviderPrometheusPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderPrometheusPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderPrometheusOutput).ToVerificationTemplateMetricProviderPrometheusPtrOutputWithContext(ctx) } -// VerificationProviderJenkinsPtrInput is an input type that accepts VerificationProviderJenkinsArgs, VerificationProviderJenkinsPtr and VerificationProviderJenkinsPtrOutput values. -// You can construct a concrete instance of `VerificationProviderJenkinsPtrInput` via: +// VerificationTemplateMetricProviderPrometheusPtrInput is an input type that accepts VerificationTemplateMetricProviderPrometheusArgs, VerificationTemplateMetricProviderPrometheusPtr and VerificationTemplateMetricProviderPrometheusPtrOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricProviderPrometheusPtrInput` via: // -// VerificationProviderJenkinsArgs{...} +// VerificationTemplateMetricProviderPrometheusArgs{...} // // or: // // nil -type VerificationProviderJenkinsPtrInput interface { +type VerificationTemplateMetricProviderPrometheusPtrInput interface { pulumi.Input - ToVerificationProviderJenkinsPtrOutput() VerificationProviderJenkinsPtrOutput - ToVerificationProviderJenkinsPtrOutputWithContext(context.Context) VerificationProviderJenkinsPtrOutput + ToVerificationTemplateMetricProviderPrometheusPtrOutput() VerificationTemplateMetricProviderPrometheusPtrOutput + ToVerificationTemplateMetricProviderPrometheusPtrOutputWithContext(context.Context) VerificationTemplateMetricProviderPrometheusPtrOutput } -type verificationProviderJenkinsPtrType VerificationProviderJenkinsArgs - -func VerificationProviderJenkinsPtr(v *VerificationProviderJenkinsArgs) VerificationProviderJenkinsPtrInput { - return (*verificationProviderJenkinsPtrType)(v) -} +type verificationTemplateMetricProviderPrometheusPtrType VerificationTemplateMetricProviderPrometheusArgs -func (*verificationProviderJenkinsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VerificationProviderJenkins)(nil)).Elem() +func VerificationTemplateMetricProviderPrometheusPtr(v *VerificationTemplateMetricProviderPrometheusArgs) VerificationTemplateMetricProviderPrometheusPtrInput { + return (*verificationTemplateMetricProviderPrometheusPtrType)(v) } -func (i *verificationProviderJenkinsPtrType) ToVerificationProviderJenkinsPtrOutput() VerificationProviderJenkinsPtrOutput { - return i.ToVerificationProviderJenkinsPtrOutputWithContext(context.Background()) +func (*verificationTemplateMetricProviderPrometheusPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationTemplateMetricProviderPrometheus)(nil)).Elem() } -func (i *verificationProviderJenkinsPtrType) ToVerificationProviderJenkinsPtrOutputWithContext(ctx context.Context) VerificationProviderJenkinsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VerificationProviderJenkinsPtrOutput) +func (i *verificationTemplateMetricProviderPrometheusPtrType) ToVerificationTemplateMetricProviderPrometheusPtrOutput() VerificationTemplateMetricProviderPrometheusPtrOutput { + return i.ToVerificationTemplateMetricProviderPrometheusPtrOutputWithContext(context.Background()) } -type VerificationProviderJenkinsOutput struct{ *pulumi.OutputState } - -func (VerificationProviderJenkinsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VerificationProviderJenkins)(nil)).Elem() +func (i *verificationTemplateMetricProviderPrometheusPtrType) ToVerificationTemplateMetricProviderPrometheusPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderPrometheusPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderPrometheusPtrOutput) } -func (o VerificationProviderJenkinsOutput) ToVerificationProviderJenkinsOutput() VerificationProviderJenkinsOutput { - return o -} +type VerificationTemplateMetricProviderPrometheusOutput struct{ *pulumi.OutputState } -func (o VerificationProviderJenkinsOutput) ToVerificationProviderJenkinsOutputWithContext(ctx context.Context) VerificationProviderJenkinsOutput { - return o +func (VerificationTemplateMetricProviderPrometheusOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricProviderPrometheus)(nil)).Elem() } - -func (o VerificationProviderJenkinsOutput) ToVerificationProviderJenkinsPtrOutput() VerificationProviderJenkinsPtrOutput { - return o.ToVerificationProviderJenkinsPtrOutputWithContext(context.Background()) + +func (o VerificationTemplateMetricProviderPrometheusOutput) ToVerificationTemplateMetricProviderPrometheusOutput() VerificationTemplateMetricProviderPrometheusOutput { + return o } -func (o VerificationProviderJenkinsOutput) ToVerificationProviderJenkinsPtrOutputWithContext(ctx context.Context) VerificationProviderJenkinsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VerificationProviderJenkins) *VerificationProviderJenkins { - return &v - }).(VerificationProviderJenkinsPtrOutput) +func (o VerificationTemplateMetricProviderPrometheusOutput) ToVerificationTemplateMetricProviderPrometheusOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderPrometheusOutput { + return o } -// The Jenkins server’s access apiToken. -func (o VerificationProviderJenkinsOutput) ApiToken() pulumi.StringOutput { - return o.ApplyT(func(v VerificationProviderJenkins) string { return v.ApiToken }).(pulumi.StringOutput) +func (o VerificationTemplateMetricProviderPrometheusOutput) ToVerificationTemplateMetricProviderPrometheusPtrOutput() VerificationTemplateMetricProviderPrometheusPtrOutput { + return o.ToVerificationTemplateMetricProviderPrometheusPtrOutputWithContext(context.Background()) } -// 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) +func (o VerificationTemplateMetricProviderPrometheusOutput) ToVerificationTemplateMetricProviderPrometheusPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderPrometheusPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VerificationTemplateMetricProviderPrometheus) *VerificationTemplateMetricProviderPrometheus { + return &v + }).(VerificationTemplateMetricProviderPrometheusPtrOutput) } -// The Jenkins server’s access username. -func (o VerificationProviderJenkinsOutput) Username() pulumi.StringOutput { - return o.ApplyT(func(v VerificationProviderJenkins) string { return v.Username }).(pulumi.StringOutput) +func (o VerificationTemplateMetricProviderPrometheusOutput) PrometheusQuery() pulumi.StringOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderPrometheus) string { return v.PrometheusQuery }).(pulumi.StringOutput) } -type VerificationProviderJenkinsPtrOutput struct{ *pulumi.OutputState } +type VerificationTemplateMetricProviderPrometheusPtrOutput struct{ *pulumi.OutputState } -func (VerificationProviderJenkinsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VerificationProviderJenkins)(nil)).Elem() +func (VerificationTemplateMetricProviderPrometheusPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationTemplateMetricProviderPrometheus)(nil)).Elem() } -func (o VerificationProviderJenkinsPtrOutput) ToVerificationProviderJenkinsPtrOutput() VerificationProviderJenkinsPtrOutput { +func (o VerificationTemplateMetricProviderPrometheusPtrOutput) ToVerificationTemplateMetricProviderPrometheusPtrOutput() VerificationTemplateMetricProviderPrometheusPtrOutput { return o } -func (o VerificationProviderJenkinsPtrOutput) ToVerificationProviderJenkinsPtrOutputWithContext(ctx context.Context) VerificationProviderJenkinsPtrOutput { +func (o VerificationTemplateMetricProviderPrometheusPtrOutput) ToVerificationTemplateMetricProviderPrometheusPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderPrometheusPtrOutput { return o } -func (o VerificationProviderJenkinsPtrOutput) Elem() VerificationProviderJenkinsOutput { - return o.ApplyT(func(v *VerificationProviderJenkins) VerificationProviderJenkins { +func (o VerificationTemplateMetricProviderPrometheusPtrOutput) Elem() VerificationTemplateMetricProviderPrometheusOutput { + return o.ApplyT(func(v *VerificationTemplateMetricProviderPrometheus) VerificationTemplateMetricProviderPrometheus { if v != nil { return *v } - var ret VerificationProviderJenkins + var ret VerificationTemplateMetricProviderPrometheus 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) + }).(VerificationTemplateMetricProviderPrometheusOutput) } -// The Jenkins server’s access username. -func (o VerificationProviderJenkinsPtrOutput) Username() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VerificationProviderJenkins) *string { +func (o VerificationTemplateMetricProviderPrometheusPtrOutput) PrometheusQuery() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VerificationTemplateMetricProviderPrometheus) *string { if v == nil { return nil } - return &v.Username + return &v.PrometheusQuery }).(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"` +type VerificationTemplateMetricProviderWeb struct { + Body *string `pulumi:"body"` + Insecure *bool `pulumi:"insecure"` + JsonPath *string `pulumi:"jsonPath"` + Method *string `pulumi:"method"` + TimeoutSeconds *int `pulumi:"timeoutSeconds"` + Url string `pulumi:"url"` + WebHeaders []VerificationTemplateMetricProviderWebWebHeader `pulumi:"webHeaders"` } -// VerificationProviderNewRelicInput is an input type that accepts VerificationProviderNewRelicArgs and VerificationProviderNewRelicOutput values. -// You can construct a concrete instance of `VerificationProviderNewRelicInput` via: +// VerificationTemplateMetricProviderWebInput is an input type that accepts VerificationTemplateMetricProviderWebArgs and VerificationTemplateMetricProviderWebOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricProviderWebInput` via: // -// VerificationProviderNewRelicArgs{...} -type VerificationProviderNewRelicInput interface { +// VerificationTemplateMetricProviderWebArgs{...} +type VerificationTemplateMetricProviderWebInput interface { pulumi.Input - ToVerificationProviderNewRelicOutput() VerificationProviderNewRelicOutput - ToVerificationProviderNewRelicOutputWithContext(context.Context) VerificationProviderNewRelicOutput + ToVerificationTemplateMetricProviderWebOutput() VerificationTemplateMetricProviderWebOutput + ToVerificationTemplateMetricProviderWebOutputWithContext(context.Context) VerificationTemplateMetricProviderWebOutput } -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"` +type VerificationTemplateMetricProviderWebArgs struct { + Body pulumi.StringPtrInput `pulumi:"body"` + Insecure pulumi.BoolPtrInput `pulumi:"insecure"` + JsonPath pulumi.StringPtrInput `pulumi:"jsonPath"` + Method pulumi.StringPtrInput `pulumi:"method"` + TimeoutSeconds pulumi.IntPtrInput `pulumi:"timeoutSeconds"` + Url pulumi.StringInput `pulumi:"url"` + WebHeaders VerificationTemplateMetricProviderWebWebHeaderArrayInput `pulumi:"webHeaders"` } -func (VerificationProviderNewRelicArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VerificationProviderNewRelic)(nil)).Elem() +func (VerificationTemplateMetricProviderWebArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricProviderWeb)(nil)).Elem() } -func (i VerificationProviderNewRelicArgs) ToVerificationProviderNewRelicOutput() VerificationProviderNewRelicOutput { - return i.ToVerificationProviderNewRelicOutputWithContext(context.Background()) +func (i VerificationTemplateMetricProviderWebArgs) ToVerificationTemplateMetricProviderWebOutput() VerificationTemplateMetricProviderWebOutput { + return i.ToVerificationTemplateMetricProviderWebOutputWithContext(context.Background()) } -func (i VerificationProviderNewRelicArgs) ToVerificationProviderNewRelicOutputWithContext(ctx context.Context) VerificationProviderNewRelicOutput { - return pulumi.ToOutputWithContext(ctx, i).(VerificationProviderNewRelicOutput) +func (i VerificationTemplateMetricProviderWebArgs) ToVerificationTemplateMetricProviderWebOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderWebOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderWebOutput) } -func (i VerificationProviderNewRelicArgs) ToVerificationProviderNewRelicPtrOutput() VerificationProviderNewRelicPtrOutput { - return i.ToVerificationProviderNewRelicPtrOutputWithContext(context.Background()) +func (i VerificationTemplateMetricProviderWebArgs) ToVerificationTemplateMetricProviderWebPtrOutput() VerificationTemplateMetricProviderWebPtrOutput { + return i.ToVerificationTemplateMetricProviderWebPtrOutputWithContext(context.Background()) } -func (i VerificationProviderNewRelicArgs) ToVerificationProviderNewRelicPtrOutputWithContext(ctx context.Context) VerificationProviderNewRelicPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VerificationProviderNewRelicOutput).ToVerificationProviderNewRelicPtrOutputWithContext(ctx) +func (i VerificationTemplateMetricProviderWebArgs) ToVerificationTemplateMetricProviderWebPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderWebPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderWebOutput).ToVerificationTemplateMetricProviderWebPtrOutputWithContext(ctx) } -// VerificationProviderNewRelicPtrInput is an input type that accepts VerificationProviderNewRelicArgs, VerificationProviderNewRelicPtr and VerificationProviderNewRelicPtrOutput values. -// You can construct a concrete instance of `VerificationProviderNewRelicPtrInput` via: +// VerificationTemplateMetricProviderWebPtrInput is an input type that accepts VerificationTemplateMetricProviderWebArgs, VerificationTemplateMetricProviderWebPtr and VerificationTemplateMetricProviderWebPtrOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricProviderWebPtrInput` via: // -// VerificationProviderNewRelicArgs{...} +// VerificationTemplateMetricProviderWebArgs{...} // // or: // // nil -type VerificationProviderNewRelicPtrInput interface { +type VerificationTemplateMetricProviderWebPtrInput interface { pulumi.Input - ToVerificationProviderNewRelicPtrOutput() VerificationProviderNewRelicPtrOutput - ToVerificationProviderNewRelicPtrOutputWithContext(context.Context) VerificationProviderNewRelicPtrOutput + ToVerificationTemplateMetricProviderWebPtrOutput() VerificationTemplateMetricProviderWebPtrOutput + ToVerificationTemplateMetricProviderWebPtrOutputWithContext(context.Context) VerificationTemplateMetricProviderWebPtrOutput } -type verificationProviderNewRelicPtrType VerificationProviderNewRelicArgs +type verificationTemplateMetricProviderWebPtrType VerificationTemplateMetricProviderWebArgs -func VerificationProviderNewRelicPtr(v *VerificationProviderNewRelicArgs) VerificationProviderNewRelicPtrInput { - return (*verificationProviderNewRelicPtrType)(v) +func VerificationTemplateMetricProviderWebPtr(v *VerificationTemplateMetricProviderWebArgs) VerificationTemplateMetricProviderWebPtrInput { + return (*verificationTemplateMetricProviderWebPtrType)(v) } -func (*verificationProviderNewRelicPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VerificationProviderNewRelic)(nil)).Elem() +func (*verificationTemplateMetricProviderWebPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationTemplateMetricProviderWeb)(nil)).Elem() } -func (i *verificationProviderNewRelicPtrType) ToVerificationProviderNewRelicPtrOutput() VerificationProviderNewRelicPtrOutput { - return i.ToVerificationProviderNewRelicPtrOutputWithContext(context.Background()) +func (i *verificationTemplateMetricProviderWebPtrType) ToVerificationTemplateMetricProviderWebPtrOutput() VerificationTemplateMetricProviderWebPtrOutput { + return i.ToVerificationTemplateMetricProviderWebPtrOutputWithContext(context.Background()) } -func (i *verificationProviderNewRelicPtrType) ToVerificationProviderNewRelicPtrOutputWithContext(ctx context.Context) VerificationProviderNewRelicPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VerificationProviderNewRelicPtrOutput) +func (i *verificationTemplateMetricProviderWebPtrType) ToVerificationTemplateMetricProviderWebPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderWebPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderWebPtrOutput) } -type VerificationProviderNewRelicOutput struct{ *pulumi.OutputState } +type VerificationTemplateMetricProviderWebOutput struct{ *pulumi.OutputState } -func (VerificationProviderNewRelicOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VerificationProviderNewRelic)(nil)).Elem() +func (VerificationTemplateMetricProviderWebOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricProviderWeb)(nil)).Elem() } -func (o VerificationProviderNewRelicOutput) ToVerificationProviderNewRelicOutput() VerificationProviderNewRelicOutput { +func (o VerificationTemplateMetricProviderWebOutput) ToVerificationTemplateMetricProviderWebOutput() VerificationTemplateMetricProviderWebOutput { return o } -func (o VerificationProviderNewRelicOutput) ToVerificationProviderNewRelicOutputWithContext(ctx context.Context) VerificationProviderNewRelicOutput { +func (o VerificationTemplateMetricProviderWebOutput) ToVerificationTemplateMetricProviderWebOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderWebOutput { return o } -func (o VerificationProviderNewRelicOutput) ToVerificationProviderNewRelicPtrOutput() VerificationProviderNewRelicPtrOutput { - return o.ToVerificationProviderNewRelicPtrOutputWithContext(context.Background()) +func (o VerificationTemplateMetricProviderWebOutput) ToVerificationTemplateMetricProviderWebPtrOutput() VerificationTemplateMetricProviderWebPtrOutput { + return o.ToVerificationTemplateMetricProviderWebPtrOutputWithContext(context.Background()) } -func (o VerificationProviderNewRelicOutput) ToVerificationProviderNewRelicPtrOutputWithContext(ctx context.Context) VerificationProviderNewRelicPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VerificationProviderNewRelic) *VerificationProviderNewRelic { +func (o VerificationTemplateMetricProviderWebOutput) ToVerificationTemplateMetricProviderWebPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderWebPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VerificationTemplateMetricProviderWeb) *VerificationTemplateMetricProviderWeb { return &v - }).(VerificationProviderNewRelicPtrOutput) + }).(VerificationTemplateMetricProviderWebPtrOutput) } -func (o VerificationProviderNewRelicOutput) AccountId() pulumi.StringOutput { - return o.ApplyT(func(v VerificationProviderNewRelic) string { return v.AccountId }).(pulumi.StringOutput) +func (o VerificationTemplateMetricProviderWebOutput) Body() pulumi.StringPtrOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderWeb) *string { return v.Body }).(pulumi.StringPtrOutput) } -// 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) +func (o VerificationTemplateMetricProviderWebOutput) Insecure() pulumi.BoolPtrOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderWeb) *bool { return v.Insecure }).(pulumi.BoolPtrOutput) } -// 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) +func (o VerificationTemplateMetricProviderWebOutput) JsonPath() pulumi.StringPtrOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderWeb) *string { return v.JsonPath }).(pulumi.StringPtrOutput) } -// The NewRelic user key -func (o VerificationProviderNewRelicOutput) PersonalApiKey() pulumi.StringOutput { - return o.ApplyT(func(v VerificationProviderNewRelic) string { return v.PersonalApiKey }).(pulumi.StringOutput) +func (o VerificationTemplateMetricProviderWebOutput) Method() pulumi.StringPtrOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderWeb) *string { return v.Method }).(pulumi.StringPtrOutput) } -// 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) +func (o VerificationTemplateMetricProviderWebOutput) TimeoutSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderWeb) *int { return v.TimeoutSeconds }).(pulumi.IntPtrOutput) } -type VerificationProviderNewRelicPtrOutput struct{ *pulumi.OutputState } +func (o VerificationTemplateMetricProviderWebOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderWeb) string { return v.Url }).(pulumi.StringOutput) +} -func (VerificationProviderNewRelicPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VerificationProviderNewRelic)(nil)).Elem() +func (o VerificationTemplateMetricProviderWebOutput) WebHeaders() VerificationTemplateMetricProviderWebWebHeaderArrayOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderWeb) []VerificationTemplateMetricProviderWebWebHeader { + return v.WebHeaders + }).(VerificationTemplateMetricProviderWebWebHeaderArrayOutput) } -func (o VerificationProviderNewRelicPtrOutput) ToVerificationProviderNewRelicPtrOutput() VerificationProviderNewRelicPtrOutput { +type VerificationTemplateMetricProviderWebPtrOutput struct{ *pulumi.OutputState } + +func (VerificationTemplateMetricProviderWebPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationTemplateMetricProviderWeb)(nil)).Elem() +} + +func (o VerificationTemplateMetricProviderWebPtrOutput) ToVerificationTemplateMetricProviderWebPtrOutput() VerificationTemplateMetricProviderWebPtrOutput { return o } -func (o VerificationProviderNewRelicPtrOutput) ToVerificationProviderNewRelicPtrOutputWithContext(ctx context.Context) VerificationProviderNewRelicPtrOutput { +func (o VerificationTemplateMetricProviderWebPtrOutput) ToVerificationTemplateMetricProviderWebPtrOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderWebPtrOutput { return o } -func (o VerificationProviderNewRelicPtrOutput) Elem() VerificationProviderNewRelicOutput { - return o.ApplyT(func(v *VerificationProviderNewRelic) VerificationProviderNewRelic { +func (o VerificationTemplateMetricProviderWebPtrOutput) Elem() VerificationTemplateMetricProviderWebOutput { + return o.ApplyT(func(v *VerificationTemplateMetricProviderWeb) VerificationTemplateMetricProviderWeb { if v != nil { return *v } - var ret VerificationProviderNewRelic + var ret VerificationTemplateMetricProviderWeb return ret - }).(VerificationProviderNewRelicOutput) + }).(VerificationTemplateMetricProviderWebOutput) } -func (o VerificationProviderNewRelicPtrOutput) AccountId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VerificationProviderNewRelic) *string { +func (o VerificationTemplateMetricProviderWebPtrOutput) Body() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VerificationTemplateMetricProviderWeb) *string { if v == nil { return nil } - return &v.AccountId + return v.Body }).(pulumi.StringPtrOutput) } -// The base URL for NerdGraph for a proxy. -func (o VerificationProviderNewRelicPtrOutput) BaseUrlNerdGraph() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VerificationProviderNewRelic) *string { +func (o VerificationTemplateMetricProviderWebPtrOutput) Insecure() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *VerificationTemplateMetricProviderWeb) *bool { if v == nil { return nil } - return v.BaseUrlNerdGraph - }).(pulumi.StringPtrOutput) + return v.Insecure + }).(pulumi.BoolPtrOutput) } -// 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 { +func (o VerificationTemplateMetricProviderWebPtrOutput) JsonPath() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VerificationTemplateMetricProviderWeb) *string { if v == nil { return nil } - return v.BaseUrlRest + return v.JsonPath }).(pulumi.StringPtrOutput) } -// The NewRelic user key -func (o VerificationProviderNewRelicPtrOutput) PersonalApiKey() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VerificationProviderNewRelic) *string { +func (o VerificationTemplateMetricProviderWebPtrOutput) Method() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VerificationTemplateMetricProviderWeb) *string { if v == nil { return nil } - return &v.PersonalApiKey + return v.Method }).(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 { +func (o VerificationTemplateMetricProviderWebPtrOutput) TimeoutSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VerificationTemplateMetricProviderWeb) *int { if v == nil { return nil } - return v.Region - }).(pulumi.StringPtrOutput) + return v.TimeoutSeconds + }).(pulumi.IntPtrOutput) } -type VerificationProviderPrometheus struct { - // The address which the Prometheus server available on. - Address string `pulumi:"address"` +func (o VerificationTemplateMetricProviderWebPtrOutput) Url() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VerificationTemplateMetricProviderWeb) *string { + if v == nil { + return nil + } + return &v.Url + }).(pulumi.StringPtrOutput) } -// 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 +func (o VerificationTemplateMetricProviderWebPtrOutput) WebHeaders() VerificationTemplateMetricProviderWebWebHeaderArrayOutput { + return o.ApplyT(func(v *VerificationTemplateMetricProviderWeb) []VerificationTemplateMetricProviderWebWebHeader { + if v == nil { + return nil + } + return v.WebHeaders + }).(VerificationTemplateMetricProviderWebWebHeaderArrayOutput) } -type VerificationProviderPrometheusArgs struct { - // The address which the Prometheus server available on. - Address pulumi.StringInput `pulumi:"address"` +type VerificationTemplateMetricProviderWebWebHeader struct { + WebHeaderKey string `pulumi:"webHeaderKey"` + WebHeaderValue string `pulumi:"webHeaderValue"` } -func (VerificationProviderPrometheusArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VerificationProviderPrometheus)(nil)).Elem() +// VerificationTemplateMetricProviderWebWebHeaderInput is an input type that accepts VerificationTemplateMetricProviderWebWebHeaderArgs and VerificationTemplateMetricProviderWebWebHeaderOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricProviderWebWebHeaderInput` via: +// +// VerificationTemplateMetricProviderWebWebHeaderArgs{...} +type VerificationTemplateMetricProviderWebWebHeaderInput interface { + pulumi.Input + + ToVerificationTemplateMetricProviderWebWebHeaderOutput() VerificationTemplateMetricProviderWebWebHeaderOutput + ToVerificationTemplateMetricProviderWebWebHeaderOutputWithContext(context.Context) VerificationTemplateMetricProviderWebWebHeaderOutput } -func (i VerificationProviderPrometheusArgs) ToVerificationProviderPrometheusOutput() VerificationProviderPrometheusOutput { - return i.ToVerificationProviderPrometheusOutputWithContext(context.Background()) +type VerificationTemplateMetricProviderWebWebHeaderArgs struct { + WebHeaderKey pulumi.StringInput `pulumi:"webHeaderKey"` + WebHeaderValue pulumi.StringInput `pulumi:"webHeaderValue"` } -func (i VerificationProviderPrometheusArgs) ToVerificationProviderPrometheusOutputWithContext(ctx context.Context) VerificationProviderPrometheusOutput { - return pulumi.ToOutputWithContext(ctx, i).(VerificationProviderPrometheusOutput) +func (VerificationTemplateMetricProviderWebWebHeaderArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricProviderWebWebHeader)(nil)).Elem() } -func (i VerificationProviderPrometheusArgs) ToVerificationProviderPrometheusPtrOutput() VerificationProviderPrometheusPtrOutput { - return i.ToVerificationProviderPrometheusPtrOutputWithContext(context.Background()) +func (i VerificationTemplateMetricProviderWebWebHeaderArgs) ToVerificationTemplateMetricProviderWebWebHeaderOutput() VerificationTemplateMetricProviderWebWebHeaderOutput { + return i.ToVerificationTemplateMetricProviderWebWebHeaderOutputWithContext(context.Background()) } -func (i VerificationProviderPrometheusArgs) ToVerificationProviderPrometheusPtrOutputWithContext(ctx context.Context) VerificationProviderPrometheusPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VerificationProviderPrometheusOutput).ToVerificationProviderPrometheusPtrOutputWithContext(ctx) +func (i VerificationTemplateMetricProviderWebWebHeaderArgs) ToVerificationTemplateMetricProviderWebWebHeaderOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderWebWebHeaderOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderWebWebHeaderOutput) } -// VerificationProviderPrometheusPtrInput is an input type that accepts VerificationProviderPrometheusArgs, VerificationProviderPrometheusPtr and VerificationProviderPrometheusPtrOutput values. -// You can construct a concrete instance of `VerificationProviderPrometheusPtrInput` via: -// -// VerificationProviderPrometheusArgs{...} +// VerificationTemplateMetricProviderWebWebHeaderArrayInput is an input type that accepts VerificationTemplateMetricProviderWebWebHeaderArray and VerificationTemplateMetricProviderWebWebHeaderArrayOutput values. +// You can construct a concrete instance of `VerificationTemplateMetricProviderWebWebHeaderArrayInput` via: // -// or: -// -// nil -type VerificationProviderPrometheusPtrInput interface { +// VerificationTemplateMetricProviderWebWebHeaderArray{ VerificationTemplateMetricProviderWebWebHeaderArgs{...} } +type VerificationTemplateMetricProviderWebWebHeaderArrayInput interface { pulumi.Input - ToVerificationProviderPrometheusPtrOutput() VerificationProviderPrometheusPtrOutput - ToVerificationProviderPrometheusPtrOutputWithContext(context.Context) VerificationProviderPrometheusPtrOutput + ToVerificationTemplateMetricProviderWebWebHeaderArrayOutput() VerificationTemplateMetricProviderWebWebHeaderArrayOutput + ToVerificationTemplateMetricProviderWebWebHeaderArrayOutputWithContext(context.Context) VerificationTemplateMetricProviderWebWebHeaderArrayOutput } -type verificationProviderPrometheusPtrType VerificationProviderPrometheusArgs - -func VerificationProviderPrometheusPtr(v *VerificationProviderPrometheusArgs) VerificationProviderPrometheusPtrInput { - return (*verificationProviderPrometheusPtrType)(v) -} +type VerificationTemplateMetricProviderWebWebHeaderArray []VerificationTemplateMetricProviderWebWebHeaderInput -func (*verificationProviderPrometheusPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VerificationProviderPrometheus)(nil)).Elem() +func (VerificationTemplateMetricProviderWebWebHeaderArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]VerificationTemplateMetricProviderWebWebHeader)(nil)).Elem() } -func (i *verificationProviderPrometheusPtrType) ToVerificationProviderPrometheusPtrOutput() VerificationProviderPrometheusPtrOutput { - return i.ToVerificationProviderPrometheusPtrOutputWithContext(context.Background()) +func (i VerificationTemplateMetricProviderWebWebHeaderArray) ToVerificationTemplateMetricProviderWebWebHeaderArrayOutput() VerificationTemplateMetricProviderWebWebHeaderArrayOutput { + return i.ToVerificationTemplateMetricProviderWebWebHeaderArrayOutputWithContext(context.Background()) } -func (i *verificationProviderPrometheusPtrType) ToVerificationProviderPrometheusPtrOutputWithContext(ctx context.Context) VerificationProviderPrometheusPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VerificationProviderPrometheusPtrOutput) +func (i VerificationTemplateMetricProviderWebWebHeaderArray) ToVerificationTemplateMetricProviderWebWebHeaderArrayOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderWebWebHeaderArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMetricProviderWebWebHeaderArrayOutput) } -type VerificationProviderPrometheusOutput struct{ *pulumi.OutputState } +type VerificationTemplateMetricProviderWebWebHeaderOutput struct{ *pulumi.OutputState } -func (VerificationProviderPrometheusOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VerificationProviderPrometheus)(nil)).Elem() +func (VerificationTemplateMetricProviderWebWebHeaderOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VerificationTemplateMetricProviderWebWebHeader)(nil)).Elem() } -func (o VerificationProviderPrometheusOutput) ToVerificationProviderPrometheusOutput() VerificationProviderPrometheusOutput { +func (o VerificationTemplateMetricProviderWebWebHeaderOutput) ToVerificationTemplateMetricProviderWebWebHeaderOutput() VerificationTemplateMetricProviderWebWebHeaderOutput { return o } -func (o VerificationProviderPrometheusOutput) ToVerificationProviderPrometheusOutputWithContext(ctx context.Context) VerificationProviderPrometheusOutput { +func (o VerificationTemplateMetricProviderWebWebHeaderOutput) ToVerificationTemplateMetricProviderWebWebHeaderOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderWebWebHeaderOutput { 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) +func (o VerificationTemplateMetricProviderWebWebHeaderOutput) WebHeaderKey() pulumi.StringOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderWebWebHeader) string { return v.WebHeaderKey }).(pulumi.StringOutput) } -// 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) +func (o VerificationTemplateMetricProviderWebWebHeaderOutput) WebHeaderValue() pulumi.StringOutput { + return o.ApplyT(func(v VerificationTemplateMetricProviderWebWebHeader) string { return v.WebHeaderValue }).(pulumi.StringOutput) } -type VerificationProviderPrometheusPtrOutput struct{ *pulumi.OutputState } +type VerificationTemplateMetricProviderWebWebHeaderArrayOutput struct{ *pulumi.OutputState } -func (VerificationProviderPrometheusPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VerificationProviderPrometheus)(nil)).Elem() +func (VerificationTemplateMetricProviderWebWebHeaderArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]VerificationTemplateMetricProviderWebWebHeader)(nil)).Elem() } -func (o VerificationProviderPrometheusPtrOutput) ToVerificationProviderPrometheusPtrOutput() VerificationProviderPrometheusPtrOutput { +func (o VerificationTemplateMetricProviderWebWebHeaderArrayOutput) ToVerificationTemplateMetricProviderWebWebHeaderArrayOutput() VerificationTemplateMetricProviderWebWebHeaderArrayOutput { return o } -func (o VerificationProviderPrometheusPtrOutput) ToVerificationProviderPrometheusPtrOutputWithContext(ctx context.Context) VerificationProviderPrometheusPtrOutput { +func (o VerificationTemplateMetricProviderWebWebHeaderArrayOutput) ToVerificationTemplateMetricProviderWebWebHeaderArrayOutputWithContext(ctx context.Context) VerificationTemplateMetricProviderWebWebHeaderArrayOutput { 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 (o VerificationTemplateMetricProviderWebWebHeaderArrayOutput) Index(i pulumi.IntInput) VerificationTemplateMetricProviderWebWebHeaderOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) VerificationTemplateMetricProviderWebWebHeader { + return vs[0].([]VerificationTemplateMetricProviderWebWebHeader)[vs[1].(int)] + }).(VerificationTemplateMetricProviderWebWebHeaderOutput) } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*RolloutSpecFailurePolicyInput)(nil)).Elem(), RolloutSpecFailurePolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RolloutSpecFailurePolicyPtrInput)(nil)).Elem(), RolloutSpecFailurePolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RolloutSpecSpotDeploymentInput)(nil)).Elem(), RolloutSpecSpotDeploymentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RolloutSpecSpotDeploymentPtrInput)(nil)).Elem(), RolloutSpecSpotDeploymentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RolloutSpecSpotDeploymentArrayInput)(nil)).Elem(), RolloutSpecSpotDeploymentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RolloutSpecStrategyInput)(nil)).Elem(), RolloutSpecStrategyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RolloutSpecStrategyPtrInput)(nil)).Elem(), RolloutSpecStrategyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RolloutSpecStrategyArgInput)(nil)).Elem(), RolloutSpecStrategyArgArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RolloutSpecStrategyArgArrayInput)(nil)).Elem(), RolloutSpecStrategyArgArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RolloutSpecStrategyArgValueFromInput)(nil)).Elem(), RolloutSpecStrategyArgValueFromArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RolloutSpecStrategyArgValueFromPtrInput)(nil)).Elem(), RolloutSpecStrategyArgValueFromArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RolloutSpecStrategyArgValueFromFieldRefInput)(nil)).Elem(), RolloutSpecStrategyArgValueFromFieldRefArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RolloutSpecStrategyArgValueFromFieldRefPtrInput)(nil)).Elem(), RolloutSpecStrategyArgValueFromFieldRefArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RolloutSpecTrafficInput)(nil)).Elem(), RolloutSpecTrafficArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RolloutSpecTrafficPtrInput)(nil)).Elem(), RolloutSpecTrafficArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RolloutSpecTrafficAlbInput)(nil)).Elem(), RolloutSpecTrafficAlbArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RolloutSpecTrafficAlbPtrInput)(nil)).Elem(), RolloutSpecTrafficAlbArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RolloutSpecTrafficAlbStickinessConfigInput)(nil)).Elem(), RolloutSpecTrafficAlbStickinessConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RolloutSpecTrafficAlbStickinessConfigPtrInput)(nil)).Elem(), RolloutSpecTrafficAlbStickinessConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RolloutSpecTrafficAmbassadorInput)(nil)).Elem(), RolloutSpecTrafficAmbassadorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RolloutSpecTrafficAmbassadorPtrInput)(nil)).Elem(), RolloutSpecTrafficAmbassadorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RolloutSpecTrafficIstioInput)(nil)).Elem(), RolloutSpecTrafficIstioArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RolloutSpecTrafficIstioPtrInput)(nil)).Elem(), RolloutSpecTrafficIstioArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RolloutSpecTrafficIstioDestinationRuleInput)(nil)).Elem(), RolloutSpecTrafficIstioDestinationRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RolloutSpecTrafficIstioDestinationRulePtrInput)(nil)).Elem(), RolloutSpecTrafficIstioDestinationRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RolloutSpecTrafficIstioVirtualServiceInput)(nil)).Elem(), RolloutSpecTrafficIstioVirtualServiceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RolloutSpecTrafficIstioVirtualServiceArrayInput)(nil)).Elem(), RolloutSpecTrafficIstioVirtualServiceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RolloutSpecTrafficIstioVirtualServiceTlsRouteInput)(nil)).Elem(), RolloutSpecTrafficIstioVirtualServiceTlsRouteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RolloutSpecTrafficIstioVirtualServiceTlsRouteArrayInput)(nil)).Elem(), RolloutSpecTrafficIstioVirtualServiceTlsRouteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RolloutSpecTrafficNginxInput)(nil)).Elem(), RolloutSpecTrafficNginxArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RolloutSpecTrafficNginxPtrInput)(nil)).Elem(), RolloutSpecTrafficNginxArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RolloutSpecTrafficNginxAdditionalIngressAnnotationInput)(nil)).Elem(), RolloutSpecTrafficNginxAdditionalIngressAnnotationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RolloutSpecTrafficNginxAdditionalIngressAnnotationPtrInput)(nil)).Elem(), RolloutSpecTrafficNginxAdditionalIngressAnnotationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RolloutSpecTrafficPingPongInput)(nil)).Elem(), RolloutSpecTrafficPingPongArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RolloutSpecTrafficPingPongPtrInput)(nil)).Elem(), RolloutSpecTrafficPingPongArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RolloutSpecTrafficSmiInput)(nil)).Elem(), RolloutSpecTrafficSmiArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RolloutSpecTrafficSmiPtrInput)(nil)).Elem(), RolloutSpecTrafficSmiArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*StrategyCanaryInput)(nil)).Elem(), StrategyCanaryArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*StrategyCanaryPtrInput)(nil)).Elem(), StrategyCanaryArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*StrategyCanaryBackgroundVerificationInput)(nil)).Elem(), StrategyCanaryBackgroundVerificationArgs{}) @@ -2544,6 +9165,97 @@ func init() { 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.RegisterInputType(reflect.TypeOf((*VerificationTemplateArgInput)(nil)).Elem(), VerificationTemplateArgArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateArgArrayInput)(nil)).Elem(), VerificationTemplateArgArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateArgValueFromInput)(nil)).Elem(), VerificationTemplateArgValueFromArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateArgValueFromPtrInput)(nil)).Elem(), VerificationTemplateArgValueFromArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateArgValueFromSecretKeyRefInput)(nil)).Elem(), VerificationTemplateArgValueFromSecretKeyRefArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateArgValueFromSecretKeyRefPtrInput)(nil)).Elem(), VerificationTemplateArgValueFromSecretKeyRefArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricInput)(nil)).Elem(), VerificationTemplateMetricArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricArrayInput)(nil)).Elem(), VerificationTemplateMetricArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricBaselineInput)(nil)).Elem(), VerificationTemplateMetricBaselineArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricBaselinePtrInput)(nil)).Elem(), VerificationTemplateMetricBaselineArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricBaselineBaselineProviderInput)(nil)).Elem(), VerificationTemplateMetricBaselineBaselineProviderArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricBaselineBaselineProviderArrayInput)(nil)).Elem(), VerificationTemplateMetricBaselineBaselineProviderArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricBaselineBaselineProviderDatadogInput)(nil)).Elem(), VerificationTemplateMetricBaselineBaselineProviderDatadogArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricBaselineBaselineProviderDatadogPtrInput)(nil)).Elem(), VerificationTemplateMetricBaselineBaselineProviderDatadogArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricBaselineBaselineProviderNewRelicInput)(nil)).Elem(), VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricBaselineBaselineProviderNewRelicPtrInput)(nil)).Elem(), VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricBaselineBaselineProviderPrometheusInput)(nil)).Elem(), VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricBaselineBaselineProviderPrometheusPtrInput)(nil)).Elem(), VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricProviderInput)(nil)).Elem(), VerificationTemplateMetricProviderArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricProviderArrayInput)(nil)).Elem(), VerificationTemplateMetricProviderArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricProviderCloudWatchInput)(nil)).Elem(), VerificationTemplateMetricProviderCloudWatchArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricProviderCloudWatchPtrInput)(nil)).Elem(), VerificationTemplateMetricProviderCloudWatchArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricProviderCloudWatchMetricDataQueryInput)(nil)).Elem(), VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricProviderCloudWatchMetricDataQueryArrayInput)(nil)).Elem(), VerificationTemplateMetricProviderCloudWatchMetricDataQueryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatInput)(nil)).Elem(), VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrInput)(nil)).Elem(), VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricInput)(nil)).Elem(), VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrInput)(nil)).Elem(), VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionInput)(nil)).Elem(), VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArrayInput)(nil)).Elem(), VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricProviderDatadogInput)(nil)).Elem(), VerificationTemplateMetricProviderDatadogArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricProviderDatadogPtrInput)(nil)).Elem(), VerificationTemplateMetricProviderDatadogArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricProviderJenkinsInput)(nil)).Elem(), VerificationTemplateMetricProviderJenkinsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricProviderJenkinsPtrInput)(nil)).Elem(), VerificationTemplateMetricProviderJenkinsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricProviderJenkinsJenkinsParametersInput)(nil)).Elem(), VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricProviderJenkinsJenkinsParametersPtrInput)(nil)).Elem(), VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricProviderJobInput)(nil)).Elem(), VerificationTemplateMetricProviderJobArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricProviderJobPtrInput)(nil)).Elem(), VerificationTemplateMetricProviderJobArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricProviderJobSpecInput)(nil)).Elem(), VerificationTemplateMetricProviderJobSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricProviderJobSpecArrayInput)(nil)).Elem(), VerificationTemplateMetricProviderJobSpecArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricProviderJobSpecJobTemplateInput)(nil)).Elem(), VerificationTemplateMetricProviderJobSpecJobTemplateArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricProviderJobSpecJobTemplateArrayInput)(nil)).Elem(), VerificationTemplateMetricProviderJobSpecJobTemplateArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecInput)(nil)).Elem(), VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArrayInput)(nil)).Elem(), VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerInput)(nil)).Elem(), VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArrayInput)(nil)).Elem(), VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricProviderNewRelicInput)(nil)).Elem(), VerificationTemplateMetricProviderNewRelicArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricProviderNewRelicPtrInput)(nil)).Elem(), VerificationTemplateMetricProviderNewRelicArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricProviderPrometheusInput)(nil)).Elem(), VerificationTemplateMetricProviderPrometheusArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricProviderPrometheusPtrInput)(nil)).Elem(), VerificationTemplateMetricProviderPrometheusArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricProviderWebInput)(nil)).Elem(), VerificationTemplateMetricProviderWebArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricProviderWebPtrInput)(nil)).Elem(), VerificationTemplateMetricProviderWebArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricProviderWebWebHeaderInput)(nil)).Elem(), VerificationTemplateMetricProviderWebWebHeaderArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMetricProviderWebWebHeaderArrayInput)(nil)).Elem(), VerificationTemplateMetricProviderWebWebHeaderArray{}) + pulumi.RegisterOutputType(RolloutSpecFailurePolicyOutput{}) + pulumi.RegisterOutputType(RolloutSpecFailurePolicyPtrOutput{}) + pulumi.RegisterOutputType(RolloutSpecSpotDeploymentOutput{}) + pulumi.RegisterOutputType(RolloutSpecSpotDeploymentPtrOutput{}) + pulumi.RegisterOutputType(RolloutSpecSpotDeploymentArrayOutput{}) + pulumi.RegisterOutputType(RolloutSpecStrategyOutput{}) + pulumi.RegisterOutputType(RolloutSpecStrategyPtrOutput{}) + pulumi.RegisterOutputType(RolloutSpecStrategyArgOutput{}) + pulumi.RegisterOutputType(RolloutSpecStrategyArgArrayOutput{}) + pulumi.RegisterOutputType(RolloutSpecStrategyArgValueFromOutput{}) + pulumi.RegisterOutputType(RolloutSpecStrategyArgValueFromPtrOutput{}) + pulumi.RegisterOutputType(RolloutSpecStrategyArgValueFromFieldRefOutput{}) + pulumi.RegisterOutputType(RolloutSpecStrategyArgValueFromFieldRefPtrOutput{}) + pulumi.RegisterOutputType(RolloutSpecTrafficOutput{}) + pulumi.RegisterOutputType(RolloutSpecTrafficPtrOutput{}) + pulumi.RegisterOutputType(RolloutSpecTrafficAlbOutput{}) + pulumi.RegisterOutputType(RolloutSpecTrafficAlbPtrOutput{}) + pulumi.RegisterOutputType(RolloutSpecTrafficAlbStickinessConfigOutput{}) + pulumi.RegisterOutputType(RolloutSpecTrafficAlbStickinessConfigPtrOutput{}) + pulumi.RegisterOutputType(RolloutSpecTrafficAmbassadorOutput{}) + pulumi.RegisterOutputType(RolloutSpecTrafficAmbassadorPtrOutput{}) + pulumi.RegisterOutputType(RolloutSpecTrafficIstioOutput{}) + pulumi.RegisterOutputType(RolloutSpecTrafficIstioPtrOutput{}) + pulumi.RegisterOutputType(RolloutSpecTrafficIstioDestinationRuleOutput{}) + pulumi.RegisterOutputType(RolloutSpecTrafficIstioDestinationRulePtrOutput{}) + pulumi.RegisterOutputType(RolloutSpecTrafficIstioVirtualServiceOutput{}) + pulumi.RegisterOutputType(RolloutSpecTrafficIstioVirtualServiceArrayOutput{}) + pulumi.RegisterOutputType(RolloutSpecTrafficIstioVirtualServiceTlsRouteOutput{}) + pulumi.RegisterOutputType(RolloutSpecTrafficIstioVirtualServiceTlsRouteArrayOutput{}) + pulumi.RegisterOutputType(RolloutSpecTrafficNginxOutput{}) + pulumi.RegisterOutputType(RolloutSpecTrafficNginxPtrOutput{}) + pulumi.RegisterOutputType(RolloutSpecTrafficNginxAdditionalIngressAnnotationOutput{}) + pulumi.RegisterOutputType(RolloutSpecTrafficNginxAdditionalIngressAnnotationPtrOutput{}) + pulumi.RegisterOutputType(RolloutSpecTrafficPingPongOutput{}) + pulumi.RegisterOutputType(RolloutSpecTrafficPingPongPtrOutput{}) + pulumi.RegisterOutputType(RolloutSpecTrafficSmiOutput{}) + pulumi.RegisterOutputType(RolloutSpecTrafficSmiPtrOutput{}) pulumi.RegisterOutputType(StrategyCanaryOutput{}) pulumi.RegisterOutputType(StrategyCanaryPtrOutput{}) pulumi.RegisterOutputType(StrategyCanaryBackgroundVerificationOutput{}) @@ -2579,4 +9291,58 @@ func init() { pulumi.RegisterOutputType(VerificationProviderNewRelicPtrOutput{}) pulumi.RegisterOutputType(VerificationProviderPrometheusOutput{}) pulumi.RegisterOutputType(VerificationProviderPrometheusPtrOutput{}) + pulumi.RegisterOutputType(VerificationTemplateArgOutput{}) + pulumi.RegisterOutputType(VerificationTemplateArgArrayOutput{}) + pulumi.RegisterOutputType(VerificationTemplateArgValueFromOutput{}) + pulumi.RegisterOutputType(VerificationTemplateArgValueFromPtrOutput{}) + pulumi.RegisterOutputType(VerificationTemplateArgValueFromSecretKeyRefOutput{}) + pulumi.RegisterOutputType(VerificationTemplateArgValueFromSecretKeyRefPtrOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricArrayOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricBaselineOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricBaselinePtrOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricBaselineBaselineProviderOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricBaselineBaselineProviderArrayOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricBaselineBaselineProviderDatadogOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricBaselineBaselineProviderDatadogPtrOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricBaselineBaselineProviderNewRelicOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricBaselineBaselineProviderNewRelicPtrOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricBaselineBaselineProviderPrometheusOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricBaselineBaselineProviderPrometheusPtrOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricProviderOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricProviderArrayOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricProviderCloudWatchOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricProviderCloudWatchPtrOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricProviderCloudWatchMetricDataQueryOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricProviderCloudWatchMetricDataQueryArrayOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatPtrOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricPtrOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArrayOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricProviderDatadogOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricProviderDatadogPtrOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricProviderJenkinsOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricProviderJenkinsPtrOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricProviderJenkinsJenkinsParametersOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricProviderJenkinsJenkinsParametersPtrOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricProviderJobOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricProviderJobPtrOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricProviderJobSpecOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricProviderJobSpecArrayOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricProviderJobSpecJobTemplateOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricProviderJobSpecJobTemplateArrayOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArrayOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArrayOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricProviderNewRelicOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricProviderNewRelicPtrOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricProviderPrometheusOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricProviderPrometheusPtrOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricProviderWebOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricProviderWebPtrOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricProviderWebWebHeaderOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMetricProviderWebWebHeaderArrayOutput{}) } diff --git a/sdk/go/spotinst/oceancd/rolloutSpec.go b/sdk/go/spotinst/oceancd/rolloutSpec.go new file mode 100644 index 00000000..6078e030 --- /dev/null +++ b/sdk/go/spotinst/oceancd/rolloutSpec.go @@ -0,0 +1,297 @@ +// 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 Rollout Spec resource. +type RolloutSpec struct { + pulumi.CustomResourceState + + // Holds information on how to react when failure happens. + FailurePolicy RolloutSpecFailurePolicyPtrOutput `pulumi:"failurePolicy"` + // Identifier name for Ocean CD Rollout Spec. Must be unique + RolloutSpecName pulumi.StringOutput `pulumi:"rolloutSpecName"` + // Represents the SpotDeployment selector. + SpotDeployment RolloutSpecSpotDeploymentPtrOutput `pulumi:"spotDeployment"` + // You must specify either `spotDeployment` OR `spotDeployments` but not both. Every SpotDeployment has to be unique. If more than one `SpotDeployment` has been configured, no `traffic` managers can be set as part of the RolloutSpec.For such case ensure that each of the chosen SpotDeployments are being exposed with different Kubernetes services. + SpotDeployments RolloutSpecSpotDeploymentArrayOutput `pulumi:"spotDeployments"` + // Determines the Ocean CD strategy + Strategy RolloutSpecStrategyOutput `pulumi:"strategy"` + // Hosts all of the supported service meshes needed to enable more fine-grained traffic routing. In case `SpotDeployments` contains more than one SpotDeployment the `traffic` manager may not be configured. + Traffic RolloutSpecTrafficPtrOutput `pulumi:"traffic"` +} + +// NewRolloutSpec registers a new resource with the given unique name, arguments, and options. +func NewRolloutSpec(ctx *pulumi.Context, + name string, args *RolloutSpecArgs, opts ...pulumi.ResourceOption) (*RolloutSpec, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.RolloutSpecName == nil { + return nil, errors.New("invalid value for required argument 'RolloutSpecName'") + } + if args.Strategy == nil { + return nil, errors.New("invalid value for required argument 'Strategy'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource RolloutSpec + err := ctx.RegisterResource("spotinst:oceancd/rolloutSpec:RolloutSpec", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetRolloutSpec gets an existing RolloutSpec 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 GetRolloutSpec(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *RolloutSpecState, opts ...pulumi.ResourceOption) (*RolloutSpec, error) { + var resource RolloutSpec + err := ctx.ReadResource("spotinst:oceancd/rolloutSpec:RolloutSpec", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering RolloutSpec resources. +type rolloutSpecState struct { + // Holds information on how to react when failure happens. + FailurePolicy *RolloutSpecFailurePolicy `pulumi:"failurePolicy"` + // Identifier name for Ocean CD Rollout Spec. Must be unique + RolloutSpecName *string `pulumi:"rolloutSpecName"` + // Represents the SpotDeployment selector. + SpotDeployment *RolloutSpecSpotDeployment `pulumi:"spotDeployment"` + // You must specify either `spotDeployment` OR `spotDeployments` but not both. Every SpotDeployment has to be unique. If more than one `SpotDeployment` has been configured, no `traffic` managers can be set as part of the RolloutSpec.For such case ensure that each of the chosen SpotDeployments are being exposed with different Kubernetes services. + SpotDeployments []RolloutSpecSpotDeployment `pulumi:"spotDeployments"` + // Determines the Ocean CD strategy + Strategy *RolloutSpecStrategy `pulumi:"strategy"` + // Hosts all of the supported service meshes needed to enable more fine-grained traffic routing. In case `SpotDeployments` contains more than one SpotDeployment the `traffic` manager may not be configured. + Traffic *RolloutSpecTraffic `pulumi:"traffic"` +} + +type RolloutSpecState struct { + // Holds information on how to react when failure happens. + FailurePolicy RolloutSpecFailurePolicyPtrInput + // Identifier name for Ocean CD Rollout Spec. Must be unique + RolloutSpecName pulumi.StringPtrInput + // Represents the SpotDeployment selector. + SpotDeployment RolloutSpecSpotDeploymentPtrInput + // You must specify either `spotDeployment` OR `spotDeployments` but not both. Every SpotDeployment has to be unique. If more than one `SpotDeployment` has been configured, no `traffic` managers can be set as part of the RolloutSpec.For such case ensure that each of the chosen SpotDeployments are being exposed with different Kubernetes services. + SpotDeployments RolloutSpecSpotDeploymentArrayInput + // Determines the Ocean CD strategy + Strategy RolloutSpecStrategyPtrInput + // Hosts all of the supported service meshes needed to enable more fine-grained traffic routing. In case `SpotDeployments` contains more than one SpotDeployment the `traffic` manager may not be configured. + Traffic RolloutSpecTrafficPtrInput +} + +func (RolloutSpecState) ElementType() reflect.Type { + return reflect.TypeOf((*rolloutSpecState)(nil)).Elem() +} + +type rolloutSpecArgs struct { + // Holds information on how to react when failure happens. + FailurePolicy *RolloutSpecFailurePolicy `pulumi:"failurePolicy"` + // Identifier name for Ocean CD Rollout Spec. Must be unique + RolloutSpecName string `pulumi:"rolloutSpecName"` + // Represents the SpotDeployment selector. + SpotDeployment *RolloutSpecSpotDeployment `pulumi:"spotDeployment"` + // You must specify either `spotDeployment` OR `spotDeployments` but not both. Every SpotDeployment has to be unique. If more than one `SpotDeployment` has been configured, no `traffic` managers can be set as part of the RolloutSpec.For such case ensure that each of the chosen SpotDeployments are being exposed with different Kubernetes services. + SpotDeployments []RolloutSpecSpotDeployment `pulumi:"spotDeployments"` + // Determines the Ocean CD strategy + Strategy RolloutSpecStrategy `pulumi:"strategy"` + // Hosts all of the supported service meshes needed to enable more fine-grained traffic routing. In case `SpotDeployments` contains more than one SpotDeployment the `traffic` manager may not be configured. + Traffic *RolloutSpecTraffic `pulumi:"traffic"` +} + +// The set of arguments for constructing a RolloutSpec resource. +type RolloutSpecArgs struct { + // Holds information on how to react when failure happens. + FailurePolicy RolloutSpecFailurePolicyPtrInput + // Identifier name for Ocean CD Rollout Spec. Must be unique + RolloutSpecName pulumi.StringInput + // Represents the SpotDeployment selector. + SpotDeployment RolloutSpecSpotDeploymentPtrInput + // You must specify either `spotDeployment` OR `spotDeployments` but not both. Every SpotDeployment has to be unique. If more than one `SpotDeployment` has been configured, no `traffic` managers can be set as part of the RolloutSpec.For such case ensure that each of the chosen SpotDeployments are being exposed with different Kubernetes services. + SpotDeployments RolloutSpecSpotDeploymentArrayInput + // Determines the Ocean CD strategy + Strategy RolloutSpecStrategyInput + // Hosts all of the supported service meshes needed to enable more fine-grained traffic routing. In case `SpotDeployments` contains more than one SpotDeployment the `traffic` manager may not be configured. + Traffic RolloutSpecTrafficPtrInput +} + +func (RolloutSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*rolloutSpecArgs)(nil)).Elem() +} + +type RolloutSpecInput interface { + pulumi.Input + + ToRolloutSpecOutput() RolloutSpecOutput + ToRolloutSpecOutputWithContext(ctx context.Context) RolloutSpecOutput +} + +func (*RolloutSpec) ElementType() reflect.Type { + return reflect.TypeOf((**RolloutSpec)(nil)).Elem() +} + +func (i *RolloutSpec) ToRolloutSpecOutput() RolloutSpecOutput { + return i.ToRolloutSpecOutputWithContext(context.Background()) +} + +func (i *RolloutSpec) ToRolloutSpecOutputWithContext(ctx context.Context) RolloutSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecOutput) +} + +// RolloutSpecArrayInput is an input type that accepts RolloutSpecArray and RolloutSpecArrayOutput values. +// You can construct a concrete instance of `RolloutSpecArrayInput` via: +// +// RolloutSpecArray{ RolloutSpecArgs{...} } +type RolloutSpecArrayInput interface { + pulumi.Input + + ToRolloutSpecArrayOutput() RolloutSpecArrayOutput + ToRolloutSpecArrayOutputWithContext(context.Context) RolloutSpecArrayOutput +} + +type RolloutSpecArray []RolloutSpecInput + +func (RolloutSpecArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*RolloutSpec)(nil)).Elem() +} + +func (i RolloutSpecArray) ToRolloutSpecArrayOutput() RolloutSpecArrayOutput { + return i.ToRolloutSpecArrayOutputWithContext(context.Background()) +} + +func (i RolloutSpecArray) ToRolloutSpecArrayOutputWithContext(ctx context.Context) RolloutSpecArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecArrayOutput) +} + +// RolloutSpecMapInput is an input type that accepts RolloutSpecMap and RolloutSpecMapOutput values. +// You can construct a concrete instance of `RolloutSpecMapInput` via: +// +// RolloutSpecMap{ "key": RolloutSpecArgs{...} } +type RolloutSpecMapInput interface { + pulumi.Input + + ToRolloutSpecMapOutput() RolloutSpecMapOutput + ToRolloutSpecMapOutputWithContext(context.Context) RolloutSpecMapOutput +} + +type RolloutSpecMap map[string]RolloutSpecInput + +func (RolloutSpecMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*RolloutSpec)(nil)).Elem() +} + +func (i RolloutSpecMap) ToRolloutSpecMapOutput() RolloutSpecMapOutput { + return i.ToRolloutSpecMapOutputWithContext(context.Background()) +} + +func (i RolloutSpecMap) ToRolloutSpecMapOutputWithContext(ctx context.Context) RolloutSpecMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(RolloutSpecMapOutput) +} + +type RolloutSpecOutput struct{ *pulumi.OutputState } + +func (RolloutSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RolloutSpec)(nil)).Elem() +} + +func (o RolloutSpecOutput) ToRolloutSpecOutput() RolloutSpecOutput { + return o +} + +func (o RolloutSpecOutput) ToRolloutSpecOutputWithContext(ctx context.Context) RolloutSpecOutput { + return o +} + +// Holds information on how to react when failure happens. +func (o RolloutSpecOutput) FailurePolicy() RolloutSpecFailurePolicyPtrOutput { + return o.ApplyT(func(v *RolloutSpec) RolloutSpecFailurePolicyPtrOutput { return v.FailurePolicy }).(RolloutSpecFailurePolicyPtrOutput) +} + +// Identifier name for Ocean CD Rollout Spec. Must be unique +func (o RolloutSpecOutput) RolloutSpecName() pulumi.StringOutput { + return o.ApplyT(func(v *RolloutSpec) pulumi.StringOutput { return v.RolloutSpecName }).(pulumi.StringOutput) +} + +// Represents the SpotDeployment selector. +func (o RolloutSpecOutput) SpotDeployment() RolloutSpecSpotDeploymentPtrOutput { + return o.ApplyT(func(v *RolloutSpec) RolloutSpecSpotDeploymentPtrOutput { return v.SpotDeployment }).(RolloutSpecSpotDeploymentPtrOutput) +} + +// You must specify either `spotDeployment` OR `spotDeployments` but not both. Every SpotDeployment has to be unique. If more than one `SpotDeployment` has been configured, no `traffic` managers can be set as part of the RolloutSpec.For such case ensure that each of the chosen SpotDeployments are being exposed with different Kubernetes services. +func (o RolloutSpecOutput) SpotDeployments() RolloutSpecSpotDeploymentArrayOutput { + return o.ApplyT(func(v *RolloutSpec) RolloutSpecSpotDeploymentArrayOutput { return v.SpotDeployments }).(RolloutSpecSpotDeploymentArrayOutput) +} + +// Determines the Ocean CD strategy +func (o RolloutSpecOutput) Strategy() RolloutSpecStrategyOutput { + return o.ApplyT(func(v *RolloutSpec) RolloutSpecStrategyOutput { return v.Strategy }).(RolloutSpecStrategyOutput) +} + +// Hosts all of the supported service meshes needed to enable more fine-grained traffic routing. In case `SpotDeployments` contains more than one SpotDeployment the `traffic` manager may not be configured. +func (o RolloutSpecOutput) Traffic() RolloutSpecTrafficPtrOutput { + return o.ApplyT(func(v *RolloutSpec) RolloutSpecTrafficPtrOutput { return v.Traffic }).(RolloutSpecTrafficPtrOutput) +} + +type RolloutSpecArrayOutput struct{ *pulumi.OutputState } + +func (RolloutSpecArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*RolloutSpec)(nil)).Elem() +} + +func (o RolloutSpecArrayOutput) ToRolloutSpecArrayOutput() RolloutSpecArrayOutput { + return o +} + +func (o RolloutSpecArrayOutput) ToRolloutSpecArrayOutputWithContext(ctx context.Context) RolloutSpecArrayOutput { + return o +} + +func (o RolloutSpecArrayOutput) Index(i pulumi.IntInput) RolloutSpecOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *RolloutSpec { + return vs[0].([]*RolloutSpec)[vs[1].(int)] + }).(RolloutSpecOutput) +} + +type RolloutSpecMapOutput struct{ *pulumi.OutputState } + +func (RolloutSpecMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*RolloutSpec)(nil)).Elem() +} + +func (o RolloutSpecMapOutput) ToRolloutSpecMapOutput() RolloutSpecMapOutput { + return o +} + +func (o RolloutSpecMapOutput) ToRolloutSpecMapOutputWithContext(ctx context.Context) RolloutSpecMapOutput { + return o +} + +func (o RolloutSpecMapOutput) MapIndex(k pulumi.StringInput) RolloutSpecOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *RolloutSpec { + return vs[0].(map[string]*RolloutSpec)[vs[1].(string)] + }).(RolloutSpecOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*RolloutSpecInput)(nil)).Elem(), &RolloutSpec{}) + pulumi.RegisterInputType(reflect.TypeOf((*RolloutSpecArrayInput)(nil)).Elem(), RolloutSpecArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RolloutSpecMapInput)(nil)).Elem(), RolloutSpecMap{}) + pulumi.RegisterOutputType(RolloutSpecOutput{}) + pulumi.RegisterOutputType(RolloutSpecArrayOutput{}) + pulumi.RegisterOutputType(RolloutSpecMapOutput{}) +} diff --git a/sdk/go/spotinst/oceancd/verificationTemplate.go b/sdk/go/spotinst/oceancd/verificationTemplate.go new file mode 100644 index 00000000..f7c3585c --- /dev/null +++ b/sdk/go/spotinst/oceancd/verificationTemplate.go @@ -0,0 +1,408 @@ +// 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" +) + +// Manages a Spotinst OceanCD Verfification Template 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.NewVerificationTemplate(ctx, "test", &oceancd.VerificationTemplateArgs{ +// Name: pulumi.String("test-verification-template-tes"), +// Args: oceancd.VerificationTemplateArgArray{ +// &oceancd.VerificationTemplateArgArgs{ +// ArgName: pulumi.String("test-arg"), +// Value: pulumi.String("test"), +// ValueFrom: &oceancd.VerificationTemplateArgValueFromArgs{ +// SecretKeyRef: &oceancd.VerificationTemplateArgValueFromSecretKeyRefArgs{ +// Name: pulumi.String("test_key"), +// Key: pulumi.String("key-value-test"), +// }, +// }, +// }, +// }, +// Metrics: oceancd.VerificationTemplateMetricArray{ +// &oceancd.VerificationTemplateMetricArgs{ +// MetricsName: pulumi.String("test-metrics-names"), +// DryRun: pulumi.Bool(false), +// Interval: pulumi.String("10m"), +// InitialDelay: pulumi.String("1m"), +// Count: pulumi.Int(10), +// SuccessCondition: pulumi.String("result[0] <= 0.95"), +// FailureCondition: pulumi.String("result[0] >= 0.95"), +// FailureLimit: pulumi.Int(2), +// ConsecutiveErrorLimit: pulumi.Int(1), +// Providers: oceancd.VerificationTemplateMetricProviderArray{ +// &oceancd.VerificationTemplateMetricProviderArgs{ +// Prometheus: &oceancd.VerificationTemplateMetricProviderPrometheusArgs{ +// PrometheusQuery: pulumi.String("http_requests_new"), +// }, +// Datadog: &oceancd.VerificationTemplateMetricProviderDatadogArgs{ +// Duration: pulumi.String("1m"), +// DatadogQuery: pulumi.String("avg:kubernetes.cpu.user.total"), +// }, +// NewRelic: &oceancd.VerificationTemplateMetricProviderNewRelicArgs{ +// Profile: pulumi.String("test"), +// NewRelicQuery: pulumi.String("FROM Metric SELECT count"), +// }, +// CloudWatch: &oceancd.VerificationTemplateMetricProviderCloudWatchArgs{ +// Duration: pulumi.String("5m"), +// MetricDataQueries: oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryArray{ +// &oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs{ +// Id: pulumi.String("utilization"), +// MetricStat: &oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs{ +// Metric: &oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs{ +// MetricName: pulumi.String("Test"), +// Namespace: pulumi.String("AWS/EC2"), +// Dimensions: oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArray{ +// &oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs{ +// DimensionName: pulumi.String("instandId"), +// DimensionValue: pulumi.String("i-123044"), +// }, +// }, +// }, +// MetricPeriod: pulumi.Int(400), +// Stat: pulumi.String("average"), +// Unit: pulumi.String("None"), +// }, +// Expression: pulumi.String("SELECT AVG(CPUUtilization) FROM SCHEMA"), +// Label: pulumi.String("TestLabel"), +// ReturnData: pulumi.Bool(false), +// Period: pulumi.Int(300), +// }, +// }, +// }, +// Web: &oceancd.VerificationTemplateMetricProviderWebArgs{ +// Method: pulumi.String("GET"), +// Url: pulumi.String("https://oceancd.com/api/v1/metrics?clusterId= args.clusterId"), +// WebHeaders: oceancd.VerificationTemplateMetricProviderWebWebHeaderArray{ +// &oceancd.VerificationTemplateMetricProviderWebWebHeaderArgs{ +// WebHeaderKey: pulumi.String("Autorization"), +// WebHeaderValue: pulumi.String("Bearer=args.token"), +// }, +// }, +// Body: pulumi.String("{\"key\": \"test\"}"), +// TimeoutSeconds: pulumi.Int(20), +// JsonPath: pulumi.String("$.data"), +// Insecure: pulumi.Bool(false), +// }, +// Job: &oceancd.VerificationTemplateMetricProviderJobArgs{ +// Specs: oceancd.VerificationTemplateMetricProviderJobSpecArray{ +// &oceancd.VerificationTemplateMetricProviderJobSpecArgs{ +// BackoffLimit: pulumi.Int(1), +// JobTemplates: oceancd.VerificationTemplateMetricProviderJobSpecJobTemplateArray{ +// &oceancd.VerificationTemplateMetricProviderJobSpecJobTemplateArgs{ +// TemplateSpecs: oceancd.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArray{ +// &oceancd.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs{ +// Containers: oceancd.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArray{ +// &oceancd.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs{ +// ContainerName: pulumi.String("hello"), +// Commands: pulumi.StringArray{ +// pulumi.String("sh"), +// pulumi.String("-c"), +// }, +// Image: pulumi.String("nginx.2.1"), +// }, +// }, +// RestartPolicy: pulumi.String("never"), +// }, +// }, +// }, +// }, +// }, +// }, +// }, +// Jenkins: &oceancd.VerificationTemplateMetricProviderJenkinsArgs{ +// PipelineName: pulumi.String("testPipelineName"), +// TlsVerification: pulumi.Bool(true), +// Timeout: pulumi.String("2m"), +// JenkinsInterval: pulumi.String("5s"), +// JenkinsParameters: &oceancd.VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs{ +// ParameterKey: pulumi.String("app"), +// ParameterValue: pulumi.String("my-app"), +// }, +// }, +// }, +// }, +// Baseline: &oceancd.VerificationTemplateMetricBaselineArgs{ +// BaselineProviders: oceancd.VerificationTemplateMetricBaselineBaselineProviderArray{ +// &oceancd.VerificationTemplateMetricBaselineBaselineProviderArgs{ +// Prometheus: &oceancd.VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs{ +// PrometheusQuery: pulumi.String("http_requests_total.status!"), +// }, +// Datadog: &oceancd.VerificationTemplateMetricBaselineBaselineProviderDatadogArgs{ +// Duration: pulumi.String("2m"), +// DatadogQuery: pulumi.String("avg:kubernetes.cpu.user"), +// }, +// NewRelic: &oceancd.VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs{ +// Profile: pulumi.String("test"), +// NewRelicQuery: pulumi.String("FROM Metric SELECT count*"), +// }, +// }, +// }, +// MinRange: pulumi.Int(40), +// MaxRange: pulumi.Int(50), +// Threshold: pulumi.String("range"), +// }, +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +type VerificationTemplate struct { + pulumi.CustomResourceState + + // List of verification arguments. You may specify either `value` OR `valueFrom` but not both.In case `args`:`value` is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity. + Args VerificationTemplateArgArrayOutput `pulumi:"args"` + // List of verification metrics. + Metrics VerificationTemplateMetricArrayOutput `pulumi:"metrics"` + // Identifier name for Ocean CD Verification Template. Must be unique. + Name pulumi.StringOutput `pulumi:"name"` +} + +// NewVerificationTemplate registers a new resource with the given unique name, arguments, and options. +func NewVerificationTemplate(ctx *pulumi.Context, + name string, args *VerificationTemplateArgs, opts ...pulumi.ResourceOption) (*VerificationTemplate, error) { + if args == nil { + args = &VerificationTemplateArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource VerificationTemplate + err := ctx.RegisterResource("spotinst:oceancd/verificationTemplate:VerificationTemplate", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetVerificationTemplate gets an existing VerificationTemplate 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 GetVerificationTemplate(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *VerificationTemplateState, opts ...pulumi.ResourceOption) (*VerificationTemplate, error) { + var resource VerificationTemplate + err := ctx.ReadResource("spotinst:oceancd/verificationTemplate:VerificationTemplate", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering VerificationTemplate resources. +type verificationTemplateState struct { + // List of verification arguments. You may specify either `value` OR `valueFrom` but not both.In case `args`:`value` is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity. + Args []VerificationTemplateArg `pulumi:"args"` + // List of verification metrics. + Metrics []VerificationTemplateMetric `pulumi:"metrics"` + // Identifier name for Ocean CD Verification Template. Must be unique. + Name *string `pulumi:"name"` +} + +type VerificationTemplateState struct { + // List of verification arguments. You may specify either `value` OR `valueFrom` but not both.In case `args`:`value` is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity. + Args VerificationTemplateArgArrayInput + // List of verification metrics. + Metrics VerificationTemplateMetricArrayInput + // Identifier name for Ocean CD Verification Template. Must be unique. + Name pulumi.StringPtrInput +} + +func (VerificationTemplateState) ElementType() reflect.Type { + return reflect.TypeOf((*verificationTemplateState)(nil)).Elem() +} + +type verificationTemplateArgs struct { + // List of verification arguments. You may specify either `value` OR `valueFrom` but not both.In case `args`:`value` is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity. + Args []VerificationTemplateArg `pulumi:"args"` + // List of verification metrics. + Metrics []VerificationTemplateMetric `pulumi:"metrics"` + // Identifier name for Ocean CD Verification Template. Must be unique. + Name *string `pulumi:"name"` +} + +// The set of arguments for constructing a VerificationTemplate resource. +type VerificationTemplateArgs struct { + // List of verification arguments. You may specify either `value` OR `valueFrom` but not both.In case `args`:`value` is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity. + Args VerificationTemplateArgArrayInput + // List of verification metrics. + Metrics VerificationTemplateMetricArrayInput + // Identifier name for Ocean CD Verification Template. Must be unique. + Name pulumi.StringPtrInput +} + +func (VerificationTemplateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*verificationTemplateArgs)(nil)).Elem() +} + +type VerificationTemplateInput interface { + pulumi.Input + + ToVerificationTemplateOutput() VerificationTemplateOutput + ToVerificationTemplateOutputWithContext(ctx context.Context) VerificationTemplateOutput +} + +func (*VerificationTemplate) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationTemplate)(nil)).Elem() +} + +func (i *VerificationTemplate) ToVerificationTemplateOutput() VerificationTemplateOutput { + return i.ToVerificationTemplateOutputWithContext(context.Background()) +} + +func (i *VerificationTemplate) ToVerificationTemplateOutputWithContext(ctx context.Context) VerificationTemplateOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateOutput) +} + +// VerificationTemplateArrayInput is an input type that accepts VerificationTemplateArray and VerificationTemplateArrayOutput values. +// You can construct a concrete instance of `VerificationTemplateArrayInput` via: +// +// VerificationTemplateArray{ VerificationTemplateArgs{...} } +type VerificationTemplateArrayInput interface { + pulumi.Input + + ToVerificationTemplateArrayOutput() VerificationTemplateArrayOutput + ToVerificationTemplateArrayOutputWithContext(context.Context) VerificationTemplateArrayOutput +} + +type VerificationTemplateArray []VerificationTemplateInput + +func (VerificationTemplateArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*VerificationTemplate)(nil)).Elem() +} + +func (i VerificationTemplateArray) ToVerificationTemplateArrayOutput() VerificationTemplateArrayOutput { + return i.ToVerificationTemplateArrayOutputWithContext(context.Background()) +} + +func (i VerificationTemplateArray) ToVerificationTemplateArrayOutputWithContext(ctx context.Context) VerificationTemplateArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateArrayOutput) +} + +// VerificationTemplateMapInput is an input type that accepts VerificationTemplateMap and VerificationTemplateMapOutput values. +// You can construct a concrete instance of `VerificationTemplateMapInput` via: +// +// VerificationTemplateMap{ "key": VerificationTemplateArgs{...} } +type VerificationTemplateMapInput interface { + pulumi.Input + + ToVerificationTemplateMapOutput() VerificationTemplateMapOutput + ToVerificationTemplateMapOutputWithContext(context.Context) VerificationTemplateMapOutput +} + +type VerificationTemplateMap map[string]VerificationTemplateInput + +func (VerificationTemplateMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*VerificationTemplate)(nil)).Elem() +} + +func (i VerificationTemplateMap) ToVerificationTemplateMapOutput() VerificationTemplateMapOutput { + return i.ToVerificationTemplateMapOutputWithContext(context.Background()) +} + +func (i VerificationTemplateMap) ToVerificationTemplateMapOutputWithContext(ctx context.Context) VerificationTemplateMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(VerificationTemplateMapOutput) +} + +type VerificationTemplateOutput struct{ *pulumi.OutputState } + +func (VerificationTemplateOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VerificationTemplate)(nil)).Elem() +} + +func (o VerificationTemplateOutput) ToVerificationTemplateOutput() VerificationTemplateOutput { + return o +} + +func (o VerificationTemplateOutput) ToVerificationTemplateOutputWithContext(ctx context.Context) VerificationTemplateOutput { + return o +} + +// List of verification arguments. You may specify either `value` OR `valueFrom` but not both.In case `args`:`value` is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity. +func (o VerificationTemplateOutput) Args() VerificationTemplateArgArrayOutput { + return o.ApplyT(func(v *VerificationTemplate) VerificationTemplateArgArrayOutput { return v.Args }).(VerificationTemplateArgArrayOutput) +} + +// List of verification metrics. +func (o VerificationTemplateOutput) Metrics() VerificationTemplateMetricArrayOutput { + return o.ApplyT(func(v *VerificationTemplate) VerificationTemplateMetricArrayOutput { return v.Metrics }).(VerificationTemplateMetricArrayOutput) +} + +// Identifier name for Ocean CD Verification Template. Must be unique. +func (o VerificationTemplateOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *VerificationTemplate) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +type VerificationTemplateArrayOutput struct{ *pulumi.OutputState } + +func (VerificationTemplateArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*VerificationTemplate)(nil)).Elem() +} + +func (o VerificationTemplateArrayOutput) ToVerificationTemplateArrayOutput() VerificationTemplateArrayOutput { + return o +} + +func (o VerificationTemplateArrayOutput) ToVerificationTemplateArrayOutputWithContext(ctx context.Context) VerificationTemplateArrayOutput { + return o +} + +func (o VerificationTemplateArrayOutput) Index(i pulumi.IntInput) VerificationTemplateOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *VerificationTemplate { + return vs[0].([]*VerificationTemplate)[vs[1].(int)] + }).(VerificationTemplateOutput) +} + +type VerificationTemplateMapOutput struct{ *pulumi.OutputState } + +func (VerificationTemplateMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*VerificationTemplate)(nil)).Elem() +} + +func (o VerificationTemplateMapOutput) ToVerificationTemplateMapOutput() VerificationTemplateMapOutput { + return o +} + +func (o VerificationTemplateMapOutput) ToVerificationTemplateMapOutputWithContext(ctx context.Context) VerificationTemplateMapOutput { + return o +} + +func (o VerificationTemplateMapOutput) MapIndex(k pulumi.StringInput) VerificationTemplateOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *VerificationTemplate { + return vs[0].(map[string]*VerificationTemplate)[vs[1].(string)] + }).(VerificationTemplateOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateInput)(nil)).Elem(), &VerificationTemplate{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateArrayInput)(nil)).Elem(), VerificationTemplateArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*VerificationTemplateMapInput)(nil)).Elem(), VerificationTemplateMap{}) + pulumi.RegisterOutputType(VerificationTemplateOutput{}) + pulumi.RegisterOutputType(VerificationTemplateArrayOutput{}) + pulumi.RegisterOutputType(VerificationTemplateMapOutput{}) +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/RolloutSpec.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/RolloutSpec.java new file mode 100644 index 00000000..f067db4e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/RolloutSpec.java @@ -0,0 +1,161 @@ +// *** 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.RolloutSpecArgs; +import com.pulumi.spotinst.oceancd.inputs.RolloutSpecState; +import com.pulumi.spotinst.oceancd.outputs.RolloutSpecFailurePolicy; +import com.pulumi.spotinst.oceancd.outputs.RolloutSpecSpotDeployment; +import com.pulumi.spotinst.oceancd.outputs.RolloutSpecStrategy; +import com.pulumi.spotinst.oceancd.outputs.RolloutSpecTraffic; +import java.lang.String; +import java.util.List; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Manages a Spotinst OceanCD Rollout Spec resource. + * + */ +@ResourceType(type="spotinst:oceancd/rolloutSpec:RolloutSpec") +public class RolloutSpec extends com.pulumi.resources.CustomResource { + /** + * Holds information on how to react when failure happens. + * + */ + @Export(name="failurePolicy", refs={RolloutSpecFailurePolicy.class}, tree="[0]") + private Output failurePolicy; + + /** + * @return Holds information on how to react when failure happens. + * + */ + public Output> failurePolicy() { + return Codegen.optional(this.failurePolicy); + } + /** + * Identifier name for Ocean CD Rollout Spec. Must be unique + * + */ + @Export(name="rolloutSpecName", refs={String.class}, tree="[0]") + private Output rolloutSpecName; + + /** + * @return Identifier name for Ocean CD Rollout Spec. Must be unique + * + */ + public Output rolloutSpecName() { + return this.rolloutSpecName; + } + /** + * Represents the SpotDeployment selector. + * + */ + @Export(name="spotDeployment", refs={RolloutSpecSpotDeployment.class}, tree="[0]") + private Output spotDeployment; + + /** + * @return Represents the SpotDeployment selector. + * + */ + public Output> spotDeployment() { + return Codegen.optional(this.spotDeployment); + } + /** + * You must specify either `spotDeployment` OR `spotDeployments` but not both. Every SpotDeployment has to be unique. If more than one `SpotDeployment` has been configured, no `traffic` managers can be set as part of the RolloutSpec.For such case ensure that each of the chosen SpotDeployments are being exposed with different Kubernetes services. + * + */ + @Export(name="spotDeployments", refs={List.class,RolloutSpecSpotDeployment.class}, tree="[0,1]") + private Output> spotDeployments; + + /** + * @return You must specify either `spotDeployment` OR `spotDeployments` but not both. Every SpotDeployment has to be unique. If more than one `SpotDeployment` has been configured, no `traffic` managers can be set as part of the RolloutSpec.For such case ensure that each of the chosen SpotDeployments are being exposed with different Kubernetes services. + * + */ + public Output>> spotDeployments() { + return Codegen.optional(this.spotDeployments); + } + /** + * Determines the Ocean CD strategy + * + */ + @Export(name="strategy", refs={RolloutSpecStrategy.class}, tree="[0]") + private Output strategy; + + /** + * @return Determines the Ocean CD strategy + * + */ + public Output strategy() { + return this.strategy; + } + /** + * Hosts all of the supported service meshes needed to enable more fine-grained traffic routing. In case `SpotDeployments` contains more than one SpotDeployment the `traffic` manager may not be configured. + * + */ + @Export(name="traffic", refs={RolloutSpecTraffic.class}, tree="[0]") + private Output traffic; + + /** + * @return Hosts all of the supported service meshes needed to enable more fine-grained traffic routing. In case `SpotDeployments` contains more than one SpotDeployment the `traffic` manager may not be configured. + * + */ + public Output> traffic() { + return Codegen.optional(this.traffic); + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public RolloutSpec(String name) { + this(name, RolloutSpecArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public RolloutSpec(String name, RolloutSpecArgs 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 RolloutSpec(String name, RolloutSpecArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("spotinst:oceancd/rolloutSpec:RolloutSpec", name, args == null ? RolloutSpecArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private RolloutSpec(String name, Output id, @Nullable RolloutSpecState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("spotinst:oceancd/rolloutSpec:RolloutSpec", 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 RolloutSpec get(String name, Output id, @Nullable RolloutSpecState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new RolloutSpec(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/RolloutSpecArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/RolloutSpecArgs.java new file mode 100644 index 00000000..369599ac --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/RolloutSpecArgs.java @@ -0,0 +1,290 @@ +// *** 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.RolloutSpecFailurePolicyArgs; +import com.pulumi.spotinst.oceancd.inputs.RolloutSpecSpotDeploymentArgs; +import com.pulumi.spotinst.oceancd.inputs.RolloutSpecStrategyArgs; +import com.pulumi.spotinst.oceancd.inputs.RolloutSpecTrafficArgs; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class RolloutSpecArgs extends com.pulumi.resources.ResourceArgs { + + public static final RolloutSpecArgs Empty = new RolloutSpecArgs(); + + /** + * Holds information on how to react when failure happens. + * + */ + @Import(name="failurePolicy") + private @Nullable Output failurePolicy; + + /** + * @return Holds information on how to react when failure happens. + * + */ + public Optional> failurePolicy() { + return Optional.ofNullable(this.failurePolicy); + } + + /** + * Identifier name for Ocean CD Rollout Spec. Must be unique + * + */ + @Import(name="rolloutSpecName", required=true) + private Output rolloutSpecName; + + /** + * @return Identifier name for Ocean CD Rollout Spec. Must be unique + * + */ + public Output rolloutSpecName() { + return this.rolloutSpecName; + } + + /** + * Represents the SpotDeployment selector. + * + */ + @Import(name="spotDeployment") + private @Nullable Output spotDeployment; + + /** + * @return Represents the SpotDeployment selector. + * + */ + public Optional> spotDeployment() { + return Optional.ofNullable(this.spotDeployment); + } + + /** + * You must specify either `spotDeployment` OR `spotDeployments` but not both. Every SpotDeployment has to be unique. If more than one `SpotDeployment` has been configured, no `traffic` managers can be set as part of the RolloutSpec.For such case ensure that each of the chosen SpotDeployments are being exposed with different Kubernetes services. + * + */ + @Import(name="spotDeployments") + private @Nullable Output> spotDeployments; + + /** + * @return You must specify either `spotDeployment` OR `spotDeployments` but not both. Every SpotDeployment has to be unique. If more than one `SpotDeployment` has been configured, no `traffic` managers can be set as part of the RolloutSpec.For such case ensure that each of the chosen SpotDeployments are being exposed with different Kubernetes services. + * + */ + public Optional>> spotDeployments() { + return Optional.ofNullable(this.spotDeployments); + } + + /** + * Determines the Ocean CD strategy + * + */ + @Import(name="strategy", required=true) + private Output strategy; + + /** + * @return Determines the Ocean CD strategy + * + */ + public Output strategy() { + return this.strategy; + } + + /** + * Hosts all of the supported service meshes needed to enable more fine-grained traffic routing. In case `SpotDeployments` contains more than one SpotDeployment the `traffic` manager may not be configured. + * + */ + @Import(name="traffic") + private @Nullable Output traffic; + + /** + * @return Hosts all of the supported service meshes needed to enable more fine-grained traffic routing. In case `SpotDeployments` contains more than one SpotDeployment the `traffic` manager may not be configured. + * + */ + public Optional> traffic() { + return Optional.ofNullable(this.traffic); + } + + private RolloutSpecArgs() {} + + private RolloutSpecArgs(RolloutSpecArgs $) { + this.failurePolicy = $.failurePolicy; + this.rolloutSpecName = $.rolloutSpecName; + this.spotDeployment = $.spotDeployment; + this.spotDeployments = $.spotDeployments; + this.strategy = $.strategy; + this.traffic = $.traffic; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RolloutSpecArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RolloutSpecArgs $; + + public Builder() { + $ = new RolloutSpecArgs(); + } + + public Builder(RolloutSpecArgs defaults) { + $ = new RolloutSpecArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param failurePolicy Holds information on how to react when failure happens. + * + * @return builder + * + */ + public Builder failurePolicy(@Nullable Output failurePolicy) { + $.failurePolicy = failurePolicy; + return this; + } + + /** + * @param failurePolicy Holds information on how to react when failure happens. + * + * @return builder + * + */ + public Builder failurePolicy(RolloutSpecFailurePolicyArgs failurePolicy) { + return failurePolicy(Output.of(failurePolicy)); + } + + /** + * @param rolloutSpecName Identifier name for Ocean CD Rollout Spec. Must be unique + * + * @return builder + * + */ + public Builder rolloutSpecName(Output rolloutSpecName) { + $.rolloutSpecName = rolloutSpecName; + return this; + } + + /** + * @param rolloutSpecName Identifier name for Ocean CD Rollout Spec. Must be unique + * + * @return builder + * + */ + public Builder rolloutSpecName(String rolloutSpecName) { + return rolloutSpecName(Output.of(rolloutSpecName)); + } + + /** + * @param spotDeployment Represents the SpotDeployment selector. + * + * @return builder + * + */ + public Builder spotDeployment(@Nullable Output spotDeployment) { + $.spotDeployment = spotDeployment; + return this; + } + + /** + * @param spotDeployment Represents the SpotDeployment selector. + * + * @return builder + * + */ + public Builder spotDeployment(RolloutSpecSpotDeploymentArgs spotDeployment) { + return spotDeployment(Output.of(spotDeployment)); + } + + /** + * @param spotDeployments You must specify either `spotDeployment` OR `spotDeployments` but not both. Every SpotDeployment has to be unique. If more than one `SpotDeployment` has been configured, no `traffic` managers can be set as part of the RolloutSpec.For such case ensure that each of the chosen SpotDeployments are being exposed with different Kubernetes services. + * + * @return builder + * + */ + public Builder spotDeployments(@Nullable Output> spotDeployments) { + $.spotDeployments = spotDeployments; + return this; + } + + /** + * @param spotDeployments You must specify either `spotDeployment` OR `spotDeployments` but not both. Every SpotDeployment has to be unique. If more than one `SpotDeployment` has been configured, no `traffic` managers can be set as part of the RolloutSpec.For such case ensure that each of the chosen SpotDeployments are being exposed with different Kubernetes services. + * + * @return builder + * + */ + public Builder spotDeployments(List spotDeployments) { + return spotDeployments(Output.of(spotDeployments)); + } + + /** + * @param spotDeployments You must specify either `spotDeployment` OR `spotDeployments` but not both. Every SpotDeployment has to be unique. If more than one `SpotDeployment` has been configured, no `traffic` managers can be set as part of the RolloutSpec.For such case ensure that each of the chosen SpotDeployments are being exposed with different Kubernetes services. + * + * @return builder + * + */ + public Builder spotDeployments(RolloutSpecSpotDeploymentArgs... spotDeployments) { + return spotDeployments(List.of(spotDeployments)); + } + + /** + * @param strategy Determines the Ocean CD strategy + * + * @return builder + * + */ + public Builder strategy(Output strategy) { + $.strategy = strategy; + return this; + } + + /** + * @param strategy Determines the Ocean CD strategy + * + * @return builder + * + */ + public Builder strategy(RolloutSpecStrategyArgs strategy) { + return strategy(Output.of(strategy)); + } + + /** + * @param traffic Hosts all of the supported service meshes needed to enable more fine-grained traffic routing. In case `SpotDeployments` contains more than one SpotDeployment the `traffic` manager may not be configured. + * + * @return builder + * + */ + public Builder traffic(@Nullable Output traffic) { + $.traffic = traffic; + return this; + } + + /** + * @param traffic Hosts all of the supported service meshes needed to enable more fine-grained traffic routing. In case `SpotDeployments` contains more than one SpotDeployment the `traffic` manager may not be configured. + * + * @return builder + * + */ + public Builder traffic(RolloutSpecTrafficArgs traffic) { + return traffic(Output.of(traffic)); + } + + public RolloutSpecArgs build() { + if ($.rolloutSpecName == null) { + throw new MissingRequiredPropertyException("RolloutSpecArgs", "rolloutSpecName"); + } + if ($.strategy == null) { + throw new MissingRequiredPropertyException("RolloutSpecArgs", "strategy"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/VerificationTemplate.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/VerificationTemplate.java new file mode 100644 index 00000000..a19d952a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/VerificationTemplate.java @@ -0,0 +1,271 @@ +// *** 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.VerificationTemplateArgs; +import com.pulumi.spotinst.oceancd.inputs.VerificationTemplateState; +import com.pulumi.spotinst.oceancd.outputs.VerificationTemplateArg; +import com.pulumi.spotinst.oceancd.outputs.VerificationTemplateMetric; +import java.lang.String; +import java.util.List; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Manages a Spotinst OceanCD Verfification Template 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.VerificationTemplate;
+ * import com.pulumi.spotinst.oceancd.VerificationTemplateArgs;
+ * import com.pulumi.spotinst.oceancd.inputs.VerificationTemplateArgArgs;
+ * import com.pulumi.spotinst.oceancd.inputs.VerificationTemplateArgValueFromArgs;
+ * import com.pulumi.spotinst.oceancd.inputs.VerificationTemplateArgValueFromSecretKeyRefArgs;
+ * import com.pulumi.spotinst.oceancd.inputs.VerificationTemplateMetricArgs;
+ * import com.pulumi.spotinst.oceancd.inputs.VerificationTemplateMetricBaselineArgs;
+ * 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 test = new VerificationTemplate("test", VerificationTemplateArgs.builder()        
+ *             .name("test-verification-template-tes")
+ *             .args(VerificationTemplateArgArgs.builder()
+ *                 .argName("test-arg")
+ *                 .value("test")
+ *                 .valueFrom(VerificationTemplateArgValueFromArgs.builder()
+ *                     .secretKeyRef(VerificationTemplateArgValueFromSecretKeyRefArgs.builder()
+ *                         .name("test_key")
+ *                         .key("key-value-test")
+ *                         .build())
+ *                     .build())
+ *                 .build())
+ *             .metrics(VerificationTemplateMetricArgs.builder()
+ *                 .metricsName("test-metrics-names")
+ *                 .dryRun(false)
+ *                 .interval("10m")
+ *                 .initialDelay("1m")
+ *                 .count("10")
+ *                 .successCondition("result[0] <= 0.95")
+ *                 .failureCondition("result[0] >= 0.95")
+ *                 .failureLimit(2)
+ *                 .consecutiveErrorLimit(1)
+ *                 .providers(VerificationTemplateMetricProviderArgs.builder()
+ *                     .prometheus(VerificationTemplateMetricProviderPrometheusArgs.builder()
+ *                         .prometheusQuery("http_requests_new")
+ *                         .build())
+ *                     .datadog(VerificationTemplateMetricProviderDatadogArgs.builder()
+ *                         .duration("1m")
+ *                         .datadogQuery("avg:kubernetes.cpu.user.total")
+ *                         .build())
+ *                     .newRelic(VerificationTemplateMetricProviderNewRelicArgs.builder()
+ *                         .profile("test")
+ *                         .newRelicQuery("FROM Metric SELECT count")
+ *                         .build())
+ *                     .cloudWatch(VerificationTemplateMetricProviderCloudWatchArgs.builder()
+ *                         .duration("5m")
+ *                         .metricDataQueries(VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs.builder()
+ *                             .id("utilization")
+ *                             .metricStat(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs.builder()
+ *                                 .metric(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs.builder()
+ *                                     .metricName("Test")
+ *                                     .namespace("AWS/EC2")
+ *                                     .dimensions(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs.builder()
+ *                                         .dimensionName("instandId")
+ *                                         .dimensionValue("i-123044")
+ *                                         .build())
+ *                                     .build())
+ *                                 .metricPeriod(400)
+ *                                 .stat("average")
+ *                                 .unit("None")
+ *                                 .build())
+ *                             .expression("SELECT AVG(CPUUtilization) FROM SCHEMA")
+ *                             .label("TestLabel")
+ *                             .returnData(false)
+ *                             .period(300)
+ *                             .build())
+ *                         .build())
+ *                     .web(VerificationTemplateMetricProviderWebArgs.builder()
+ *                         .method("GET")
+ *                         .url("https://oceancd.com/api/v1/metrics?clusterId= args.clusterId")
+ *                         .webHeaders(VerificationTemplateMetricProviderWebWebHeaderArgs.builder()
+ *                             .webHeaderKey("Autorization")
+ *                             .webHeaderValue("Bearer=args.token")
+ *                             .build())
+ *                         .body("{\"key\": \"test\"}")
+ *                         .timeoutSeconds(20)
+ *                         .jsonPath("$.data")
+ *                         .insecure(false)
+ *                         .build())
+ *                     .job(VerificationTemplateMetricProviderJobArgs.builder()
+ *                         .specs(VerificationTemplateMetricProviderJobSpecArgs.builder()
+ *                             .backoffLimit(1)
+ *                             .jobTemplates(VerificationTemplateMetricProviderJobSpecJobTemplateArgs.builder()
+ *                                 .templateSpecs(VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs.builder()
+ *                                     .containers(VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs.builder()
+ *                                         .containerName("hello")
+ *                                         .commands(                                        
+ *                                             "sh",
+ *                                             "-c")
+ *                                         .image("nginx.2.1")
+ *                                         .build())
+ *                                     .restartPolicy("never")
+ *                                     .build())
+ *                                 .build())
+ *                             .build())
+ *                         .build())
+ *                     .jenkins(VerificationTemplateMetricProviderJenkinsArgs.builder()
+ *                         .pipelineName("testPipelineName")
+ *                         .tlsVerification(true)
+ *                         .timeout("2m")
+ *                         .jenkinsInterval("5s")
+ *                         .jenkinsParameters(VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs.builder()
+ *                             .parameterKey("app")
+ *                             .parameterValue("my-app")
+ *                             .build())
+ *                         .build())
+ *                     .build())
+ *                 .baseline(VerificationTemplateMetricBaselineArgs.builder()
+ *                     .baselineProviders(VerificationTemplateMetricBaselineBaselineProviderArgs.builder()
+ *                         .prometheus(VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs.builder()
+ *                             .prometheusQuery("http_requests_total.status!")
+ *                             .build())
+ *                         .datadog(VerificationTemplateMetricBaselineBaselineProviderDatadogArgs.builder()
+ *                             .duration("2m")
+ *                             .datadogQuery("avg:kubernetes.cpu.user")
+ *                             .build())
+ *                         .newRelic(VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs.builder()
+ *                             .profile("test")
+ *                             .newRelicQuery("FROM Metric SELECT count*")
+ *                             .build())
+ *                         .build())
+ *                     .minRange(40)
+ *                     .maxRange(50)
+ *                     .threshold("range")
+ *                     .build())
+ *                 .build())
+ *             .build());
+ * 
+ *     }
+ * }
+ * }
+ * 
+ * <!--End PulumiCodeChooser --> + * + */ +@ResourceType(type="spotinst:oceancd/verificationTemplate:VerificationTemplate") +public class VerificationTemplate extends com.pulumi.resources.CustomResource { + /** + * List of verification arguments. You may specify either `value` OR `valueFrom` but not both.In case `args`:`value` is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity. + * + */ + @Export(name="args", refs={List.class,VerificationTemplateArg.class}, tree="[0,1]") + private Output> args; + + /** + * @return List of verification arguments. You may specify either `value` OR `valueFrom` but not both.In case `args`:`value` is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity. + * + */ + public Output>> args() { + return Codegen.optional(this.args); + } + /** + * List of verification metrics. + * + */ + @Export(name="metrics", refs={List.class,VerificationTemplateMetric.class}, tree="[0,1]") + private Output> metrics; + + /** + * @return List of verification metrics. + * + */ + public Output>> metrics() { + return Codegen.optional(this.metrics); + } + /** + * Identifier name for Ocean CD Verification Template. Must be unique. + * + */ + @Export(name="name", refs={String.class}, tree="[0]") + private Output name; + + /** + * @return Identifier name for Ocean CD Verification Template. Must be unique. + * + */ + public Output name() { + return this.name; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public VerificationTemplate(String name) { + this(name, VerificationTemplateArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public VerificationTemplate(String name, @Nullable VerificationTemplateArgs 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 VerificationTemplate(String name, @Nullable VerificationTemplateArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("spotinst:oceancd/verificationTemplate:VerificationTemplate", name, args == null ? VerificationTemplateArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private VerificationTemplate(String name, Output id, @Nullable VerificationTemplateState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("spotinst:oceancd/verificationTemplate:VerificationTemplate", 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 VerificationTemplate get(String name, Output id, @Nullable VerificationTemplateState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new VerificationTemplate(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/VerificationTemplateArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/VerificationTemplateArgs.java new file mode 100644 index 00000000..fec9c9b9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/VerificationTemplateArgs.java @@ -0,0 +1,180 @@ +// *** 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.spotinst.oceancd.inputs.VerificationTemplateArgArgs; +import com.pulumi.spotinst.oceancd.inputs.VerificationTemplateMetricArgs; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class VerificationTemplateArgs extends com.pulumi.resources.ResourceArgs { + + public static final VerificationTemplateArgs Empty = new VerificationTemplateArgs(); + + /** + * List of verification arguments. You may specify either `value` OR `valueFrom` but not both.In case `args`:`value` is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity. + * + */ + @Import(name="args") + private @Nullable Output> args; + + /** + * @return List of verification arguments. You may specify either `value` OR `valueFrom` but not both.In case `args`:`value` is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity. + * + */ + public Optional>> args() { + return Optional.ofNullable(this.args); + } + + /** + * List of verification metrics. + * + */ + @Import(name="metrics") + private @Nullable Output> metrics; + + /** + * @return List of verification metrics. + * + */ + public Optional>> metrics() { + return Optional.ofNullable(this.metrics); + } + + /** + * Identifier name for Ocean CD Verification Template. Must be unique. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return Identifier name for Ocean CD Verification Template. Must be unique. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + private VerificationTemplateArgs() {} + + private VerificationTemplateArgs(VerificationTemplateArgs $) { + this.args = $.args; + this.metrics = $.metrics; + this.name = $.name; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VerificationTemplateArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VerificationTemplateArgs $; + + public Builder() { + $ = new VerificationTemplateArgs(); + } + + public Builder(VerificationTemplateArgs defaults) { + $ = new VerificationTemplateArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param args List of verification arguments. You may specify either `value` OR `valueFrom` but not both.In case `args`:`value` is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity. + * + * @return builder + * + */ + public Builder args(@Nullable Output> args) { + $.args = args; + return this; + } + + /** + * @param args List of verification arguments. You may specify either `value` OR `valueFrom` but not both.In case `args`:`value` is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity. + * + * @return builder + * + */ + public Builder args(List args) { + return args(Output.of(args)); + } + + /** + * @param args List of verification arguments. You may specify either `value` OR `valueFrom` but not both.In case `args`:`value` is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity. + * + * @return builder + * + */ + public Builder args(VerificationTemplateArgArgs... args) { + return args(List.of(args)); + } + + /** + * @param metrics List of verification metrics. + * + * @return builder + * + */ + public Builder metrics(@Nullable Output> metrics) { + $.metrics = metrics; + return this; + } + + /** + * @param metrics List of verification metrics. + * + * @return builder + * + */ + public Builder metrics(List metrics) { + return metrics(Output.of(metrics)); + } + + /** + * @param metrics List of verification metrics. + * + * @return builder + * + */ + public Builder metrics(VerificationTemplateMetricArgs... metrics) { + return metrics(List.of(metrics)); + } + + /** + * @param name Identifier name for Ocean CD Verification Template. Must be unique. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name Identifier name for Ocean CD Verification Template. Must be unique. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + public VerificationTemplateArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecFailurePolicyArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecFailurePolicyArgs.java new file mode 100644 index 00000000..2edef7c3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecFailurePolicyArgs.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 RolloutSpecFailurePolicyArgs extends com.pulumi.resources.ResourceArgs { + + public static final RolloutSpecFailurePolicyArgs Empty = new RolloutSpecFailurePolicyArgs(); + + /** + * Choose an action to perform on failure. Default is `abort`. Enum: "abort" "pause" "promote". + * + */ + @Import(name="action", required=true) + private Output action; + + /** + * @return Choose an action to perform on failure. Default is `abort`. Enum: "abort" "pause" "promote". + * + */ + public Output action() { + return this.action; + } + + private RolloutSpecFailurePolicyArgs() {} + + private RolloutSpecFailurePolicyArgs(RolloutSpecFailurePolicyArgs $) { + this.action = $.action; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RolloutSpecFailurePolicyArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RolloutSpecFailurePolicyArgs $; + + public Builder() { + $ = new RolloutSpecFailurePolicyArgs(); + } + + public Builder(RolloutSpecFailurePolicyArgs defaults) { + $ = new RolloutSpecFailurePolicyArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param action Choose an action to perform on failure. Default is `abort`. Enum: "abort" "pause" "promote". + * + * @return builder + * + */ + public Builder action(Output action) { + $.action = action; + return this; + } + + /** + * @param action Choose an action to perform on failure. Default is `abort`. Enum: "abort" "pause" "promote". + * + * @return builder + * + */ + public Builder action(String action) { + return action(Output.of(action)); + } + + public RolloutSpecFailurePolicyArgs build() { + if ($.action == null) { + throw new MissingRequiredPropertyException("RolloutSpecFailurePolicyArgs", "action"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecSpotDeploymentArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecSpotDeploymentArgs.java new file mode 100644 index 00000000..7316ed32 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecSpotDeploymentArgs.java @@ -0,0 +1,157 @@ +// *** 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 RolloutSpecSpotDeploymentArgs extends com.pulumi.resources.ResourceArgs { + + public static final RolloutSpecSpotDeploymentArgs Empty = new RolloutSpecSpotDeploymentArgs(); + + /** + * Ocean CD cluster identifier for the references `SpotDeployment`. + * + */ + @Import(name="spotDeploymentsClusterId") + private @Nullable Output spotDeploymentsClusterId; + + /** + * @return Ocean CD cluster identifier for the references `SpotDeployment`. + * + */ + public Optional> spotDeploymentsClusterId() { + return Optional.ofNullable(this.spotDeploymentsClusterId); + } + + /** + * The name of the `SpotDeployment` resource + * + */ + @Import(name="spotDeploymentsName") + private @Nullable Output spotDeploymentsName; + + /** + * @return The name of the `SpotDeployment` resource + * + */ + public Optional> spotDeploymentsName() { + return Optional.ofNullable(this.spotDeploymentsName); + } + + /** + * The namespace which the `SpotDeployment` resource exists within. + * + */ + @Import(name="spotDeploymentsNamespace") + private @Nullable Output spotDeploymentsNamespace; + + /** + * @return The namespace which the `SpotDeployment` resource exists within. + * + */ + public Optional> spotDeploymentsNamespace() { + return Optional.ofNullable(this.spotDeploymentsNamespace); + } + + private RolloutSpecSpotDeploymentArgs() {} + + private RolloutSpecSpotDeploymentArgs(RolloutSpecSpotDeploymentArgs $) { + this.spotDeploymentsClusterId = $.spotDeploymentsClusterId; + this.spotDeploymentsName = $.spotDeploymentsName; + this.spotDeploymentsNamespace = $.spotDeploymentsNamespace; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RolloutSpecSpotDeploymentArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RolloutSpecSpotDeploymentArgs $; + + public Builder() { + $ = new RolloutSpecSpotDeploymentArgs(); + } + + public Builder(RolloutSpecSpotDeploymentArgs defaults) { + $ = new RolloutSpecSpotDeploymentArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param spotDeploymentsClusterId Ocean CD cluster identifier for the references `SpotDeployment`. + * + * @return builder + * + */ + public Builder spotDeploymentsClusterId(@Nullable Output spotDeploymentsClusterId) { + $.spotDeploymentsClusterId = spotDeploymentsClusterId; + return this; + } + + /** + * @param spotDeploymentsClusterId Ocean CD cluster identifier for the references `SpotDeployment`. + * + * @return builder + * + */ + public Builder spotDeploymentsClusterId(String spotDeploymentsClusterId) { + return spotDeploymentsClusterId(Output.of(spotDeploymentsClusterId)); + } + + /** + * @param spotDeploymentsName The name of the `SpotDeployment` resource + * + * @return builder + * + */ + public Builder spotDeploymentsName(@Nullable Output spotDeploymentsName) { + $.spotDeploymentsName = spotDeploymentsName; + return this; + } + + /** + * @param spotDeploymentsName The name of the `SpotDeployment` resource + * + * @return builder + * + */ + public Builder spotDeploymentsName(String spotDeploymentsName) { + return spotDeploymentsName(Output.of(spotDeploymentsName)); + } + + /** + * @param spotDeploymentsNamespace The namespace which the `SpotDeployment` resource exists within. + * + * @return builder + * + */ + public Builder spotDeploymentsNamespace(@Nullable Output spotDeploymentsNamespace) { + $.spotDeploymentsNamespace = spotDeploymentsNamespace; + return this; + } + + /** + * @param spotDeploymentsNamespace The namespace which the `SpotDeployment` resource exists within. + * + * @return builder + * + */ + public Builder spotDeploymentsNamespace(String spotDeploymentsNamespace) { + return spotDeploymentsNamespace(Output.of(spotDeploymentsNamespace)); + } + + public RolloutSpecSpotDeploymentArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecState.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecState.java new file mode 100644 index 00000000..070b3a2a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecState.java @@ -0,0 +1,283 @@ +// *** 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.RolloutSpecFailurePolicyArgs; +import com.pulumi.spotinst.oceancd.inputs.RolloutSpecSpotDeploymentArgs; +import com.pulumi.spotinst.oceancd.inputs.RolloutSpecStrategyArgs; +import com.pulumi.spotinst.oceancd.inputs.RolloutSpecTrafficArgs; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class RolloutSpecState extends com.pulumi.resources.ResourceArgs { + + public static final RolloutSpecState Empty = new RolloutSpecState(); + + /** + * Holds information on how to react when failure happens. + * + */ + @Import(name="failurePolicy") + private @Nullable Output failurePolicy; + + /** + * @return Holds information on how to react when failure happens. + * + */ + public Optional> failurePolicy() { + return Optional.ofNullable(this.failurePolicy); + } + + /** + * Identifier name for Ocean CD Rollout Spec. Must be unique + * + */ + @Import(name="rolloutSpecName") + private @Nullable Output rolloutSpecName; + + /** + * @return Identifier name for Ocean CD Rollout Spec. Must be unique + * + */ + public Optional> rolloutSpecName() { + return Optional.ofNullable(this.rolloutSpecName); + } + + /** + * Represents the SpotDeployment selector. + * + */ + @Import(name="spotDeployment") + private @Nullable Output spotDeployment; + + /** + * @return Represents the SpotDeployment selector. + * + */ + public Optional> spotDeployment() { + return Optional.ofNullable(this.spotDeployment); + } + + /** + * You must specify either `spotDeployment` OR `spotDeployments` but not both. Every SpotDeployment has to be unique. If more than one `SpotDeployment` has been configured, no `traffic` managers can be set as part of the RolloutSpec.For such case ensure that each of the chosen SpotDeployments are being exposed with different Kubernetes services. + * + */ + @Import(name="spotDeployments") + private @Nullable Output> spotDeployments; + + /** + * @return You must specify either `spotDeployment` OR `spotDeployments` but not both. Every SpotDeployment has to be unique. If more than one `SpotDeployment` has been configured, no `traffic` managers can be set as part of the RolloutSpec.For such case ensure that each of the chosen SpotDeployments are being exposed with different Kubernetes services. + * + */ + public Optional>> spotDeployments() { + return Optional.ofNullable(this.spotDeployments); + } + + /** + * Determines the Ocean CD strategy + * + */ + @Import(name="strategy") + private @Nullable Output strategy; + + /** + * @return Determines the Ocean CD strategy + * + */ + public Optional> strategy() { + return Optional.ofNullable(this.strategy); + } + + /** + * Hosts all of the supported service meshes needed to enable more fine-grained traffic routing. In case `SpotDeployments` contains more than one SpotDeployment the `traffic` manager may not be configured. + * + */ + @Import(name="traffic") + private @Nullable Output traffic; + + /** + * @return Hosts all of the supported service meshes needed to enable more fine-grained traffic routing. In case `SpotDeployments` contains more than one SpotDeployment the `traffic` manager may not be configured. + * + */ + public Optional> traffic() { + return Optional.ofNullable(this.traffic); + } + + private RolloutSpecState() {} + + private RolloutSpecState(RolloutSpecState $) { + this.failurePolicy = $.failurePolicy; + this.rolloutSpecName = $.rolloutSpecName; + this.spotDeployment = $.spotDeployment; + this.spotDeployments = $.spotDeployments; + this.strategy = $.strategy; + this.traffic = $.traffic; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RolloutSpecState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RolloutSpecState $; + + public Builder() { + $ = new RolloutSpecState(); + } + + public Builder(RolloutSpecState defaults) { + $ = new RolloutSpecState(Objects.requireNonNull(defaults)); + } + + /** + * @param failurePolicy Holds information on how to react when failure happens. + * + * @return builder + * + */ + public Builder failurePolicy(@Nullable Output failurePolicy) { + $.failurePolicy = failurePolicy; + return this; + } + + /** + * @param failurePolicy Holds information on how to react when failure happens. + * + * @return builder + * + */ + public Builder failurePolicy(RolloutSpecFailurePolicyArgs failurePolicy) { + return failurePolicy(Output.of(failurePolicy)); + } + + /** + * @param rolloutSpecName Identifier name for Ocean CD Rollout Spec. Must be unique + * + * @return builder + * + */ + public Builder rolloutSpecName(@Nullable Output rolloutSpecName) { + $.rolloutSpecName = rolloutSpecName; + return this; + } + + /** + * @param rolloutSpecName Identifier name for Ocean CD Rollout Spec. Must be unique + * + * @return builder + * + */ + public Builder rolloutSpecName(String rolloutSpecName) { + return rolloutSpecName(Output.of(rolloutSpecName)); + } + + /** + * @param spotDeployment Represents the SpotDeployment selector. + * + * @return builder + * + */ + public Builder spotDeployment(@Nullable Output spotDeployment) { + $.spotDeployment = spotDeployment; + return this; + } + + /** + * @param spotDeployment Represents the SpotDeployment selector. + * + * @return builder + * + */ + public Builder spotDeployment(RolloutSpecSpotDeploymentArgs spotDeployment) { + return spotDeployment(Output.of(spotDeployment)); + } + + /** + * @param spotDeployments You must specify either `spotDeployment` OR `spotDeployments` but not both. Every SpotDeployment has to be unique. If more than one `SpotDeployment` has been configured, no `traffic` managers can be set as part of the RolloutSpec.For such case ensure that each of the chosen SpotDeployments are being exposed with different Kubernetes services. + * + * @return builder + * + */ + public Builder spotDeployments(@Nullable Output> spotDeployments) { + $.spotDeployments = spotDeployments; + return this; + } + + /** + * @param spotDeployments You must specify either `spotDeployment` OR `spotDeployments` but not both. Every SpotDeployment has to be unique. If more than one `SpotDeployment` has been configured, no `traffic` managers can be set as part of the RolloutSpec.For such case ensure that each of the chosen SpotDeployments are being exposed with different Kubernetes services. + * + * @return builder + * + */ + public Builder spotDeployments(List spotDeployments) { + return spotDeployments(Output.of(spotDeployments)); + } + + /** + * @param spotDeployments You must specify either `spotDeployment` OR `spotDeployments` but not both. Every SpotDeployment has to be unique. If more than one `SpotDeployment` has been configured, no `traffic` managers can be set as part of the RolloutSpec.For such case ensure that each of the chosen SpotDeployments are being exposed with different Kubernetes services. + * + * @return builder + * + */ + public Builder spotDeployments(RolloutSpecSpotDeploymentArgs... spotDeployments) { + return spotDeployments(List.of(spotDeployments)); + } + + /** + * @param strategy Determines the Ocean CD strategy + * + * @return builder + * + */ + public Builder strategy(@Nullable Output strategy) { + $.strategy = strategy; + return this; + } + + /** + * @param strategy Determines the Ocean CD strategy + * + * @return builder + * + */ + public Builder strategy(RolloutSpecStrategyArgs strategy) { + return strategy(Output.of(strategy)); + } + + /** + * @param traffic Hosts all of the supported service meshes needed to enable more fine-grained traffic routing. In case `SpotDeployments` contains more than one SpotDeployment the `traffic` manager may not be configured. + * + * @return builder + * + */ + public Builder traffic(@Nullable Output traffic) { + $.traffic = traffic; + return this; + } + + /** + * @param traffic Hosts all of the supported service meshes needed to enable more fine-grained traffic routing. In case `SpotDeployments` contains more than one SpotDeployment the `traffic` manager may not be configured. + * + * @return builder + * + */ + public Builder traffic(RolloutSpecTrafficArgs traffic) { + return traffic(Output.of(traffic)); + } + + public RolloutSpecState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecStrategyArgArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecStrategyArgArgs.java new file mode 100644 index 00000000..e32a3abb --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecStrategyArgArgs.java @@ -0,0 +1,102 @@ +// *** 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.RolloutSpecStrategyArgValueFromArgs; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class RolloutSpecStrategyArgArgs extends com.pulumi.resources.ResourceArgs { + + public static final RolloutSpecStrategyArgArgs Empty = new RolloutSpecStrategyArgArgs(); + + @Import(name="argName", required=true) + private Output argName; + + public Output argName() { + return this.argName; + } + + @Import(name="argValue") + private @Nullable Output argValue; + + public Optional> argValue() { + return Optional.ofNullable(this.argValue); + } + + @Import(name="valueFrom") + private @Nullable Output valueFrom; + + public Optional> valueFrom() { + return Optional.ofNullable(this.valueFrom); + } + + private RolloutSpecStrategyArgArgs() {} + + private RolloutSpecStrategyArgArgs(RolloutSpecStrategyArgArgs $) { + this.argName = $.argName; + this.argValue = $.argValue; + this.valueFrom = $.valueFrom; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RolloutSpecStrategyArgArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RolloutSpecStrategyArgArgs $; + + public Builder() { + $ = new RolloutSpecStrategyArgArgs(); + } + + public Builder(RolloutSpecStrategyArgArgs defaults) { + $ = new RolloutSpecStrategyArgArgs(Objects.requireNonNull(defaults)); + } + + public Builder argName(Output argName) { + $.argName = argName; + return this; + } + + public Builder argName(String argName) { + return argName(Output.of(argName)); + } + + public Builder argValue(@Nullable Output argValue) { + $.argValue = argValue; + return this; + } + + public Builder argValue(String argValue) { + return argValue(Output.of(argValue)); + } + + public Builder valueFrom(@Nullable Output valueFrom) { + $.valueFrom = valueFrom; + return this; + } + + public Builder valueFrom(RolloutSpecStrategyArgValueFromArgs valueFrom) { + return valueFrom(Output.of(valueFrom)); + } + + public RolloutSpecStrategyArgArgs build() { + if ($.argName == null) { + throw new MissingRequiredPropertyException("RolloutSpecStrategyArgArgs", "argName"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecStrategyArgValueFromArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecStrategyArgValueFromArgs.java new file mode 100644 index 00000000..fcb330a3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecStrategyArgValueFromArgs.java @@ -0,0 +1,65 @@ +// *** 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.RolloutSpecStrategyArgValueFromFieldRefArgs; +import java.util.Objects; + + +public final class RolloutSpecStrategyArgValueFromArgs extends com.pulumi.resources.ResourceArgs { + + public static final RolloutSpecStrategyArgValueFromArgs Empty = new RolloutSpecStrategyArgValueFromArgs(); + + @Import(name="fieldRef", required=true) + private Output fieldRef; + + public Output fieldRef() { + return this.fieldRef; + } + + private RolloutSpecStrategyArgValueFromArgs() {} + + private RolloutSpecStrategyArgValueFromArgs(RolloutSpecStrategyArgValueFromArgs $) { + this.fieldRef = $.fieldRef; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RolloutSpecStrategyArgValueFromArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RolloutSpecStrategyArgValueFromArgs $; + + public Builder() { + $ = new RolloutSpecStrategyArgValueFromArgs(); + } + + public Builder(RolloutSpecStrategyArgValueFromArgs defaults) { + $ = new RolloutSpecStrategyArgValueFromArgs(Objects.requireNonNull(defaults)); + } + + public Builder fieldRef(Output fieldRef) { + $.fieldRef = fieldRef; + return this; + } + + public Builder fieldRef(RolloutSpecStrategyArgValueFromFieldRefArgs fieldRef) { + return fieldRef(Output.of(fieldRef)); + } + + public RolloutSpecStrategyArgValueFromArgs build() { + if ($.fieldRef == null) { + throw new MissingRequiredPropertyException("RolloutSpecStrategyArgValueFromArgs", "fieldRef"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecStrategyArgValueFromFieldRefArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecStrategyArgValueFromFieldRefArgs.java new file mode 100644 index 00000000..3a8b7065 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecStrategyArgValueFromFieldRefArgs.java @@ -0,0 +1,65 @@ +// *** 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 RolloutSpecStrategyArgValueFromFieldRefArgs extends com.pulumi.resources.ResourceArgs { + + public static final RolloutSpecStrategyArgValueFromFieldRefArgs Empty = new RolloutSpecStrategyArgValueFromFieldRefArgs(); + + @Import(name="fieldPath", required=true) + private Output fieldPath; + + public Output fieldPath() { + return this.fieldPath; + } + + private RolloutSpecStrategyArgValueFromFieldRefArgs() {} + + private RolloutSpecStrategyArgValueFromFieldRefArgs(RolloutSpecStrategyArgValueFromFieldRefArgs $) { + this.fieldPath = $.fieldPath; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RolloutSpecStrategyArgValueFromFieldRefArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RolloutSpecStrategyArgValueFromFieldRefArgs $; + + public Builder() { + $ = new RolloutSpecStrategyArgValueFromFieldRefArgs(); + } + + public Builder(RolloutSpecStrategyArgValueFromFieldRefArgs defaults) { + $ = new RolloutSpecStrategyArgValueFromFieldRefArgs(Objects.requireNonNull(defaults)); + } + + public Builder fieldPath(Output fieldPath) { + $.fieldPath = fieldPath; + return this; + } + + public Builder fieldPath(String fieldPath) { + return fieldPath(Output.of(fieldPath)); + } + + public RolloutSpecStrategyArgValueFromFieldRefArgs build() { + if ($.fieldPath == null) { + throw new MissingRequiredPropertyException("RolloutSpecStrategyArgValueFromFieldRefArgs", "fieldPath"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecStrategyArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecStrategyArgs.java new file mode 100644 index 00000000..bfde46fa --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecStrategyArgs.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.RolloutSpecStrategyArgArgs; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class RolloutSpecStrategyArgs extends com.pulumi.resources.ResourceArgs { + + public static final RolloutSpecStrategyArgs Empty = new RolloutSpecStrategyArgs(); + + /** + * Arguments defined in Verification Templates. + * + */ + @Import(name="args") + private @Nullable Output> args; + + /** + * @return Arguments defined in Verification Templates. + * + */ + public Optional>> args() { + return Optional.ofNullable(this.args); + } + + /** + * Ocean CD strategy name identifier. + * + */ + @Import(name="strategyName", required=true) + private Output strategyName; + + /** + * @return Ocean CD strategy name identifier. + * + */ + public Output strategyName() { + return this.strategyName; + } + + private RolloutSpecStrategyArgs() {} + + private RolloutSpecStrategyArgs(RolloutSpecStrategyArgs $) { + this.args = $.args; + this.strategyName = $.strategyName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RolloutSpecStrategyArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RolloutSpecStrategyArgs $; + + public Builder() { + $ = new RolloutSpecStrategyArgs(); + } + + public Builder(RolloutSpecStrategyArgs defaults) { + $ = new RolloutSpecStrategyArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param args Arguments defined in Verification Templates. + * + * @return builder + * + */ + public Builder args(@Nullable Output> args) { + $.args = args; + return this; + } + + /** + * @param args Arguments defined in Verification Templates. + * + * @return builder + * + */ + public Builder args(List args) { + return args(Output.of(args)); + } + + /** + * @param args Arguments defined in Verification Templates. + * + * @return builder + * + */ + public Builder args(RolloutSpecStrategyArgArgs... args) { + return args(List.of(args)); + } + + /** + * @param strategyName Ocean CD strategy name identifier. + * + * @return builder + * + */ + public Builder strategyName(Output strategyName) { + $.strategyName = strategyName; + return this; + } + + /** + * @param strategyName Ocean CD strategy name identifier. + * + * @return builder + * + */ + public Builder strategyName(String strategyName) { + return strategyName(Output.of(strategyName)); + } + + public RolloutSpecStrategyArgs build() { + if ($.strategyName == null) { + throw new MissingRequiredPropertyException("RolloutSpecStrategyArgs", "strategyName"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecTrafficAlbArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecTrafficAlbArgs.java new file mode 100644 index 00000000..eb713eaf --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecTrafficAlbArgs.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.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import com.pulumi.spotinst.oceancd.inputs.RolloutSpecTrafficAlbStickinessConfigArgs; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class RolloutSpecTrafficAlbArgs extends com.pulumi.resources.ResourceArgs { + + public static final RolloutSpecTrafficAlbArgs Empty = new RolloutSpecTrafficAlbArgs(); + + @Import(name="albAnnotationPrefix") + private @Nullable Output albAnnotationPrefix; + + public Optional> albAnnotationPrefix() { + return Optional.ofNullable(this.albAnnotationPrefix); + } + + @Import(name="albIngress", required=true) + private Output albIngress; + + public Output albIngress() { + return this.albIngress; + } + + @Import(name="albRootService", required=true) + private Output albRootService; + + public Output albRootService() { + return this.albRootService; + } + + @Import(name="servicePort", required=true) + private Output servicePort; + + public Output servicePort() { + return this.servicePort; + } + + @Import(name="stickinessConfig") + private @Nullable Output stickinessConfig; + + public Optional> stickinessConfig() { + return Optional.ofNullable(this.stickinessConfig); + } + + private RolloutSpecTrafficAlbArgs() {} + + private RolloutSpecTrafficAlbArgs(RolloutSpecTrafficAlbArgs $) { + this.albAnnotationPrefix = $.albAnnotationPrefix; + this.albIngress = $.albIngress; + this.albRootService = $.albRootService; + this.servicePort = $.servicePort; + this.stickinessConfig = $.stickinessConfig; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RolloutSpecTrafficAlbArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RolloutSpecTrafficAlbArgs $; + + public Builder() { + $ = new RolloutSpecTrafficAlbArgs(); + } + + public Builder(RolloutSpecTrafficAlbArgs defaults) { + $ = new RolloutSpecTrafficAlbArgs(Objects.requireNonNull(defaults)); + } + + public Builder albAnnotationPrefix(@Nullable Output albAnnotationPrefix) { + $.albAnnotationPrefix = albAnnotationPrefix; + return this; + } + + public Builder albAnnotationPrefix(String albAnnotationPrefix) { + return albAnnotationPrefix(Output.of(albAnnotationPrefix)); + } + + public Builder albIngress(Output albIngress) { + $.albIngress = albIngress; + return this; + } + + public Builder albIngress(String albIngress) { + return albIngress(Output.of(albIngress)); + } + + public Builder albRootService(Output albRootService) { + $.albRootService = albRootService; + return this; + } + + public Builder albRootService(String albRootService) { + return albRootService(Output.of(albRootService)); + } + + public Builder servicePort(Output servicePort) { + $.servicePort = servicePort; + return this; + } + + public Builder servicePort(Integer servicePort) { + return servicePort(Output.of(servicePort)); + } + + public Builder stickinessConfig(@Nullable Output stickinessConfig) { + $.stickinessConfig = stickinessConfig; + return this; + } + + public Builder stickinessConfig(RolloutSpecTrafficAlbStickinessConfigArgs stickinessConfig) { + return stickinessConfig(Output.of(stickinessConfig)); + } + + public RolloutSpecTrafficAlbArgs build() { + if ($.albIngress == null) { + throw new MissingRequiredPropertyException("RolloutSpecTrafficAlbArgs", "albIngress"); + } + if ($.albRootService == null) { + throw new MissingRequiredPropertyException("RolloutSpecTrafficAlbArgs", "albRootService"); + } + if ($.servicePort == null) { + throw new MissingRequiredPropertyException("RolloutSpecTrafficAlbArgs", "servicePort"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecTrafficAlbStickinessConfigArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecTrafficAlbStickinessConfigArgs.java new file mode 100644 index 00000000..1bf91949 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecTrafficAlbStickinessConfigArgs.java @@ -0,0 +1,81 @@ +// *** 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 RolloutSpecTrafficAlbStickinessConfigArgs extends com.pulumi.resources.ResourceArgs { + + public static final RolloutSpecTrafficAlbStickinessConfigArgs Empty = new RolloutSpecTrafficAlbStickinessConfigArgs(); + + @Import(name="durationSeconds") + private @Nullable Output durationSeconds; + + public Optional> durationSeconds() { + return Optional.ofNullable(this.durationSeconds); + } + + @Import(name="enabled") + private @Nullable Output enabled; + + public Optional> enabled() { + return Optional.ofNullable(this.enabled); + } + + private RolloutSpecTrafficAlbStickinessConfigArgs() {} + + private RolloutSpecTrafficAlbStickinessConfigArgs(RolloutSpecTrafficAlbStickinessConfigArgs $) { + this.durationSeconds = $.durationSeconds; + this.enabled = $.enabled; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RolloutSpecTrafficAlbStickinessConfigArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RolloutSpecTrafficAlbStickinessConfigArgs $; + + public Builder() { + $ = new RolloutSpecTrafficAlbStickinessConfigArgs(); + } + + public Builder(RolloutSpecTrafficAlbStickinessConfigArgs defaults) { + $ = new RolloutSpecTrafficAlbStickinessConfigArgs(Objects.requireNonNull(defaults)); + } + + public Builder durationSeconds(@Nullable Output durationSeconds) { + $.durationSeconds = durationSeconds; + return this; + } + + public Builder durationSeconds(Integer durationSeconds) { + return durationSeconds(Output.of(durationSeconds)); + } + + public Builder enabled(@Nullable Output enabled) { + $.enabled = enabled; + return this; + } + + public Builder enabled(Boolean enabled) { + return enabled(Output.of(enabled)); + } + + public RolloutSpecTrafficAlbStickinessConfigArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecTrafficAmbassadorArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecTrafficAmbassadorArgs.java new file mode 100644 index 00000000..3b4ff5f5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecTrafficAmbassadorArgs.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 RolloutSpecTrafficAmbassadorArgs extends com.pulumi.resources.ResourceArgs { + + public static final RolloutSpecTrafficAmbassadorArgs Empty = new RolloutSpecTrafficAmbassadorArgs(); + + @Import(name="mappings", required=true) + private Output> mappings; + + public Output> mappings() { + return this.mappings; + } + + private RolloutSpecTrafficAmbassadorArgs() {} + + private RolloutSpecTrafficAmbassadorArgs(RolloutSpecTrafficAmbassadorArgs $) { + this.mappings = $.mappings; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RolloutSpecTrafficAmbassadorArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RolloutSpecTrafficAmbassadorArgs $; + + public Builder() { + $ = new RolloutSpecTrafficAmbassadorArgs(); + } + + public Builder(RolloutSpecTrafficAmbassadorArgs defaults) { + $ = new RolloutSpecTrafficAmbassadorArgs(Objects.requireNonNull(defaults)); + } + + public Builder mappings(Output> mappings) { + $.mappings = mappings; + return this; + } + + public Builder mappings(List mappings) { + return mappings(Output.of(mappings)); + } + + public Builder mappings(String... mappings) { + return mappings(List.of(mappings)); + } + + public RolloutSpecTrafficAmbassadorArgs build() { + if ($.mappings == null) { + throw new MissingRequiredPropertyException("RolloutSpecTrafficAmbassadorArgs", "mappings"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecTrafficArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecTrafficArgs.java new file mode 100644 index 00000000..60f7d856 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecTrafficArgs.java @@ -0,0 +1,348 @@ +// *** 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.RolloutSpecTrafficAlbArgs; +import com.pulumi.spotinst.oceancd.inputs.RolloutSpecTrafficAmbassadorArgs; +import com.pulumi.spotinst.oceancd.inputs.RolloutSpecTrafficIstioArgs; +import com.pulumi.spotinst.oceancd.inputs.RolloutSpecTrafficNginxArgs; +import com.pulumi.spotinst.oceancd.inputs.RolloutSpecTrafficPingPongArgs; +import com.pulumi.spotinst.oceancd.inputs.RolloutSpecTrafficSmiArgs; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class RolloutSpecTrafficArgs extends com.pulumi.resources.ResourceArgs { + + public static final RolloutSpecTrafficArgs Empty = new RolloutSpecTrafficArgs(); + + /** + * Holds ALB Ingress specific configuration to route traffic. + * + */ + @Import(name="alb") + private @Nullable Output alb; + + /** + * @return Holds ALB Ingress specific configuration to route traffic. + * + */ + public Optional> alb() { + return Optional.ofNullable(this.alb); + } + + /** + * Holds specific configuration to use Ambassador to route traffic. + * + */ + @Import(name="ambassador") + private @Nullable Output ambassador; + + /** + * @return Holds specific configuration to use Ambassador to route traffic. + * + */ + public Optional> ambassador() { + return Optional.ofNullable(this.ambassador); + } + + /** + * The canary service name. + * + */ + @Import(name="canaryService") + private @Nullable Output canaryService; + + /** + * @return The canary service name. + * + */ + public Optional> canaryService() { + return Optional.ofNullable(this.canaryService); + } + + /** + * Holds Istio specific configuration to route traffic. + * + */ + @Import(name="istio") + private @Nullable Output istio; + + /** + * @return Holds Istio specific configuration to route traffic. + * + */ + public Optional> istio() { + return Optional.ofNullable(this.istio); + } + + /** + * Holds Nginx Ingress specific configuration to route traffic. + * + */ + @Import(name="nginx") + private @Nullable Output nginx; + + /** + * @return Holds Nginx Ingress specific configuration to route traffic. + * + */ + public Optional> nginx() { + return Optional.ofNullable(this.nginx); + } + + /** + * Holds the ping and pong services. You can use `pingPong` field only when using ALB as a traffic manager with the IP Mode approach. + * + */ + @Import(name="pingPong") + private @Nullable Output pingPong; + + /** + * @return Holds the ping and pong services. You can use `pingPong` field only when using ALB as a traffic manager with the IP Mode approach. + * + */ + public Optional> pingPong() { + return Optional.ofNullable(this.pingPong); + } + + /** + * Holds TrafficSplit specific configuration to route traffic. + * + */ + @Import(name="smi") + private @Nullable Output smi; + + /** + * @return Holds TrafficSplit specific configuration to route traffic. + * + */ + public Optional> smi() { + return Optional.ofNullable(this.smi); + } + + /** + * The stable service name. + * + */ + @Import(name="stableService") + private @Nullable Output stableService; + + /** + * @return The stable service name. + * + */ + public Optional> stableService() { + return Optional.ofNullable(this.stableService); + } + + private RolloutSpecTrafficArgs() {} + + private RolloutSpecTrafficArgs(RolloutSpecTrafficArgs $) { + this.alb = $.alb; + this.ambassador = $.ambassador; + this.canaryService = $.canaryService; + this.istio = $.istio; + this.nginx = $.nginx; + this.pingPong = $.pingPong; + this.smi = $.smi; + this.stableService = $.stableService; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RolloutSpecTrafficArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RolloutSpecTrafficArgs $; + + public Builder() { + $ = new RolloutSpecTrafficArgs(); + } + + public Builder(RolloutSpecTrafficArgs defaults) { + $ = new RolloutSpecTrafficArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param alb Holds ALB Ingress specific configuration to route traffic. + * + * @return builder + * + */ + public Builder alb(@Nullable Output alb) { + $.alb = alb; + return this; + } + + /** + * @param alb Holds ALB Ingress specific configuration to route traffic. + * + * @return builder + * + */ + public Builder alb(RolloutSpecTrafficAlbArgs alb) { + return alb(Output.of(alb)); + } + + /** + * @param ambassador Holds specific configuration to use Ambassador to route traffic. + * + * @return builder + * + */ + public Builder ambassador(@Nullable Output ambassador) { + $.ambassador = ambassador; + return this; + } + + /** + * @param ambassador Holds specific configuration to use Ambassador to route traffic. + * + * @return builder + * + */ + public Builder ambassador(RolloutSpecTrafficAmbassadorArgs ambassador) { + return ambassador(Output.of(ambassador)); + } + + /** + * @param canaryService The canary service name. + * + * @return builder + * + */ + public Builder canaryService(@Nullable Output canaryService) { + $.canaryService = canaryService; + return this; + } + + /** + * @param canaryService The canary service name. + * + * @return builder + * + */ + public Builder canaryService(String canaryService) { + return canaryService(Output.of(canaryService)); + } + + /** + * @param istio Holds Istio specific configuration to route traffic. + * + * @return builder + * + */ + public Builder istio(@Nullable Output istio) { + $.istio = istio; + return this; + } + + /** + * @param istio Holds Istio specific configuration to route traffic. + * + * @return builder + * + */ + public Builder istio(RolloutSpecTrafficIstioArgs istio) { + return istio(Output.of(istio)); + } + + /** + * @param nginx Holds Nginx Ingress specific configuration to route traffic. + * + * @return builder + * + */ + public Builder nginx(@Nullable Output nginx) { + $.nginx = nginx; + return this; + } + + /** + * @param nginx Holds Nginx Ingress specific configuration to route traffic. + * + * @return builder + * + */ + public Builder nginx(RolloutSpecTrafficNginxArgs nginx) { + return nginx(Output.of(nginx)); + } + + /** + * @param pingPong Holds the ping and pong services. You can use `pingPong` field only when using ALB as a traffic manager with the IP Mode approach. + * + * @return builder + * + */ + public Builder pingPong(@Nullable Output pingPong) { + $.pingPong = pingPong; + return this; + } + + /** + * @param pingPong Holds the ping and pong services. You can use `pingPong` field only when using ALB as a traffic manager with the IP Mode approach. + * + * @return builder + * + */ + public Builder pingPong(RolloutSpecTrafficPingPongArgs pingPong) { + return pingPong(Output.of(pingPong)); + } + + /** + * @param smi Holds TrafficSplit specific configuration to route traffic. + * + * @return builder + * + */ + public Builder smi(@Nullable Output smi) { + $.smi = smi; + return this; + } + + /** + * @param smi Holds TrafficSplit specific configuration to route traffic. + * + * @return builder + * + */ + public Builder smi(RolloutSpecTrafficSmiArgs smi) { + return smi(Output.of(smi)); + } + + /** + * @param stableService The stable service name. + * + * @return builder + * + */ + public Builder stableService(@Nullable Output stableService) { + $.stableService = stableService; + return this; + } + + /** + * @param stableService The stable service name. + * + * @return builder + * + */ + public Builder stableService(String stableService) { + return stableService(Output.of(stableService)); + } + + public RolloutSpecTrafficArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecTrafficIstioArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecTrafficIstioArgs.java new file mode 100644 index 00000000..a2291af1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecTrafficIstioArgs.java @@ -0,0 +1,90 @@ +// *** 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.RolloutSpecTrafficIstioDestinationRuleArgs; +import com.pulumi.spotinst.oceancd.inputs.RolloutSpecTrafficIstioVirtualServiceArgs; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class RolloutSpecTrafficIstioArgs extends com.pulumi.resources.ResourceArgs { + + public static final RolloutSpecTrafficIstioArgs Empty = new RolloutSpecTrafficIstioArgs(); + + @Import(name="destinationRule") + private @Nullable Output destinationRule; + + public Optional> destinationRule() { + return Optional.ofNullable(this.destinationRule); + } + + @Import(name="virtualServices", required=true) + private Output> virtualServices; + + public Output> virtualServices() { + return this.virtualServices; + } + + private RolloutSpecTrafficIstioArgs() {} + + private RolloutSpecTrafficIstioArgs(RolloutSpecTrafficIstioArgs $) { + this.destinationRule = $.destinationRule; + this.virtualServices = $.virtualServices; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RolloutSpecTrafficIstioArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RolloutSpecTrafficIstioArgs $; + + public Builder() { + $ = new RolloutSpecTrafficIstioArgs(); + } + + public Builder(RolloutSpecTrafficIstioArgs defaults) { + $ = new RolloutSpecTrafficIstioArgs(Objects.requireNonNull(defaults)); + } + + public Builder destinationRule(@Nullable Output destinationRule) { + $.destinationRule = destinationRule; + return this; + } + + public Builder destinationRule(RolloutSpecTrafficIstioDestinationRuleArgs destinationRule) { + return destinationRule(Output.of(destinationRule)); + } + + public Builder virtualServices(Output> virtualServices) { + $.virtualServices = virtualServices; + return this; + } + + public Builder virtualServices(List virtualServices) { + return virtualServices(Output.of(virtualServices)); + } + + public Builder virtualServices(RolloutSpecTrafficIstioVirtualServiceArgs... virtualServices) { + return virtualServices(List.of(virtualServices)); + } + + public RolloutSpecTrafficIstioArgs build() { + if ($.virtualServices == null) { + throw new MissingRequiredPropertyException("RolloutSpecTrafficIstioArgs", "virtualServices"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecTrafficIstioDestinationRuleArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecTrafficIstioDestinationRuleArgs.java new file mode 100644 index 00000000..26946dd1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecTrafficIstioDestinationRuleArgs.java @@ -0,0 +1,105 @@ +// *** 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 RolloutSpecTrafficIstioDestinationRuleArgs extends com.pulumi.resources.ResourceArgs { + + public static final RolloutSpecTrafficIstioDestinationRuleArgs Empty = new RolloutSpecTrafficIstioDestinationRuleArgs(); + + @Import(name="canarySubsetName", required=true) + private Output canarySubsetName; + + public Output canarySubsetName() { + return this.canarySubsetName; + } + + @Import(name="destinationRuleName", required=true) + private Output destinationRuleName; + + public Output destinationRuleName() { + return this.destinationRuleName; + } + + @Import(name="stableSubsetName", required=true) + private Output stableSubsetName; + + public Output stableSubsetName() { + return this.stableSubsetName; + } + + private RolloutSpecTrafficIstioDestinationRuleArgs() {} + + private RolloutSpecTrafficIstioDestinationRuleArgs(RolloutSpecTrafficIstioDestinationRuleArgs $) { + this.canarySubsetName = $.canarySubsetName; + this.destinationRuleName = $.destinationRuleName; + this.stableSubsetName = $.stableSubsetName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RolloutSpecTrafficIstioDestinationRuleArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RolloutSpecTrafficIstioDestinationRuleArgs $; + + public Builder() { + $ = new RolloutSpecTrafficIstioDestinationRuleArgs(); + } + + public Builder(RolloutSpecTrafficIstioDestinationRuleArgs defaults) { + $ = new RolloutSpecTrafficIstioDestinationRuleArgs(Objects.requireNonNull(defaults)); + } + + public Builder canarySubsetName(Output canarySubsetName) { + $.canarySubsetName = canarySubsetName; + return this; + } + + public Builder canarySubsetName(String canarySubsetName) { + return canarySubsetName(Output.of(canarySubsetName)); + } + + public Builder destinationRuleName(Output destinationRuleName) { + $.destinationRuleName = destinationRuleName; + return this; + } + + public Builder destinationRuleName(String destinationRuleName) { + return destinationRuleName(Output.of(destinationRuleName)); + } + + public Builder stableSubsetName(Output stableSubsetName) { + $.stableSubsetName = stableSubsetName; + return this; + } + + public Builder stableSubsetName(String stableSubsetName) { + return stableSubsetName(Output.of(stableSubsetName)); + } + + public RolloutSpecTrafficIstioDestinationRuleArgs build() { + if ($.canarySubsetName == null) { + throw new MissingRequiredPropertyException("RolloutSpecTrafficIstioDestinationRuleArgs", "canarySubsetName"); + } + if ($.destinationRuleName == null) { + throw new MissingRequiredPropertyException("RolloutSpecTrafficIstioDestinationRuleArgs", "destinationRuleName"); + } + if ($.stableSubsetName == null) { + throw new MissingRequiredPropertyException("RolloutSpecTrafficIstioDestinationRuleArgs", "stableSubsetName"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecTrafficIstioVirtualServiceArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecTrafficIstioVirtualServiceArgs.java new file mode 100644 index 00000000..50624f15 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecTrafficIstioVirtualServiceArgs.java @@ -0,0 +1,111 @@ +// *** 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.RolloutSpecTrafficIstioVirtualServiceTlsRouteArgs; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class RolloutSpecTrafficIstioVirtualServiceArgs extends com.pulumi.resources.ResourceArgs { + + public static final RolloutSpecTrafficIstioVirtualServiceArgs Empty = new RolloutSpecTrafficIstioVirtualServiceArgs(); + + @Import(name="tlsRoutes") + private @Nullable Output> tlsRoutes; + + public Optional>> tlsRoutes() { + return Optional.ofNullable(this.tlsRoutes); + } + + @Import(name="virtualServiceName", required=true) + private Output virtualServiceName; + + public Output virtualServiceName() { + return this.virtualServiceName; + } + + @Import(name="virtualServiceRoutes") + private @Nullable Output> virtualServiceRoutes; + + public Optional>> virtualServiceRoutes() { + return Optional.ofNullable(this.virtualServiceRoutes); + } + + private RolloutSpecTrafficIstioVirtualServiceArgs() {} + + private RolloutSpecTrafficIstioVirtualServiceArgs(RolloutSpecTrafficIstioVirtualServiceArgs $) { + this.tlsRoutes = $.tlsRoutes; + this.virtualServiceName = $.virtualServiceName; + this.virtualServiceRoutes = $.virtualServiceRoutes; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RolloutSpecTrafficIstioVirtualServiceArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RolloutSpecTrafficIstioVirtualServiceArgs $; + + public Builder() { + $ = new RolloutSpecTrafficIstioVirtualServiceArgs(); + } + + public Builder(RolloutSpecTrafficIstioVirtualServiceArgs defaults) { + $ = new RolloutSpecTrafficIstioVirtualServiceArgs(Objects.requireNonNull(defaults)); + } + + public Builder tlsRoutes(@Nullable Output> tlsRoutes) { + $.tlsRoutes = tlsRoutes; + return this; + } + + public Builder tlsRoutes(List tlsRoutes) { + return tlsRoutes(Output.of(tlsRoutes)); + } + + public Builder tlsRoutes(RolloutSpecTrafficIstioVirtualServiceTlsRouteArgs... tlsRoutes) { + return tlsRoutes(List.of(tlsRoutes)); + } + + public Builder virtualServiceName(Output virtualServiceName) { + $.virtualServiceName = virtualServiceName; + return this; + } + + public Builder virtualServiceName(String virtualServiceName) { + return virtualServiceName(Output.of(virtualServiceName)); + } + + public Builder virtualServiceRoutes(@Nullable Output> virtualServiceRoutes) { + $.virtualServiceRoutes = virtualServiceRoutes; + return this; + } + + public Builder virtualServiceRoutes(List virtualServiceRoutes) { + return virtualServiceRoutes(Output.of(virtualServiceRoutes)); + } + + public Builder virtualServiceRoutes(String... virtualServiceRoutes) { + return virtualServiceRoutes(List.of(virtualServiceRoutes)); + } + + public RolloutSpecTrafficIstioVirtualServiceArgs build() { + if ($.virtualServiceName == null) { + throw new MissingRequiredPropertyException("RolloutSpecTrafficIstioVirtualServiceArgs", "virtualServiceName"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecTrafficIstioVirtualServiceTlsRouteArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecTrafficIstioVirtualServiceTlsRouteArgs.java new file mode 100644 index 00000000..fa3cca89 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecTrafficIstioVirtualServiceTlsRouteArgs.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 java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class RolloutSpecTrafficIstioVirtualServiceTlsRouteArgs extends com.pulumi.resources.ResourceArgs { + + public static final RolloutSpecTrafficIstioVirtualServiceTlsRouteArgs Empty = new RolloutSpecTrafficIstioVirtualServiceTlsRouteArgs(); + + @Import(name="port") + private @Nullable Output port; + + public Optional> port() { + return Optional.ofNullable(this.port); + } + + @Import(name="sniHosts") + private @Nullable Output> sniHosts; + + public Optional>> sniHosts() { + return Optional.ofNullable(this.sniHosts); + } + + private RolloutSpecTrafficIstioVirtualServiceTlsRouteArgs() {} + + private RolloutSpecTrafficIstioVirtualServiceTlsRouteArgs(RolloutSpecTrafficIstioVirtualServiceTlsRouteArgs $) { + this.port = $.port; + this.sniHosts = $.sniHosts; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RolloutSpecTrafficIstioVirtualServiceTlsRouteArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RolloutSpecTrafficIstioVirtualServiceTlsRouteArgs $; + + public Builder() { + $ = new RolloutSpecTrafficIstioVirtualServiceTlsRouteArgs(); + } + + public Builder(RolloutSpecTrafficIstioVirtualServiceTlsRouteArgs defaults) { + $ = new RolloutSpecTrafficIstioVirtualServiceTlsRouteArgs(Objects.requireNonNull(defaults)); + } + + public Builder port(@Nullable Output port) { + $.port = port; + return this; + } + + public Builder port(Integer port) { + return port(Output.of(port)); + } + + public Builder sniHosts(@Nullable Output> sniHosts) { + $.sniHosts = sniHosts; + return this; + } + + public Builder sniHosts(List sniHosts) { + return sniHosts(Output.of(sniHosts)); + } + + public Builder sniHosts(String... sniHosts) { + return sniHosts(List.of(sniHosts)); + } + + public RolloutSpecTrafficIstioVirtualServiceTlsRouteArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecTrafficNginxAdditionalIngressAnnotationArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecTrafficNginxAdditionalIngressAnnotationArgs.java new file mode 100644 index 00000000..a50c9a9d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecTrafficNginxAdditionalIngressAnnotationArgs.java @@ -0,0 +1,80 @@ +// *** 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 RolloutSpecTrafficNginxAdditionalIngressAnnotationArgs extends com.pulumi.resources.ResourceArgs { + + public static final RolloutSpecTrafficNginxAdditionalIngressAnnotationArgs Empty = new RolloutSpecTrafficNginxAdditionalIngressAnnotationArgs(); + + @Import(name="canaryByHeader") + private @Nullable Output canaryByHeader; + + public Optional> canaryByHeader() { + return Optional.ofNullable(this.canaryByHeader); + } + + @Import(name="key1") + private @Nullable Output key1; + + public Optional> key1() { + return Optional.ofNullable(this.key1); + } + + private RolloutSpecTrafficNginxAdditionalIngressAnnotationArgs() {} + + private RolloutSpecTrafficNginxAdditionalIngressAnnotationArgs(RolloutSpecTrafficNginxAdditionalIngressAnnotationArgs $) { + this.canaryByHeader = $.canaryByHeader; + this.key1 = $.key1; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RolloutSpecTrafficNginxAdditionalIngressAnnotationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RolloutSpecTrafficNginxAdditionalIngressAnnotationArgs $; + + public Builder() { + $ = new RolloutSpecTrafficNginxAdditionalIngressAnnotationArgs(); + } + + public Builder(RolloutSpecTrafficNginxAdditionalIngressAnnotationArgs defaults) { + $ = new RolloutSpecTrafficNginxAdditionalIngressAnnotationArgs(Objects.requireNonNull(defaults)); + } + + public Builder canaryByHeader(@Nullable Output canaryByHeader) { + $.canaryByHeader = canaryByHeader; + return this; + } + + public Builder canaryByHeader(String canaryByHeader) { + return canaryByHeader(Output.of(canaryByHeader)); + } + + public Builder key1(@Nullable Output key1) { + $.key1 = key1; + return this; + } + + public Builder key1(String key1) { + return key1(Output.of(key1)); + } + + public RolloutSpecTrafficNginxAdditionalIngressAnnotationArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecTrafficNginxArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecTrafficNginxArgs.java new file mode 100644 index 00000000..3c22e832 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecTrafficNginxArgs.java @@ -0,0 +1,102 @@ +// *** 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.RolloutSpecTrafficNginxAdditionalIngressAnnotationArgs; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class RolloutSpecTrafficNginxArgs extends com.pulumi.resources.ResourceArgs { + + public static final RolloutSpecTrafficNginxArgs Empty = new RolloutSpecTrafficNginxArgs(); + + @Import(name="additionalIngressAnnotation") + private @Nullable Output additionalIngressAnnotation; + + public Optional> additionalIngressAnnotation() { + return Optional.ofNullable(this.additionalIngressAnnotation); + } + + @Import(name="nginxAnnotationPrefix") + private @Nullable Output nginxAnnotationPrefix; + + public Optional> nginxAnnotationPrefix() { + return Optional.ofNullable(this.nginxAnnotationPrefix); + } + + @Import(name="stableIngress", required=true) + private Output stableIngress; + + public Output stableIngress() { + return this.stableIngress; + } + + private RolloutSpecTrafficNginxArgs() {} + + private RolloutSpecTrafficNginxArgs(RolloutSpecTrafficNginxArgs $) { + this.additionalIngressAnnotation = $.additionalIngressAnnotation; + this.nginxAnnotationPrefix = $.nginxAnnotationPrefix; + this.stableIngress = $.stableIngress; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RolloutSpecTrafficNginxArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RolloutSpecTrafficNginxArgs $; + + public Builder() { + $ = new RolloutSpecTrafficNginxArgs(); + } + + public Builder(RolloutSpecTrafficNginxArgs defaults) { + $ = new RolloutSpecTrafficNginxArgs(Objects.requireNonNull(defaults)); + } + + public Builder additionalIngressAnnotation(@Nullable Output additionalIngressAnnotation) { + $.additionalIngressAnnotation = additionalIngressAnnotation; + return this; + } + + public Builder additionalIngressAnnotation(RolloutSpecTrafficNginxAdditionalIngressAnnotationArgs additionalIngressAnnotation) { + return additionalIngressAnnotation(Output.of(additionalIngressAnnotation)); + } + + public Builder nginxAnnotationPrefix(@Nullable Output nginxAnnotationPrefix) { + $.nginxAnnotationPrefix = nginxAnnotationPrefix; + return this; + } + + public Builder nginxAnnotationPrefix(String nginxAnnotationPrefix) { + return nginxAnnotationPrefix(Output.of(nginxAnnotationPrefix)); + } + + public Builder stableIngress(Output stableIngress) { + $.stableIngress = stableIngress; + return this; + } + + public Builder stableIngress(String stableIngress) { + return stableIngress(Output.of(stableIngress)); + } + + public RolloutSpecTrafficNginxArgs build() { + if ($.stableIngress == null) { + throw new MissingRequiredPropertyException("RolloutSpecTrafficNginxArgs", "stableIngress"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecTrafficPingPongArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecTrafficPingPongArgs.java new file mode 100644 index 00000000..08bd19be --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecTrafficPingPongArgs.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 RolloutSpecTrafficPingPongArgs extends com.pulumi.resources.ResourceArgs { + + public static final RolloutSpecTrafficPingPongArgs Empty = new RolloutSpecTrafficPingPongArgs(); + + @Import(name="pingService", required=true) + private Output pingService; + + public Output pingService() { + return this.pingService; + } + + @Import(name="pongService", required=true) + private Output pongService; + + public Output pongService() { + return this.pongService; + } + + private RolloutSpecTrafficPingPongArgs() {} + + private RolloutSpecTrafficPingPongArgs(RolloutSpecTrafficPingPongArgs $) { + this.pingService = $.pingService; + this.pongService = $.pongService; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RolloutSpecTrafficPingPongArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RolloutSpecTrafficPingPongArgs $; + + public Builder() { + $ = new RolloutSpecTrafficPingPongArgs(); + } + + public Builder(RolloutSpecTrafficPingPongArgs defaults) { + $ = new RolloutSpecTrafficPingPongArgs(Objects.requireNonNull(defaults)); + } + + public Builder pingService(Output pingService) { + $.pingService = pingService; + return this; + } + + public Builder pingService(String pingService) { + return pingService(Output.of(pingService)); + } + + public Builder pongService(Output pongService) { + $.pongService = pongService; + return this; + } + + public Builder pongService(String pongService) { + return pongService(Output.of(pongService)); + } + + public RolloutSpecTrafficPingPongArgs build() { + if ($.pingService == null) { + throw new MissingRequiredPropertyException("RolloutSpecTrafficPingPongArgs", "pingService"); + } + if ($.pongService == null) { + throw new MissingRequiredPropertyException("RolloutSpecTrafficPingPongArgs", "pongService"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecTrafficSmiArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecTrafficSmiArgs.java new file mode 100644 index 00000000..f458d424 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/RolloutSpecTrafficSmiArgs.java @@ -0,0 +1,80 @@ +// *** 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 RolloutSpecTrafficSmiArgs extends com.pulumi.resources.ResourceArgs { + + public static final RolloutSpecTrafficSmiArgs Empty = new RolloutSpecTrafficSmiArgs(); + + @Import(name="smiRootService") + private @Nullable Output smiRootService; + + public Optional> smiRootService() { + return Optional.ofNullable(this.smiRootService); + } + + @Import(name="trafficSplitName") + private @Nullable Output trafficSplitName; + + public Optional> trafficSplitName() { + return Optional.ofNullable(this.trafficSplitName); + } + + private RolloutSpecTrafficSmiArgs() {} + + private RolloutSpecTrafficSmiArgs(RolloutSpecTrafficSmiArgs $) { + this.smiRootService = $.smiRootService; + this.trafficSplitName = $.trafficSplitName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RolloutSpecTrafficSmiArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RolloutSpecTrafficSmiArgs $; + + public Builder() { + $ = new RolloutSpecTrafficSmiArgs(); + } + + public Builder(RolloutSpecTrafficSmiArgs defaults) { + $ = new RolloutSpecTrafficSmiArgs(Objects.requireNonNull(defaults)); + } + + public Builder smiRootService(@Nullable Output smiRootService) { + $.smiRootService = smiRootService; + return this; + } + + public Builder smiRootService(String smiRootService) { + return smiRootService(Output.of(smiRootService)); + } + + public Builder trafficSplitName(@Nullable Output trafficSplitName) { + $.trafficSplitName = trafficSplitName; + return this; + } + + public Builder trafficSplitName(String trafficSplitName) { + return trafficSplitName(Output.of(trafficSplitName)); + } + + public RolloutSpecTrafficSmiArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateArgArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateArgArgs.java new file mode 100644 index 00000000..3d85f73a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateArgArgs.java @@ -0,0 +1,162 @@ +// *** 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.VerificationTemplateArgValueFromArgs; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class VerificationTemplateArgArgs extends com.pulumi.resources.ResourceArgs { + + public static final VerificationTemplateArgArgs Empty = new VerificationTemplateArgArgs(); + + /** + * Name of an argument. + * + */ + @Import(name="argName", required=true) + private Output argName; + + /** + * @return Name of an argument. + * + */ + public Output argName() { + return this.argName; + } + + /** + * String representation of data. + * + */ + @Import(name="value") + private @Nullable Output value; + + /** + * @return String representation of data. + * + */ + public Optional> value() { + return Optional.ofNullable(this.value); + } + + /** + * ValueFrom object. + * + */ + @Import(name="valueFrom") + private @Nullable Output valueFrom; + + /** + * @return ValueFrom object. + * + */ + public Optional> valueFrom() { + return Optional.ofNullable(this.valueFrom); + } + + private VerificationTemplateArgArgs() {} + + private VerificationTemplateArgArgs(VerificationTemplateArgArgs $) { + this.argName = $.argName; + this.value = $.value; + this.valueFrom = $.valueFrom; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VerificationTemplateArgArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VerificationTemplateArgArgs $; + + public Builder() { + $ = new VerificationTemplateArgArgs(); + } + + public Builder(VerificationTemplateArgArgs defaults) { + $ = new VerificationTemplateArgArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param argName Name of an argument. + * + * @return builder + * + */ + public Builder argName(Output argName) { + $.argName = argName; + return this; + } + + /** + * @param argName Name of an argument. + * + * @return builder + * + */ + public Builder argName(String argName) { + return argName(Output.of(argName)); + } + + /** + * @param value String representation of data. + * + * @return builder + * + */ + public Builder value(@Nullable Output value) { + $.value = value; + return this; + } + + /** + * @param value String representation of data. + * + * @return builder + * + */ + public Builder value(String value) { + return value(Output.of(value)); + } + + /** + * @param valueFrom ValueFrom object. + * + * @return builder + * + */ + public Builder valueFrom(@Nullable Output valueFrom) { + $.valueFrom = valueFrom; + return this; + } + + /** + * @param valueFrom ValueFrom object. + * + * @return builder + * + */ + public Builder valueFrom(VerificationTemplateArgValueFromArgs valueFrom) { + return valueFrom(Output.of(valueFrom)); + } + + public VerificationTemplateArgArgs build() { + if ($.argName == null) { + throw new MissingRequiredPropertyException("VerificationTemplateArgArgs", "argName"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateArgValueFromArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateArgValueFromArgs.java new file mode 100644 index 00000000..b988ec41 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateArgValueFromArgs.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 com.pulumi.spotinst.oceancd.inputs.VerificationTemplateArgValueFromSecretKeyRefArgs; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class VerificationTemplateArgValueFromArgs extends com.pulumi.resources.ResourceArgs { + + public static final VerificationTemplateArgValueFromArgs Empty = new VerificationTemplateArgValueFromArgs(); + + @Import(name="secretKeyRef") + private @Nullable Output secretKeyRef; + + public Optional> secretKeyRef() { + return Optional.ofNullable(this.secretKeyRef); + } + + private VerificationTemplateArgValueFromArgs() {} + + private VerificationTemplateArgValueFromArgs(VerificationTemplateArgValueFromArgs $) { + this.secretKeyRef = $.secretKeyRef; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VerificationTemplateArgValueFromArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VerificationTemplateArgValueFromArgs $; + + public Builder() { + $ = new VerificationTemplateArgValueFromArgs(); + } + + public Builder(VerificationTemplateArgValueFromArgs defaults) { + $ = new VerificationTemplateArgValueFromArgs(Objects.requireNonNull(defaults)); + } + + public Builder secretKeyRef(@Nullable Output secretKeyRef) { + $.secretKeyRef = secretKeyRef; + return this; + } + + public Builder secretKeyRef(VerificationTemplateArgValueFromSecretKeyRefArgs secretKeyRef) { + return secretKeyRef(Output.of(secretKeyRef)); + } + + public VerificationTemplateArgValueFromArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateArgValueFromSecretKeyRefArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateArgValueFromSecretKeyRefArgs.java new file mode 100644 index 00000000..47f78a95 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateArgValueFromSecretKeyRefArgs.java @@ -0,0 +1,105 @@ +// *** 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 VerificationTemplateArgValueFromSecretKeyRefArgs extends com.pulumi.resources.ResourceArgs { + + public static final VerificationTemplateArgValueFromSecretKeyRefArgs Empty = new VerificationTemplateArgValueFromSecretKeyRefArgs(); + + @Import(name="key", required=true) + private Output key; + + public Output key() { + return this.key; + } + + /** + * Identifier name for Ocean CD Verification Template. Must be unique. + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return Identifier name for Ocean CD Verification Template. Must be unique. + * + */ + public Output name() { + return this.name; + } + + private VerificationTemplateArgValueFromSecretKeyRefArgs() {} + + private VerificationTemplateArgValueFromSecretKeyRefArgs(VerificationTemplateArgValueFromSecretKeyRefArgs $) { + this.key = $.key; + this.name = $.name; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VerificationTemplateArgValueFromSecretKeyRefArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VerificationTemplateArgValueFromSecretKeyRefArgs $; + + public Builder() { + $ = new VerificationTemplateArgValueFromSecretKeyRefArgs(); + } + + public Builder(VerificationTemplateArgValueFromSecretKeyRefArgs defaults) { + $ = new VerificationTemplateArgValueFromSecretKeyRefArgs(Objects.requireNonNull(defaults)); + } + + public Builder key(Output key) { + $.key = key; + return this; + } + + public Builder key(String key) { + return key(Output.of(key)); + } + + /** + * @param name Identifier name for Ocean CD Verification Template. Must be unique. + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name Identifier name for Ocean CD Verification Template. Must be unique. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + public VerificationTemplateArgValueFromSecretKeyRefArgs build() { + if ($.key == null) { + throw new MissingRequiredPropertyException("VerificationTemplateArgValueFromSecretKeyRefArgs", "key"); + } + if ($.name == null) { + throw new MissingRequiredPropertyException("VerificationTemplateArgValueFromSecretKeyRefArgs", "name"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricArgs.java new file mode 100644 index 00000000..4ccd4ee9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricArgs.java @@ -0,0 +1,475 @@ +// *** 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.VerificationTemplateMetricBaselineArgs; +import com.pulumi.spotinst.oceancd.inputs.VerificationTemplateMetricProviderArgs; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class VerificationTemplateMetricArgs extends com.pulumi.resources.ResourceArgs { + + public static final VerificationTemplateMetricArgs Empty = new VerificationTemplateMetricArgs(); + + /** + * Baseline Object. + * + */ + @Import(name="baseline") + private @Nullable Output baseline; + + /** + * @return Baseline Object. + * + */ + public Optional> baseline() { + return Optional.ofNullable(this.baseline); + } + + /** + * The maximum number of times the measurement is allowed to error in succession, before the metric is considered error.Default is 4.When choosing `Jenkins` as the provider, there is no need to send this variable. + * + */ + @Import(name="consecutiveErrorLimit") + private @Nullable Output consecutiveErrorLimit; + + /** + * @return The maximum number of times the measurement is allowed to error in succession, before the metric is considered error.Default is 4.When choosing `Jenkins` as the provider, there is no need to send this variable. + * + */ + public Optional> consecutiveErrorLimit() { + return Optional.ofNullable(this.consecutiveErrorLimit); + } + + /** + * The number of times to run the measurement. If both interval and count are omitted, the effective count is 1. If only interval is specified, metric runs indefinitely. If count > 1, interval must be specified. When choosing `Jenkins` as the provider, there is no need to send this variable. + * + */ + @Import(name="count") + private @Nullable Output count; + + /** + * @return The number of times to run the measurement. If both interval and count are omitted, the effective count is 1. If only interval is specified, metric runs indefinitely. If count > 1, interval must be specified. When choosing `Jenkins` as the provider, there is no need to send this variable. + * + */ + public Optional> count() { + return Optional.ofNullable(this.count); + } + + /** + * Defines whether the metric should have an impact on the result of the rollout. + * + */ + @Import(name="dryRun") + private @Nullable Output dryRun; + + /** + * @return Defines whether the metric should have an impact on the result of the rollout. + * + */ + public Optional> dryRun() { + return Optional.ofNullable(this.dryRun); + } + + /** + * An expression which determines if a measurement is considered failed.If failureCondition is set, then successCondition is not allowed. When choosing Jenkins as the provider, there is no need to send this variable. + * + */ + @Import(name="failureCondition") + private @Nullable Output failureCondition; + + /** + * @return An expression which determines if a measurement is considered failed.If failureCondition is set, then successCondition is not allowed. When choosing Jenkins as the provider, there is no need to send this variable. + * + */ + public Optional> failureCondition() { + return Optional.ofNullable(this.failureCondition); + } + + /** + * The maximum number of times the measurement is allowed to fail, before the entire metric is considered failed.Default is 0. When choosing `Jenkins` as the provider, there is no need to send this variable. + * + */ + @Import(name="failureLimit") + private @Nullable Output failureLimit; + + /** + * @return The maximum number of times the measurement is allowed to fail, before the entire metric is considered failed.Default is 0. When choosing `Jenkins` as the provider, there is no need to send this variable. + * + */ + public Optional> failureLimit() { + return Optional.ofNullable(this.failureLimit); + } + + /** + * How long to wait before starting this metric measurements. When choosing Jenkins as the provider, there is no need to send this variable. + * + */ + @Import(name="initialDelay") + private @Nullable Output initialDelay; + + /** + * @return How long to wait before starting this metric measurements. When choosing Jenkins as the provider, there is no need to send this variable. + * + */ + public Optional> initialDelay() { + return Optional.ofNullable(this.initialDelay); + } + + /** + * Defines an interval string (30s, 5m, 1h) between each verification measurements. If omitted, will perform a single measurement.When choosing Jenkins as the provider, there is no need to send this variable. + * + */ + @Import(name="interval") + private @Nullable Output interval; + + /** + * @return Defines an interval string (30s, 5m, 1h) between each verification measurements. If omitted, will perform a single measurement.When choosing Jenkins as the provider, there is no need to send this variable. + * + */ + public Optional> interval() { + return Optional.ofNullable(this.interval); + } + + /** + * The name of the verification metric. + * + */ + @Import(name="metricsName", required=true) + private Output metricsName; + + /** + * @return The name of the verification metric. + * + */ + public Output metricsName() { + return this.metricsName; + } + + /** + * The name of the monitoring tool chosen for the metric. + * + */ + @Import(name="providers", required=true) + private Output> providers; + + /** + * @return The name of the monitoring tool chosen for the metric. + * + */ + public Output> providers() { + return this.providers; + } + + /** + * An expression which determines if a measurement is considered successful. The keyword `result` is a variable reference to the value of measurement. Results can be both structured data or primitive. If successCondition is set, then failureCondition is not allowed. When choosing `Jenkins` as the provider, there is no need to send this variable. + * + */ + @Import(name="successCondition") + private @Nullable Output successCondition; + + /** + * @return An expression which determines if a measurement is considered successful. The keyword `result` is a variable reference to the value of measurement. Results can be both structured data or primitive. If successCondition is set, then failureCondition is not allowed. When choosing `Jenkins` as the provider, there is no need to send this variable. + * + */ + public Optional> successCondition() { + return Optional.ofNullable(this.successCondition); + } + + private VerificationTemplateMetricArgs() {} + + private VerificationTemplateMetricArgs(VerificationTemplateMetricArgs $) { + this.baseline = $.baseline; + this.consecutiveErrorLimit = $.consecutiveErrorLimit; + this.count = $.count; + this.dryRun = $.dryRun; + this.failureCondition = $.failureCondition; + this.failureLimit = $.failureLimit; + this.initialDelay = $.initialDelay; + this.interval = $.interval; + this.metricsName = $.metricsName; + this.providers = $.providers; + this.successCondition = $.successCondition; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VerificationTemplateMetricArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VerificationTemplateMetricArgs $; + + public Builder() { + $ = new VerificationTemplateMetricArgs(); + } + + public Builder(VerificationTemplateMetricArgs defaults) { + $ = new VerificationTemplateMetricArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param baseline Baseline Object. + * + * @return builder + * + */ + public Builder baseline(@Nullable Output baseline) { + $.baseline = baseline; + return this; + } + + /** + * @param baseline Baseline Object. + * + * @return builder + * + */ + public Builder baseline(VerificationTemplateMetricBaselineArgs baseline) { + return baseline(Output.of(baseline)); + } + + /** + * @param consecutiveErrorLimit The maximum number of times the measurement is allowed to error in succession, before the metric is considered error.Default is 4.When choosing `Jenkins` as the provider, there is no need to send this variable. + * + * @return builder + * + */ + public Builder consecutiveErrorLimit(@Nullable Output consecutiveErrorLimit) { + $.consecutiveErrorLimit = consecutiveErrorLimit; + return this; + } + + /** + * @param consecutiveErrorLimit The maximum number of times the measurement is allowed to error in succession, before the metric is considered error.Default is 4.When choosing `Jenkins` as the provider, there is no need to send this variable. + * + * @return builder + * + */ + public Builder consecutiveErrorLimit(Integer consecutiveErrorLimit) { + return consecutiveErrorLimit(Output.of(consecutiveErrorLimit)); + } + + /** + * @param count The number of times to run the measurement. If both interval and count are omitted, the effective count is 1. If only interval is specified, metric runs indefinitely. If count > 1, interval must be specified. When choosing `Jenkins` as the provider, there is no need to send this variable. + * + * @return builder + * + */ + public Builder count(@Nullable Output count) { + $.count = count; + return this; + } + + /** + * @param count The number of times to run the measurement. If both interval and count are omitted, the effective count is 1. If only interval is specified, metric runs indefinitely. If count > 1, interval must be specified. When choosing `Jenkins` as the provider, there is no need to send this variable. + * + * @return builder + * + */ + public Builder count(Integer count) { + return count(Output.of(count)); + } + + /** + * @param dryRun Defines whether the metric should have an impact on the result of the rollout. + * + * @return builder + * + */ + public Builder dryRun(@Nullable Output dryRun) { + $.dryRun = dryRun; + return this; + } + + /** + * @param dryRun Defines whether the metric should have an impact on the result of the rollout. + * + * @return builder + * + */ + public Builder dryRun(Boolean dryRun) { + return dryRun(Output.of(dryRun)); + } + + /** + * @param failureCondition An expression which determines if a measurement is considered failed.If failureCondition is set, then successCondition is not allowed. When choosing Jenkins as the provider, there is no need to send this variable. + * + * @return builder + * + */ + public Builder failureCondition(@Nullable Output failureCondition) { + $.failureCondition = failureCondition; + return this; + } + + /** + * @param failureCondition An expression which determines if a measurement is considered failed.If failureCondition is set, then successCondition is not allowed. When choosing Jenkins as the provider, there is no need to send this variable. + * + * @return builder + * + */ + public Builder failureCondition(String failureCondition) { + return failureCondition(Output.of(failureCondition)); + } + + /** + * @param failureLimit The maximum number of times the measurement is allowed to fail, before the entire metric is considered failed.Default is 0. When choosing `Jenkins` as the provider, there is no need to send this variable. + * + * @return builder + * + */ + public Builder failureLimit(@Nullable Output failureLimit) { + $.failureLimit = failureLimit; + return this; + } + + /** + * @param failureLimit The maximum number of times the measurement is allowed to fail, before the entire metric is considered failed.Default is 0. When choosing `Jenkins` as the provider, there is no need to send this variable. + * + * @return builder + * + */ + public Builder failureLimit(Integer failureLimit) { + return failureLimit(Output.of(failureLimit)); + } + + /** + * @param initialDelay How long to wait before starting this metric measurements. When choosing Jenkins as the provider, there is no need to send this variable. + * + * @return builder + * + */ + public Builder initialDelay(@Nullable Output initialDelay) { + $.initialDelay = initialDelay; + return this; + } + + /** + * @param initialDelay How long to wait before starting this metric measurements. When choosing Jenkins as the provider, there is no need to send this variable. + * + * @return builder + * + */ + public Builder initialDelay(String initialDelay) { + return initialDelay(Output.of(initialDelay)); + } + + /** + * @param interval Defines an interval string (30s, 5m, 1h) between each verification measurements. If omitted, will perform a single measurement.When choosing Jenkins as the provider, there is no need to send this variable. + * + * @return builder + * + */ + public Builder interval(@Nullable Output interval) { + $.interval = interval; + return this; + } + + /** + * @param interval Defines an interval string (30s, 5m, 1h) between each verification measurements. If omitted, will perform a single measurement.When choosing Jenkins as the provider, there is no need to send this variable. + * + * @return builder + * + */ + public Builder interval(String interval) { + return interval(Output.of(interval)); + } + + /** + * @param metricsName The name of the verification metric. + * + * @return builder + * + */ + public Builder metricsName(Output metricsName) { + $.metricsName = metricsName; + return this; + } + + /** + * @param metricsName The name of the verification metric. + * + * @return builder + * + */ + public Builder metricsName(String metricsName) { + return metricsName(Output.of(metricsName)); + } + + /** + * @param providers The name of the monitoring tool chosen for the metric. + * + * @return builder + * + */ + public Builder providers(Output> providers) { + $.providers = providers; + return this; + } + + /** + * @param providers The name of the monitoring tool chosen for the metric. + * + * @return builder + * + */ + public Builder providers(List providers) { + return providers(Output.of(providers)); + } + + /** + * @param providers The name of the monitoring tool chosen for the metric. + * + * @return builder + * + */ + public Builder providers(VerificationTemplateMetricProviderArgs... providers) { + return providers(List.of(providers)); + } + + /** + * @param successCondition An expression which determines if a measurement is considered successful. The keyword `result` is a variable reference to the value of measurement. Results can be both structured data or primitive. If successCondition is set, then failureCondition is not allowed. When choosing `Jenkins` as the provider, there is no need to send this variable. + * + * @return builder + * + */ + public Builder successCondition(@Nullable Output successCondition) { + $.successCondition = successCondition; + return this; + } + + /** + * @param successCondition An expression which determines if a measurement is considered successful. The keyword `result` is a variable reference to the value of measurement. Results can be both structured data or primitive. If successCondition is set, then failureCondition is not allowed. When choosing `Jenkins` as the provider, there is no need to send this variable. + * + * @return builder + * + */ + public Builder successCondition(String successCondition) { + return successCondition(Output.of(successCondition)); + } + + public VerificationTemplateMetricArgs build() { + if ($.metricsName == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricArgs", "metricsName"); + } + if ($.providers == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricArgs", "providers"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricBaselineArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricBaselineArgs.java new file mode 100644 index 00000000..6d44fefc --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricBaselineArgs.java @@ -0,0 +1,128 @@ +// *** 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.VerificationTemplateMetricBaselineBaselineProviderArgs; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class VerificationTemplateMetricBaselineArgs extends com.pulumi.resources.ResourceArgs { + + public static final VerificationTemplateMetricBaselineArgs Empty = new VerificationTemplateMetricBaselineArgs(); + + @Import(name="baselineProviders", required=true) + private Output> baselineProviders; + + public Output> baselineProviders() { + return this.baselineProviders; + } + + @Import(name="maxRange") + private @Nullable Output maxRange; + + public Optional> maxRange() { + return Optional.ofNullable(this.maxRange); + } + + @Import(name="minRange") + private @Nullable Output minRange; + + public Optional> minRange() { + return Optional.ofNullable(this.minRange); + } + + @Import(name="threshold", required=true) + private Output threshold; + + public Output threshold() { + return this.threshold; + } + + private VerificationTemplateMetricBaselineArgs() {} + + private VerificationTemplateMetricBaselineArgs(VerificationTemplateMetricBaselineArgs $) { + this.baselineProviders = $.baselineProviders; + this.maxRange = $.maxRange; + this.minRange = $.minRange; + this.threshold = $.threshold; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VerificationTemplateMetricBaselineArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VerificationTemplateMetricBaselineArgs $; + + public Builder() { + $ = new VerificationTemplateMetricBaselineArgs(); + } + + public Builder(VerificationTemplateMetricBaselineArgs defaults) { + $ = new VerificationTemplateMetricBaselineArgs(Objects.requireNonNull(defaults)); + } + + public Builder baselineProviders(Output> baselineProviders) { + $.baselineProviders = baselineProviders; + return this; + } + + public Builder baselineProviders(List baselineProviders) { + return baselineProviders(Output.of(baselineProviders)); + } + + public Builder baselineProviders(VerificationTemplateMetricBaselineBaselineProviderArgs... baselineProviders) { + return baselineProviders(List.of(baselineProviders)); + } + + public Builder maxRange(@Nullable Output maxRange) { + $.maxRange = maxRange; + return this; + } + + public Builder maxRange(Integer maxRange) { + return maxRange(Output.of(maxRange)); + } + + public Builder minRange(@Nullable Output minRange) { + $.minRange = minRange; + return this; + } + + public Builder minRange(Integer minRange) { + return minRange(Output.of(minRange)); + } + + public Builder threshold(Output threshold) { + $.threshold = threshold; + return this; + } + + public Builder threshold(String threshold) { + return threshold(Output.of(threshold)); + } + + public VerificationTemplateMetricBaselineArgs build() { + if ($.baselineProviders == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricBaselineArgs", "baselineProviders"); + } + if ($.threshold == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricBaselineArgs", "threshold"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricBaselineBaselineProviderArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricBaselineBaselineProviderArgs.java new file mode 100644 index 00000000..ab60af27 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricBaselineBaselineProviderArgs.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.VerificationTemplateMetricBaselineBaselineProviderDatadogArgs; +import com.pulumi.spotinst.oceancd.inputs.VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs; +import com.pulumi.spotinst.oceancd.inputs.VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class VerificationTemplateMetricBaselineBaselineProviderArgs extends com.pulumi.resources.ResourceArgs { + + public static final VerificationTemplateMetricBaselineBaselineProviderArgs Empty = new VerificationTemplateMetricBaselineBaselineProviderArgs(); + + @Import(name="datadog") + private @Nullable Output datadog; + + public Optional> datadog() { + return Optional.ofNullable(this.datadog); + } + + @Import(name="newRelic") + private @Nullable Output newRelic; + + public Optional> newRelic() { + return Optional.ofNullable(this.newRelic); + } + + @Import(name="prometheus") + private @Nullable Output prometheus; + + public Optional> prometheus() { + return Optional.ofNullable(this.prometheus); + } + + private VerificationTemplateMetricBaselineBaselineProviderArgs() {} + + private VerificationTemplateMetricBaselineBaselineProviderArgs(VerificationTemplateMetricBaselineBaselineProviderArgs $) { + this.datadog = $.datadog; + this.newRelic = $.newRelic; + this.prometheus = $.prometheus; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VerificationTemplateMetricBaselineBaselineProviderArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VerificationTemplateMetricBaselineBaselineProviderArgs $; + + public Builder() { + $ = new VerificationTemplateMetricBaselineBaselineProviderArgs(); + } + + public Builder(VerificationTemplateMetricBaselineBaselineProviderArgs defaults) { + $ = new VerificationTemplateMetricBaselineBaselineProviderArgs(Objects.requireNonNull(defaults)); + } + + public Builder datadog(@Nullable Output datadog) { + $.datadog = datadog; + return this; + } + + public Builder datadog(VerificationTemplateMetricBaselineBaselineProviderDatadogArgs datadog) { + return datadog(Output.of(datadog)); + } + + public Builder newRelic(@Nullable Output newRelic) { + $.newRelic = newRelic; + return this; + } + + public Builder newRelic(VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs newRelic) { + return newRelic(Output.of(newRelic)); + } + + public Builder prometheus(@Nullable Output prometheus) { + $.prometheus = prometheus; + return this; + } + + public Builder prometheus(VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs prometheus) { + return prometheus(Output.of(prometheus)); + } + + public VerificationTemplateMetricBaselineBaselineProviderArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricBaselineBaselineProviderDatadogArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricBaselineBaselineProviderDatadogArgs.java new file mode 100644 index 00000000..4b754efa --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricBaselineBaselineProviderDatadogArgs.java @@ -0,0 +1,84 @@ +// *** 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 VerificationTemplateMetricBaselineBaselineProviderDatadogArgs extends com.pulumi.resources.ResourceArgs { + + public static final VerificationTemplateMetricBaselineBaselineProviderDatadogArgs Empty = new VerificationTemplateMetricBaselineBaselineProviderDatadogArgs(); + + @Import(name="datadogQuery", required=true) + private Output datadogQuery; + + public Output datadogQuery() { + return this.datadogQuery; + } + + @Import(name="duration") + private @Nullable Output duration; + + public Optional> duration() { + return Optional.ofNullable(this.duration); + } + + private VerificationTemplateMetricBaselineBaselineProviderDatadogArgs() {} + + private VerificationTemplateMetricBaselineBaselineProviderDatadogArgs(VerificationTemplateMetricBaselineBaselineProviderDatadogArgs $) { + this.datadogQuery = $.datadogQuery; + this.duration = $.duration; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VerificationTemplateMetricBaselineBaselineProviderDatadogArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VerificationTemplateMetricBaselineBaselineProviderDatadogArgs $; + + public Builder() { + $ = new VerificationTemplateMetricBaselineBaselineProviderDatadogArgs(); + } + + public Builder(VerificationTemplateMetricBaselineBaselineProviderDatadogArgs defaults) { + $ = new VerificationTemplateMetricBaselineBaselineProviderDatadogArgs(Objects.requireNonNull(defaults)); + } + + public Builder datadogQuery(Output datadogQuery) { + $.datadogQuery = datadogQuery; + return this; + } + + public Builder datadogQuery(String datadogQuery) { + return datadogQuery(Output.of(datadogQuery)); + } + + public Builder duration(@Nullable Output duration) { + $.duration = duration; + return this; + } + + public Builder duration(String duration) { + return duration(Output.of(duration)); + } + + public VerificationTemplateMetricBaselineBaselineProviderDatadogArgs build() { + if ($.datadogQuery == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricBaselineBaselineProviderDatadogArgs", "datadogQuery"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs.java new file mode 100644 index 00000000..094fe414 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs.java @@ -0,0 +1,84 @@ +// *** 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 VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs extends com.pulumi.resources.ResourceArgs { + + public static final VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs Empty = new VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs(); + + @Import(name="newRelicQuery", required=true) + private Output newRelicQuery; + + public Output newRelicQuery() { + return this.newRelicQuery; + } + + @Import(name="profile") + private @Nullable Output profile; + + public Optional> profile() { + return Optional.ofNullable(this.profile); + } + + private VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs() {} + + private VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs(VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs $) { + this.newRelicQuery = $.newRelicQuery; + this.profile = $.profile; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs $; + + public Builder() { + $ = new VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs(); + } + + public Builder(VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs defaults) { + $ = new VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs(Objects.requireNonNull(defaults)); + } + + public Builder newRelicQuery(Output newRelicQuery) { + $.newRelicQuery = newRelicQuery; + return this; + } + + public Builder newRelicQuery(String newRelicQuery) { + return newRelicQuery(Output.of(newRelicQuery)); + } + + public Builder profile(@Nullable Output profile) { + $.profile = profile; + return this; + } + + public Builder profile(String profile) { + return profile(Output.of(profile)); + } + + public VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs build() { + if ($.newRelicQuery == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs", "newRelicQuery"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs.java new file mode 100644 index 00000000..a7505b07 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs.java @@ -0,0 +1,65 @@ +// *** 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 VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs extends com.pulumi.resources.ResourceArgs { + + public static final VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs Empty = new VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs(); + + @Import(name="prometheusQuery", required=true) + private Output prometheusQuery; + + public Output prometheusQuery() { + return this.prometheusQuery; + } + + private VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs() {} + + private VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs(VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs $) { + this.prometheusQuery = $.prometheusQuery; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs $; + + public Builder() { + $ = new VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs(); + } + + public Builder(VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs defaults) { + $ = new VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs(Objects.requireNonNull(defaults)); + } + + public Builder prometheusQuery(Output prometheusQuery) { + $.prometheusQuery = prometheusQuery; + return this; + } + + public Builder prometheusQuery(String prometheusQuery) { + return prometheusQuery(Output.of(prometheusQuery)); + } + + public VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs build() { + if ($.prometheusQuery == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs", "prometheusQuery"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderArgs.java new file mode 100644 index 00000000..33f02b0e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderArgs.java @@ -0,0 +1,171 @@ +// *** 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.VerificationTemplateMetricProviderCloudWatchArgs; +import com.pulumi.spotinst.oceancd.inputs.VerificationTemplateMetricProviderDatadogArgs; +import com.pulumi.spotinst.oceancd.inputs.VerificationTemplateMetricProviderJenkinsArgs; +import com.pulumi.spotinst.oceancd.inputs.VerificationTemplateMetricProviderJobArgs; +import com.pulumi.spotinst.oceancd.inputs.VerificationTemplateMetricProviderNewRelicArgs; +import com.pulumi.spotinst.oceancd.inputs.VerificationTemplateMetricProviderPrometheusArgs; +import com.pulumi.spotinst.oceancd.inputs.VerificationTemplateMetricProviderWebArgs; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class VerificationTemplateMetricProviderArgs extends com.pulumi.resources.ResourceArgs { + + public static final VerificationTemplateMetricProviderArgs Empty = new VerificationTemplateMetricProviderArgs(); + + @Import(name="cloudWatch") + private @Nullable Output cloudWatch; + + public Optional> cloudWatch() { + return Optional.ofNullable(this.cloudWatch); + } + + @Import(name="datadog") + private @Nullable Output datadog; + + public Optional> datadog() { + return Optional.ofNullable(this.datadog); + } + + @Import(name="jenkins") + private @Nullable Output jenkins; + + public Optional> jenkins() { + return Optional.ofNullable(this.jenkins); + } + + @Import(name="job") + private @Nullable Output job; + + public Optional> job() { + return Optional.ofNullable(this.job); + } + + @Import(name="newRelic") + private @Nullable Output newRelic; + + public Optional> newRelic() { + return Optional.ofNullable(this.newRelic); + } + + @Import(name="prometheus") + private @Nullable Output prometheus; + + public Optional> prometheus() { + return Optional.ofNullable(this.prometheus); + } + + @Import(name="web") + private @Nullable Output web; + + public Optional> web() { + return Optional.ofNullable(this.web); + } + + private VerificationTemplateMetricProviderArgs() {} + + private VerificationTemplateMetricProviderArgs(VerificationTemplateMetricProviderArgs $) { + this.cloudWatch = $.cloudWatch; + this.datadog = $.datadog; + this.jenkins = $.jenkins; + this.job = $.job; + this.newRelic = $.newRelic; + this.prometheus = $.prometheus; + this.web = $.web; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VerificationTemplateMetricProviderArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VerificationTemplateMetricProviderArgs $; + + public Builder() { + $ = new VerificationTemplateMetricProviderArgs(); + } + + public Builder(VerificationTemplateMetricProviderArgs defaults) { + $ = new VerificationTemplateMetricProviderArgs(Objects.requireNonNull(defaults)); + } + + public Builder cloudWatch(@Nullable Output cloudWatch) { + $.cloudWatch = cloudWatch; + return this; + } + + public Builder cloudWatch(VerificationTemplateMetricProviderCloudWatchArgs cloudWatch) { + return cloudWatch(Output.of(cloudWatch)); + } + + public Builder datadog(@Nullable Output datadog) { + $.datadog = datadog; + return this; + } + + public Builder datadog(VerificationTemplateMetricProviderDatadogArgs datadog) { + return datadog(Output.of(datadog)); + } + + public Builder jenkins(@Nullable Output jenkins) { + $.jenkins = jenkins; + return this; + } + + public Builder jenkins(VerificationTemplateMetricProviderJenkinsArgs jenkins) { + return jenkins(Output.of(jenkins)); + } + + public Builder job(@Nullable Output job) { + $.job = job; + return this; + } + + public Builder job(VerificationTemplateMetricProviderJobArgs job) { + return job(Output.of(job)); + } + + public Builder newRelic(@Nullable Output newRelic) { + $.newRelic = newRelic; + return this; + } + + public Builder newRelic(VerificationTemplateMetricProviderNewRelicArgs newRelic) { + return newRelic(Output.of(newRelic)); + } + + public Builder prometheus(@Nullable Output prometheus) { + $.prometheus = prometheus; + return this; + } + + public Builder prometheus(VerificationTemplateMetricProviderPrometheusArgs prometheus) { + return prometheus(Output.of(prometheus)); + } + + public Builder web(@Nullable Output web) { + $.web = web; + return this; + } + + public Builder web(VerificationTemplateMetricProviderWebArgs web) { + return web(Output.of(web)); + } + + public VerificationTemplateMetricProviderArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderCloudWatchArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderCloudWatchArgs.java new file mode 100644 index 00000000..05f2348e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderCloudWatchArgs.java @@ -0,0 +1,90 @@ +// *** 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.VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class VerificationTemplateMetricProviderCloudWatchArgs extends com.pulumi.resources.ResourceArgs { + + public static final VerificationTemplateMetricProviderCloudWatchArgs Empty = new VerificationTemplateMetricProviderCloudWatchArgs(); + + @Import(name="duration") + private @Nullable Output duration; + + public Optional> duration() { + return Optional.ofNullable(this.duration); + } + + @Import(name="metricDataQueries", required=true) + private Output> metricDataQueries; + + public Output> metricDataQueries() { + return this.metricDataQueries; + } + + private VerificationTemplateMetricProviderCloudWatchArgs() {} + + private VerificationTemplateMetricProviderCloudWatchArgs(VerificationTemplateMetricProviderCloudWatchArgs $) { + this.duration = $.duration; + this.metricDataQueries = $.metricDataQueries; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VerificationTemplateMetricProviderCloudWatchArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VerificationTemplateMetricProviderCloudWatchArgs $; + + public Builder() { + $ = new VerificationTemplateMetricProviderCloudWatchArgs(); + } + + public Builder(VerificationTemplateMetricProviderCloudWatchArgs defaults) { + $ = new VerificationTemplateMetricProviderCloudWatchArgs(Objects.requireNonNull(defaults)); + } + + public Builder duration(@Nullable Output duration) { + $.duration = duration; + return this; + } + + public Builder duration(String duration) { + return duration(Output.of(duration)); + } + + public Builder metricDataQueries(Output> metricDataQueries) { + $.metricDataQueries = metricDataQueries; + return this; + } + + public Builder metricDataQueries(List metricDataQueries) { + return metricDataQueries(Output.of(metricDataQueries)); + } + + public Builder metricDataQueries(VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs... metricDataQueries) { + return metricDataQueries(List.of(metricDataQueries)); + } + + public VerificationTemplateMetricProviderCloudWatchArgs build() { + if ($.metricDataQueries == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderCloudWatchArgs", "metricDataQueries"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs.java new file mode 100644 index 00000000..6d6a0d76 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs.java @@ -0,0 +1,155 @@ +// *** 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.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs extends com.pulumi.resources.ResourceArgs { + + public static final VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs Empty = new VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs(); + + @Import(name="expression") + private @Nullable Output expression; + + public Optional> expression() { + return Optional.ofNullable(this.expression); + } + + @Import(name="id", required=true) + private Output id; + + public Output id() { + return this.id; + } + + @Import(name="label") + private @Nullable Output label; + + public Optional> label() { + return Optional.ofNullable(this.label); + } + + @Import(name="metricStat") + private @Nullable Output metricStat; + + public Optional> metricStat() { + return Optional.ofNullable(this.metricStat); + } + + @Import(name="period") + private @Nullable Output period; + + public Optional> period() { + return Optional.ofNullable(this.period); + } + + @Import(name="returnData") + private @Nullable Output returnData; + + public Optional> returnData() { + return Optional.ofNullable(this.returnData); + } + + private VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs() {} + + private VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs(VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs $) { + this.expression = $.expression; + this.id = $.id; + this.label = $.label; + this.metricStat = $.metricStat; + this.period = $.period; + this.returnData = $.returnData; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs $; + + public Builder() { + $ = new VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs(); + } + + public Builder(VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs defaults) { + $ = new VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs(Objects.requireNonNull(defaults)); + } + + public Builder expression(@Nullable Output expression) { + $.expression = expression; + return this; + } + + public Builder expression(String expression) { + return expression(Output.of(expression)); + } + + public Builder id(Output id) { + $.id = id; + return this; + } + + public Builder id(String id) { + return id(Output.of(id)); + } + + public Builder label(@Nullable Output label) { + $.label = label; + return this; + } + + public Builder label(String label) { + return label(Output.of(label)); + } + + public Builder metricStat(@Nullable Output metricStat) { + $.metricStat = metricStat; + return this; + } + + public Builder metricStat(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs metricStat) { + return metricStat(Output.of(metricStat)); + } + + public Builder period(@Nullable Output period) { + $.period = period; + return this; + } + + public Builder period(Integer period) { + return period(Output.of(period)); + } + + public Builder returnData(@Nullable Output returnData) { + $.returnData = returnData; + return this; + } + + public Builder returnData(Boolean returnData) { + return returnData(Output.of(returnData)); + } + + public VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs build() { + if ($.id == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs", "id"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs.java new file mode 100644 index 00000000..66db7db7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs.java @@ -0,0 +1,116 @@ +// *** 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.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs extends com.pulumi.resources.ResourceArgs { + + public static final VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs Empty = new VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs(); + + @Import(name="metric") + private @Nullable Output metric; + + public Optional> metric() { + return Optional.ofNullable(this.metric); + } + + @Import(name="metricPeriod") + private @Nullable Output metricPeriod; + + public Optional> metricPeriod() { + return Optional.ofNullable(this.metricPeriod); + } + + @Import(name="stat") + private @Nullable Output stat; + + public Optional> stat() { + return Optional.ofNullable(this.stat); + } + + @Import(name="unit") + private @Nullable Output unit; + + public Optional> unit() { + return Optional.ofNullable(this.unit); + } + + private VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs() {} + + private VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs $) { + this.metric = $.metric; + this.metricPeriod = $.metricPeriod; + this.stat = $.stat; + this.unit = $.unit; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs $; + + public Builder() { + $ = new VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs(); + } + + public Builder(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs defaults) { + $ = new VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs(Objects.requireNonNull(defaults)); + } + + public Builder metric(@Nullable Output metric) { + $.metric = metric; + return this; + } + + public Builder metric(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs metric) { + return metric(Output.of(metric)); + } + + public Builder metricPeriod(@Nullable Output metricPeriod) { + $.metricPeriod = metricPeriod; + return this; + } + + public Builder metricPeriod(Integer metricPeriod) { + return metricPeriod(Output.of(metricPeriod)); + } + + public Builder stat(@Nullable Output stat) { + $.stat = stat; + return this; + } + + public Builder stat(String stat) { + return stat(Output.of(stat)); + } + + public Builder unit(@Nullable Output unit) { + $.unit = unit; + return this; + } + + public Builder unit(String unit) { + return unit(Output.of(unit)); + } + + public VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs.java new file mode 100644 index 00000000..1cc60f82 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs.java @@ -0,0 +1,107 @@ +// *** 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.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs extends com.pulumi.resources.ResourceArgs { + + public static final VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs Empty = new VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs(); + + @Import(name="dimensions") + private @Nullable Output> dimensions; + + public Optional>> dimensions() { + return Optional.ofNullable(this.dimensions); + } + + @Import(name="metricName", required=true) + private Output metricName; + + public Output metricName() { + return this.metricName; + } + + @Import(name="namespace") + private @Nullable Output namespace; + + public Optional> namespace() { + return Optional.ofNullable(this.namespace); + } + + private VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs() {} + + private VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs $) { + this.dimensions = $.dimensions; + this.metricName = $.metricName; + this.namespace = $.namespace; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs $; + + public Builder() { + $ = new VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs(); + } + + public Builder(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs defaults) { + $ = new VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs(Objects.requireNonNull(defaults)); + } + + public Builder dimensions(@Nullable Output> dimensions) { + $.dimensions = dimensions; + return this; + } + + public Builder dimensions(List dimensions) { + return dimensions(Output.of(dimensions)); + } + + public Builder dimensions(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs... dimensions) { + return dimensions(List.of(dimensions)); + } + + public Builder metricName(Output metricName) { + $.metricName = metricName; + return this; + } + + public Builder metricName(String metricName) { + return metricName(Output.of(metricName)); + } + + public Builder namespace(@Nullable Output namespace) { + $.namespace = namespace; + return this; + } + + public Builder namespace(String namespace) { + return namespace(Output.of(namespace)); + } + + public VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs build() { + if ($.metricName == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs", "metricName"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs.java new file mode 100644 index 00000000..b4a3473a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs.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 VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs extends com.pulumi.resources.ResourceArgs { + + public static final VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs Empty = new VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs(); + + @Import(name="dimensionName", required=true) + private Output dimensionName; + + public Output dimensionName() { + return this.dimensionName; + } + + @Import(name="dimensionValue", required=true) + private Output dimensionValue; + + public Output dimensionValue() { + return this.dimensionValue; + } + + private VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs() {} + + private VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs $) { + this.dimensionName = $.dimensionName; + this.dimensionValue = $.dimensionValue; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs $; + + public Builder() { + $ = new VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs(); + } + + public Builder(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs defaults) { + $ = new VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs(Objects.requireNonNull(defaults)); + } + + public Builder dimensionName(Output dimensionName) { + $.dimensionName = dimensionName; + return this; + } + + public Builder dimensionName(String dimensionName) { + return dimensionName(Output.of(dimensionName)); + } + + public Builder dimensionValue(Output dimensionValue) { + $.dimensionValue = dimensionValue; + return this; + } + + public Builder dimensionValue(String dimensionValue) { + return dimensionValue(Output.of(dimensionValue)); + } + + public VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs build() { + if ($.dimensionName == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs", "dimensionName"); + } + if ($.dimensionValue == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs", "dimensionValue"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderDatadogArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderDatadogArgs.java new file mode 100644 index 00000000..446d4f71 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderDatadogArgs.java @@ -0,0 +1,80 @@ +// *** 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 VerificationTemplateMetricProviderDatadogArgs extends com.pulumi.resources.ResourceArgs { + + public static final VerificationTemplateMetricProviderDatadogArgs Empty = new VerificationTemplateMetricProviderDatadogArgs(); + + @Import(name="datadogQuery") + private @Nullable Output datadogQuery; + + public Optional> datadogQuery() { + return Optional.ofNullable(this.datadogQuery); + } + + @Import(name="duration") + private @Nullable Output duration; + + public Optional> duration() { + return Optional.ofNullable(this.duration); + } + + private VerificationTemplateMetricProviderDatadogArgs() {} + + private VerificationTemplateMetricProviderDatadogArgs(VerificationTemplateMetricProviderDatadogArgs $) { + this.datadogQuery = $.datadogQuery; + this.duration = $.duration; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VerificationTemplateMetricProviderDatadogArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VerificationTemplateMetricProviderDatadogArgs $; + + public Builder() { + $ = new VerificationTemplateMetricProviderDatadogArgs(); + } + + public Builder(VerificationTemplateMetricProviderDatadogArgs defaults) { + $ = new VerificationTemplateMetricProviderDatadogArgs(Objects.requireNonNull(defaults)); + } + + public Builder datadogQuery(@Nullable Output datadogQuery) { + $.datadogQuery = datadogQuery; + return this; + } + + public Builder datadogQuery(String datadogQuery) { + return datadogQuery(Output.of(datadogQuery)); + } + + public Builder duration(@Nullable Output duration) { + $.duration = duration; + return this; + } + + public Builder duration(String duration) { + return duration(Output.of(duration)); + } + + public VerificationTemplateMetricProviderDatadogArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderJenkinsArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderJenkinsArgs.java new file mode 100644 index 00000000..e1cb8ed3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderJenkinsArgs.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.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import com.pulumi.spotinst.oceancd.inputs.VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class VerificationTemplateMetricProviderJenkinsArgs extends com.pulumi.resources.ResourceArgs { + + public static final VerificationTemplateMetricProviderJenkinsArgs Empty = new VerificationTemplateMetricProviderJenkinsArgs(); + + @Import(name="jenkinsInterval", required=true) + private Output jenkinsInterval; + + public Output jenkinsInterval() { + return this.jenkinsInterval; + } + + @Import(name="jenkinsParameters") + private @Nullable Output jenkinsParameters; + + public Optional> jenkinsParameters() { + return Optional.ofNullable(this.jenkinsParameters); + } + + @Import(name="pipelineName", required=true) + private Output pipelineName; + + public Output pipelineName() { + return this.pipelineName; + } + + @Import(name="timeout", required=true) + private Output timeout; + + public Output timeout() { + return this.timeout; + } + + @Import(name="tlsVerification") + private @Nullable Output tlsVerification; + + public Optional> tlsVerification() { + return Optional.ofNullable(this.tlsVerification); + } + + private VerificationTemplateMetricProviderJenkinsArgs() {} + + private VerificationTemplateMetricProviderJenkinsArgs(VerificationTemplateMetricProviderJenkinsArgs $) { + this.jenkinsInterval = $.jenkinsInterval; + this.jenkinsParameters = $.jenkinsParameters; + this.pipelineName = $.pipelineName; + this.timeout = $.timeout; + this.tlsVerification = $.tlsVerification; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VerificationTemplateMetricProviderJenkinsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VerificationTemplateMetricProviderJenkinsArgs $; + + public Builder() { + $ = new VerificationTemplateMetricProviderJenkinsArgs(); + } + + public Builder(VerificationTemplateMetricProviderJenkinsArgs defaults) { + $ = new VerificationTemplateMetricProviderJenkinsArgs(Objects.requireNonNull(defaults)); + } + + public Builder jenkinsInterval(Output jenkinsInterval) { + $.jenkinsInterval = jenkinsInterval; + return this; + } + + public Builder jenkinsInterval(String jenkinsInterval) { + return jenkinsInterval(Output.of(jenkinsInterval)); + } + + public Builder jenkinsParameters(@Nullable Output jenkinsParameters) { + $.jenkinsParameters = jenkinsParameters; + return this; + } + + public Builder jenkinsParameters(VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs jenkinsParameters) { + return jenkinsParameters(Output.of(jenkinsParameters)); + } + + public Builder pipelineName(Output pipelineName) { + $.pipelineName = pipelineName; + return this; + } + + public Builder pipelineName(String pipelineName) { + return pipelineName(Output.of(pipelineName)); + } + + public Builder timeout(Output timeout) { + $.timeout = timeout; + return this; + } + + public Builder timeout(String timeout) { + return timeout(Output.of(timeout)); + } + + public Builder tlsVerification(@Nullable Output tlsVerification) { + $.tlsVerification = tlsVerification; + return this; + } + + public Builder tlsVerification(Boolean tlsVerification) { + return tlsVerification(Output.of(tlsVerification)); + } + + public VerificationTemplateMetricProviderJenkinsArgs build() { + if ($.jenkinsInterval == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderJenkinsArgs", "jenkinsInterval"); + } + if ($.pipelineName == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderJenkinsArgs", "pipelineName"); + } + if ($.timeout == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderJenkinsArgs", "timeout"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs.java new file mode 100644 index 00000000..f6c69d7f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs.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 VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs extends com.pulumi.resources.ResourceArgs { + + public static final VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs Empty = new VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs(); + + @Import(name="parameterKey", required=true) + private Output parameterKey; + + public Output parameterKey() { + return this.parameterKey; + } + + @Import(name="parameterValue", required=true) + private Output parameterValue; + + public Output parameterValue() { + return this.parameterValue; + } + + private VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs() {} + + private VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs(VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs $) { + this.parameterKey = $.parameterKey; + this.parameterValue = $.parameterValue; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs $; + + public Builder() { + $ = new VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs(); + } + + public Builder(VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs defaults) { + $ = new VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs(Objects.requireNonNull(defaults)); + } + + public Builder parameterKey(Output parameterKey) { + $.parameterKey = parameterKey; + return this; + } + + public Builder parameterKey(String parameterKey) { + return parameterKey(Output.of(parameterKey)); + } + + public Builder parameterValue(Output parameterValue) { + $.parameterValue = parameterValue; + return this; + } + + public Builder parameterValue(String parameterValue) { + return parameterValue(Output.of(parameterValue)); + } + + public VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs build() { + if ($.parameterKey == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs", "parameterKey"); + } + if ($.parameterValue == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs", "parameterValue"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderJobArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderJobArgs.java new file mode 100644 index 00000000..c96a5eaa --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderJobArgs.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 com.pulumi.spotinst.oceancd.inputs.VerificationTemplateMetricProviderJobSpecArgs; +import java.util.List; +import java.util.Objects; + + +public final class VerificationTemplateMetricProviderJobArgs extends com.pulumi.resources.ResourceArgs { + + public static final VerificationTemplateMetricProviderJobArgs Empty = new VerificationTemplateMetricProviderJobArgs(); + + @Import(name="specs", required=true) + private Output> specs; + + public Output> specs() { + return this.specs; + } + + private VerificationTemplateMetricProviderJobArgs() {} + + private VerificationTemplateMetricProviderJobArgs(VerificationTemplateMetricProviderJobArgs $) { + this.specs = $.specs; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VerificationTemplateMetricProviderJobArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VerificationTemplateMetricProviderJobArgs $; + + public Builder() { + $ = new VerificationTemplateMetricProviderJobArgs(); + } + + public Builder(VerificationTemplateMetricProviderJobArgs defaults) { + $ = new VerificationTemplateMetricProviderJobArgs(Objects.requireNonNull(defaults)); + } + + public Builder specs(Output> specs) { + $.specs = specs; + return this; + } + + public Builder specs(List specs) { + return specs(Output.of(specs)); + } + + public Builder specs(VerificationTemplateMetricProviderJobSpecArgs... specs) { + return specs(List.of(specs)); + } + + public VerificationTemplateMetricProviderJobArgs build() { + if ($.specs == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderJobArgs", "specs"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderJobSpecArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderJobSpecArgs.java new file mode 100644 index 00000000..e00c7f1a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderJobSpecArgs.java @@ -0,0 +1,90 @@ +// *** 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.VerificationTemplateMetricProviderJobSpecJobTemplateArgs; +import java.lang.Integer; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class VerificationTemplateMetricProviderJobSpecArgs extends com.pulumi.resources.ResourceArgs { + + public static final VerificationTemplateMetricProviderJobSpecArgs Empty = new VerificationTemplateMetricProviderJobSpecArgs(); + + @Import(name="backoffLimit") + private @Nullable Output backoffLimit; + + public Optional> backoffLimit() { + return Optional.ofNullable(this.backoffLimit); + } + + @Import(name="jobTemplates", required=true) + private Output> jobTemplates; + + public Output> jobTemplates() { + return this.jobTemplates; + } + + private VerificationTemplateMetricProviderJobSpecArgs() {} + + private VerificationTemplateMetricProviderJobSpecArgs(VerificationTemplateMetricProviderJobSpecArgs $) { + this.backoffLimit = $.backoffLimit; + this.jobTemplates = $.jobTemplates; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VerificationTemplateMetricProviderJobSpecArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VerificationTemplateMetricProviderJobSpecArgs $; + + public Builder() { + $ = new VerificationTemplateMetricProviderJobSpecArgs(); + } + + public Builder(VerificationTemplateMetricProviderJobSpecArgs defaults) { + $ = new VerificationTemplateMetricProviderJobSpecArgs(Objects.requireNonNull(defaults)); + } + + public Builder backoffLimit(@Nullable Output backoffLimit) { + $.backoffLimit = backoffLimit; + return this; + } + + public Builder backoffLimit(Integer backoffLimit) { + return backoffLimit(Output.of(backoffLimit)); + } + + public Builder jobTemplates(Output> jobTemplates) { + $.jobTemplates = jobTemplates; + return this; + } + + public Builder jobTemplates(List jobTemplates) { + return jobTemplates(Output.of(jobTemplates)); + } + + public Builder jobTemplates(VerificationTemplateMetricProviderJobSpecJobTemplateArgs... jobTemplates) { + return jobTemplates(List.of(jobTemplates)); + } + + public VerificationTemplateMetricProviderJobSpecArgs build() { + if ($.jobTemplates == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderJobSpecArgs", "jobTemplates"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderJobSpecJobTemplateArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderJobSpecJobTemplateArgs.java new file mode 100644 index 00000000..e8f6a179 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderJobSpecJobTemplateArgs.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 com.pulumi.spotinst.oceancd.inputs.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs; +import java.util.List; +import java.util.Objects; + + +public final class VerificationTemplateMetricProviderJobSpecJobTemplateArgs extends com.pulumi.resources.ResourceArgs { + + public static final VerificationTemplateMetricProviderJobSpecJobTemplateArgs Empty = new VerificationTemplateMetricProviderJobSpecJobTemplateArgs(); + + @Import(name="templateSpecs", required=true) + private Output> templateSpecs; + + public Output> templateSpecs() { + return this.templateSpecs; + } + + private VerificationTemplateMetricProviderJobSpecJobTemplateArgs() {} + + private VerificationTemplateMetricProviderJobSpecJobTemplateArgs(VerificationTemplateMetricProviderJobSpecJobTemplateArgs $) { + this.templateSpecs = $.templateSpecs; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VerificationTemplateMetricProviderJobSpecJobTemplateArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VerificationTemplateMetricProviderJobSpecJobTemplateArgs $; + + public Builder() { + $ = new VerificationTemplateMetricProviderJobSpecJobTemplateArgs(); + } + + public Builder(VerificationTemplateMetricProviderJobSpecJobTemplateArgs defaults) { + $ = new VerificationTemplateMetricProviderJobSpecJobTemplateArgs(Objects.requireNonNull(defaults)); + } + + public Builder templateSpecs(Output> templateSpecs) { + $.templateSpecs = templateSpecs; + return this; + } + + public Builder templateSpecs(List templateSpecs) { + return templateSpecs(Output.of(templateSpecs)); + } + + public Builder templateSpecs(VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs... templateSpecs) { + return templateSpecs(List.of(templateSpecs)); + } + + public VerificationTemplateMetricProviderJobSpecJobTemplateArgs build() { + if ($.templateSpecs == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderJobSpecJobTemplateArgs", "templateSpecs"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs.java new file mode 100644 index 00000000..b35560b4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs.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.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs; +import java.lang.String; +import java.util.List; +import java.util.Objects; + + +public final class VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs extends com.pulumi.resources.ResourceArgs { + + public static final VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs Empty = new VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs(); + + @Import(name="containers", required=true) + private Output> containers; + + public Output> containers() { + return this.containers; + } + + @Import(name="restartPolicy", required=true) + private Output restartPolicy; + + public Output restartPolicy() { + return this.restartPolicy; + } + + private VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs() {} + + private VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs(VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs $) { + this.containers = $.containers; + this.restartPolicy = $.restartPolicy; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs $; + + public Builder() { + $ = new VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs(); + } + + public Builder(VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs defaults) { + $ = new VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs(Objects.requireNonNull(defaults)); + } + + public Builder containers(Output> containers) { + $.containers = containers; + return this; + } + + public Builder containers(List containers) { + return containers(Output.of(containers)); + } + + public Builder containers(VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs... containers) { + return containers(List.of(containers)); + } + + public Builder restartPolicy(Output restartPolicy) { + $.restartPolicy = restartPolicy; + return this; + } + + public Builder restartPolicy(String restartPolicy) { + return restartPolicy(Output.of(restartPolicy)); + } + + public VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs build() { + if ($.containers == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs", "containers"); + } + if ($.restartPolicy == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs", "restartPolicy"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs.java new file mode 100644 index 00000000..61b96692 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs.java @@ -0,0 +1,110 @@ +// *** 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 VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs extends com.pulumi.resources.ResourceArgs { + + public static final VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs Empty = new VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs(); + + @Import(name="commands", required=true) + private Output> commands; + + public Output> commands() { + return this.commands; + } + + @Import(name="containerName", required=true) + private Output containerName; + + public Output containerName() { + return this.containerName; + } + + @Import(name="image", required=true) + private Output image; + + public Output image() { + return this.image; + } + + private VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs() {} + + private VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs(VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs $) { + this.commands = $.commands; + this.containerName = $.containerName; + this.image = $.image; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs $; + + public Builder() { + $ = new VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs(); + } + + public Builder(VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs defaults) { + $ = new VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs(Objects.requireNonNull(defaults)); + } + + public Builder commands(Output> commands) { + $.commands = commands; + return this; + } + + public Builder commands(List commands) { + return commands(Output.of(commands)); + } + + public Builder commands(String... commands) { + return commands(List.of(commands)); + } + + public Builder containerName(Output containerName) { + $.containerName = containerName; + return this; + } + + public Builder containerName(String containerName) { + return containerName(Output.of(containerName)); + } + + public Builder image(Output image) { + $.image = image; + return this; + } + + public Builder image(String image) { + return image(Output.of(image)); + } + + public VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs build() { + if ($.commands == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs", "commands"); + } + if ($.containerName == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs", "containerName"); + } + if ($.image == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs", "image"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderNewRelicArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderNewRelicArgs.java new file mode 100644 index 00000000..187c8966 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderNewRelicArgs.java @@ -0,0 +1,84 @@ +// *** 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 VerificationTemplateMetricProviderNewRelicArgs extends com.pulumi.resources.ResourceArgs { + + public static final VerificationTemplateMetricProviderNewRelicArgs Empty = new VerificationTemplateMetricProviderNewRelicArgs(); + + @Import(name="newRelicQuery", required=true) + private Output newRelicQuery; + + public Output newRelicQuery() { + return this.newRelicQuery; + } + + @Import(name="profile") + private @Nullable Output profile; + + public Optional> profile() { + return Optional.ofNullable(this.profile); + } + + private VerificationTemplateMetricProviderNewRelicArgs() {} + + private VerificationTemplateMetricProviderNewRelicArgs(VerificationTemplateMetricProviderNewRelicArgs $) { + this.newRelicQuery = $.newRelicQuery; + this.profile = $.profile; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VerificationTemplateMetricProviderNewRelicArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VerificationTemplateMetricProviderNewRelicArgs $; + + public Builder() { + $ = new VerificationTemplateMetricProviderNewRelicArgs(); + } + + public Builder(VerificationTemplateMetricProviderNewRelicArgs defaults) { + $ = new VerificationTemplateMetricProviderNewRelicArgs(Objects.requireNonNull(defaults)); + } + + public Builder newRelicQuery(Output newRelicQuery) { + $.newRelicQuery = newRelicQuery; + return this; + } + + public Builder newRelicQuery(String newRelicQuery) { + return newRelicQuery(Output.of(newRelicQuery)); + } + + public Builder profile(@Nullable Output profile) { + $.profile = profile; + return this; + } + + public Builder profile(String profile) { + return profile(Output.of(profile)); + } + + public VerificationTemplateMetricProviderNewRelicArgs build() { + if ($.newRelicQuery == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderNewRelicArgs", "newRelicQuery"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderPrometheusArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderPrometheusArgs.java new file mode 100644 index 00000000..b059e5b3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderPrometheusArgs.java @@ -0,0 +1,65 @@ +// *** 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 VerificationTemplateMetricProviderPrometheusArgs extends com.pulumi.resources.ResourceArgs { + + public static final VerificationTemplateMetricProviderPrometheusArgs Empty = new VerificationTemplateMetricProviderPrometheusArgs(); + + @Import(name="prometheusQuery", required=true) + private Output prometheusQuery; + + public Output prometheusQuery() { + return this.prometheusQuery; + } + + private VerificationTemplateMetricProviderPrometheusArgs() {} + + private VerificationTemplateMetricProviderPrometheusArgs(VerificationTemplateMetricProviderPrometheusArgs $) { + this.prometheusQuery = $.prometheusQuery; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VerificationTemplateMetricProviderPrometheusArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VerificationTemplateMetricProviderPrometheusArgs $; + + public Builder() { + $ = new VerificationTemplateMetricProviderPrometheusArgs(); + } + + public Builder(VerificationTemplateMetricProviderPrometheusArgs defaults) { + $ = new VerificationTemplateMetricProviderPrometheusArgs(Objects.requireNonNull(defaults)); + } + + public Builder prometheusQuery(Output prometheusQuery) { + $.prometheusQuery = prometheusQuery; + return this; + } + + public Builder prometheusQuery(String prometheusQuery) { + return prometheusQuery(Output.of(prometheusQuery)); + } + + public VerificationTemplateMetricProviderPrometheusArgs build() { + if ($.prometheusQuery == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderPrometheusArgs", "prometheusQuery"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderWebArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderWebArgs.java new file mode 100644 index 00000000..c2d0f7c9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderWebArgs.java @@ -0,0 +1,177 @@ +// *** 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.VerificationTemplateMetricProviderWebWebHeaderArgs; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class VerificationTemplateMetricProviderWebArgs extends com.pulumi.resources.ResourceArgs { + + public static final VerificationTemplateMetricProviderWebArgs Empty = new VerificationTemplateMetricProviderWebArgs(); + + @Import(name="body") + private @Nullable Output body; + + public Optional> body() { + return Optional.ofNullable(this.body); + } + + @Import(name="insecure") + private @Nullable Output insecure; + + public Optional> insecure() { + return Optional.ofNullable(this.insecure); + } + + @Import(name="jsonPath") + private @Nullable Output jsonPath; + + public Optional> jsonPath() { + return Optional.ofNullable(this.jsonPath); + } + + @Import(name="method") + private @Nullable Output method; + + public Optional> method() { + return Optional.ofNullable(this.method); + } + + @Import(name="timeoutSeconds") + private @Nullable Output timeoutSeconds; + + public Optional> timeoutSeconds() { + return Optional.ofNullable(this.timeoutSeconds); + } + + @Import(name="url", required=true) + private Output url; + + public Output url() { + return this.url; + } + + @Import(name="webHeaders") + private @Nullable Output> webHeaders; + + public Optional>> webHeaders() { + return Optional.ofNullable(this.webHeaders); + } + + private VerificationTemplateMetricProviderWebArgs() {} + + private VerificationTemplateMetricProviderWebArgs(VerificationTemplateMetricProviderWebArgs $) { + this.body = $.body; + this.insecure = $.insecure; + this.jsonPath = $.jsonPath; + this.method = $.method; + this.timeoutSeconds = $.timeoutSeconds; + this.url = $.url; + this.webHeaders = $.webHeaders; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VerificationTemplateMetricProviderWebArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VerificationTemplateMetricProviderWebArgs $; + + public Builder() { + $ = new VerificationTemplateMetricProviderWebArgs(); + } + + public Builder(VerificationTemplateMetricProviderWebArgs defaults) { + $ = new VerificationTemplateMetricProviderWebArgs(Objects.requireNonNull(defaults)); + } + + public Builder body(@Nullable Output body) { + $.body = body; + return this; + } + + public Builder body(String body) { + return body(Output.of(body)); + } + + public Builder insecure(@Nullable Output insecure) { + $.insecure = insecure; + return this; + } + + public Builder insecure(Boolean insecure) { + return insecure(Output.of(insecure)); + } + + public Builder jsonPath(@Nullable Output jsonPath) { + $.jsonPath = jsonPath; + return this; + } + + public Builder jsonPath(String jsonPath) { + return jsonPath(Output.of(jsonPath)); + } + + public Builder method(@Nullable Output method) { + $.method = method; + return this; + } + + public Builder method(String method) { + return method(Output.of(method)); + } + + public Builder timeoutSeconds(@Nullable Output timeoutSeconds) { + $.timeoutSeconds = timeoutSeconds; + return this; + } + + public Builder timeoutSeconds(Integer timeoutSeconds) { + return timeoutSeconds(Output.of(timeoutSeconds)); + } + + public Builder url(Output url) { + $.url = url; + return this; + } + + public Builder url(String url) { + return url(Output.of(url)); + } + + public Builder webHeaders(@Nullable Output> webHeaders) { + $.webHeaders = webHeaders; + return this; + } + + public Builder webHeaders(List webHeaders) { + return webHeaders(Output.of(webHeaders)); + } + + public Builder webHeaders(VerificationTemplateMetricProviderWebWebHeaderArgs... webHeaders) { + return webHeaders(List.of(webHeaders)); + } + + public VerificationTemplateMetricProviderWebArgs build() { + if ($.url == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderWebArgs", "url"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderWebWebHeaderArgs.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderWebWebHeaderArgs.java new file mode 100644 index 00000000..50e0a391 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateMetricProviderWebWebHeaderArgs.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 VerificationTemplateMetricProviderWebWebHeaderArgs extends com.pulumi.resources.ResourceArgs { + + public static final VerificationTemplateMetricProviderWebWebHeaderArgs Empty = new VerificationTemplateMetricProviderWebWebHeaderArgs(); + + @Import(name="webHeaderKey", required=true) + private Output webHeaderKey; + + public Output webHeaderKey() { + return this.webHeaderKey; + } + + @Import(name="webHeaderValue", required=true) + private Output webHeaderValue; + + public Output webHeaderValue() { + return this.webHeaderValue; + } + + private VerificationTemplateMetricProviderWebWebHeaderArgs() {} + + private VerificationTemplateMetricProviderWebWebHeaderArgs(VerificationTemplateMetricProviderWebWebHeaderArgs $) { + this.webHeaderKey = $.webHeaderKey; + this.webHeaderValue = $.webHeaderValue; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VerificationTemplateMetricProviderWebWebHeaderArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VerificationTemplateMetricProviderWebWebHeaderArgs $; + + public Builder() { + $ = new VerificationTemplateMetricProviderWebWebHeaderArgs(); + } + + public Builder(VerificationTemplateMetricProviderWebWebHeaderArgs defaults) { + $ = new VerificationTemplateMetricProviderWebWebHeaderArgs(Objects.requireNonNull(defaults)); + } + + public Builder webHeaderKey(Output webHeaderKey) { + $.webHeaderKey = webHeaderKey; + return this; + } + + public Builder webHeaderKey(String webHeaderKey) { + return webHeaderKey(Output.of(webHeaderKey)); + } + + public Builder webHeaderValue(Output webHeaderValue) { + $.webHeaderValue = webHeaderValue; + return this; + } + + public Builder webHeaderValue(String webHeaderValue) { + return webHeaderValue(Output.of(webHeaderValue)); + } + + public VerificationTemplateMetricProviderWebWebHeaderArgs build() { + if ($.webHeaderKey == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderWebWebHeaderArgs", "webHeaderKey"); + } + if ($.webHeaderValue == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderWebWebHeaderArgs", "webHeaderValue"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateState.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateState.java new file mode 100644 index 00000000..127d0e3d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/inputs/VerificationTemplateState.java @@ -0,0 +1,180 @@ +// *** 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.VerificationTemplateArgArgs; +import com.pulumi.spotinst.oceancd.inputs.VerificationTemplateMetricArgs; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class VerificationTemplateState extends com.pulumi.resources.ResourceArgs { + + public static final VerificationTemplateState Empty = new VerificationTemplateState(); + + /** + * List of verification arguments. You may specify either `value` OR `valueFrom` but not both.In case `args`:`value` is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity. + * + */ + @Import(name="args") + private @Nullable Output> args; + + /** + * @return List of verification arguments. You may specify either `value` OR `valueFrom` but not both.In case `args`:`value` is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity. + * + */ + public Optional>> args() { + return Optional.ofNullable(this.args); + } + + /** + * List of verification metrics. + * + */ + @Import(name="metrics") + private @Nullable Output> metrics; + + /** + * @return List of verification metrics. + * + */ + public Optional>> metrics() { + return Optional.ofNullable(this.metrics); + } + + /** + * Identifier name for Ocean CD Verification Template. Must be unique. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return Identifier name for Ocean CD Verification Template. Must be unique. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + private VerificationTemplateState() {} + + private VerificationTemplateState(VerificationTemplateState $) { + this.args = $.args; + this.metrics = $.metrics; + this.name = $.name; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VerificationTemplateState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VerificationTemplateState $; + + public Builder() { + $ = new VerificationTemplateState(); + } + + public Builder(VerificationTemplateState defaults) { + $ = new VerificationTemplateState(Objects.requireNonNull(defaults)); + } + + /** + * @param args List of verification arguments. You may specify either `value` OR `valueFrom` but not both.In case `args`:`value` is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity. + * + * @return builder + * + */ + public Builder args(@Nullable Output> args) { + $.args = args; + return this; + } + + /** + * @param args List of verification arguments. You may specify either `value` OR `valueFrom` but not both.In case `args`:`value` is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity. + * + * @return builder + * + */ + public Builder args(List args) { + return args(Output.of(args)); + } + + /** + * @param args List of verification arguments. You may specify either `value` OR `valueFrom` but not both.In case `args`:`value` is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity. + * + * @return builder + * + */ + public Builder args(VerificationTemplateArgArgs... args) { + return args(List.of(args)); + } + + /** + * @param metrics List of verification metrics. + * + * @return builder + * + */ + public Builder metrics(@Nullable Output> metrics) { + $.metrics = metrics; + return this; + } + + /** + * @param metrics List of verification metrics. + * + * @return builder + * + */ + public Builder metrics(List metrics) { + return metrics(Output.of(metrics)); + } + + /** + * @param metrics List of verification metrics. + * + * @return builder + * + */ + public Builder metrics(VerificationTemplateMetricArgs... metrics) { + return metrics(List.of(metrics)); + } + + /** + * @param name Identifier name for Ocean CD Verification Template. Must be unique. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name Identifier name for Ocean CD Verification Template. Must be unique. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + public VerificationTemplateState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecFailurePolicy.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecFailurePolicy.java new file mode 100644 index 00000000..ff8c59c9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecFailurePolicy.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 RolloutSpecFailurePolicy { + /** + * @return Choose an action to perform on failure. Default is `abort`. Enum: "abort" "pause" "promote". + * + */ + private String action; + + private RolloutSpecFailurePolicy() {} + /** + * @return Choose an action to perform on failure. Default is `abort`. Enum: "abort" "pause" "promote". + * + */ + public String action() { + return this.action; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RolloutSpecFailurePolicy defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String action; + public Builder() {} + public Builder(RolloutSpecFailurePolicy defaults) { + Objects.requireNonNull(defaults); + this.action = defaults.action; + } + + @CustomType.Setter + public Builder action(String action) { + if (action == null) { + throw new MissingRequiredPropertyException("RolloutSpecFailurePolicy", "action"); + } + this.action = action; + return this; + } + public RolloutSpecFailurePolicy build() { + final var _resultValue = new RolloutSpecFailurePolicy(); + _resultValue.action = action; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecSpotDeployment.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecSpotDeployment.java new file mode 100644 index 00000000..ccc0da0d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecSpotDeployment.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.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 RolloutSpecSpotDeployment { + /** + * @return Ocean CD cluster identifier for the references `SpotDeployment`. + * + */ + private @Nullable String spotDeploymentsClusterId; + /** + * @return The name of the `SpotDeployment` resource + * + */ + private @Nullable String spotDeploymentsName; + /** + * @return The namespace which the `SpotDeployment` resource exists within. + * + */ + private @Nullable String spotDeploymentsNamespace; + + private RolloutSpecSpotDeployment() {} + /** + * @return Ocean CD cluster identifier for the references `SpotDeployment`. + * + */ + public Optional spotDeploymentsClusterId() { + return Optional.ofNullable(this.spotDeploymentsClusterId); + } + /** + * @return The name of the `SpotDeployment` resource + * + */ + public Optional spotDeploymentsName() { + return Optional.ofNullable(this.spotDeploymentsName); + } + /** + * @return The namespace which the `SpotDeployment` resource exists within. + * + */ + public Optional spotDeploymentsNamespace() { + return Optional.ofNullable(this.spotDeploymentsNamespace); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RolloutSpecSpotDeployment defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String spotDeploymentsClusterId; + private @Nullable String spotDeploymentsName; + private @Nullable String spotDeploymentsNamespace; + public Builder() {} + public Builder(RolloutSpecSpotDeployment defaults) { + Objects.requireNonNull(defaults); + this.spotDeploymentsClusterId = defaults.spotDeploymentsClusterId; + this.spotDeploymentsName = defaults.spotDeploymentsName; + this.spotDeploymentsNamespace = defaults.spotDeploymentsNamespace; + } + + @CustomType.Setter + public Builder spotDeploymentsClusterId(@Nullable String spotDeploymentsClusterId) { + + this.spotDeploymentsClusterId = spotDeploymentsClusterId; + return this; + } + @CustomType.Setter + public Builder spotDeploymentsName(@Nullable String spotDeploymentsName) { + + this.spotDeploymentsName = spotDeploymentsName; + return this; + } + @CustomType.Setter + public Builder spotDeploymentsNamespace(@Nullable String spotDeploymentsNamespace) { + + this.spotDeploymentsNamespace = spotDeploymentsNamespace; + return this; + } + public RolloutSpecSpotDeployment build() { + final var _resultValue = new RolloutSpecSpotDeployment(); + _resultValue.spotDeploymentsClusterId = spotDeploymentsClusterId; + _resultValue.spotDeploymentsName = spotDeploymentsName; + _resultValue.spotDeploymentsNamespace = spotDeploymentsNamespace; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecStrategy.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecStrategy.java new file mode 100644 index 00000000..607b9b0d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecStrategy.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.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import com.pulumi.spotinst.oceancd.outputs.RolloutSpecStrategyArg; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import javax.annotation.Nullable; + +@CustomType +public final class RolloutSpecStrategy { + /** + * @return Arguments defined in Verification Templates. + * + */ + private @Nullable List args; + /** + * @return Ocean CD strategy name identifier. + * + */ + private String strategyName; + + private RolloutSpecStrategy() {} + /** + * @return Arguments defined in Verification Templates. + * + */ + public List args() { + return this.args == null ? List.of() : this.args; + } + /** + * @return Ocean CD strategy name identifier. + * + */ + public String strategyName() { + return this.strategyName; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RolloutSpecStrategy defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List args; + private String strategyName; + public Builder() {} + public Builder(RolloutSpecStrategy defaults) { + Objects.requireNonNull(defaults); + this.args = defaults.args; + this.strategyName = defaults.strategyName; + } + + @CustomType.Setter + public Builder args(@Nullable List args) { + + this.args = args; + return this; + } + public Builder args(RolloutSpecStrategyArg... args) { + return args(List.of(args)); + } + @CustomType.Setter + public Builder strategyName(String strategyName) { + if (strategyName == null) { + throw new MissingRequiredPropertyException("RolloutSpecStrategy", "strategyName"); + } + this.strategyName = strategyName; + return this; + } + public RolloutSpecStrategy build() { + final var _resultValue = new RolloutSpecStrategy(); + _resultValue.args = args; + _resultValue.strategyName = strategyName; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecStrategyArg.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecStrategyArg.java new file mode 100644 index 00000000..f064db76 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecStrategyArg.java @@ -0,0 +1,79 @@ +// *** 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.RolloutSpecStrategyArgValueFrom; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class RolloutSpecStrategyArg { + private String argName; + private @Nullable String argValue; + private @Nullable RolloutSpecStrategyArgValueFrom valueFrom; + + private RolloutSpecStrategyArg() {} + public String argName() { + return this.argName; + } + public Optional argValue() { + return Optional.ofNullable(this.argValue); + } + public Optional valueFrom() { + return Optional.ofNullable(this.valueFrom); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RolloutSpecStrategyArg defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String argName; + private @Nullable String argValue; + private @Nullable RolloutSpecStrategyArgValueFrom valueFrom; + public Builder() {} + public Builder(RolloutSpecStrategyArg defaults) { + Objects.requireNonNull(defaults); + this.argName = defaults.argName; + this.argValue = defaults.argValue; + this.valueFrom = defaults.valueFrom; + } + + @CustomType.Setter + public Builder argName(String argName) { + if (argName == null) { + throw new MissingRequiredPropertyException("RolloutSpecStrategyArg", "argName"); + } + this.argName = argName; + return this; + } + @CustomType.Setter + public Builder argValue(@Nullable String argValue) { + + this.argValue = argValue; + return this; + } + @CustomType.Setter + public Builder valueFrom(@Nullable RolloutSpecStrategyArgValueFrom valueFrom) { + + this.valueFrom = valueFrom; + return this; + } + public RolloutSpecStrategyArg build() { + final var _resultValue = new RolloutSpecStrategyArg(); + _resultValue.argName = argName; + _resultValue.argValue = argValue; + _resultValue.valueFrom = valueFrom; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecStrategyArgValueFrom.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecStrategyArgValueFrom.java new file mode 100644 index 00000000..26b68b7c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecStrategyArgValueFrom.java @@ -0,0 +1,50 @@ +// *** 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.RolloutSpecStrategyArgValueFromFieldRef; +import java.util.Objects; + +@CustomType +public final class RolloutSpecStrategyArgValueFrom { + private RolloutSpecStrategyArgValueFromFieldRef fieldRef; + + private RolloutSpecStrategyArgValueFrom() {} + public RolloutSpecStrategyArgValueFromFieldRef fieldRef() { + return this.fieldRef; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RolloutSpecStrategyArgValueFrom defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private RolloutSpecStrategyArgValueFromFieldRef fieldRef; + public Builder() {} + public Builder(RolloutSpecStrategyArgValueFrom defaults) { + Objects.requireNonNull(defaults); + this.fieldRef = defaults.fieldRef; + } + + @CustomType.Setter + public Builder fieldRef(RolloutSpecStrategyArgValueFromFieldRef fieldRef) { + if (fieldRef == null) { + throw new MissingRequiredPropertyException("RolloutSpecStrategyArgValueFrom", "fieldRef"); + } + this.fieldRef = fieldRef; + return this; + } + public RolloutSpecStrategyArgValueFrom build() { + final var _resultValue = new RolloutSpecStrategyArgValueFrom(); + _resultValue.fieldRef = fieldRef; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecStrategyArgValueFromFieldRef.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecStrategyArgValueFromFieldRef.java new file mode 100644 index 00000000..5ee410ea --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecStrategyArgValueFromFieldRef.java @@ -0,0 +1,50 @@ +// *** 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 RolloutSpecStrategyArgValueFromFieldRef { + private String fieldPath; + + private RolloutSpecStrategyArgValueFromFieldRef() {} + public String fieldPath() { + return this.fieldPath; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RolloutSpecStrategyArgValueFromFieldRef defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String fieldPath; + public Builder() {} + public Builder(RolloutSpecStrategyArgValueFromFieldRef defaults) { + Objects.requireNonNull(defaults); + this.fieldPath = defaults.fieldPath; + } + + @CustomType.Setter + public Builder fieldPath(String fieldPath) { + if (fieldPath == null) { + throw new MissingRequiredPropertyException("RolloutSpecStrategyArgValueFromFieldRef", "fieldPath"); + } + this.fieldPath = fieldPath; + return this; + } + public RolloutSpecStrategyArgValueFromFieldRef build() { + final var _resultValue = new RolloutSpecStrategyArgValueFromFieldRef(); + _resultValue.fieldPath = fieldPath; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecTraffic.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecTraffic.java new file mode 100644 index 00000000..cd19eb90 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecTraffic.java @@ -0,0 +1,210 @@ +// *** 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.RolloutSpecTrafficAlb; +import com.pulumi.spotinst.oceancd.outputs.RolloutSpecTrafficAmbassador; +import com.pulumi.spotinst.oceancd.outputs.RolloutSpecTrafficIstio; +import com.pulumi.spotinst.oceancd.outputs.RolloutSpecTrafficNginx; +import com.pulumi.spotinst.oceancd.outputs.RolloutSpecTrafficPingPong; +import com.pulumi.spotinst.oceancd.outputs.RolloutSpecTrafficSmi; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class RolloutSpecTraffic { + /** + * @return Holds ALB Ingress specific configuration to route traffic. + * + */ + private @Nullable RolloutSpecTrafficAlb alb; + /** + * @return Holds specific configuration to use Ambassador to route traffic. + * + */ + private @Nullable RolloutSpecTrafficAmbassador ambassador; + /** + * @return The canary service name. + * + */ + private @Nullable String canaryService; + /** + * @return Holds Istio specific configuration to route traffic. + * + */ + private @Nullable RolloutSpecTrafficIstio istio; + /** + * @return Holds Nginx Ingress specific configuration to route traffic. + * + */ + private @Nullable RolloutSpecTrafficNginx nginx; + /** + * @return Holds the ping and pong services. You can use `pingPong` field only when using ALB as a traffic manager with the IP Mode approach. + * + */ + private @Nullable RolloutSpecTrafficPingPong pingPong; + /** + * @return Holds TrafficSplit specific configuration to route traffic. + * + */ + private @Nullable RolloutSpecTrafficSmi smi; + /** + * @return The stable service name. + * + */ + private @Nullable String stableService; + + private RolloutSpecTraffic() {} + /** + * @return Holds ALB Ingress specific configuration to route traffic. + * + */ + public Optional alb() { + return Optional.ofNullable(this.alb); + } + /** + * @return Holds specific configuration to use Ambassador to route traffic. + * + */ + public Optional ambassador() { + return Optional.ofNullable(this.ambassador); + } + /** + * @return The canary service name. + * + */ + public Optional canaryService() { + return Optional.ofNullable(this.canaryService); + } + /** + * @return Holds Istio specific configuration to route traffic. + * + */ + public Optional istio() { + return Optional.ofNullable(this.istio); + } + /** + * @return Holds Nginx Ingress specific configuration to route traffic. + * + */ + public Optional nginx() { + return Optional.ofNullable(this.nginx); + } + /** + * @return Holds the ping and pong services. You can use `pingPong` field only when using ALB as a traffic manager with the IP Mode approach. + * + */ + public Optional pingPong() { + return Optional.ofNullable(this.pingPong); + } + /** + * @return Holds TrafficSplit specific configuration to route traffic. + * + */ + public Optional smi() { + return Optional.ofNullable(this.smi); + } + /** + * @return The stable service name. + * + */ + public Optional stableService() { + return Optional.ofNullable(this.stableService); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RolloutSpecTraffic defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable RolloutSpecTrafficAlb alb; + private @Nullable RolloutSpecTrafficAmbassador ambassador; + private @Nullable String canaryService; + private @Nullable RolloutSpecTrafficIstio istio; + private @Nullable RolloutSpecTrafficNginx nginx; + private @Nullable RolloutSpecTrafficPingPong pingPong; + private @Nullable RolloutSpecTrafficSmi smi; + private @Nullable String stableService; + public Builder() {} + public Builder(RolloutSpecTraffic defaults) { + Objects.requireNonNull(defaults); + this.alb = defaults.alb; + this.ambassador = defaults.ambassador; + this.canaryService = defaults.canaryService; + this.istio = defaults.istio; + this.nginx = defaults.nginx; + this.pingPong = defaults.pingPong; + this.smi = defaults.smi; + this.stableService = defaults.stableService; + } + + @CustomType.Setter + public Builder alb(@Nullable RolloutSpecTrafficAlb alb) { + + this.alb = alb; + return this; + } + @CustomType.Setter + public Builder ambassador(@Nullable RolloutSpecTrafficAmbassador ambassador) { + + this.ambassador = ambassador; + return this; + } + @CustomType.Setter + public Builder canaryService(@Nullable String canaryService) { + + this.canaryService = canaryService; + return this; + } + @CustomType.Setter + public Builder istio(@Nullable RolloutSpecTrafficIstio istio) { + + this.istio = istio; + return this; + } + @CustomType.Setter + public Builder nginx(@Nullable RolloutSpecTrafficNginx nginx) { + + this.nginx = nginx; + return this; + } + @CustomType.Setter + public Builder pingPong(@Nullable RolloutSpecTrafficPingPong pingPong) { + + this.pingPong = pingPong; + return this; + } + @CustomType.Setter + public Builder smi(@Nullable RolloutSpecTrafficSmi smi) { + + this.smi = smi; + return this; + } + @CustomType.Setter + public Builder stableService(@Nullable String stableService) { + + this.stableService = stableService; + return this; + } + public RolloutSpecTraffic build() { + final var _resultValue = new RolloutSpecTraffic(); + _resultValue.alb = alb; + _resultValue.ambassador = ambassador; + _resultValue.canaryService = canaryService; + _resultValue.istio = istio; + _resultValue.nginx = nginx; + _resultValue.pingPong = pingPong; + _resultValue.smi = smi; + _resultValue.stableService = stableService; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecTrafficAlb.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecTrafficAlb.java new file mode 100644 index 00000000..877069c9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecTrafficAlb.java @@ -0,0 +1,110 @@ +// *** 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.RolloutSpecTrafficAlbStickinessConfig; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class RolloutSpecTrafficAlb { + private @Nullable String albAnnotationPrefix; + private String albIngress; + private String albRootService; + private Integer servicePort; + private @Nullable RolloutSpecTrafficAlbStickinessConfig stickinessConfig; + + private RolloutSpecTrafficAlb() {} + public Optional albAnnotationPrefix() { + return Optional.ofNullable(this.albAnnotationPrefix); + } + public String albIngress() { + return this.albIngress; + } + public String albRootService() { + return this.albRootService; + } + public Integer servicePort() { + return this.servicePort; + } + public Optional stickinessConfig() { + return Optional.ofNullable(this.stickinessConfig); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RolloutSpecTrafficAlb defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String albAnnotationPrefix; + private String albIngress; + private String albRootService; + private Integer servicePort; + private @Nullable RolloutSpecTrafficAlbStickinessConfig stickinessConfig; + public Builder() {} + public Builder(RolloutSpecTrafficAlb defaults) { + Objects.requireNonNull(defaults); + this.albAnnotationPrefix = defaults.albAnnotationPrefix; + this.albIngress = defaults.albIngress; + this.albRootService = defaults.albRootService; + this.servicePort = defaults.servicePort; + this.stickinessConfig = defaults.stickinessConfig; + } + + @CustomType.Setter + public Builder albAnnotationPrefix(@Nullable String albAnnotationPrefix) { + + this.albAnnotationPrefix = albAnnotationPrefix; + return this; + } + @CustomType.Setter + public Builder albIngress(String albIngress) { + if (albIngress == null) { + throw new MissingRequiredPropertyException("RolloutSpecTrafficAlb", "albIngress"); + } + this.albIngress = albIngress; + return this; + } + @CustomType.Setter + public Builder albRootService(String albRootService) { + if (albRootService == null) { + throw new MissingRequiredPropertyException("RolloutSpecTrafficAlb", "albRootService"); + } + this.albRootService = albRootService; + return this; + } + @CustomType.Setter + public Builder servicePort(Integer servicePort) { + if (servicePort == null) { + throw new MissingRequiredPropertyException("RolloutSpecTrafficAlb", "servicePort"); + } + this.servicePort = servicePort; + return this; + } + @CustomType.Setter + public Builder stickinessConfig(@Nullable RolloutSpecTrafficAlbStickinessConfig stickinessConfig) { + + this.stickinessConfig = stickinessConfig; + return this; + } + public RolloutSpecTrafficAlb build() { + final var _resultValue = new RolloutSpecTrafficAlb(); + _resultValue.albAnnotationPrefix = albAnnotationPrefix; + _resultValue.albIngress = albIngress; + _resultValue.albRootService = albRootService; + _resultValue.servicePort = servicePort; + _resultValue.stickinessConfig = stickinessConfig; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecTrafficAlbStickinessConfig.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecTrafficAlbStickinessConfig.java new file mode 100644 index 00000000..540d4578 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecTrafficAlbStickinessConfig.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.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 RolloutSpecTrafficAlbStickinessConfig { + private @Nullable Integer durationSeconds; + private @Nullable Boolean enabled; + + private RolloutSpecTrafficAlbStickinessConfig() {} + public Optional durationSeconds() { + return Optional.ofNullable(this.durationSeconds); + } + public Optional enabled() { + return Optional.ofNullable(this.enabled); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RolloutSpecTrafficAlbStickinessConfig defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Integer durationSeconds; + private @Nullable Boolean enabled; + public Builder() {} + public Builder(RolloutSpecTrafficAlbStickinessConfig defaults) { + Objects.requireNonNull(defaults); + this.durationSeconds = defaults.durationSeconds; + this.enabled = defaults.enabled; + } + + @CustomType.Setter + public Builder durationSeconds(@Nullable Integer durationSeconds) { + + this.durationSeconds = durationSeconds; + return this; + } + @CustomType.Setter + public Builder enabled(@Nullable Boolean enabled) { + + this.enabled = enabled; + return this; + } + public RolloutSpecTrafficAlbStickinessConfig build() { + final var _resultValue = new RolloutSpecTrafficAlbStickinessConfig(); + _resultValue.durationSeconds = durationSeconds; + _resultValue.enabled = enabled; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecTrafficAmbassador.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecTrafficAmbassador.java new file mode 100644 index 00000000..17668c91 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecTrafficAmbassador.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 RolloutSpecTrafficAmbassador { + private List mappings; + + private RolloutSpecTrafficAmbassador() {} + public List mappings() { + return this.mappings; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RolloutSpecTrafficAmbassador defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List mappings; + public Builder() {} + public Builder(RolloutSpecTrafficAmbassador defaults) { + Objects.requireNonNull(defaults); + this.mappings = defaults.mappings; + } + + @CustomType.Setter + public Builder mappings(List mappings) { + if (mappings == null) { + throw new MissingRequiredPropertyException("RolloutSpecTrafficAmbassador", "mappings"); + } + this.mappings = mappings; + return this; + } + public Builder mappings(String... mappings) { + return mappings(List.of(mappings)); + } + public RolloutSpecTrafficAmbassador build() { + final var _resultValue = new RolloutSpecTrafficAmbassador(); + _resultValue.mappings = mappings; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecTrafficIstio.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecTrafficIstio.java new file mode 100644 index 00000000..b412f689 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecTrafficIstio.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.RolloutSpecTrafficIstioDestinationRule; +import com.pulumi.spotinst.oceancd.outputs.RolloutSpecTrafficIstioVirtualService; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class RolloutSpecTrafficIstio { + private @Nullable RolloutSpecTrafficIstioDestinationRule destinationRule; + private List virtualServices; + + private RolloutSpecTrafficIstio() {} + public Optional destinationRule() { + return Optional.ofNullable(this.destinationRule); + } + public List virtualServices() { + return this.virtualServices; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RolloutSpecTrafficIstio defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable RolloutSpecTrafficIstioDestinationRule destinationRule; + private List virtualServices; + public Builder() {} + public Builder(RolloutSpecTrafficIstio defaults) { + Objects.requireNonNull(defaults); + this.destinationRule = defaults.destinationRule; + this.virtualServices = defaults.virtualServices; + } + + @CustomType.Setter + public Builder destinationRule(@Nullable RolloutSpecTrafficIstioDestinationRule destinationRule) { + + this.destinationRule = destinationRule; + return this; + } + @CustomType.Setter + public Builder virtualServices(List virtualServices) { + if (virtualServices == null) { + throw new MissingRequiredPropertyException("RolloutSpecTrafficIstio", "virtualServices"); + } + this.virtualServices = virtualServices; + return this; + } + public Builder virtualServices(RolloutSpecTrafficIstioVirtualService... virtualServices) { + return virtualServices(List.of(virtualServices)); + } + public RolloutSpecTrafficIstio build() { + final var _resultValue = new RolloutSpecTrafficIstio(); + _resultValue.destinationRule = destinationRule; + _resultValue.virtualServices = virtualServices; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecTrafficIstioDestinationRule.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecTrafficIstioDestinationRule.java new file mode 100644 index 00000000..e02c80ab --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecTrafficIstioDestinationRule.java @@ -0,0 +1,80 @@ +// *** 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 RolloutSpecTrafficIstioDestinationRule { + private String canarySubsetName; + private String destinationRuleName; + private String stableSubsetName; + + private RolloutSpecTrafficIstioDestinationRule() {} + public String canarySubsetName() { + return this.canarySubsetName; + } + public String destinationRuleName() { + return this.destinationRuleName; + } + public String stableSubsetName() { + return this.stableSubsetName; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RolloutSpecTrafficIstioDestinationRule defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String canarySubsetName; + private String destinationRuleName; + private String stableSubsetName; + public Builder() {} + public Builder(RolloutSpecTrafficIstioDestinationRule defaults) { + Objects.requireNonNull(defaults); + this.canarySubsetName = defaults.canarySubsetName; + this.destinationRuleName = defaults.destinationRuleName; + this.stableSubsetName = defaults.stableSubsetName; + } + + @CustomType.Setter + public Builder canarySubsetName(String canarySubsetName) { + if (canarySubsetName == null) { + throw new MissingRequiredPropertyException("RolloutSpecTrafficIstioDestinationRule", "canarySubsetName"); + } + this.canarySubsetName = canarySubsetName; + return this; + } + @CustomType.Setter + public Builder destinationRuleName(String destinationRuleName) { + if (destinationRuleName == null) { + throw new MissingRequiredPropertyException("RolloutSpecTrafficIstioDestinationRule", "destinationRuleName"); + } + this.destinationRuleName = destinationRuleName; + return this; + } + @CustomType.Setter + public Builder stableSubsetName(String stableSubsetName) { + if (stableSubsetName == null) { + throw new MissingRequiredPropertyException("RolloutSpecTrafficIstioDestinationRule", "stableSubsetName"); + } + this.stableSubsetName = stableSubsetName; + return this; + } + public RolloutSpecTrafficIstioDestinationRule build() { + final var _resultValue = new RolloutSpecTrafficIstioDestinationRule(); + _resultValue.canarySubsetName = canarySubsetName; + _resultValue.destinationRuleName = destinationRuleName; + _resultValue.stableSubsetName = stableSubsetName; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecTrafficIstioVirtualService.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecTrafficIstioVirtualService.java new file mode 100644 index 00000000..ba4c952a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecTrafficIstioVirtualService.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.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import com.pulumi.spotinst.oceancd.outputs.RolloutSpecTrafficIstioVirtualServiceTlsRoute; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import javax.annotation.Nullable; + +@CustomType +public final class RolloutSpecTrafficIstioVirtualService { + private @Nullable List tlsRoutes; + private String virtualServiceName; + private @Nullable List virtualServiceRoutes; + + private RolloutSpecTrafficIstioVirtualService() {} + public List tlsRoutes() { + return this.tlsRoutes == null ? List.of() : this.tlsRoutes; + } + public String virtualServiceName() { + return this.virtualServiceName; + } + public List virtualServiceRoutes() { + return this.virtualServiceRoutes == null ? List.of() : this.virtualServiceRoutes; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RolloutSpecTrafficIstioVirtualService defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List tlsRoutes; + private String virtualServiceName; + private @Nullable List virtualServiceRoutes; + public Builder() {} + public Builder(RolloutSpecTrafficIstioVirtualService defaults) { + Objects.requireNonNull(defaults); + this.tlsRoutes = defaults.tlsRoutes; + this.virtualServiceName = defaults.virtualServiceName; + this.virtualServiceRoutes = defaults.virtualServiceRoutes; + } + + @CustomType.Setter + public Builder tlsRoutes(@Nullable List tlsRoutes) { + + this.tlsRoutes = tlsRoutes; + return this; + } + public Builder tlsRoutes(RolloutSpecTrafficIstioVirtualServiceTlsRoute... tlsRoutes) { + return tlsRoutes(List.of(tlsRoutes)); + } + @CustomType.Setter + public Builder virtualServiceName(String virtualServiceName) { + if (virtualServiceName == null) { + throw new MissingRequiredPropertyException("RolloutSpecTrafficIstioVirtualService", "virtualServiceName"); + } + this.virtualServiceName = virtualServiceName; + return this; + } + @CustomType.Setter + public Builder virtualServiceRoutes(@Nullable List virtualServiceRoutes) { + + this.virtualServiceRoutes = virtualServiceRoutes; + return this; + } + public Builder virtualServiceRoutes(String... virtualServiceRoutes) { + return virtualServiceRoutes(List.of(virtualServiceRoutes)); + } + public RolloutSpecTrafficIstioVirtualService build() { + final var _resultValue = new RolloutSpecTrafficIstioVirtualService(); + _resultValue.tlsRoutes = tlsRoutes; + _resultValue.virtualServiceName = virtualServiceName; + _resultValue.virtualServiceRoutes = virtualServiceRoutes; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecTrafficIstioVirtualServiceTlsRoute.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecTrafficIstioVirtualServiceTlsRoute.java new file mode 100644 index 00000000..ee4bd4f4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecTrafficIstioVirtualServiceTlsRoute.java @@ -0,0 +1,67 @@ +// *** 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.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class RolloutSpecTrafficIstioVirtualServiceTlsRoute { + private @Nullable Integer port; + private @Nullable List sniHosts; + + private RolloutSpecTrafficIstioVirtualServiceTlsRoute() {} + public Optional port() { + return Optional.ofNullable(this.port); + } + public List sniHosts() { + return this.sniHosts == null ? List.of() : this.sniHosts; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RolloutSpecTrafficIstioVirtualServiceTlsRoute defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Integer port; + private @Nullable List sniHosts; + public Builder() {} + public Builder(RolloutSpecTrafficIstioVirtualServiceTlsRoute defaults) { + Objects.requireNonNull(defaults); + this.port = defaults.port; + this.sniHosts = defaults.sniHosts; + } + + @CustomType.Setter + public Builder port(@Nullable Integer port) { + + this.port = port; + return this; + } + @CustomType.Setter + public Builder sniHosts(@Nullable List sniHosts) { + + this.sniHosts = sniHosts; + return this; + } + public Builder sniHosts(String... sniHosts) { + return sniHosts(List.of(sniHosts)); + } + public RolloutSpecTrafficIstioVirtualServiceTlsRoute build() { + final var _resultValue = new RolloutSpecTrafficIstioVirtualServiceTlsRoute(); + _resultValue.port = port; + _resultValue.sniHosts = sniHosts; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecTrafficNginx.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecTrafficNginx.java new file mode 100644 index 00000000..934f8af8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecTrafficNginx.java @@ -0,0 +1,79 @@ +// *** 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.RolloutSpecTrafficNginxAdditionalIngressAnnotation; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class RolloutSpecTrafficNginx { + private @Nullable RolloutSpecTrafficNginxAdditionalIngressAnnotation additionalIngressAnnotation; + private @Nullable String nginxAnnotationPrefix; + private String stableIngress; + + private RolloutSpecTrafficNginx() {} + public Optional additionalIngressAnnotation() { + return Optional.ofNullable(this.additionalIngressAnnotation); + } + public Optional nginxAnnotationPrefix() { + return Optional.ofNullable(this.nginxAnnotationPrefix); + } + public String stableIngress() { + return this.stableIngress; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RolloutSpecTrafficNginx defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable RolloutSpecTrafficNginxAdditionalIngressAnnotation additionalIngressAnnotation; + private @Nullable String nginxAnnotationPrefix; + private String stableIngress; + public Builder() {} + public Builder(RolloutSpecTrafficNginx defaults) { + Objects.requireNonNull(defaults); + this.additionalIngressAnnotation = defaults.additionalIngressAnnotation; + this.nginxAnnotationPrefix = defaults.nginxAnnotationPrefix; + this.stableIngress = defaults.stableIngress; + } + + @CustomType.Setter + public Builder additionalIngressAnnotation(@Nullable RolloutSpecTrafficNginxAdditionalIngressAnnotation additionalIngressAnnotation) { + + this.additionalIngressAnnotation = additionalIngressAnnotation; + return this; + } + @CustomType.Setter + public Builder nginxAnnotationPrefix(@Nullable String nginxAnnotationPrefix) { + + this.nginxAnnotationPrefix = nginxAnnotationPrefix; + return this; + } + @CustomType.Setter + public Builder stableIngress(String stableIngress) { + if (stableIngress == null) { + throw new MissingRequiredPropertyException("RolloutSpecTrafficNginx", "stableIngress"); + } + this.stableIngress = stableIngress; + return this; + } + public RolloutSpecTrafficNginx build() { + final var _resultValue = new RolloutSpecTrafficNginx(); + _resultValue.additionalIngressAnnotation = additionalIngressAnnotation; + _resultValue.nginxAnnotationPrefix = nginxAnnotationPrefix; + _resultValue.stableIngress = stableIngress; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecTrafficNginxAdditionalIngressAnnotation.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecTrafficNginxAdditionalIngressAnnotation.java new file mode 100644 index 00000000..c46ed51e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecTrafficNginxAdditionalIngressAnnotation.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 java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class RolloutSpecTrafficNginxAdditionalIngressAnnotation { + private @Nullable String canaryByHeader; + private @Nullable String key1; + + private RolloutSpecTrafficNginxAdditionalIngressAnnotation() {} + public Optional canaryByHeader() { + return Optional.ofNullable(this.canaryByHeader); + } + public Optional key1() { + return Optional.ofNullable(this.key1); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RolloutSpecTrafficNginxAdditionalIngressAnnotation defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String canaryByHeader; + private @Nullable String key1; + public Builder() {} + public Builder(RolloutSpecTrafficNginxAdditionalIngressAnnotation defaults) { + Objects.requireNonNull(defaults); + this.canaryByHeader = defaults.canaryByHeader; + this.key1 = defaults.key1; + } + + @CustomType.Setter + public Builder canaryByHeader(@Nullable String canaryByHeader) { + + this.canaryByHeader = canaryByHeader; + return this; + } + @CustomType.Setter + public Builder key1(@Nullable String key1) { + + this.key1 = key1; + return this; + } + public RolloutSpecTrafficNginxAdditionalIngressAnnotation build() { + final var _resultValue = new RolloutSpecTrafficNginxAdditionalIngressAnnotation(); + _resultValue.canaryByHeader = canaryByHeader; + _resultValue.key1 = key1; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecTrafficPingPong.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecTrafficPingPong.java new file mode 100644 index 00000000..096949ce --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecTrafficPingPong.java @@ -0,0 +1,65 @@ +// *** 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 RolloutSpecTrafficPingPong { + private String pingService; + private String pongService; + + private RolloutSpecTrafficPingPong() {} + public String pingService() { + return this.pingService; + } + public String pongService() { + return this.pongService; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RolloutSpecTrafficPingPong defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String pingService; + private String pongService; + public Builder() {} + public Builder(RolloutSpecTrafficPingPong defaults) { + Objects.requireNonNull(defaults); + this.pingService = defaults.pingService; + this.pongService = defaults.pongService; + } + + @CustomType.Setter + public Builder pingService(String pingService) { + if (pingService == null) { + throw new MissingRequiredPropertyException("RolloutSpecTrafficPingPong", "pingService"); + } + this.pingService = pingService; + return this; + } + @CustomType.Setter + public Builder pongService(String pongService) { + if (pongService == null) { + throw new MissingRequiredPropertyException("RolloutSpecTrafficPingPong", "pongService"); + } + this.pongService = pongService; + return this; + } + public RolloutSpecTrafficPingPong build() { + final var _resultValue = new RolloutSpecTrafficPingPong(); + _resultValue.pingService = pingService; + _resultValue.pongService = pongService; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecTrafficSmi.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecTrafficSmi.java new file mode 100644 index 00000000..8e4e1d10 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/RolloutSpecTrafficSmi.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 java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class RolloutSpecTrafficSmi { + private @Nullable String smiRootService; + private @Nullable String trafficSplitName; + + private RolloutSpecTrafficSmi() {} + public Optional smiRootService() { + return Optional.ofNullable(this.smiRootService); + } + public Optional trafficSplitName() { + return Optional.ofNullable(this.trafficSplitName); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RolloutSpecTrafficSmi defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String smiRootService; + private @Nullable String trafficSplitName; + public Builder() {} + public Builder(RolloutSpecTrafficSmi defaults) { + Objects.requireNonNull(defaults); + this.smiRootService = defaults.smiRootService; + this.trafficSplitName = defaults.trafficSplitName; + } + + @CustomType.Setter + public Builder smiRootService(@Nullable String smiRootService) { + + this.smiRootService = smiRootService; + return this; + } + @CustomType.Setter + public Builder trafficSplitName(@Nullable String trafficSplitName) { + + this.trafficSplitName = trafficSplitName; + return this; + } + public RolloutSpecTrafficSmi build() { + final var _resultValue = new RolloutSpecTrafficSmi(); + _resultValue.smiRootService = smiRootService; + _resultValue.trafficSplitName = trafficSplitName; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateArg.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateArg.java new file mode 100644 index 00000000..9219ac25 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateArg.java @@ -0,0 +1,103 @@ +// *** 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.VerificationTemplateArgValueFrom; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class VerificationTemplateArg { + /** + * @return Name of an argument. + * + */ + private String argName; + /** + * @return String representation of data. + * + */ + private @Nullable String value; + /** + * @return ValueFrom object. + * + */ + private @Nullable VerificationTemplateArgValueFrom valueFrom; + + private VerificationTemplateArg() {} + /** + * @return Name of an argument. + * + */ + public String argName() { + return this.argName; + } + /** + * @return String representation of data. + * + */ + public Optional value() { + return Optional.ofNullable(this.value); + } + /** + * @return ValueFrom object. + * + */ + public Optional valueFrom() { + return Optional.ofNullable(this.valueFrom); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(VerificationTemplateArg defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String argName; + private @Nullable String value; + private @Nullable VerificationTemplateArgValueFrom valueFrom; + public Builder() {} + public Builder(VerificationTemplateArg defaults) { + Objects.requireNonNull(defaults); + this.argName = defaults.argName; + this.value = defaults.value; + this.valueFrom = defaults.valueFrom; + } + + @CustomType.Setter + public Builder argName(String argName) { + if (argName == null) { + throw new MissingRequiredPropertyException("VerificationTemplateArg", "argName"); + } + this.argName = argName; + return this; + } + @CustomType.Setter + public Builder value(@Nullable String value) { + + this.value = value; + return this; + } + @CustomType.Setter + public Builder valueFrom(@Nullable VerificationTemplateArgValueFrom valueFrom) { + + this.valueFrom = valueFrom; + return this; + } + public VerificationTemplateArg build() { + final var _resultValue = new VerificationTemplateArg(); + _resultValue.argName = argName; + _resultValue.value = value; + _resultValue.valueFrom = valueFrom; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateArgValueFrom.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateArgValueFrom.java new file mode 100644 index 00000000..f2818e9c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateArgValueFrom.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 com.pulumi.spotinst.oceancd.outputs.VerificationTemplateArgValueFromSecretKeyRef; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class VerificationTemplateArgValueFrom { + private @Nullable VerificationTemplateArgValueFromSecretKeyRef secretKeyRef; + + private VerificationTemplateArgValueFrom() {} + public Optional secretKeyRef() { + return Optional.ofNullable(this.secretKeyRef); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(VerificationTemplateArgValueFrom defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable VerificationTemplateArgValueFromSecretKeyRef secretKeyRef; + public Builder() {} + public Builder(VerificationTemplateArgValueFrom defaults) { + Objects.requireNonNull(defaults); + this.secretKeyRef = defaults.secretKeyRef; + } + + @CustomType.Setter + public Builder secretKeyRef(@Nullable VerificationTemplateArgValueFromSecretKeyRef secretKeyRef) { + + this.secretKeyRef = secretKeyRef; + return this; + } + public VerificationTemplateArgValueFrom build() { + final var _resultValue = new VerificationTemplateArgValueFrom(); + _resultValue.secretKeyRef = secretKeyRef; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateArgValueFromSecretKeyRef.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateArgValueFromSecretKeyRef.java new file mode 100644 index 00000000..713cb394 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateArgValueFromSecretKeyRef.java @@ -0,0 +1,73 @@ +// *** 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 VerificationTemplateArgValueFromSecretKeyRef { + private String key; + /** + * @return Identifier name for Ocean CD Verification Template. Must be unique. + * + */ + private String name; + + private VerificationTemplateArgValueFromSecretKeyRef() {} + public String key() { + return this.key; + } + /** + * @return Identifier name for Ocean CD Verification Template. Must be unique. + * + */ + public String name() { + return this.name; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(VerificationTemplateArgValueFromSecretKeyRef defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String key; + private String name; + public Builder() {} + public Builder(VerificationTemplateArgValueFromSecretKeyRef defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.name = defaults.name; + } + + @CustomType.Setter + public Builder key(String key) { + if (key == null) { + throw new MissingRequiredPropertyException("VerificationTemplateArgValueFromSecretKeyRef", "key"); + } + this.key = key; + return this; + } + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("VerificationTemplateArgValueFromSecretKeyRef", "name"); + } + this.name = name; + return this; + } + public VerificationTemplateArgValueFromSecretKeyRef build() { + final var _resultValue = new VerificationTemplateArgValueFromSecretKeyRef(); + _resultValue.key = key; + _resultValue.name = name; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetric.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetric.java new file mode 100644 index 00000000..ac935d41 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetric.java @@ -0,0 +1,280 @@ +// *** 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.VerificationTemplateMetricBaseline; +import com.pulumi.spotinst.oceancd.outputs.VerificationTemplateMetricProvider; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class VerificationTemplateMetric { + /** + * @return Baseline Object. + * + */ + private @Nullable VerificationTemplateMetricBaseline baseline; + /** + * @return The maximum number of times the measurement is allowed to error in succession, before the metric is considered error.Default is 4.When choosing `Jenkins` as the provider, there is no need to send this variable. + * + */ + private @Nullable Integer consecutiveErrorLimit; + /** + * @return The number of times to run the measurement. If both interval and count are omitted, the effective count is 1. If only interval is specified, metric runs indefinitely. If count > 1, interval must be specified. When choosing `Jenkins` as the provider, there is no need to send this variable. + * + */ + private @Nullable Integer count; + /** + * @return Defines whether the metric should have an impact on the result of the rollout. + * + */ + private @Nullable Boolean dryRun; + /** + * @return An expression which determines if a measurement is considered failed.If failureCondition is set, then successCondition is not allowed. When choosing Jenkins as the provider, there is no need to send this variable. + * + */ + private @Nullable String failureCondition; + /** + * @return The maximum number of times the measurement is allowed to fail, before the entire metric is considered failed.Default is 0. When choosing `Jenkins` as the provider, there is no need to send this variable. + * + */ + private @Nullable Integer failureLimit; + /** + * @return How long to wait before starting this metric measurements. When choosing Jenkins as the provider, there is no need to send this variable. + * + */ + private @Nullable String initialDelay; + /** + * @return Defines an interval string (30s, 5m, 1h) between each verification measurements. If omitted, will perform a single measurement.When choosing Jenkins as the provider, there is no need to send this variable. + * + */ + private @Nullable String interval; + /** + * @return The name of the verification metric. + * + */ + private String metricsName; + /** + * @return The name of the monitoring tool chosen for the metric. + * + */ + private List providers; + /** + * @return An expression which determines if a measurement is considered successful. The keyword `result` is a variable reference to the value of measurement. Results can be both structured data or primitive. If successCondition is set, then failureCondition is not allowed. When choosing `Jenkins` as the provider, there is no need to send this variable. + * + */ + private @Nullable String successCondition; + + private VerificationTemplateMetric() {} + /** + * @return Baseline Object. + * + */ + public Optional baseline() { + return Optional.ofNullable(this.baseline); + } + /** + * @return The maximum number of times the measurement is allowed to error in succession, before the metric is considered error.Default is 4.When choosing `Jenkins` as the provider, there is no need to send this variable. + * + */ + public Optional consecutiveErrorLimit() { + return Optional.ofNullable(this.consecutiveErrorLimit); + } + /** + * @return The number of times to run the measurement. If both interval and count are omitted, the effective count is 1. If only interval is specified, metric runs indefinitely. If count > 1, interval must be specified. When choosing `Jenkins` as the provider, there is no need to send this variable. + * + */ + public Optional count() { + return Optional.ofNullable(this.count); + } + /** + * @return Defines whether the metric should have an impact on the result of the rollout. + * + */ + public Optional dryRun() { + return Optional.ofNullable(this.dryRun); + } + /** + * @return An expression which determines if a measurement is considered failed.If failureCondition is set, then successCondition is not allowed. When choosing Jenkins as the provider, there is no need to send this variable. + * + */ + public Optional failureCondition() { + return Optional.ofNullable(this.failureCondition); + } + /** + * @return The maximum number of times the measurement is allowed to fail, before the entire metric is considered failed.Default is 0. When choosing `Jenkins` as the provider, there is no need to send this variable. + * + */ + public Optional failureLimit() { + return Optional.ofNullable(this.failureLimit); + } + /** + * @return How long to wait before starting this metric measurements. When choosing Jenkins as the provider, there is no need to send this variable. + * + */ + public Optional initialDelay() { + return Optional.ofNullable(this.initialDelay); + } + /** + * @return Defines an interval string (30s, 5m, 1h) between each verification measurements. If omitted, will perform a single measurement.When choosing Jenkins as the provider, there is no need to send this variable. + * + */ + public Optional interval() { + return Optional.ofNullable(this.interval); + } + /** + * @return The name of the verification metric. + * + */ + public String metricsName() { + return this.metricsName; + } + /** + * @return The name of the monitoring tool chosen for the metric. + * + */ + public List providers() { + return this.providers; + } + /** + * @return An expression which determines if a measurement is considered successful. The keyword `result` is a variable reference to the value of measurement. Results can be both structured data or primitive. If successCondition is set, then failureCondition is not allowed. When choosing `Jenkins` as the provider, there is no need to send this variable. + * + */ + public Optional successCondition() { + return Optional.ofNullable(this.successCondition); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(VerificationTemplateMetric defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable VerificationTemplateMetricBaseline baseline; + private @Nullable Integer consecutiveErrorLimit; + private @Nullable Integer count; + private @Nullable Boolean dryRun; + private @Nullable String failureCondition; + private @Nullable Integer failureLimit; + private @Nullable String initialDelay; + private @Nullable String interval; + private String metricsName; + private List providers; + private @Nullable String successCondition; + public Builder() {} + public Builder(VerificationTemplateMetric defaults) { + Objects.requireNonNull(defaults); + this.baseline = defaults.baseline; + this.consecutiveErrorLimit = defaults.consecutiveErrorLimit; + this.count = defaults.count; + this.dryRun = defaults.dryRun; + this.failureCondition = defaults.failureCondition; + this.failureLimit = defaults.failureLimit; + this.initialDelay = defaults.initialDelay; + this.interval = defaults.interval; + this.metricsName = defaults.metricsName; + this.providers = defaults.providers; + this.successCondition = defaults.successCondition; + } + + @CustomType.Setter + public Builder baseline(@Nullable VerificationTemplateMetricBaseline baseline) { + + this.baseline = baseline; + return this; + } + @CustomType.Setter + public Builder consecutiveErrorLimit(@Nullable Integer consecutiveErrorLimit) { + + this.consecutiveErrorLimit = consecutiveErrorLimit; + return this; + } + @CustomType.Setter + public Builder count(@Nullable Integer count) { + + this.count = count; + return this; + } + @CustomType.Setter + public Builder dryRun(@Nullable Boolean dryRun) { + + this.dryRun = dryRun; + return this; + } + @CustomType.Setter + public Builder failureCondition(@Nullable String failureCondition) { + + this.failureCondition = failureCondition; + return this; + } + @CustomType.Setter + public Builder failureLimit(@Nullable Integer failureLimit) { + + this.failureLimit = failureLimit; + return this; + } + @CustomType.Setter + public Builder initialDelay(@Nullable String initialDelay) { + + this.initialDelay = initialDelay; + return this; + } + @CustomType.Setter + public Builder interval(@Nullable String interval) { + + this.interval = interval; + return this; + } + @CustomType.Setter + public Builder metricsName(String metricsName) { + if (metricsName == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetric", "metricsName"); + } + this.metricsName = metricsName; + return this; + } + @CustomType.Setter + public Builder providers(List providers) { + if (providers == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetric", "providers"); + } + this.providers = providers; + return this; + } + public Builder providers(VerificationTemplateMetricProvider... providers) { + return providers(List.of(providers)); + } + @CustomType.Setter + public Builder successCondition(@Nullable String successCondition) { + + this.successCondition = successCondition; + return this; + } + public VerificationTemplateMetric build() { + final var _resultValue = new VerificationTemplateMetric(); + _resultValue.baseline = baseline; + _resultValue.consecutiveErrorLimit = consecutiveErrorLimit; + _resultValue.count = count; + _resultValue.dryRun = dryRun; + _resultValue.failureCondition = failureCondition; + _resultValue.failureLimit = failureLimit; + _resultValue.initialDelay = initialDelay; + _resultValue.interval = interval; + _resultValue.metricsName = metricsName; + _resultValue.providers = providers; + _resultValue.successCondition = successCondition; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricBaseline.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricBaseline.java new file mode 100644 index 00000000..62361b84 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricBaseline.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.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import com.pulumi.spotinst.oceancd.outputs.VerificationTemplateMetricBaselineBaselineProvider; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class VerificationTemplateMetricBaseline { + private List baselineProviders; + private @Nullable Integer maxRange; + private @Nullable Integer minRange; + private String threshold; + + private VerificationTemplateMetricBaseline() {} + public List baselineProviders() { + return this.baselineProviders; + } + public Optional maxRange() { + return Optional.ofNullable(this.maxRange); + } + public Optional minRange() { + return Optional.ofNullable(this.minRange); + } + public String threshold() { + return this.threshold; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(VerificationTemplateMetricBaseline defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List baselineProviders; + private @Nullable Integer maxRange; + private @Nullable Integer minRange; + private String threshold; + public Builder() {} + public Builder(VerificationTemplateMetricBaseline defaults) { + Objects.requireNonNull(defaults); + this.baselineProviders = defaults.baselineProviders; + this.maxRange = defaults.maxRange; + this.minRange = defaults.minRange; + this.threshold = defaults.threshold; + } + + @CustomType.Setter + public Builder baselineProviders(List baselineProviders) { + if (baselineProviders == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricBaseline", "baselineProviders"); + } + this.baselineProviders = baselineProviders; + return this; + } + public Builder baselineProviders(VerificationTemplateMetricBaselineBaselineProvider... baselineProviders) { + return baselineProviders(List.of(baselineProviders)); + } + @CustomType.Setter + public Builder maxRange(@Nullable Integer maxRange) { + + this.maxRange = maxRange; + return this; + } + @CustomType.Setter + public Builder minRange(@Nullable Integer minRange) { + + this.minRange = minRange; + return this; + } + @CustomType.Setter + public Builder threshold(String threshold) { + if (threshold == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricBaseline", "threshold"); + } + this.threshold = threshold; + return this; + } + public VerificationTemplateMetricBaseline build() { + final var _resultValue = new VerificationTemplateMetricBaseline(); + _resultValue.baselineProviders = baselineProviders; + _resultValue.maxRange = maxRange; + _resultValue.minRange = minRange; + _resultValue.threshold = threshold; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricBaselineBaselineProvider.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricBaselineBaselineProvider.java new file mode 100644 index 00000000..745a1fef --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricBaselineBaselineProvider.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.VerificationTemplateMetricBaselineBaselineProviderDatadog; +import com.pulumi.spotinst.oceancd.outputs.VerificationTemplateMetricBaselineBaselineProviderNewRelic; +import com.pulumi.spotinst.oceancd.outputs.VerificationTemplateMetricBaselineBaselineProviderPrometheus; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class VerificationTemplateMetricBaselineBaselineProvider { + private @Nullable VerificationTemplateMetricBaselineBaselineProviderDatadog datadog; + private @Nullable VerificationTemplateMetricBaselineBaselineProviderNewRelic newRelic; + private @Nullable VerificationTemplateMetricBaselineBaselineProviderPrometheus prometheus; + + private VerificationTemplateMetricBaselineBaselineProvider() {} + public Optional datadog() { + return Optional.ofNullable(this.datadog); + } + public Optional newRelic() { + return Optional.ofNullable(this.newRelic); + } + public Optional prometheus() { + return Optional.ofNullable(this.prometheus); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(VerificationTemplateMetricBaselineBaselineProvider defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable VerificationTemplateMetricBaselineBaselineProviderDatadog datadog; + private @Nullable VerificationTemplateMetricBaselineBaselineProviderNewRelic newRelic; + private @Nullable VerificationTemplateMetricBaselineBaselineProviderPrometheus prometheus; + public Builder() {} + public Builder(VerificationTemplateMetricBaselineBaselineProvider defaults) { + Objects.requireNonNull(defaults); + this.datadog = defaults.datadog; + this.newRelic = defaults.newRelic; + this.prometheus = defaults.prometheus; + } + + @CustomType.Setter + public Builder datadog(@Nullable VerificationTemplateMetricBaselineBaselineProviderDatadog datadog) { + + this.datadog = datadog; + return this; + } + @CustomType.Setter + public Builder newRelic(@Nullable VerificationTemplateMetricBaselineBaselineProviderNewRelic newRelic) { + + this.newRelic = newRelic; + return this; + } + @CustomType.Setter + public Builder prometheus(@Nullable VerificationTemplateMetricBaselineBaselineProviderPrometheus prometheus) { + + this.prometheus = prometheus; + return this; + } + public VerificationTemplateMetricBaselineBaselineProvider build() { + final var _resultValue = new VerificationTemplateMetricBaselineBaselineProvider(); + _resultValue.datadog = datadog; + _resultValue.newRelic = newRelic; + _resultValue.prometheus = prometheus; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricBaselineBaselineProviderDatadog.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricBaselineBaselineProviderDatadog.java new file mode 100644 index 00000000..b5e07fef --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricBaselineBaselineProviderDatadog.java @@ -0,0 +1,65 @@ +// *** 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 VerificationTemplateMetricBaselineBaselineProviderDatadog { + private String datadogQuery; + private @Nullable String duration; + + private VerificationTemplateMetricBaselineBaselineProviderDatadog() {} + public String datadogQuery() { + return this.datadogQuery; + } + public Optional duration() { + return Optional.ofNullable(this.duration); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(VerificationTemplateMetricBaselineBaselineProviderDatadog defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String datadogQuery; + private @Nullable String duration; + public Builder() {} + public Builder(VerificationTemplateMetricBaselineBaselineProviderDatadog defaults) { + Objects.requireNonNull(defaults); + this.datadogQuery = defaults.datadogQuery; + this.duration = defaults.duration; + } + + @CustomType.Setter + public Builder datadogQuery(String datadogQuery) { + if (datadogQuery == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricBaselineBaselineProviderDatadog", "datadogQuery"); + } + this.datadogQuery = datadogQuery; + return this; + } + @CustomType.Setter + public Builder duration(@Nullable String duration) { + + this.duration = duration; + return this; + } + public VerificationTemplateMetricBaselineBaselineProviderDatadog build() { + final var _resultValue = new VerificationTemplateMetricBaselineBaselineProviderDatadog(); + _resultValue.datadogQuery = datadogQuery; + _resultValue.duration = duration; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricBaselineBaselineProviderNewRelic.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricBaselineBaselineProviderNewRelic.java new file mode 100644 index 00000000..e5570a4d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricBaselineBaselineProviderNewRelic.java @@ -0,0 +1,65 @@ +// *** 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 VerificationTemplateMetricBaselineBaselineProviderNewRelic { + private String newRelicQuery; + private @Nullable String profile; + + private VerificationTemplateMetricBaselineBaselineProviderNewRelic() {} + public String newRelicQuery() { + return this.newRelicQuery; + } + public Optional profile() { + return Optional.ofNullable(this.profile); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(VerificationTemplateMetricBaselineBaselineProviderNewRelic defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String newRelicQuery; + private @Nullable String profile; + public Builder() {} + public Builder(VerificationTemplateMetricBaselineBaselineProviderNewRelic defaults) { + Objects.requireNonNull(defaults); + this.newRelicQuery = defaults.newRelicQuery; + this.profile = defaults.profile; + } + + @CustomType.Setter + public Builder newRelicQuery(String newRelicQuery) { + if (newRelicQuery == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricBaselineBaselineProviderNewRelic", "newRelicQuery"); + } + this.newRelicQuery = newRelicQuery; + return this; + } + @CustomType.Setter + public Builder profile(@Nullable String profile) { + + this.profile = profile; + return this; + } + public VerificationTemplateMetricBaselineBaselineProviderNewRelic build() { + final var _resultValue = new VerificationTemplateMetricBaselineBaselineProviderNewRelic(); + _resultValue.newRelicQuery = newRelicQuery; + _resultValue.profile = profile; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricBaselineBaselineProviderPrometheus.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricBaselineBaselineProviderPrometheus.java new file mode 100644 index 00000000..7543efec --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricBaselineBaselineProviderPrometheus.java @@ -0,0 +1,50 @@ +// *** 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 VerificationTemplateMetricBaselineBaselineProviderPrometheus { + private String prometheusQuery; + + private VerificationTemplateMetricBaselineBaselineProviderPrometheus() {} + public String prometheusQuery() { + return this.prometheusQuery; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(VerificationTemplateMetricBaselineBaselineProviderPrometheus defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String prometheusQuery; + public Builder() {} + public Builder(VerificationTemplateMetricBaselineBaselineProviderPrometheus defaults) { + Objects.requireNonNull(defaults); + this.prometheusQuery = defaults.prometheusQuery; + } + + @CustomType.Setter + public Builder prometheusQuery(String prometheusQuery) { + if (prometheusQuery == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricBaselineBaselineProviderPrometheus", "prometheusQuery"); + } + this.prometheusQuery = prometheusQuery; + return this; + } + public VerificationTemplateMetricBaselineBaselineProviderPrometheus build() { + final var _resultValue = new VerificationTemplateMetricBaselineBaselineProviderPrometheus(); + _resultValue.prometheusQuery = prometheusQuery; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProvider.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProvider.java new file mode 100644 index 00000000..989a30e1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProvider.java @@ -0,0 +1,133 @@ +// *** 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.VerificationTemplateMetricProviderCloudWatch; +import com.pulumi.spotinst.oceancd.outputs.VerificationTemplateMetricProviderDatadog; +import com.pulumi.spotinst.oceancd.outputs.VerificationTemplateMetricProviderJenkins; +import com.pulumi.spotinst.oceancd.outputs.VerificationTemplateMetricProviderJob; +import com.pulumi.spotinst.oceancd.outputs.VerificationTemplateMetricProviderNewRelic; +import com.pulumi.spotinst.oceancd.outputs.VerificationTemplateMetricProviderPrometheus; +import com.pulumi.spotinst.oceancd.outputs.VerificationTemplateMetricProviderWeb; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class VerificationTemplateMetricProvider { + private @Nullable VerificationTemplateMetricProviderCloudWatch cloudWatch; + private @Nullable VerificationTemplateMetricProviderDatadog datadog; + private @Nullable VerificationTemplateMetricProviderJenkins jenkins; + private @Nullable VerificationTemplateMetricProviderJob job; + private @Nullable VerificationTemplateMetricProviderNewRelic newRelic; + private @Nullable VerificationTemplateMetricProviderPrometheus prometheus; + private @Nullable VerificationTemplateMetricProviderWeb web; + + private VerificationTemplateMetricProvider() {} + public Optional cloudWatch() { + return Optional.ofNullable(this.cloudWatch); + } + public Optional datadog() { + return Optional.ofNullable(this.datadog); + } + public Optional jenkins() { + return Optional.ofNullable(this.jenkins); + } + public Optional job() { + return Optional.ofNullable(this.job); + } + public Optional newRelic() { + return Optional.ofNullable(this.newRelic); + } + public Optional prometheus() { + return Optional.ofNullable(this.prometheus); + } + public Optional web() { + return Optional.ofNullable(this.web); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(VerificationTemplateMetricProvider defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable VerificationTemplateMetricProviderCloudWatch cloudWatch; + private @Nullable VerificationTemplateMetricProviderDatadog datadog; + private @Nullable VerificationTemplateMetricProviderJenkins jenkins; + private @Nullable VerificationTemplateMetricProviderJob job; + private @Nullable VerificationTemplateMetricProviderNewRelic newRelic; + private @Nullable VerificationTemplateMetricProviderPrometheus prometheus; + private @Nullable VerificationTemplateMetricProviderWeb web; + public Builder() {} + public Builder(VerificationTemplateMetricProvider defaults) { + Objects.requireNonNull(defaults); + this.cloudWatch = defaults.cloudWatch; + this.datadog = defaults.datadog; + this.jenkins = defaults.jenkins; + this.job = defaults.job; + this.newRelic = defaults.newRelic; + this.prometheus = defaults.prometheus; + this.web = defaults.web; + } + + @CustomType.Setter + public Builder cloudWatch(@Nullable VerificationTemplateMetricProviderCloudWatch cloudWatch) { + + this.cloudWatch = cloudWatch; + return this; + } + @CustomType.Setter + public Builder datadog(@Nullable VerificationTemplateMetricProviderDatadog datadog) { + + this.datadog = datadog; + return this; + } + @CustomType.Setter + public Builder jenkins(@Nullable VerificationTemplateMetricProviderJenkins jenkins) { + + this.jenkins = jenkins; + return this; + } + @CustomType.Setter + public Builder job(@Nullable VerificationTemplateMetricProviderJob job) { + + this.job = job; + return this; + } + @CustomType.Setter + public Builder newRelic(@Nullable VerificationTemplateMetricProviderNewRelic newRelic) { + + this.newRelic = newRelic; + return this; + } + @CustomType.Setter + public Builder prometheus(@Nullable VerificationTemplateMetricProviderPrometheus prometheus) { + + this.prometheus = prometheus; + return this; + } + @CustomType.Setter + public Builder web(@Nullable VerificationTemplateMetricProviderWeb web) { + + this.web = web; + return this; + } + public VerificationTemplateMetricProvider build() { + final var _resultValue = new VerificationTemplateMetricProvider(); + _resultValue.cloudWatch = cloudWatch; + _resultValue.datadog = datadog; + _resultValue.jenkins = jenkins; + _resultValue.job = job; + _resultValue.newRelic = newRelic; + _resultValue.prometheus = prometheus; + _resultValue.web = web; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderCloudWatch.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderCloudWatch.java new file mode 100644 index 00000000..81a435ad --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderCloudWatch.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.VerificationTemplateMetricProviderCloudWatchMetricDataQuery; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class VerificationTemplateMetricProviderCloudWatch { + private @Nullable String duration; + private List metricDataQueries; + + private VerificationTemplateMetricProviderCloudWatch() {} + public Optional duration() { + return Optional.ofNullable(this.duration); + } + public List metricDataQueries() { + return this.metricDataQueries; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(VerificationTemplateMetricProviderCloudWatch defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String duration; + private List metricDataQueries; + public Builder() {} + public Builder(VerificationTemplateMetricProviderCloudWatch defaults) { + Objects.requireNonNull(defaults); + this.duration = defaults.duration; + this.metricDataQueries = defaults.metricDataQueries; + } + + @CustomType.Setter + public Builder duration(@Nullable String duration) { + + this.duration = duration; + return this; + } + @CustomType.Setter + public Builder metricDataQueries(List metricDataQueries) { + if (metricDataQueries == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderCloudWatch", "metricDataQueries"); + } + this.metricDataQueries = metricDataQueries; + return this; + } + public Builder metricDataQueries(VerificationTemplateMetricProviderCloudWatchMetricDataQuery... metricDataQueries) { + return metricDataQueries(List.of(metricDataQueries)); + } + public VerificationTemplateMetricProviderCloudWatch build() { + final var _resultValue = new VerificationTemplateMetricProviderCloudWatch(); + _resultValue.duration = duration; + _resultValue.metricDataQueries = metricDataQueries; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderCloudWatchMetricDataQuery.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderCloudWatchMetricDataQuery.java new file mode 100644 index 00000000..d636d92d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderCloudWatchMetricDataQuery.java @@ -0,0 +1,120 @@ +// *** 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.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class VerificationTemplateMetricProviderCloudWatchMetricDataQuery { + private @Nullable String expression; + private String id; + private @Nullable String label; + private @Nullable VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat metricStat; + private @Nullable Integer period; + private @Nullable Boolean returnData; + + private VerificationTemplateMetricProviderCloudWatchMetricDataQuery() {} + public Optional expression() { + return Optional.ofNullable(this.expression); + } + public String id() { + return this.id; + } + public Optional label() { + return Optional.ofNullable(this.label); + } + public Optional metricStat() { + return Optional.ofNullable(this.metricStat); + } + public Optional period() { + return Optional.ofNullable(this.period); + } + public Optional returnData() { + return Optional.ofNullable(this.returnData); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(VerificationTemplateMetricProviderCloudWatchMetricDataQuery defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String expression; + private String id; + private @Nullable String label; + private @Nullable VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat metricStat; + private @Nullable Integer period; + private @Nullable Boolean returnData; + public Builder() {} + public Builder(VerificationTemplateMetricProviderCloudWatchMetricDataQuery defaults) { + Objects.requireNonNull(defaults); + this.expression = defaults.expression; + this.id = defaults.id; + this.label = defaults.label; + this.metricStat = defaults.metricStat; + this.period = defaults.period; + this.returnData = defaults.returnData; + } + + @CustomType.Setter + public Builder expression(@Nullable String expression) { + + this.expression = expression; + return this; + } + @CustomType.Setter + public Builder id(String id) { + if (id == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderCloudWatchMetricDataQuery", "id"); + } + this.id = id; + return this; + } + @CustomType.Setter + public Builder label(@Nullable String label) { + + this.label = label; + return this; + } + @CustomType.Setter + public Builder metricStat(@Nullable VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat metricStat) { + + this.metricStat = metricStat; + return this; + } + @CustomType.Setter + public Builder period(@Nullable Integer period) { + + this.period = period; + return this; + } + @CustomType.Setter + public Builder returnData(@Nullable Boolean returnData) { + + this.returnData = returnData; + return this; + } + public VerificationTemplateMetricProviderCloudWatchMetricDataQuery build() { + final var _resultValue = new VerificationTemplateMetricProviderCloudWatchMetricDataQuery(); + _resultValue.expression = expression; + _resultValue.id = id; + _resultValue.label = label; + _resultValue.metricStat = metricStat; + _resultValue.period = period; + _resultValue.returnData = returnData; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat.java new file mode 100644 index 00000000..53402187 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat.java @@ -0,0 +1,90 @@ +// *** 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.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat { + private @Nullable VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric metric; + private @Nullable Integer metricPeriod; + private @Nullable String stat; + private @Nullable String unit; + + private VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat() {} + public Optional metric() { + return Optional.ofNullable(this.metric); + } + public Optional metricPeriod() { + return Optional.ofNullable(this.metricPeriod); + } + public Optional stat() { + return Optional.ofNullable(this.stat); + } + public Optional unit() { + return Optional.ofNullable(this.unit); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric metric; + private @Nullable Integer metricPeriod; + private @Nullable String stat; + private @Nullable String unit; + public Builder() {} + public Builder(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat defaults) { + Objects.requireNonNull(defaults); + this.metric = defaults.metric; + this.metricPeriod = defaults.metricPeriod; + this.stat = defaults.stat; + this.unit = defaults.unit; + } + + @CustomType.Setter + public Builder metric(@Nullable VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric metric) { + + this.metric = metric; + return this; + } + @CustomType.Setter + public Builder metricPeriod(@Nullable Integer metricPeriod) { + + this.metricPeriod = metricPeriod; + return this; + } + @CustomType.Setter + public Builder stat(@Nullable String stat) { + + this.stat = stat; + return this; + } + @CustomType.Setter + public Builder unit(@Nullable String unit) { + + this.unit = unit; + return this; + } + public VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat build() { + final var _resultValue = new VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat(); + _resultValue.metric = metric; + _resultValue.metricPeriod = metricPeriod; + _resultValue.stat = stat; + _resultValue.unit = unit; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric.java new file mode 100644 index 00000000..cd8e44ff --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric.java @@ -0,0 +1,83 @@ +// *** 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.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric { + private @Nullable List dimensions; + private String metricName; + private @Nullable String namespace; + + private VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric() {} + public List dimensions() { + return this.dimensions == null ? List.of() : this.dimensions; + } + public String metricName() { + return this.metricName; + } + public Optional namespace() { + return Optional.ofNullable(this.namespace); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List dimensions; + private String metricName; + private @Nullable String namespace; + public Builder() {} + public Builder(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric defaults) { + Objects.requireNonNull(defaults); + this.dimensions = defaults.dimensions; + this.metricName = defaults.metricName; + this.namespace = defaults.namespace; + } + + @CustomType.Setter + public Builder dimensions(@Nullable List dimensions) { + + this.dimensions = dimensions; + return this; + } + public Builder dimensions(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension... dimensions) { + return dimensions(List.of(dimensions)); + } + @CustomType.Setter + public Builder metricName(String metricName) { + if (metricName == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric", "metricName"); + } + this.metricName = metricName; + return this; + } + @CustomType.Setter + public Builder namespace(@Nullable String namespace) { + + this.namespace = namespace; + return this; + } + public VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric build() { + final var _resultValue = new VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric(); + _resultValue.dimensions = dimensions; + _resultValue.metricName = metricName; + _resultValue.namespace = namespace; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension.java new file mode 100644 index 00000000..c5cd2ad1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension.java @@ -0,0 +1,65 @@ +// *** 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 VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension { + private String dimensionName; + private String dimensionValue; + + private VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension() {} + public String dimensionName() { + return this.dimensionName; + } + public String dimensionValue() { + return this.dimensionValue; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String dimensionName; + private String dimensionValue; + public Builder() {} + public Builder(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension defaults) { + Objects.requireNonNull(defaults); + this.dimensionName = defaults.dimensionName; + this.dimensionValue = defaults.dimensionValue; + } + + @CustomType.Setter + public Builder dimensionName(String dimensionName) { + if (dimensionName == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension", "dimensionName"); + } + this.dimensionName = dimensionName; + return this; + } + @CustomType.Setter + public Builder dimensionValue(String dimensionValue) { + if (dimensionValue == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension", "dimensionValue"); + } + this.dimensionValue = dimensionValue; + return this; + } + public VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension build() { + final var _resultValue = new VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension(); + _resultValue.dimensionName = dimensionName; + _resultValue.dimensionValue = dimensionValue; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderDatadog.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderDatadog.java new file mode 100644 index 00000000..11ab38d9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderDatadog.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 java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class VerificationTemplateMetricProviderDatadog { + private @Nullable String datadogQuery; + private @Nullable String duration; + + private VerificationTemplateMetricProviderDatadog() {} + public Optional datadogQuery() { + return Optional.ofNullable(this.datadogQuery); + } + public Optional duration() { + return Optional.ofNullable(this.duration); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(VerificationTemplateMetricProviderDatadog defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String datadogQuery; + private @Nullable String duration; + public Builder() {} + public Builder(VerificationTemplateMetricProviderDatadog defaults) { + Objects.requireNonNull(defaults); + this.datadogQuery = defaults.datadogQuery; + this.duration = defaults.duration; + } + + @CustomType.Setter + public Builder datadogQuery(@Nullable String datadogQuery) { + + this.datadogQuery = datadogQuery; + return this; + } + @CustomType.Setter + public Builder duration(@Nullable String duration) { + + this.duration = duration; + return this; + } + public VerificationTemplateMetricProviderDatadog build() { + final var _resultValue = new VerificationTemplateMetricProviderDatadog(); + _resultValue.datadogQuery = datadogQuery; + _resultValue.duration = duration; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderJenkins.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderJenkins.java new file mode 100644 index 00000000..001b77b0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderJenkins.java @@ -0,0 +1,110 @@ +// *** 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.VerificationTemplateMetricProviderJenkinsJenkinsParameters; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class VerificationTemplateMetricProviderJenkins { + private String jenkinsInterval; + private @Nullable VerificationTemplateMetricProviderJenkinsJenkinsParameters jenkinsParameters; + private String pipelineName; + private String timeout; + private @Nullable Boolean tlsVerification; + + private VerificationTemplateMetricProviderJenkins() {} + public String jenkinsInterval() { + return this.jenkinsInterval; + } + public Optional jenkinsParameters() { + return Optional.ofNullable(this.jenkinsParameters); + } + public String pipelineName() { + return this.pipelineName; + } + public String timeout() { + return this.timeout; + } + public Optional tlsVerification() { + return Optional.ofNullable(this.tlsVerification); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(VerificationTemplateMetricProviderJenkins defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String jenkinsInterval; + private @Nullable VerificationTemplateMetricProviderJenkinsJenkinsParameters jenkinsParameters; + private String pipelineName; + private String timeout; + private @Nullable Boolean tlsVerification; + public Builder() {} + public Builder(VerificationTemplateMetricProviderJenkins defaults) { + Objects.requireNonNull(defaults); + this.jenkinsInterval = defaults.jenkinsInterval; + this.jenkinsParameters = defaults.jenkinsParameters; + this.pipelineName = defaults.pipelineName; + this.timeout = defaults.timeout; + this.tlsVerification = defaults.tlsVerification; + } + + @CustomType.Setter + public Builder jenkinsInterval(String jenkinsInterval) { + if (jenkinsInterval == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderJenkins", "jenkinsInterval"); + } + this.jenkinsInterval = jenkinsInterval; + return this; + } + @CustomType.Setter + public Builder jenkinsParameters(@Nullable VerificationTemplateMetricProviderJenkinsJenkinsParameters jenkinsParameters) { + + this.jenkinsParameters = jenkinsParameters; + return this; + } + @CustomType.Setter + public Builder pipelineName(String pipelineName) { + if (pipelineName == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderJenkins", "pipelineName"); + } + this.pipelineName = pipelineName; + return this; + } + @CustomType.Setter + public Builder timeout(String timeout) { + if (timeout == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderJenkins", "timeout"); + } + this.timeout = timeout; + return this; + } + @CustomType.Setter + public Builder tlsVerification(@Nullable Boolean tlsVerification) { + + this.tlsVerification = tlsVerification; + return this; + } + public VerificationTemplateMetricProviderJenkins build() { + final var _resultValue = new VerificationTemplateMetricProviderJenkins(); + _resultValue.jenkinsInterval = jenkinsInterval; + _resultValue.jenkinsParameters = jenkinsParameters; + _resultValue.pipelineName = pipelineName; + _resultValue.timeout = timeout; + _resultValue.tlsVerification = tlsVerification; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderJenkinsJenkinsParameters.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderJenkinsJenkinsParameters.java new file mode 100644 index 00000000..3c0e0ca6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderJenkinsJenkinsParameters.java @@ -0,0 +1,65 @@ +// *** 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 VerificationTemplateMetricProviderJenkinsJenkinsParameters { + private String parameterKey; + private String parameterValue; + + private VerificationTemplateMetricProviderJenkinsJenkinsParameters() {} + public String parameterKey() { + return this.parameterKey; + } + public String parameterValue() { + return this.parameterValue; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(VerificationTemplateMetricProviderJenkinsJenkinsParameters defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String parameterKey; + private String parameterValue; + public Builder() {} + public Builder(VerificationTemplateMetricProviderJenkinsJenkinsParameters defaults) { + Objects.requireNonNull(defaults); + this.parameterKey = defaults.parameterKey; + this.parameterValue = defaults.parameterValue; + } + + @CustomType.Setter + public Builder parameterKey(String parameterKey) { + if (parameterKey == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderJenkinsJenkinsParameters", "parameterKey"); + } + this.parameterKey = parameterKey; + return this; + } + @CustomType.Setter + public Builder parameterValue(String parameterValue) { + if (parameterValue == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderJenkinsJenkinsParameters", "parameterValue"); + } + this.parameterValue = parameterValue; + return this; + } + public VerificationTemplateMetricProviderJenkinsJenkinsParameters build() { + final var _resultValue = new VerificationTemplateMetricProviderJenkinsJenkinsParameters(); + _resultValue.parameterKey = parameterKey; + _resultValue.parameterValue = parameterValue; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderJob.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderJob.java new file mode 100644 index 00000000..67281814 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderJob.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 com.pulumi.spotinst.oceancd.outputs.VerificationTemplateMetricProviderJobSpec; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class VerificationTemplateMetricProviderJob { + private List specs; + + private VerificationTemplateMetricProviderJob() {} + public List specs() { + return this.specs; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(VerificationTemplateMetricProviderJob defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List specs; + public Builder() {} + public Builder(VerificationTemplateMetricProviderJob defaults) { + Objects.requireNonNull(defaults); + this.specs = defaults.specs; + } + + @CustomType.Setter + public Builder specs(List specs) { + if (specs == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderJob", "specs"); + } + this.specs = specs; + return this; + } + public Builder specs(VerificationTemplateMetricProviderJobSpec... specs) { + return specs(List.of(specs)); + } + public VerificationTemplateMetricProviderJob build() { + final var _resultValue = new VerificationTemplateMetricProviderJob(); + _resultValue.specs = specs; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderJobSpec.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderJobSpec.java new file mode 100644 index 00000000..c27978a6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderJobSpec.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.VerificationTemplateMetricProviderJobSpecJobTemplate; +import java.lang.Integer; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class VerificationTemplateMetricProviderJobSpec { + private @Nullable Integer backoffLimit; + private List jobTemplates; + + private VerificationTemplateMetricProviderJobSpec() {} + public Optional backoffLimit() { + return Optional.ofNullable(this.backoffLimit); + } + public List jobTemplates() { + return this.jobTemplates; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(VerificationTemplateMetricProviderJobSpec defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Integer backoffLimit; + private List jobTemplates; + public Builder() {} + public Builder(VerificationTemplateMetricProviderJobSpec defaults) { + Objects.requireNonNull(defaults); + this.backoffLimit = defaults.backoffLimit; + this.jobTemplates = defaults.jobTemplates; + } + + @CustomType.Setter + public Builder backoffLimit(@Nullable Integer backoffLimit) { + + this.backoffLimit = backoffLimit; + return this; + } + @CustomType.Setter + public Builder jobTemplates(List jobTemplates) { + if (jobTemplates == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderJobSpec", "jobTemplates"); + } + this.jobTemplates = jobTemplates; + return this; + } + public Builder jobTemplates(VerificationTemplateMetricProviderJobSpecJobTemplate... jobTemplates) { + return jobTemplates(List.of(jobTemplates)); + } + public VerificationTemplateMetricProviderJobSpec build() { + final var _resultValue = new VerificationTemplateMetricProviderJobSpec(); + _resultValue.backoffLimit = backoffLimit; + _resultValue.jobTemplates = jobTemplates; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderJobSpecJobTemplate.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderJobSpecJobTemplate.java new file mode 100644 index 00000000..18aafb6e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderJobSpecJobTemplate.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 com.pulumi.spotinst.oceancd.outputs.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class VerificationTemplateMetricProviderJobSpecJobTemplate { + private List templateSpecs; + + private VerificationTemplateMetricProviderJobSpecJobTemplate() {} + public List templateSpecs() { + return this.templateSpecs; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(VerificationTemplateMetricProviderJobSpecJobTemplate defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List templateSpecs; + public Builder() {} + public Builder(VerificationTemplateMetricProviderJobSpecJobTemplate defaults) { + Objects.requireNonNull(defaults); + this.templateSpecs = defaults.templateSpecs; + } + + @CustomType.Setter + public Builder templateSpecs(List templateSpecs) { + if (templateSpecs == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderJobSpecJobTemplate", "templateSpecs"); + } + this.templateSpecs = templateSpecs; + return this; + } + public Builder templateSpecs(VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec... templateSpecs) { + return templateSpecs(List.of(templateSpecs)); + } + public VerificationTemplateMetricProviderJobSpecJobTemplate build() { + final var _resultValue = new VerificationTemplateMetricProviderJobSpecJobTemplate(); + _resultValue.templateSpecs = templateSpecs; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec.java new file mode 100644 index 00000000..34581bbe --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec.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.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec { + private List containers; + private String restartPolicy; + + private VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec() {} + public List containers() { + return this.containers; + } + public String restartPolicy() { + return this.restartPolicy; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List containers; + private String restartPolicy; + public Builder() {} + public Builder(VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec defaults) { + Objects.requireNonNull(defaults); + this.containers = defaults.containers; + this.restartPolicy = defaults.restartPolicy; + } + + @CustomType.Setter + public Builder containers(List containers) { + if (containers == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec", "containers"); + } + this.containers = containers; + return this; + } + public Builder containers(VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer... containers) { + return containers(List.of(containers)); + } + @CustomType.Setter + public Builder restartPolicy(String restartPolicy) { + if (restartPolicy == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec", "restartPolicy"); + } + this.restartPolicy = restartPolicy; + return this; + } + public VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec build() { + final var _resultValue = new VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec(); + _resultValue.containers = containers; + _resultValue.restartPolicy = restartPolicy; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer.java new file mode 100644 index 00000000..4b561588 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer.java @@ -0,0 +1,84 @@ +// *** 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 VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer { + private List commands; + private String containerName; + private String image; + + private VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer() {} + public List commands() { + return this.commands; + } + public String containerName() { + return this.containerName; + } + public String image() { + return this.image; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List commands; + private String containerName; + private String image; + public Builder() {} + public Builder(VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer defaults) { + Objects.requireNonNull(defaults); + this.commands = defaults.commands; + this.containerName = defaults.containerName; + this.image = defaults.image; + } + + @CustomType.Setter + public Builder commands(List commands) { + if (commands == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer", "commands"); + } + this.commands = commands; + return this; + } + public Builder commands(String... commands) { + return commands(List.of(commands)); + } + @CustomType.Setter + public Builder containerName(String containerName) { + if (containerName == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer", "containerName"); + } + this.containerName = containerName; + return this; + } + @CustomType.Setter + public Builder image(String image) { + if (image == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer", "image"); + } + this.image = image; + return this; + } + public VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer build() { + final var _resultValue = new VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer(); + _resultValue.commands = commands; + _resultValue.containerName = containerName; + _resultValue.image = image; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderNewRelic.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderNewRelic.java new file mode 100644 index 00000000..6ac01c6e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderNewRelic.java @@ -0,0 +1,65 @@ +// *** 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 VerificationTemplateMetricProviderNewRelic { + private String newRelicQuery; + private @Nullable String profile; + + private VerificationTemplateMetricProviderNewRelic() {} + public String newRelicQuery() { + return this.newRelicQuery; + } + public Optional profile() { + return Optional.ofNullable(this.profile); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(VerificationTemplateMetricProviderNewRelic defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String newRelicQuery; + private @Nullable String profile; + public Builder() {} + public Builder(VerificationTemplateMetricProviderNewRelic defaults) { + Objects.requireNonNull(defaults); + this.newRelicQuery = defaults.newRelicQuery; + this.profile = defaults.profile; + } + + @CustomType.Setter + public Builder newRelicQuery(String newRelicQuery) { + if (newRelicQuery == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderNewRelic", "newRelicQuery"); + } + this.newRelicQuery = newRelicQuery; + return this; + } + @CustomType.Setter + public Builder profile(@Nullable String profile) { + + this.profile = profile; + return this; + } + public VerificationTemplateMetricProviderNewRelic build() { + final var _resultValue = new VerificationTemplateMetricProviderNewRelic(); + _resultValue.newRelicQuery = newRelicQuery; + _resultValue.profile = profile; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderPrometheus.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderPrometheus.java new file mode 100644 index 00000000..906b81bc --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderPrometheus.java @@ -0,0 +1,50 @@ +// *** 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 VerificationTemplateMetricProviderPrometheus { + private String prometheusQuery; + + private VerificationTemplateMetricProviderPrometheus() {} + public String prometheusQuery() { + return this.prometheusQuery; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(VerificationTemplateMetricProviderPrometheus defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String prometheusQuery; + public Builder() {} + public Builder(VerificationTemplateMetricProviderPrometheus defaults) { + Objects.requireNonNull(defaults); + this.prometheusQuery = defaults.prometheusQuery; + } + + @CustomType.Setter + public Builder prometheusQuery(String prometheusQuery) { + if (prometheusQuery == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderPrometheus", "prometheusQuery"); + } + this.prometheusQuery = prometheusQuery; + return this; + } + public VerificationTemplateMetricProviderPrometheus build() { + final var _resultValue = new VerificationTemplateMetricProviderPrometheus(); + _resultValue.prometheusQuery = prometheusQuery; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderWeb.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderWeb.java new file mode 100644 index 00000000..2e9860e2 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderWeb.java @@ -0,0 +1,137 @@ +// *** 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.VerificationTemplateMetricProviderWebWebHeader; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class VerificationTemplateMetricProviderWeb { + private @Nullable String body; + private @Nullable Boolean insecure; + private @Nullable String jsonPath; + private @Nullable String method; + private @Nullable Integer timeoutSeconds; + private String url; + private @Nullable List webHeaders; + + private VerificationTemplateMetricProviderWeb() {} + public Optional body() { + return Optional.ofNullable(this.body); + } + public Optional insecure() { + return Optional.ofNullable(this.insecure); + } + public Optional jsonPath() { + return Optional.ofNullable(this.jsonPath); + } + public Optional method() { + return Optional.ofNullable(this.method); + } + public Optional timeoutSeconds() { + return Optional.ofNullable(this.timeoutSeconds); + } + public String url() { + return this.url; + } + public List webHeaders() { + return this.webHeaders == null ? List.of() : this.webHeaders; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(VerificationTemplateMetricProviderWeb defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String body; + private @Nullable Boolean insecure; + private @Nullable String jsonPath; + private @Nullable String method; + private @Nullable Integer timeoutSeconds; + private String url; + private @Nullable List webHeaders; + public Builder() {} + public Builder(VerificationTemplateMetricProviderWeb defaults) { + Objects.requireNonNull(defaults); + this.body = defaults.body; + this.insecure = defaults.insecure; + this.jsonPath = defaults.jsonPath; + this.method = defaults.method; + this.timeoutSeconds = defaults.timeoutSeconds; + this.url = defaults.url; + this.webHeaders = defaults.webHeaders; + } + + @CustomType.Setter + public Builder body(@Nullable String body) { + + this.body = body; + return this; + } + @CustomType.Setter + public Builder insecure(@Nullable Boolean insecure) { + + this.insecure = insecure; + return this; + } + @CustomType.Setter + public Builder jsonPath(@Nullable String jsonPath) { + + this.jsonPath = jsonPath; + return this; + } + @CustomType.Setter + public Builder method(@Nullable String method) { + + this.method = method; + return this; + } + @CustomType.Setter + public Builder timeoutSeconds(@Nullable Integer timeoutSeconds) { + + this.timeoutSeconds = timeoutSeconds; + return this; + } + @CustomType.Setter + public Builder url(String url) { + if (url == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderWeb", "url"); + } + this.url = url; + return this; + } + @CustomType.Setter + public Builder webHeaders(@Nullable List webHeaders) { + + this.webHeaders = webHeaders; + return this; + } + public Builder webHeaders(VerificationTemplateMetricProviderWebWebHeader... webHeaders) { + return webHeaders(List.of(webHeaders)); + } + public VerificationTemplateMetricProviderWeb build() { + final var _resultValue = new VerificationTemplateMetricProviderWeb(); + _resultValue.body = body; + _resultValue.insecure = insecure; + _resultValue.jsonPath = jsonPath; + _resultValue.method = method; + _resultValue.timeoutSeconds = timeoutSeconds; + _resultValue.url = url; + _resultValue.webHeaders = webHeaders; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderWebWebHeader.java b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderWebWebHeader.java new file mode 100644 index 00000000..64c448ba --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/spotinst/oceancd/outputs/VerificationTemplateMetricProviderWebWebHeader.java @@ -0,0 +1,65 @@ +// *** 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 VerificationTemplateMetricProviderWebWebHeader { + private String webHeaderKey; + private String webHeaderValue; + + private VerificationTemplateMetricProviderWebWebHeader() {} + public String webHeaderKey() { + return this.webHeaderKey; + } + public String webHeaderValue() { + return this.webHeaderValue; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(VerificationTemplateMetricProviderWebWebHeader defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String webHeaderKey; + private String webHeaderValue; + public Builder() {} + public Builder(VerificationTemplateMetricProviderWebWebHeader defaults) { + Objects.requireNonNull(defaults); + this.webHeaderKey = defaults.webHeaderKey; + this.webHeaderValue = defaults.webHeaderValue; + } + + @CustomType.Setter + public Builder webHeaderKey(String webHeaderKey) { + if (webHeaderKey == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderWebWebHeader", "webHeaderKey"); + } + this.webHeaderKey = webHeaderKey; + return this; + } + @CustomType.Setter + public Builder webHeaderValue(String webHeaderValue) { + if (webHeaderValue == null) { + throw new MissingRequiredPropertyException("VerificationTemplateMetricProviderWebWebHeader", "webHeaderValue"); + } + this.webHeaderValue = webHeaderValue; + return this; + } + public VerificationTemplateMetricProviderWebWebHeader build() { + final var _resultValue = new VerificationTemplateMetricProviderWebWebHeader(); + _resultValue.webHeaderKey = webHeaderKey; + _resultValue.webHeaderValue = webHeaderValue; + return _resultValue; + } + } +} diff --git a/sdk/nodejs/oceancd/index.ts b/sdk/nodejs/oceancd/index.ts index a71bf81d..546f23b0 100644 --- a/sdk/nodejs/oceancd/index.ts +++ b/sdk/nodejs/oceancd/index.ts @@ -5,6 +5,11 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; // Export members: +export { RolloutSpecArgs, RolloutSpecState } from "./rolloutSpec"; +export type RolloutSpec = import("./rolloutSpec").RolloutSpec; +export const RolloutSpec: typeof import("./rolloutSpec").RolloutSpec = null as any; +utilities.lazyLoad(exports, ["RolloutSpec"], () => require("./rolloutSpec")); + export { StrategyArgs, StrategyState } from "./strategy"; export type Strategy = import("./strategy").Strategy; export const Strategy: typeof import("./strategy").Strategy = null as any; @@ -15,19 +20,30 @@ export type VerificationProvider = import("./verificationProvider").Verification export const VerificationProvider: typeof import("./verificationProvider").VerificationProvider = null as any; utilities.lazyLoad(exports, ["VerificationProvider"], () => require("./verificationProvider")); +export { VerificationTemplateArgs, VerificationTemplateState } from "./verificationTemplate"; +export type VerificationTemplate = import("./verificationTemplate").VerificationTemplate; +export const VerificationTemplate: typeof import("./verificationTemplate").VerificationTemplate = null as any; +utilities.lazyLoad(exports, ["VerificationTemplate"], () => require("./verificationTemplate")); + const _module = { version: utilities.getVersion(), construct: (name: string, type: string, urn: string): pulumi.Resource => { switch (type) { + case "spotinst:oceancd/rolloutSpec:RolloutSpec": + return new RolloutSpec(name, undefined, { urn }) case "spotinst:oceancd/strategy:Strategy": return new Strategy(name, undefined, { urn }) case "spotinst:oceancd/verificationProvider:VerificationProvider": return new VerificationProvider(name, undefined, { urn }) + case "spotinst:oceancd/verificationTemplate:VerificationTemplate": + return new VerificationTemplate(name, undefined, { urn }) default: throw new Error(`unknown resource type ${type}`); } }, }; +pulumi.runtime.registerResourceModule("spotinst", "oceancd/rolloutSpec", _module) pulumi.runtime.registerResourceModule("spotinst", "oceancd/strategy", _module) pulumi.runtime.registerResourceModule("spotinst", "oceancd/verificationProvider", _module) +pulumi.runtime.registerResourceModule("spotinst", "oceancd/verificationTemplate", _module) diff --git a/sdk/nodejs/oceancd/rolloutSpec.ts b/sdk/nodejs/oceancd/rolloutSpec.ts new file mode 100644 index 00000000..261117c3 --- /dev/null +++ b/sdk/nodejs/oceancd/rolloutSpec.ts @@ -0,0 +1,162 @@ +// *** 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 Rollout Spec resource. + */ +export class RolloutSpec extends pulumi.CustomResource { + /** + * Get an existing RolloutSpec 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?: RolloutSpecState, opts?: pulumi.CustomResourceOptions): RolloutSpec { + return new RolloutSpec(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'spotinst:oceancd/rolloutSpec:RolloutSpec'; + + /** + * Returns true if the given object is an instance of RolloutSpec. 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 RolloutSpec { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === RolloutSpec.__pulumiType; + } + + /** + * Holds information on how to react when failure happens. + */ + public readonly failurePolicy!: pulumi.Output; + /** + * Identifier name for Ocean CD Rollout Spec. Must be unique + */ + public readonly rolloutSpecName!: pulumi.Output; + /** + * Represents the SpotDeployment selector. + */ + public readonly spotDeployment!: pulumi.Output; + /** + * You must specify either `spotDeployment` OR `spotDeployments` but not both. Every SpotDeployment has to be unique. If more than one `SpotDeployment` has been configured, no `traffic` managers can be set as part of the RolloutSpec.For such case ensure that each of the chosen SpotDeployments are being exposed with different Kubernetes services. + */ + public readonly spotDeployments!: pulumi.Output; + /** + * Determines the Ocean CD strategy + */ + public readonly strategy!: pulumi.Output; + /** + * Hosts all of the supported service meshes needed to enable more fine-grained traffic routing. In case `SpotDeployments` contains more than one SpotDeployment the `traffic` manager may not be configured. + */ + public readonly traffic!: pulumi.Output; + + /** + * Create a RolloutSpec 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: RolloutSpecArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: RolloutSpecArgs | RolloutSpecState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as RolloutSpecState | undefined; + resourceInputs["failurePolicy"] = state ? state.failurePolicy : undefined; + resourceInputs["rolloutSpecName"] = state ? state.rolloutSpecName : undefined; + resourceInputs["spotDeployment"] = state ? state.spotDeployment : undefined; + resourceInputs["spotDeployments"] = state ? state.spotDeployments : undefined; + resourceInputs["strategy"] = state ? state.strategy : undefined; + resourceInputs["traffic"] = state ? state.traffic : undefined; + } else { + const args = argsOrState as RolloutSpecArgs | undefined; + if ((!args || args.rolloutSpecName === undefined) && !opts.urn) { + throw new Error("Missing required property 'rolloutSpecName'"); + } + if ((!args || args.strategy === undefined) && !opts.urn) { + throw new Error("Missing required property 'strategy'"); + } + resourceInputs["failurePolicy"] = args ? args.failurePolicy : undefined; + resourceInputs["rolloutSpecName"] = args ? args.rolloutSpecName : undefined; + resourceInputs["spotDeployment"] = args ? args.spotDeployment : undefined; + resourceInputs["spotDeployments"] = args ? args.spotDeployments : undefined; + resourceInputs["strategy"] = args ? args.strategy : undefined; + resourceInputs["traffic"] = args ? args.traffic : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(RolloutSpec.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering RolloutSpec resources. + */ +export interface RolloutSpecState { + /** + * Holds information on how to react when failure happens. + */ + failurePolicy?: pulumi.Input; + /** + * Identifier name for Ocean CD Rollout Spec. Must be unique + */ + rolloutSpecName?: pulumi.Input; + /** + * Represents the SpotDeployment selector. + */ + spotDeployment?: pulumi.Input; + /** + * You must specify either `spotDeployment` OR `spotDeployments` but not both. Every SpotDeployment has to be unique. If more than one `SpotDeployment` has been configured, no `traffic` managers can be set as part of the RolloutSpec.For such case ensure that each of the chosen SpotDeployments are being exposed with different Kubernetes services. + */ + spotDeployments?: pulumi.Input[]>; + /** + * Determines the Ocean CD strategy + */ + strategy?: pulumi.Input; + /** + * Hosts all of the supported service meshes needed to enable more fine-grained traffic routing. In case `SpotDeployments` contains more than one SpotDeployment the `traffic` manager may not be configured. + */ + traffic?: pulumi.Input; +} + +/** + * The set of arguments for constructing a RolloutSpec resource. + */ +export interface RolloutSpecArgs { + /** + * Holds information on how to react when failure happens. + */ + failurePolicy?: pulumi.Input; + /** + * Identifier name for Ocean CD Rollout Spec. Must be unique + */ + rolloutSpecName: pulumi.Input; + /** + * Represents the SpotDeployment selector. + */ + spotDeployment?: pulumi.Input; + /** + * You must specify either `spotDeployment` OR `spotDeployments` but not both. Every SpotDeployment has to be unique. If more than one `SpotDeployment` has been configured, no `traffic` managers can be set as part of the RolloutSpec.For such case ensure that each of the chosen SpotDeployments are being exposed with different Kubernetes services. + */ + spotDeployments?: pulumi.Input[]>; + /** + * Determines the Ocean CD strategy + */ + strategy: pulumi.Input; + /** + * Hosts all of the supported service meshes needed to enable more fine-grained traffic routing. In case `SpotDeployments` contains more than one SpotDeployment the `traffic` manager may not be configured. + */ + traffic?: pulumi.Input; +} diff --git a/sdk/nodejs/oceancd/verificationTemplate.ts b/sdk/nodejs/oceancd/verificationTemplate.ts new file mode 100644 index 00000000..3356b061 --- /dev/null +++ b/sdk/nodejs/oceancd/verificationTemplate.ts @@ -0,0 +1,240 @@ +// *** 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 Template resource. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as spotinst from "@pulumi/spotinst"; + * + * const test = new spotinst.oceancd.VerificationTemplate("test", { + * name: "test-verification-template-tes", + * args: [{ + * argName: "test-arg", + * value: "test", + * valueFrom: { + * secretKeyRef: { + * name: "test_key", + * key: "key-value-test", + * }, + * }, + * }], + * metrics: [{ + * metricsName: "test-metrics-names", + * dryRun: false, + * interval: "10m", + * initialDelay: "1m", + * count: 10, + * successCondition: "result[0] <= 0.95", + * failureCondition: "result[0] >= 0.95", + * failureLimit: 2, + * consecutiveErrorLimit: 1, + * providers: [{ + * prometheus: { + * prometheusQuery: "http_requests_new", + * }, + * datadog: { + * duration: "1m", + * datadogQuery: "avg:kubernetes.cpu.user.total", + * }, + * newRelic: { + * profile: "test", + * newRelicQuery: "FROM Metric SELECT count", + * }, + * cloudWatch: { + * duration: "5m", + * metricDataQueries: [{ + * id: "utilization", + * metricStat: { + * metric: { + * metricName: "Test", + * namespace: "AWS/EC2", + * dimensions: [{ + * dimensionName: "instandId", + * dimensionValue: "i-123044", + * }], + * }, + * metricPeriod: 400, + * stat: "average", + * unit: "None", + * }, + * expression: "SELECT AVG(CPUUtilization) FROM SCHEMA", + * label: "TestLabel", + * returnData: false, + * period: 300, + * }], + * }, + * web: { + * method: "GET", + * url: "https://oceancd.com/api/v1/metrics?clusterId= args.clusterId", + * webHeaders: [{ + * webHeaderKey: "Autorization", + * webHeaderValue: "Bearer=args.token", + * }], + * body: "{\"key\": \"test\"}", + * timeoutSeconds: 20, + * jsonPath: "$.data", + * insecure: false, + * }, + * job: { + * specs: [{ + * backoffLimit: 1, + * jobTemplates: [{ + * templateSpecs: [{ + * containers: [{ + * containerName: "hello", + * commands: [ + * "sh", + * "-c", + * ], + * image: "nginx.2.1", + * }], + * restartPolicy: "never", + * }], + * }], + * }], + * }, + * jenkins: { + * pipelineName: "testPipelineName", + * tlsVerification: true, + * timeout: "2m", + * jenkinsInterval: "5s", + * jenkinsParameters: { + * parameterKey: "app", + * parameterValue: "my-app", + * }, + * }, + * }], + * baseline: { + * baselineProviders: [{ + * prometheus: { + * prometheusQuery: "http_requests_total.status!", + * }, + * datadog: { + * duration: "2m", + * datadogQuery: "avg:kubernetes.cpu.user", + * }, + * newRelic: { + * profile: "test", + * newRelicQuery: "FROM Metric SELECT count*", + * }, + * }], + * minRange: 40, + * maxRange: 50, + * threshold: "range", + * }, + * }], + * }); + * ``` + */ +export class VerificationTemplate extends pulumi.CustomResource { + /** + * Get an existing VerificationTemplate 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?: VerificationTemplateState, opts?: pulumi.CustomResourceOptions): VerificationTemplate { + return new VerificationTemplate(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'spotinst:oceancd/verificationTemplate:VerificationTemplate'; + + /** + * Returns true if the given object is an instance of VerificationTemplate. 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 VerificationTemplate { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === VerificationTemplate.__pulumiType; + } + + /** + * List of verification arguments. You may specify either `value` OR `valueFrom` but not both.In case `args`:`value` is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity. + */ + public readonly args!: pulumi.Output; + /** + * List of verification metrics. + */ + public readonly metrics!: pulumi.Output; + /** + * Identifier name for Ocean CD Verification Template. Must be unique. + */ + public readonly name!: pulumi.Output; + + /** + * Create a VerificationTemplate 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?: VerificationTemplateArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: VerificationTemplateArgs | VerificationTemplateState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as VerificationTemplateState | undefined; + resourceInputs["args"] = state ? state.args : undefined; + resourceInputs["metrics"] = state ? state.metrics : undefined; + resourceInputs["name"] = state ? state.name : undefined; + } else { + const args = argsOrState as VerificationTemplateArgs | undefined; + resourceInputs["args"] = args ? args.args : undefined; + resourceInputs["metrics"] = args ? args.metrics : undefined; + resourceInputs["name"] = args ? args.name : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(VerificationTemplate.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering VerificationTemplate resources. + */ +export interface VerificationTemplateState { + /** + * List of verification arguments. You may specify either `value` OR `valueFrom` but not both.In case `args`:`value` is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity. + */ + args?: pulumi.Input[]>; + /** + * List of verification metrics. + */ + metrics?: pulumi.Input[]>; + /** + * Identifier name for Ocean CD Verification Template. Must be unique. + */ + name?: pulumi.Input; +} + +/** + * The set of arguments for constructing a VerificationTemplate resource. + */ +export interface VerificationTemplateArgs { + /** + * List of verification arguments. You may specify either `value` OR `valueFrom` but not both.In case `args`:`value` is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity. + */ + args?: pulumi.Input[]>; + /** + * List of verification metrics. + */ + metrics?: pulumi.Input[]>; + /** + * Identifier name for Ocean CD Verification Template. Must be unique. + */ + name?: pulumi.Input; +} diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 4a62900a..9e26df3e 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -46,8 +46,10 @@ "healthCheck.ts", "index.ts", "oceancd/index.ts", + "oceancd/rolloutSpec.ts", "oceancd/strategy.ts", "oceancd/verificationProvider.ts", + "oceancd/verificationTemplate.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 a5194acd..cdd8a92e 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -3570,6 +3570,148 @@ export namespace gke { } export namespace oceancd { + export interface RolloutSpecFailurePolicy { + /** + * Choose an action to perform on failure. Default is `abort`. Enum: "abort" "pause" "promote". + */ + action: pulumi.Input; + } + + export interface RolloutSpecSpotDeployment { + /** + * Ocean CD cluster identifier for the references `SpotDeployment`. + */ + spotDeploymentsClusterId?: pulumi.Input; + /** + * The name of the `SpotDeployment` resource + */ + spotDeploymentsName?: pulumi.Input; + /** + * The namespace which the `SpotDeployment` resource exists within. + */ + spotDeploymentsNamespace?: pulumi.Input; + } + + export interface RolloutSpecStrategy { + /** + * Arguments defined in Verification Templates. + */ + args?: pulumi.Input[]>; + /** + * Ocean CD strategy name identifier. + */ + strategyName: pulumi.Input; + } + + export interface RolloutSpecStrategyArg { + argName: pulumi.Input; + argValue?: pulumi.Input; + valueFrom?: pulumi.Input; + } + + export interface RolloutSpecStrategyArgValueFrom { + fieldRef: pulumi.Input; + } + + export interface RolloutSpecStrategyArgValueFromFieldRef { + fieldPath: pulumi.Input; + } + + export interface RolloutSpecTraffic { + /** + * Holds ALB Ingress specific configuration to route traffic. + */ + alb?: pulumi.Input; + /** + * Holds specific configuration to use Ambassador to route traffic. + */ + ambassador?: pulumi.Input; + /** + * The canary service name. + */ + canaryService?: pulumi.Input; + /** + * Holds Istio specific configuration to route traffic. + */ + istio?: pulumi.Input; + /** + * Holds Nginx Ingress specific configuration to route traffic. + */ + nginx?: pulumi.Input; + /** + * Holds the ping and pong services. You can use `pingPong` field only when using ALB as a traffic manager with the IP Mode approach. + */ + pingPong?: pulumi.Input; + /** + * Holds TrafficSplit specific configuration to route traffic. + */ + smi?: pulumi.Input; + /** + * The stable service name. + */ + stableService?: pulumi.Input; + } + + export interface RolloutSpecTrafficAlb { + albAnnotationPrefix?: pulumi.Input; + albIngress: pulumi.Input; + albRootService: pulumi.Input; + servicePort: pulumi.Input; + stickinessConfig?: pulumi.Input; + } + + export interface RolloutSpecTrafficAlbStickinessConfig { + durationSeconds?: pulumi.Input; + enabled?: pulumi.Input; + } + + export interface RolloutSpecTrafficAmbassador { + mappings: pulumi.Input[]>; + } + + export interface RolloutSpecTrafficIstio { + destinationRule?: pulumi.Input; + virtualServices: pulumi.Input[]>; + } + + export interface RolloutSpecTrafficIstioDestinationRule { + canarySubsetName: pulumi.Input; + destinationRuleName: pulumi.Input; + stableSubsetName: pulumi.Input; + } + + export interface RolloutSpecTrafficIstioVirtualService { + tlsRoutes?: pulumi.Input[]>; + virtualServiceName: pulumi.Input; + virtualServiceRoutes?: pulumi.Input[]>; + } + + export interface RolloutSpecTrafficIstioVirtualServiceTlsRoute { + port?: pulumi.Input; + sniHosts?: pulumi.Input[]>; + } + + export interface RolloutSpecTrafficNginx { + additionalIngressAnnotation?: pulumi.Input; + nginxAnnotationPrefix?: pulumi.Input; + stableIngress: pulumi.Input; + } + + export interface RolloutSpecTrafficNginxAdditionalIngressAnnotation { + canaryByHeader?: pulumi.Input; + key1?: pulumi.Input; + } + + export interface RolloutSpecTrafficPingPong { + pingService: pulumi.Input; + pongService: pulumi.Input; + } + + export interface RolloutSpecTrafficSmi { + smiRootService?: pulumi.Input; + trafficSplitName?: pulumi.Input; + } + export interface StrategyCanary { /** * A list of background verifications. @@ -3708,6 +3850,215 @@ export namespace oceancd { */ address: pulumi.Input; } + + export interface VerificationTemplateArg { + /** + * Name of an argument. + */ + argName: pulumi.Input; + /** + * String representation of data. + */ + value?: pulumi.Input; + /** + * ValueFrom object. + */ + valueFrom?: pulumi.Input; + } + + export interface VerificationTemplateArgValueFrom { + secretKeyRef?: pulumi.Input; + } + + export interface VerificationTemplateArgValueFromSecretKeyRef { + key: pulumi.Input; + /** + * Identifier name for Ocean CD Verification Template. Must be unique. + */ + name: pulumi.Input; + } + + export interface VerificationTemplateMetric { + /** + * Baseline Object. + */ + baseline?: pulumi.Input; + /** + * The maximum number of times the measurement is allowed to error in succession, before the metric is considered error.Default is 4.When choosing `Jenkins` as the provider, there is no need to send this variable. + */ + consecutiveErrorLimit?: pulumi.Input; + /** + * The number of times to run the measurement. If both interval and count are omitted, the effective count is 1. If only interval is specified, metric runs indefinitely. If count > 1, interval must be specified. When choosing `Jenkins` as the provider, there is no need to send this variable. + */ + count?: pulumi.Input; + /** + * Defines whether the metric should have an impact on the result of the rollout. + */ + dryRun?: pulumi.Input; + /** + * An expression which determines if a measurement is considered failed.If failureCondition is set, then successCondition is not allowed. When choosing Jenkins as the provider, there is no need to send this variable. + */ + failureCondition?: pulumi.Input; + /** + * The maximum number of times the measurement is allowed to fail, before the entire metric is considered failed.Default is 0. When choosing `Jenkins` as the provider, there is no need to send this variable. + */ + failureLimit?: pulumi.Input; + /** + * How long to wait before starting this metric measurements. When choosing Jenkins as the provider, there is no need to send this variable. + */ + initialDelay?: pulumi.Input; + /** + * Defines an interval string (30s, 5m, 1h) between each verification measurements. If omitted, will perform a single measurement.When choosing Jenkins as the provider, there is no need to send this variable. + */ + interval?: pulumi.Input; + /** + * The name of the verification metric. + */ + metricsName: pulumi.Input; + /** + * The name of the monitoring tool chosen for the metric. + */ + providers: pulumi.Input[]>; + /** + * An expression which determines if a measurement is considered successful. The keyword `result` is a variable reference to the value of measurement. Results can be both structured data or primitive. If successCondition is set, then failureCondition is not allowed. When choosing `Jenkins` as the provider, there is no need to send this variable. + */ + successCondition?: pulumi.Input; + } + + export interface VerificationTemplateMetricBaseline { + baselineProviders: pulumi.Input[]>; + maxRange?: pulumi.Input; + minRange?: pulumi.Input; + threshold: pulumi.Input; + } + + export interface VerificationTemplateMetricBaselineBaselineProvider { + datadog?: pulumi.Input; + newRelic?: pulumi.Input; + prometheus?: pulumi.Input; + } + + export interface VerificationTemplateMetricBaselineBaselineProviderDatadog { + datadogQuery: pulumi.Input; + duration?: pulumi.Input; + } + + export interface VerificationTemplateMetricBaselineBaselineProviderNewRelic { + newRelicQuery: pulumi.Input; + profile?: pulumi.Input; + } + + export interface VerificationTemplateMetricBaselineBaselineProviderPrometheus { + prometheusQuery: pulumi.Input; + } + + export interface VerificationTemplateMetricProvider { + cloudWatch?: pulumi.Input; + datadog?: pulumi.Input; + jenkins?: pulumi.Input; + job?: pulumi.Input; + newRelic?: pulumi.Input; + prometheus?: pulumi.Input; + web?: pulumi.Input; + } + + export interface VerificationTemplateMetricProviderCloudWatch { + duration?: pulumi.Input; + metricDataQueries: pulumi.Input[]>; + } + + export interface VerificationTemplateMetricProviderCloudWatchMetricDataQuery { + expression?: pulumi.Input; + id: pulumi.Input; + label?: pulumi.Input; + metricStat?: pulumi.Input; + period?: pulumi.Input; + returnData?: pulumi.Input; + } + + export interface VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat { + metric?: pulumi.Input; + metricPeriod?: pulumi.Input; + stat?: pulumi.Input; + unit?: pulumi.Input; + } + + export interface VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric { + dimensions?: pulumi.Input[]>; + metricName: pulumi.Input; + namespace?: pulumi.Input; + } + + export interface VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension { + dimensionName: pulumi.Input; + dimensionValue: pulumi.Input; + } + + export interface VerificationTemplateMetricProviderDatadog { + datadogQuery?: pulumi.Input; + duration?: pulumi.Input; + } + + export interface VerificationTemplateMetricProviderJenkins { + jenkinsInterval: pulumi.Input; + jenkinsParameters?: pulumi.Input; + pipelineName: pulumi.Input; + timeout: pulumi.Input; + tlsVerification?: pulumi.Input; + } + + export interface VerificationTemplateMetricProviderJenkinsJenkinsParameters { + parameterKey: pulumi.Input; + parameterValue: pulumi.Input; + } + + export interface VerificationTemplateMetricProviderJob { + specs: pulumi.Input[]>; + } + + export interface VerificationTemplateMetricProviderJobSpec { + backoffLimit?: pulumi.Input; + jobTemplates: pulumi.Input[]>; + } + + export interface VerificationTemplateMetricProviderJobSpecJobTemplate { + templateSpecs: pulumi.Input[]>; + } + + export interface VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec { + containers: pulumi.Input[]>; + restartPolicy: pulumi.Input; + } + + export interface VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer { + commands: pulumi.Input[]>; + containerName: pulumi.Input; + image: pulumi.Input; + } + + export interface VerificationTemplateMetricProviderNewRelic { + newRelicQuery: pulumi.Input; + profile?: pulumi.Input; + } + + export interface VerificationTemplateMetricProviderPrometheus { + prometheusQuery: pulumi.Input; + } + + export interface VerificationTemplateMetricProviderWeb { + body?: pulumi.Input; + insecure?: pulumi.Input; + jsonPath?: pulumi.Input; + method?: pulumi.Input; + timeoutSeconds?: pulumi.Input; + url: pulumi.Input; + webHeaders?: pulumi.Input[]>; + } + + export interface VerificationTemplateMetricProviderWebWebHeader { + webHeaderKey: pulumi.Input; + webHeaderValue: pulumi.Input; + } } export namespace organization { diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index b22f6d7b..a4b4de5d 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -3576,6 +3576,148 @@ export namespace gke { } export namespace oceancd { + export interface RolloutSpecFailurePolicy { + /** + * Choose an action to perform on failure. Default is `abort`. Enum: "abort" "pause" "promote". + */ + action: string; + } + + export interface RolloutSpecSpotDeployment { + /** + * Ocean CD cluster identifier for the references `SpotDeployment`. + */ + spotDeploymentsClusterId?: string; + /** + * The name of the `SpotDeployment` resource + */ + spotDeploymentsName?: string; + /** + * The namespace which the `SpotDeployment` resource exists within. + */ + spotDeploymentsNamespace?: string; + } + + export interface RolloutSpecStrategy { + /** + * Arguments defined in Verification Templates. + */ + args?: outputs.oceancd.RolloutSpecStrategyArg[]; + /** + * Ocean CD strategy name identifier. + */ + strategyName: string; + } + + export interface RolloutSpecStrategyArg { + argName: string; + argValue?: string; + valueFrom?: outputs.oceancd.RolloutSpecStrategyArgValueFrom; + } + + export interface RolloutSpecStrategyArgValueFrom { + fieldRef: outputs.oceancd.RolloutSpecStrategyArgValueFromFieldRef; + } + + export interface RolloutSpecStrategyArgValueFromFieldRef { + fieldPath: string; + } + + export interface RolloutSpecTraffic { + /** + * Holds ALB Ingress specific configuration to route traffic. + */ + alb?: outputs.oceancd.RolloutSpecTrafficAlb; + /** + * Holds specific configuration to use Ambassador to route traffic. + */ + ambassador?: outputs.oceancd.RolloutSpecTrafficAmbassador; + /** + * The canary service name. + */ + canaryService?: string; + /** + * Holds Istio specific configuration to route traffic. + */ + istio?: outputs.oceancd.RolloutSpecTrafficIstio; + /** + * Holds Nginx Ingress specific configuration to route traffic. + */ + nginx?: outputs.oceancd.RolloutSpecTrafficNginx; + /** + * Holds the ping and pong services. You can use `pingPong` field only when using ALB as a traffic manager with the IP Mode approach. + */ + pingPong?: outputs.oceancd.RolloutSpecTrafficPingPong; + /** + * Holds TrafficSplit specific configuration to route traffic. + */ + smi?: outputs.oceancd.RolloutSpecTrafficSmi; + /** + * The stable service name. + */ + stableService?: string; + } + + export interface RolloutSpecTrafficAlb { + albAnnotationPrefix?: string; + albIngress: string; + albRootService: string; + servicePort: number; + stickinessConfig?: outputs.oceancd.RolloutSpecTrafficAlbStickinessConfig; + } + + export interface RolloutSpecTrafficAlbStickinessConfig { + durationSeconds?: number; + enabled?: boolean; + } + + export interface RolloutSpecTrafficAmbassador { + mappings: string[]; + } + + export interface RolloutSpecTrafficIstio { + destinationRule?: outputs.oceancd.RolloutSpecTrafficIstioDestinationRule; + virtualServices: outputs.oceancd.RolloutSpecTrafficIstioVirtualService[]; + } + + export interface RolloutSpecTrafficIstioDestinationRule { + canarySubsetName: string; + destinationRuleName: string; + stableSubsetName: string; + } + + export interface RolloutSpecTrafficIstioVirtualService { + tlsRoutes?: outputs.oceancd.RolloutSpecTrafficIstioVirtualServiceTlsRoute[]; + virtualServiceName: string; + virtualServiceRoutes?: string[]; + } + + export interface RolloutSpecTrafficIstioVirtualServiceTlsRoute { + port?: number; + sniHosts?: string[]; + } + + export interface RolloutSpecTrafficNginx { + additionalIngressAnnotation?: outputs.oceancd.RolloutSpecTrafficNginxAdditionalIngressAnnotation; + nginxAnnotationPrefix?: string; + stableIngress: string; + } + + export interface RolloutSpecTrafficNginxAdditionalIngressAnnotation { + canaryByHeader?: string; + key1?: string; + } + + export interface RolloutSpecTrafficPingPong { + pingService: string; + pongService: string; + } + + export interface RolloutSpecTrafficSmi { + smiRootService?: string; + trafficSplitName?: string; + } + export interface StrategyCanary { /** * A list of background verifications. @@ -3715,6 +3857,215 @@ export namespace oceancd { address: string; } + export interface VerificationTemplateArg { + /** + * Name of an argument. + */ + argName: string; + /** + * String representation of data. + */ + value?: string; + /** + * ValueFrom object. + */ + valueFrom?: outputs.oceancd.VerificationTemplateArgValueFrom; + } + + export interface VerificationTemplateArgValueFrom { + secretKeyRef?: outputs.oceancd.VerificationTemplateArgValueFromSecretKeyRef; + } + + export interface VerificationTemplateArgValueFromSecretKeyRef { + key: string; + /** + * Identifier name for Ocean CD Verification Template. Must be unique. + */ + name: string; + } + + export interface VerificationTemplateMetric { + /** + * Baseline Object. + */ + baseline?: outputs.oceancd.VerificationTemplateMetricBaseline; + /** + * The maximum number of times the measurement is allowed to error in succession, before the metric is considered error.Default is 4.When choosing `Jenkins` as the provider, there is no need to send this variable. + */ + consecutiveErrorLimit?: number; + /** + * The number of times to run the measurement. If both interval and count are omitted, the effective count is 1. If only interval is specified, metric runs indefinitely. If count > 1, interval must be specified. When choosing `Jenkins` as the provider, there is no need to send this variable. + */ + count?: number; + /** + * Defines whether the metric should have an impact on the result of the rollout. + */ + dryRun?: boolean; + /** + * An expression which determines if a measurement is considered failed.If failureCondition is set, then successCondition is not allowed. When choosing Jenkins as the provider, there is no need to send this variable. + */ + failureCondition?: string; + /** + * The maximum number of times the measurement is allowed to fail, before the entire metric is considered failed.Default is 0. When choosing `Jenkins` as the provider, there is no need to send this variable. + */ + failureLimit?: number; + /** + * How long to wait before starting this metric measurements. When choosing Jenkins as the provider, there is no need to send this variable. + */ + initialDelay?: string; + /** + * Defines an interval string (30s, 5m, 1h) between each verification measurements. If omitted, will perform a single measurement.When choosing Jenkins as the provider, there is no need to send this variable. + */ + interval?: string; + /** + * The name of the verification metric. + */ + metricsName: string; + /** + * The name of the monitoring tool chosen for the metric. + */ + providers: outputs.oceancd.VerificationTemplateMetricProvider[]; + /** + * An expression which determines if a measurement is considered successful. The keyword `result` is a variable reference to the value of measurement. Results can be both structured data or primitive. If successCondition is set, then failureCondition is not allowed. When choosing `Jenkins` as the provider, there is no need to send this variable. + */ + successCondition?: string; + } + + export interface VerificationTemplateMetricBaseline { + baselineProviders: outputs.oceancd.VerificationTemplateMetricBaselineBaselineProvider[]; + maxRange?: number; + minRange?: number; + threshold: string; + } + + export interface VerificationTemplateMetricBaselineBaselineProvider { + datadog?: outputs.oceancd.VerificationTemplateMetricBaselineBaselineProviderDatadog; + newRelic?: outputs.oceancd.VerificationTemplateMetricBaselineBaselineProviderNewRelic; + prometheus?: outputs.oceancd.VerificationTemplateMetricBaselineBaselineProviderPrometheus; + } + + export interface VerificationTemplateMetricBaselineBaselineProviderDatadog { + datadogQuery: string; + duration?: string; + } + + export interface VerificationTemplateMetricBaselineBaselineProviderNewRelic { + newRelicQuery: string; + profile?: string; + } + + export interface VerificationTemplateMetricBaselineBaselineProviderPrometheus { + prometheusQuery: string; + } + + export interface VerificationTemplateMetricProvider { + cloudWatch?: outputs.oceancd.VerificationTemplateMetricProviderCloudWatch; + datadog?: outputs.oceancd.VerificationTemplateMetricProviderDatadog; + jenkins?: outputs.oceancd.VerificationTemplateMetricProviderJenkins; + job?: outputs.oceancd.VerificationTemplateMetricProviderJob; + newRelic?: outputs.oceancd.VerificationTemplateMetricProviderNewRelic; + prometheus?: outputs.oceancd.VerificationTemplateMetricProviderPrometheus; + web?: outputs.oceancd.VerificationTemplateMetricProviderWeb; + } + + export interface VerificationTemplateMetricProviderCloudWatch { + duration?: string; + metricDataQueries: outputs.oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQuery[]; + } + + export interface VerificationTemplateMetricProviderCloudWatchMetricDataQuery { + expression?: string; + id: string; + label?: string; + metricStat?: outputs.oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat; + period?: number; + returnData?: boolean; + } + + export interface VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat { + metric?: outputs.oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric; + metricPeriod?: number; + stat?: string; + unit?: string; + } + + export interface VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric { + dimensions?: outputs.oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension[]; + metricName: string; + namespace?: string; + } + + export interface VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension { + dimensionName: string; + dimensionValue: string; + } + + export interface VerificationTemplateMetricProviderDatadog { + datadogQuery?: string; + duration?: string; + } + + export interface VerificationTemplateMetricProviderJenkins { + jenkinsInterval: string; + jenkinsParameters?: outputs.oceancd.VerificationTemplateMetricProviderJenkinsJenkinsParameters; + pipelineName: string; + timeout: string; + tlsVerification?: boolean; + } + + export interface VerificationTemplateMetricProviderJenkinsJenkinsParameters { + parameterKey: string; + parameterValue: string; + } + + export interface VerificationTemplateMetricProviderJob { + specs: outputs.oceancd.VerificationTemplateMetricProviderJobSpec[]; + } + + export interface VerificationTemplateMetricProviderJobSpec { + backoffLimit?: number; + jobTemplates: outputs.oceancd.VerificationTemplateMetricProviderJobSpecJobTemplate[]; + } + + export interface VerificationTemplateMetricProviderJobSpecJobTemplate { + templateSpecs: outputs.oceancd.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec[]; + } + + export interface VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec { + containers: outputs.oceancd.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer[]; + restartPolicy: string; + } + + export interface VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer { + commands: string[]; + containerName: string; + image: string; + } + + export interface VerificationTemplateMetricProviderNewRelic { + newRelicQuery: string; + profile?: string; + } + + export interface VerificationTemplateMetricProviderPrometheus { + prometheusQuery: string; + } + + export interface VerificationTemplateMetricProviderWeb { + body?: string; + insecure?: boolean; + jsonPath?: string; + method?: string; + timeoutSeconds?: number; + url: string; + webHeaders?: outputs.oceancd.VerificationTemplateMetricProviderWebWebHeader[]; + } + + export interface VerificationTemplateMetricProviderWebWebHeader { + webHeaderKey: string; + webHeaderValue: string; + } + } export namespace organization { diff --git a/sdk/python/pulumi_spotinst/__init__.py b/sdk/python/pulumi_spotinst/__init__.py index 1978c3ef..77abcef7 100644 --- a/sdk/python/pulumi_spotinst/__init__.py +++ b/sdk/python/pulumi_spotinst/__init__.py @@ -256,6 +256,14 @@ "spotinst:index/subscription:Subscription": "Subscription" } }, + { + "pkg": "spotinst", + "mod": "oceancd/rolloutSpec", + "fqn": "pulumi_spotinst.oceancd", + "classes": { + "spotinst:oceancd/rolloutSpec:RolloutSpec": "RolloutSpec" + } + }, { "pkg": "spotinst", "mod": "oceancd/strategy", @@ -272,6 +280,14 @@ "spotinst:oceancd/verificationProvider:VerificationProvider": "VerificationProvider" } }, + { + "pkg": "spotinst", + "mod": "oceancd/verificationTemplate", + "fqn": "pulumi_spotinst.oceancd", + "classes": { + "spotinst:oceancd/verificationTemplate:VerificationTemplate": "VerificationTemplate" + } + }, { "pkg": "spotinst", "mod": "organization/policy", diff --git a/sdk/python/pulumi_spotinst/oceancd/__init__.py b/sdk/python/pulumi_spotinst/oceancd/__init__.py index d2ed4f4d..ed7e457b 100644 --- a/sdk/python/pulumi_spotinst/oceancd/__init__.py +++ b/sdk/python/pulumi_spotinst/oceancd/__init__.py @@ -5,7 +5,9 @@ from .. import _utilities import typing # Export this package's modules as members: +from .rollout_spec import * from .strategy import * from .verification_provider import * +from .verification_template 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 index a33a544f..da64aa15 100644 --- a/sdk/python/pulumi_spotinst/oceancd/_inputs.py +++ b/sdk/python/pulumi_spotinst/oceancd/_inputs.py @@ -10,6 +10,24 @@ from .. import _utilities __all__ = [ + 'RolloutSpecFailurePolicyArgs', + 'RolloutSpecSpotDeploymentArgs', + 'RolloutSpecStrategyArgs', + 'RolloutSpecStrategyArgArgs', + 'RolloutSpecStrategyArgValueFromArgs', + 'RolloutSpecStrategyArgValueFromFieldRefArgs', + 'RolloutSpecTrafficArgs', + 'RolloutSpecTrafficAlbArgs', + 'RolloutSpecTrafficAlbStickinessConfigArgs', + 'RolloutSpecTrafficAmbassadorArgs', + 'RolloutSpecTrafficIstioArgs', + 'RolloutSpecTrafficIstioDestinationRuleArgs', + 'RolloutSpecTrafficIstioVirtualServiceArgs', + 'RolloutSpecTrafficIstioVirtualServiceTlsRouteArgs', + 'RolloutSpecTrafficNginxArgs', + 'RolloutSpecTrafficNginxAdditionalIngressAnnotationArgs', + 'RolloutSpecTrafficPingPongArgs', + 'RolloutSpecTrafficSmiArgs', 'StrategyCanaryArgs', 'StrategyCanaryBackgroundVerificationArgs', 'StrategyCanaryStepArgs', @@ -28,630 +46,2510 @@ 'VerificationProviderJenkinsArgs', 'VerificationProviderNewRelicArgs', 'VerificationProviderPrometheusArgs', + 'VerificationTemplateArgArgs', + 'VerificationTemplateArgValueFromArgs', + 'VerificationTemplateArgValueFromSecretKeyRefArgs', + 'VerificationTemplateMetricArgs', + 'VerificationTemplateMetricBaselineArgs', + 'VerificationTemplateMetricBaselineBaselineProviderArgs', + 'VerificationTemplateMetricBaselineBaselineProviderDatadogArgs', + 'VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs', + 'VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs', + 'VerificationTemplateMetricProviderArgs', + 'VerificationTemplateMetricProviderCloudWatchArgs', + 'VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs', + 'VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs', + 'VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs', + 'VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs', + 'VerificationTemplateMetricProviderDatadogArgs', + 'VerificationTemplateMetricProviderJenkinsArgs', + 'VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs', + 'VerificationTemplateMetricProviderJobArgs', + 'VerificationTemplateMetricProviderJobSpecArgs', + 'VerificationTemplateMetricProviderJobSpecJobTemplateArgs', + 'VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs', + 'VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs', + 'VerificationTemplateMetricProviderNewRelicArgs', + 'VerificationTemplateMetricProviderPrometheusArgs', + 'VerificationTemplateMetricProviderWebArgs', + 'VerificationTemplateMetricProviderWebWebHeaderArgs', ] @pulumi.input_type -class StrategyCanaryArgs: +class RolloutSpecFailurePolicyArgs: def __init__(__self__, *, - steps: pulumi.Input[Sequence[pulumi.Input['StrategyCanaryStepArgs']]], - background_verification: Optional[pulumi.Input['StrategyCanaryBackgroundVerificationArgs']] = None): + action: pulumi.Input[str]): """ - :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. + :param pulumi.Input[str] action: Choose an action to perform on failure. Default is `abort`. Enum: "abort" "pause" "promote". """ - pulumi.set(__self__, "steps", steps) - if background_verification is not None: - pulumi.set(__self__, "background_verification", background_verification) + pulumi.set(__self__, "action", action) @property @pulumi.getter - def steps(self) -> pulumi.Input[Sequence[pulumi.Input['StrategyCanaryStepArgs']]]: + def action(self) -> pulumi.Input[str]: """ - A set of separate conditions of rollout processing. + Choose an action to perform on failure. Default is `abort`. Enum: "abort" "pause" "promote". """ - return pulumi.get(self, "steps") + return pulumi.get(self, "action") - @steps.setter - def steps(self, value: pulumi.Input[Sequence[pulumi.Input['StrategyCanaryStepArgs']]]): - pulumi.set(self, "steps", value) + @action.setter + def action(self, value: pulumi.Input[str]): + pulumi.set(self, "action", value) + + +@pulumi.input_type +class RolloutSpecSpotDeploymentArgs: + def __init__(__self__, *, + spot_deployments_cluster_id: Optional[pulumi.Input[str]] = None, + spot_deployments_name: Optional[pulumi.Input[str]] = None, + spot_deployments_namespace: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] spot_deployments_cluster_id: Ocean CD cluster identifier for the references `SpotDeployment`. + :param pulumi.Input[str] spot_deployments_name: The name of the `SpotDeployment` resource + :param pulumi.Input[str] spot_deployments_namespace: The namespace which the `SpotDeployment` resource exists within. + """ + if spot_deployments_cluster_id is not None: + pulumi.set(__self__, "spot_deployments_cluster_id", spot_deployments_cluster_id) + if spot_deployments_name is not None: + pulumi.set(__self__, "spot_deployments_name", spot_deployments_name) + if spot_deployments_namespace is not None: + pulumi.set(__self__, "spot_deployments_namespace", spot_deployments_namespace) @property - @pulumi.getter(name="backgroundVerification") - def background_verification(self) -> Optional[pulumi.Input['StrategyCanaryBackgroundVerificationArgs']]: + @pulumi.getter(name="spotDeploymentsClusterId") + def spot_deployments_cluster_id(self) -> Optional[pulumi.Input[str]]: """ - A list of background verifications. + Ocean CD cluster identifier for the references `SpotDeployment`. """ - return pulumi.get(self, "background_verification") + return pulumi.get(self, "spot_deployments_cluster_id") - @background_verification.setter - def background_verification(self, value: Optional[pulumi.Input['StrategyCanaryBackgroundVerificationArgs']]): - pulumi.set(self, "background_verification", value) + @spot_deployments_cluster_id.setter + def spot_deployments_cluster_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "spot_deployments_cluster_id", value) + @property + @pulumi.getter(name="spotDeploymentsName") + def spot_deployments_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the `SpotDeployment` resource + """ + return pulumi.get(self, "spot_deployments_name") -@pulumi.input_type -class StrategyCanaryBackgroundVerificationArgs: - def __init__(__self__, *, - template_names: pulumi.Input[Sequence[pulumi.Input[str]]]): - pulumi.set(__self__, "template_names", template_names) + @spot_deployments_name.setter + def spot_deployments_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "spot_deployments_name", value) @property - @pulumi.getter(name="templateNames") - def template_names(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: - return pulumi.get(self, "template_names") + @pulumi.getter(name="spotDeploymentsNamespace") + def spot_deployments_namespace(self) -> Optional[pulumi.Input[str]]: + """ + The namespace which the `SpotDeployment` resource exists within. + """ + return pulumi.get(self, "spot_deployments_namespace") - @template_names.setter - def template_names(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): - pulumi.set(self, "template_names", value) + @spot_deployments_namespace.setter + def spot_deployments_namespace(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "spot_deployments_namespace", value) @pulumi.input_type -class StrategyCanaryStepArgs: +class RolloutSpecStrategyArgs: 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) + strategy_name: pulumi.Input[str], + args: Optional[pulumi.Input[Sequence[pulumi.Input['RolloutSpecStrategyArgArgs']]]] = None): + """ + :param pulumi.Input[str] strategy_name: Ocean CD strategy name identifier. + :param pulumi.Input[Sequence[pulumi.Input['RolloutSpecStrategyArgArgs']]] args: Arguments defined in Verification Templates. + """ + pulumi.set(__self__, "strategy_name", strategy_name) + if args is not None: + pulumi.set(__self__, "args", args) @property - @pulumi.getter - def pause(self) -> Optional[pulumi.Input['StrategyCanaryStepPauseArgs']]: - return pulumi.get(self, "pause") + @pulumi.getter(name="strategyName") + def strategy_name(self) -> pulumi.Input[str]: + """ + Ocean CD strategy name identifier. + """ + return pulumi.get(self, "strategy_name") - @pause.setter - def pause(self, value: Optional[pulumi.Input['StrategyCanaryStepPauseArgs']]): - pulumi.set(self, "pause", value) + @strategy_name.setter + def strategy_name(self, value: pulumi.Input[str]): + pulumi.set(self, "strategy_name", value) @property - @pulumi.getter(name="setCanaryScale") - def set_canary_scale(self) -> Optional[pulumi.Input['StrategyCanaryStepSetCanaryScaleArgs']]: - return pulumi.get(self, "set_canary_scale") + @pulumi.getter + def args(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RolloutSpecStrategyArgArgs']]]]: + """ + Arguments defined in Verification Templates. + """ + return pulumi.get(self, "args") - @set_canary_scale.setter - def set_canary_scale(self, value: Optional[pulumi.Input['StrategyCanaryStepSetCanaryScaleArgs']]): - pulumi.set(self, "set_canary_scale", value) + @args.setter + def args(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RolloutSpecStrategyArgArgs']]]]): + pulumi.set(self, "args", 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) +@pulumi.input_type +class RolloutSpecStrategyArgArgs: + def __init__(__self__, *, + arg_name: pulumi.Input[str], + arg_value: Optional[pulumi.Input[str]] = None, + value_from: Optional[pulumi.Input['RolloutSpecStrategyArgValueFromArgs']] = None): + pulumi.set(__self__, "arg_name", arg_name) + if arg_value is not None: + pulumi.set(__self__, "arg_value", arg_value) + if value_from is not None: + pulumi.set(__self__, "value_from", value_from) @property - @pulumi.getter(name="setWeight") - def set_weight(self) -> Optional[pulumi.Input[int]]: - return pulumi.get(self, "set_weight") + @pulumi.getter(name="argName") + def arg_name(self) -> pulumi.Input[str]: + return pulumi.get(self, "arg_name") - @set_weight.setter - def set_weight(self, value: Optional[pulumi.Input[int]]): - pulumi.set(self, "set_weight", value) + @arg_name.setter + def arg_name(self, value: pulumi.Input[str]): + pulumi.set(self, "arg_name", value) @property - @pulumi.getter(name="stepName") - def step_name(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "step_name") + @pulumi.getter(name="argValue") + def arg_value(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "arg_value") - @step_name.setter - def step_name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "step_name", value) + @arg_value.setter + def arg_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "arg_value", value) @property - @pulumi.getter - def verification(self) -> Optional[pulumi.Input['StrategyCanaryStepVerificationArgs']]: - return pulumi.get(self, "verification") + @pulumi.getter(name="valueFrom") + def value_from(self) -> Optional[pulumi.Input['RolloutSpecStrategyArgValueFromArgs']]: + return pulumi.get(self, "value_from") - @verification.setter - def verification(self, value: Optional[pulumi.Input['StrategyCanaryStepVerificationArgs']]): - pulumi.set(self, "verification", value) + @value_from.setter + def value_from(self, value: Optional[pulumi.Input['RolloutSpecStrategyArgValueFromArgs']]): + pulumi.set(self, "value_from", value) @pulumi.input_type -class StrategyCanaryStepPauseArgs: +class RolloutSpecStrategyArgValueFromArgs: def __init__(__self__, *, - duration: Optional[pulumi.Input[str]] = None): - if duration is not None: - pulumi.set(__self__, "duration", duration) + field_ref: pulumi.Input['RolloutSpecStrategyArgValueFromFieldRefArgs']): + pulumi.set(__self__, "field_ref", field_ref) @property - @pulumi.getter - def duration(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "duration") + @pulumi.getter(name="fieldRef") + def field_ref(self) -> pulumi.Input['RolloutSpecStrategyArgValueFromFieldRefArgs']: + return pulumi.get(self, "field_ref") - @duration.setter - def duration(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "duration", value) + @field_ref.setter + def field_ref(self, value: pulumi.Input['RolloutSpecStrategyArgValueFromFieldRefArgs']): + pulumi.set(self, "field_ref", value) @pulumi.input_type -class StrategyCanaryStepSetCanaryScaleArgs: +class RolloutSpecStrategyArgValueFromFieldRefArgs: 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) + field_path: pulumi.Input[str]): + pulumi.set(__self__, "field_path", field_path) @property - @pulumi.getter(name="matchTrafficWeight") - def match_traffic_weight(self) -> Optional[pulumi.Input[bool]]: - return pulumi.get(self, "match_traffic_weight") + @pulumi.getter(name="fieldPath") + def field_path(self) -> pulumi.Input[str]: + return pulumi.get(self, "field_path") - @match_traffic_weight.setter - def match_traffic_weight(self, value: Optional[pulumi.Input[bool]]): - pulumi.set(self, "match_traffic_weight", value) + @field_path.setter + def field_path(self, value: pulumi.Input[str]): + pulumi.set(self, "field_path", value) + + +@pulumi.input_type +class RolloutSpecTrafficArgs: + def __init__(__self__, *, + alb: Optional[pulumi.Input['RolloutSpecTrafficAlbArgs']] = None, + ambassador: Optional[pulumi.Input['RolloutSpecTrafficAmbassadorArgs']] = None, + canary_service: Optional[pulumi.Input[str]] = None, + istio: Optional[pulumi.Input['RolloutSpecTrafficIstioArgs']] = None, + nginx: Optional[pulumi.Input['RolloutSpecTrafficNginxArgs']] = None, + ping_pong: Optional[pulumi.Input['RolloutSpecTrafficPingPongArgs']] = None, + smi: Optional[pulumi.Input['RolloutSpecTrafficSmiArgs']] = None, + stable_service: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input['RolloutSpecTrafficAlbArgs'] alb: Holds ALB Ingress specific configuration to route traffic. + :param pulumi.Input['RolloutSpecTrafficAmbassadorArgs'] ambassador: Holds specific configuration to use Ambassador to route traffic. + :param pulumi.Input[str] canary_service: The canary service name. + :param pulumi.Input['RolloutSpecTrafficIstioArgs'] istio: Holds Istio specific configuration to route traffic. + :param pulumi.Input['RolloutSpecTrafficNginxArgs'] nginx: Holds Nginx Ingress specific configuration to route traffic. + :param pulumi.Input['RolloutSpecTrafficPingPongArgs'] ping_pong: Holds the ping and pong services. You can use `pingPong` field only when using ALB as a traffic manager with the IP Mode approach. + :param pulumi.Input['RolloutSpecTrafficSmiArgs'] smi: Holds TrafficSplit specific configuration to route traffic. + :param pulumi.Input[str] stable_service: The stable service name. + """ + if alb is not None: + pulumi.set(__self__, "alb", alb) + if ambassador is not None: + pulumi.set(__self__, "ambassador", ambassador) + if canary_service is not None: + pulumi.set(__self__, "canary_service", canary_service) + if istio is not None: + pulumi.set(__self__, "istio", istio) + if nginx is not None: + pulumi.set(__self__, "nginx", nginx) + if ping_pong is not None: + pulumi.set(__self__, "ping_pong", ping_pong) + if smi is not None: + pulumi.set(__self__, "smi", smi) + if stable_service is not None: + pulumi.set(__self__, "stable_service", stable_service) @property @pulumi.getter - def replicas(self) -> Optional[pulumi.Input[int]]: - return pulumi.get(self, "replicas") + def alb(self) -> Optional[pulumi.Input['RolloutSpecTrafficAlbArgs']]: + """ + Holds ALB Ingress specific configuration to route traffic. + """ + return pulumi.get(self, "alb") - @replicas.setter - def replicas(self, value: Optional[pulumi.Input[int]]): - pulumi.set(self, "replicas", value) + @alb.setter + def alb(self, value: Optional[pulumi.Input['RolloutSpecTrafficAlbArgs']]): + pulumi.set(self, "alb", value) @property @pulumi.getter - def weight(self) -> Optional[pulumi.Input[int]]: - return pulumi.get(self, "weight") + def ambassador(self) -> Optional[pulumi.Input['RolloutSpecTrafficAmbassadorArgs']]: + """ + Holds specific configuration to use Ambassador to route traffic. + """ + return pulumi.get(self, "ambassador") - @weight.setter - def weight(self, value: Optional[pulumi.Input[int]]): - pulumi.set(self, "weight", value) + @ambassador.setter + def ambassador(self, value: Optional[pulumi.Input['RolloutSpecTrafficAmbassadorArgs']]): + pulumi.set(self, "ambassador", value) + @property + @pulumi.getter(name="canaryService") + def canary_service(self) -> Optional[pulumi.Input[str]]: + """ + The canary service name. + """ + return pulumi.get(self, "canary_service") -@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) + @canary_service.setter + def canary_service(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "canary_service", value) @property - @pulumi.getter(name="headerRouteName") - def header_route_name(self) -> pulumi.Input[str]: - return pulumi.get(self, "header_route_name") + @pulumi.getter + def istio(self) -> Optional[pulumi.Input['RolloutSpecTrafficIstioArgs']]: + """ + Holds Istio specific configuration to route traffic. + """ + return pulumi.get(self, "istio") - @header_route_name.setter - def header_route_name(self, value: pulumi.Input[str]): - pulumi.set(self, "header_route_name", value) + @istio.setter + def istio(self, value: Optional[pulumi.Input['RolloutSpecTrafficIstioArgs']]): + pulumi.set(self, "istio", value) @property @pulumi.getter - def matches(self) -> pulumi.Input[Sequence[pulumi.Input['StrategyCanaryStepSetHeaderRouteMatchArgs']]]: - return pulumi.get(self, "matches") + def nginx(self) -> Optional[pulumi.Input['RolloutSpecTrafficNginxArgs']]: + """ + Holds Nginx Ingress specific configuration to route traffic. + """ + return pulumi.get(self, "nginx") - @matches.setter - def matches(self, value: pulumi.Input[Sequence[pulumi.Input['StrategyCanaryStepSetHeaderRouteMatchArgs']]]): - pulumi.set(self, "matches", value) + @nginx.setter + def nginx(self, value: Optional[pulumi.Input['RolloutSpecTrafficNginxArgs']]): + pulumi.set(self, "nginx", value) + @property + @pulumi.getter(name="pingPong") + def ping_pong(self) -> Optional[pulumi.Input['RolloutSpecTrafficPingPongArgs']]: + """ + Holds the ping and pong services. You can use `pingPong` field only when using ALB as a traffic manager with the IP Mode approach. + """ + return pulumi.get(self, "ping_pong") -@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) + @ping_pong.setter + def ping_pong(self, value: Optional[pulumi.Input['RolloutSpecTrafficPingPongArgs']]): + pulumi.set(self, "ping_pong", value) @property - @pulumi.getter(name="headerName") - def header_name(self) -> pulumi.Input[str]: - return pulumi.get(self, "header_name") + @pulumi.getter + def smi(self) -> Optional[pulumi.Input['RolloutSpecTrafficSmiArgs']]: + """ + Holds TrafficSplit specific configuration to route traffic. + """ + return pulumi.get(self, "smi") - @header_name.setter - def header_name(self, value: pulumi.Input[str]): - pulumi.set(self, "header_name", value) + @smi.setter + def smi(self, value: Optional[pulumi.Input['RolloutSpecTrafficSmiArgs']]): + pulumi.set(self, "smi", value) @property - @pulumi.getter(name="headerValue") - def header_value(self) -> pulumi.Input['StrategyCanaryStepSetHeaderRouteMatchHeaderValueArgs']: - return pulumi.get(self, "header_value") + @pulumi.getter(name="stableService") + def stable_service(self) -> Optional[pulumi.Input[str]]: + """ + The stable service name. + """ + return pulumi.get(self, "stable_service") - @header_value.setter - def header_value(self, value: pulumi.Input['StrategyCanaryStepSetHeaderRouteMatchHeaderValueArgs']): - pulumi.set(self, "header_value", value) + @stable_service.setter + def stable_service(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "stable_service", value) @pulumi.input_type -class StrategyCanaryStepSetHeaderRouteMatchHeaderValueArgs: +class RolloutSpecTrafficAlbArgs: 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) + alb_ingress: pulumi.Input[str], + alb_root_service: pulumi.Input[str], + service_port: pulumi.Input[int], + alb_annotation_prefix: Optional[pulumi.Input[str]] = None, + stickiness_config: Optional[pulumi.Input['RolloutSpecTrafficAlbStickinessConfigArgs']] = None): + pulumi.set(__self__, "alb_ingress", alb_ingress) + pulumi.set(__self__, "alb_root_service", alb_root_service) + pulumi.set(__self__, "service_port", service_port) + if alb_annotation_prefix is not None: + pulumi.set(__self__, "alb_annotation_prefix", alb_annotation_prefix) + if stickiness_config is not None: + pulumi.set(__self__, "stickiness_config", stickiness_config) @property - @pulumi.getter - def exact(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "exact") + @pulumi.getter(name="albIngress") + def alb_ingress(self) -> pulumi.Input[str]: + return pulumi.get(self, "alb_ingress") - @exact.setter - def exact(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "exact", value) + @alb_ingress.setter + def alb_ingress(self, value: pulumi.Input[str]): + pulumi.set(self, "alb_ingress", value) @property - @pulumi.getter - def prefix(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "prefix") + @pulumi.getter(name="albRootService") + def alb_root_service(self) -> pulumi.Input[str]: + return pulumi.get(self, "alb_root_service") - @prefix.setter - def prefix(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "prefix", value) + @alb_root_service.setter + def alb_root_service(self, value: pulumi.Input[str]): + pulumi.set(self, "alb_root_service", value) @property - @pulumi.getter - def regex(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "regex") + @pulumi.getter(name="servicePort") + def service_port(self) -> pulumi.Input[int]: + return pulumi.get(self, "service_port") - @regex.setter - def regex(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "regex", value) + @service_port.setter + def service_port(self, value: pulumi.Input[int]): + pulumi.set(self, "service_port", value) + @property + @pulumi.getter(name="albAnnotationPrefix") + def alb_annotation_prefix(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "alb_annotation_prefix") -@pulumi.input_type -class StrategyCanaryStepVerificationArgs: - def __init__(__self__, *, - template_names: pulumi.Input[Sequence[pulumi.Input[str]]]): - pulumi.set(__self__, "template_names", template_names) + @alb_annotation_prefix.setter + def alb_annotation_prefix(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "alb_annotation_prefix", value) @property - @pulumi.getter(name="templateNames") - def template_names(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: - return pulumi.get(self, "template_names") + @pulumi.getter(name="stickinessConfig") + def stickiness_config(self) -> Optional[pulumi.Input['RolloutSpecTrafficAlbStickinessConfigArgs']]: + return pulumi.get(self, "stickiness_config") - @template_names.setter - def template_names(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): - pulumi.set(self, "template_names", value) + @stickiness_config.setter + def stickiness_config(self, value: Optional[pulumi.Input['RolloutSpecTrafficAlbStickinessConfigArgs']]): + pulumi.set(self, "stickiness_config", value) @pulumi.input_type -class StrategyRollingArgs: +class RolloutSpecTrafficAlbStickinessConfigArgs: 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) + duration_seconds: Optional[pulumi.Input[int]] = None, + enabled: Optional[pulumi.Input[bool]] = None): + if duration_seconds is not None: + pulumi.set(__self__, "duration_seconds", duration_seconds) + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter(name="durationSeconds") + def duration_seconds(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "duration_seconds") + + @duration_seconds.setter + def duration_seconds(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "duration_seconds", value) @property @pulumi.getter - def steps(self) -> pulumi.Input[Sequence[pulumi.Input['StrategyRollingStepArgs']]]: + def enabled(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enabled", value) + + +@pulumi.input_type +class RolloutSpecTrafficAmbassadorArgs: + def __init__(__self__, *, + mappings: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(__self__, "mappings", mappings) + + @property + @pulumi.getter + def mappings(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + return pulumi.get(self, "mappings") + + @mappings.setter + def mappings(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "mappings", value) + + +@pulumi.input_type +class RolloutSpecTrafficIstioArgs: + def __init__(__self__, *, + virtual_services: pulumi.Input[Sequence[pulumi.Input['RolloutSpecTrafficIstioVirtualServiceArgs']]], + destination_rule: Optional[pulumi.Input['RolloutSpecTrafficIstioDestinationRuleArgs']] = None): + pulumi.set(__self__, "virtual_services", virtual_services) + if destination_rule is not None: + pulumi.set(__self__, "destination_rule", destination_rule) + + @property + @pulumi.getter(name="virtualServices") + def virtual_services(self) -> pulumi.Input[Sequence[pulumi.Input['RolloutSpecTrafficIstioVirtualServiceArgs']]]: + return pulumi.get(self, "virtual_services") + + @virtual_services.setter + def virtual_services(self, value: pulumi.Input[Sequence[pulumi.Input['RolloutSpecTrafficIstioVirtualServiceArgs']]]): + pulumi.set(self, "virtual_services", value) + + @property + @pulumi.getter(name="destinationRule") + def destination_rule(self) -> Optional[pulumi.Input['RolloutSpecTrafficIstioDestinationRuleArgs']]: + return pulumi.get(self, "destination_rule") + + @destination_rule.setter + def destination_rule(self, value: Optional[pulumi.Input['RolloutSpecTrafficIstioDestinationRuleArgs']]): + pulumi.set(self, "destination_rule", value) + + +@pulumi.input_type +class RolloutSpecTrafficIstioDestinationRuleArgs: + def __init__(__self__, *, + canary_subset_name: pulumi.Input[str], + destination_rule_name: pulumi.Input[str], + stable_subset_name: pulumi.Input[str]): + pulumi.set(__self__, "canary_subset_name", canary_subset_name) + pulumi.set(__self__, "destination_rule_name", destination_rule_name) + pulumi.set(__self__, "stable_subset_name", stable_subset_name) + + @property + @pulumi.getter(name="canarySubsetName") + def canary_subset_name(self) -> pulumi.Input[str]: + return pulumi.get(self, "canary_subset_name") + + @canary_subset_name.setter + def canary_subset_name(self, value: pulumi.Input[str]): + pulumi.set(self, "canary_subset_name", value) + + @property + @pulumi.getter(name="destinationRuleName") + def destination_rule_name(self) -> pulumi.Input[str]: + return pulumi.get(self, "destination_rule_name") + + @destination_rule_name.setter + def destination_rule_name(self, value: pulumi.Input[str]): + pulumi.set(self, "destination_rule_name", value) + + @property + @pulumi.getter(name="stableSubsetName") + def stable_subset_name(self) -> pulumi.Input[str]: + return pulumi.get(self, "stable_subset_name") + + @stable_subset_name.setter + def stable_subset_name(self, value: pulumi.Input[str]): + pulumi.set(self, "stable_subset_name", value) + + +@pulumi.input_type +class RolloutSpecTrafficIstioVirtualServiceArgs: + def __init__(__self__, *, + virtual_service_name: pulumi.Input[str], + tls_routes: Optional[pulumi.Input[Sequence[pulumi.Input['RolloutSpecTrafficIstioVirtualServiceTlsRouteArgs']]]] = None, + virtual_service_routes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + pulumi.set(__self__, "virtual_service_name", virtual_service_name) + if tls_routes is not None: + pulumi.set(__self__, "tls_routes", tls_routes) + if virtual_service_routes is not None: + pulumi.set(__self__, "virtual_service_routes", virtual_service_routes) + + @property + @pulumi.getter(name="virtualServiceName") + def virtual_service_name(self) -> pulumi.Input[str]: + return pulumi.get(self, "virtual_service_name") + + @virtual_service_name.setter + def virtual_service_name(self, value: pulumi.Input[str]): + pulumi.set(self, "virtual_service_name", value) + + @property + @pulumi.getter(name="tlsRoutes") + def tls_routes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RolloutSpecTrafficIstioVirtualServiceTlsRouteArgs']]]]: + return pulumi.get(self, "tls_routes") + + @tls_routes.setter + def tls_routes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RolloutSpecTrafficIstioVirtualServiceTlsRouteArgs']]]]): + pulumi.set(self, "tls_routes", value) + + @property + @pulumi.getter(name="virtualServiceRoutes") + def virtual_service_routes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "virtual_service_routes") + + @virtual_service_routes.setter + def virtual_service_routes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "virtual_service_routes", value) + + +@pulumi.input_type +class RolloutSpecTrafficIstioVirtualServiceTlsRouteArgs: + def __init__(__self__, *, + port: Optional[pulumi.Input[int]] = None, + sni_hosts: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + if port is not None: + pulumi.set(__self__, "port", port) + if sni_hosts is not None: + pulumi.set(__self__, "sni_hosts", sni_hosts) + + @property + @pulumi.getter + def port(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "port") + + @port.setter + def port(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "port", value) + + @property + @pulumi.getter(name="sniHosts") + def sni_hosts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "sni_hosts") + + @sni_hosts.setter + def sni_hosts(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "sni_hosts", value) + + +@pulumi.input_type +class RolloutSpecTrafficNginxArgs: + def __init__(__self__, *, + stable_ingress: pulumi.Input[str], + additional_ingress_annotation: Optional[pulumi.Input['RolloutSpecTrafficNginxAdditionalIngressAnnotationArgs']] = None, + nginx_annotation_prefix: Optional[pulumi.Input[str]] = None): + pulumi.set(__self__, "stable_ingress", stable_ingress) + if additional_ingress_annotation is not None: + pulumi.set(__self__, "additional_ingress_annotation", additional_ingress_annotation) + if nginx_annotation_prefix is not None: + pulumi.set(__self__, "nginx_annotation_prefix", nginx_annotation_prefix) + + @property + @pulumi.getter(name="stableIngress") + def stable_ingress(self) -> pulumi.Input[str]: + return pulumi.get(self, "stable_ingress") + + @stable_ingress.setter + def stable_ingress(self, value: pulumi.Input[str]): + pulumi.set(self, "stable_ingress", value) + + @property + @pulumi.getter(name="additionalIngressAnnotation") + def additional_ingress_annotation(self) -> Optional[pulumi.Input['RolloutSpecTrafficNginxAdditionalIngressAnnotationArgs']]: + return pulumi.get(self, "additional_ingress_annotation") + + @additional_ingress_annotation.setter + def additional_ingress_annotation(self, value: Optional[pulumi.Input['RolloutSpecTrafficNginxAdditionalIngressAnnotationArgs']]): + pulumi.set(self, "additional_ingress_annotation", value) + + @property + @pulumi.getter(name="nginxAnnotationPrefix") + def nginx_annotation_prefix(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "nginx_annotation_prefix") + + @nginx_annotation_prefix.setter + def nginx_annotation_prefix(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "nginx_annotation_prefix", value) + + +@pulumi.input_type +class RolloutSpecTrafficNginxAdditionalIngressAnnotationArgs: + def __init__(__self__, *, + canary_by_header: Optional[pulumi.Input[str]] = None, + key1: Optional[pulumi.Input[str]] = None): + if canary_by_header is not None: + pulumi.set(__self__, "canary_by_header", canary_by_header) + if key1 is not None: + pulumi.set(__self__, "key1", key1) + + @property + @pulumi.getter(name="canaryByHeader") + def canary_by_header(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "canary_by_header") + + @canary_by_header.setter + def canary_by_header(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "canary_by_header", value) + + @property + @pulumi.getter + def key1(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "key1") + + @key1.setter + def key1(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key1", value) + + +@pulumi.input_type +class RolloutSpecTrafficPingPongArgs: + def __init__(__self__, *, + ping_service: pulumi.Input[str], + pong_service: pulumi.Input[str]): + pulumi.set(__self__, "ping_service", ping_service) + pulumi.set(__self__, "pong_service", pong_service) + + @property + @pulumi.getter(name="pingService") + def ping_service(self) -> pulumi.Input[str]: + return pulumi.get(self, "ping_service") + + @ping_service.setter + def ping_service(self, value: pulumi.Input[str]): + pulumi.set(self, "ping_service", value) + + @property + @pulumi.getter(name="pongService") + def pong_service(self) -> pulumi.Input[str]: + return pulumi.get(self, "pong_service") + + @pong_service.setter + def pong_service(self, value: pulumi.Input[str]): + pulumi.set(self, "pong_service", value) + + +@pulumi.input_type +class RolloutSpecTrafficSmiArgs: + def __init__(__self__, *, + smi_root_service: Optional[pulumi.Input[str]] = None, + traffic_split_name: Optional[pulumi.Input[str]] = None): + if smi_root_service is not None: + pulumi.set(__self__, "smi_root_service", smi_root_service) + if traffic_split_name is not None: + pulumi.set(__self__, "traffic_split_name", traffic_split_name) + + @property + @pulumi.getter(name="smiRootService") + def smi_root_service(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "smi_root_service") + + @smi_root_service.setter + def smi_root_service(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "smi_root_service", value) + + @property + @pulumi.getter(name="trafficSplitName") + def traffic_split_name(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "traffic_split_name") + + @traffic_split_name.setter + def traffic_split_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "traffic_split_name", value) + + +@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['StrategyRollingStepArgs']]]): - pulumi.set(self, "steps", value) + @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) + + +@pulumi.input_type +class VerificationTemplateArgArgs: + def __init__(__self__, *, + arg_name: pulumi.Input[str], + value: Optional[pulumi.Input[str]] = None, + value_from: Optional[pulumi.Input['VerificationTemplateArgValueFromArgs']] = None): + """ + :param pulumi.Input[str] arg_name: Name of an argument. + :param pulumi.Input[str] value: String representation of data. + :param pulumi.Input['VerificationTemplateArgValueFromArgs'] value_from: ValueFrom object. + """ + pulumi.set(__self__, "arg_name", arg_name) + if value is not None: + pulumi.set(__self__, "value", value) + if value_from is not None: + pulumi.set(__self__, "value_from", value_from) + + @property + @pulumi.getter(name="argName") + def arg_name(self) -> pulumi.Input[str]: + """ + Name of an argument. + """ + return pulumi.get(self, "arg_name") + + @arg_name.setter + def arg_name(self, value: pulumi.Input[str]): + pulumi.set(self, "arg_name", value) + + @property + @pulumi.getter + def value(self) -> Optional[pulumi.Input[str]]: + """ + String representation of data. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "value", value) + + @property + @pulumi.getter(name="valueFrom") + def value_from(self) -> Optional[pulumi.Input['VerificationTemplateArgValueFromArgs']]: + """ + ValueFrom object. + """ + return pulumi.get(self, "value_from") + + @value_from.setter + def value_from(self, value: Optional[pulumi.Input['VerificationTemplateArgValueFromArgs']]): + pulumi.set(self, "value_from", value) + + +@pulumi.input_type +class VerificationTemplateArgValueFromArgs: + def __init__(__self__, *, + secret_key_ref: Optional[pulumi.Input['VerificationTemplateArgValueFromSecretKeyRefArgs']] = None): + if secret_key_ref is not None: + pulumi.set(__self__, "secret_key_ref", secret_key_ref) + + @property + @pulumi.getter(name="secretKeyRef") + def secret_key_ref(self) -> Optional[pulumi.Input['VerificationTemplateArgValueFromSecretKeyRefArgs']]: + return pulumi.get(self, "secret_key_ref") + + @secret_key_ref.setter + def secret_key_ref(self, value: Optional[pulumi.Input['VerificationTemplateArgValueFromSecretKeyRefArgs']]): + pulumi.set(self, "secret_key_ref", value) + + +@pulumi.input_type +class VerificationTemplateArgValueFromSecretKeyRefArgs: + def __init__(__self__, *, + key: pulumi.Input[str], + name: pulumi.Input[str]): + """ + :param pulumi.Input[str] name: Identifier name for Ocean CD Verification Template. Must be unique. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def key(self) -> pulumi.Input[str]: + return pulumi.get(self, "key") + + @key.setter + def key(self, value: pulumi.Input[str]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + Identifier name for Ocean CD Verification Template. Must be unique. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + +@pulumi.input_type +class VerificationTemplateMetricArgs: + def __init__(__self__, *, + metrics_name: pulumi.Input[str], + providers: pulumi.Input[Sequence[pulumi.Input['VerificationTemplateMetricProviderArgs']]], + baseline: Optional[pulumi.Input['VerificationTemplateMetricBaselineArgs']] = None, + consecutive_error_limit: Optional[pulumi.Input[int]] = None, + count: Optional[pulumi.Input[int]] = None, + dry_run: Optional[pulumi.Input[bool]] = None, + failure_condition: Optional[pulumi.Input[str]] = None, + failure_limit: Optional[pulumi.Input[int]] = None, + initial_delay: Optional[pulumi.Input[str]] = None, + interval: Optional[pulumi.Input[str]] = None, + success_condition: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] metrics_name: The name of the verification metric. + :param pulumi.Input[Sequence[pulumi.Input['VerificationTemplateMetricProviderArgs']]] providers: The name of the monitoring tool chosen for the metric. + :param pulumi.Input['VerificationTemplateMetricBaselineArgs'] baseline: Baseline Object. + :param pulumi.Input[int] consecutive_error_limit: The maximum number of times the measurement is allowed to error in succession, before the metric is considered error.Default is 4.When choosing `Jenkins` as the provider, there is no need to send this variable. + :param pulumi.Input[int] count: The number of times to run the measurement. If both interval and count are omitted, the effective count is 1. If only interval is specified, metric runs indefinitely. If count > 1, interval must be specified. When choosing `Jenkins` as the provider, there is no need to send this variable. + :param pulumi.Input[bool] dry_run: Defines whether the metric should have an impact on the result of the rollout. + :param pulumi.Input[str] failure_condition: An expression which determines if a measurement is considered failed.If failureCondition is set, then successCondition is not allowed. When choosing Jenkins as the provider, there is no need to send this variable. + :param pulumi.Input[int] failure_limit: The maximum number of times the measurement is allowed to fail, before the entire metric is considered failed.Default is 0. When choosing `Jenkins` as the provider, there is no need to send this variable. + :param pulumi.Input[str] initial_delay: How long to wait before starting this metric measurements. When choosing Jenkins as the provider, there is no need to send this variable. + :param pulumi.Input[str] interval: Defines an interval string (30s, 5m, 1h) between each verification measurements. If omitted, will perform a single measurement.When choosing Jenkins as the provider, there is no need to send this variable. + :param pulumi.Input[str] success_condition: An expression which determines if a measurement is considered successful. The keyword `result` is a variable reference to the value of measurement. Results can be both structured data or primitive. If successCondition is set, then failureCondition is not allowed. When choosing `Jenkins` as the provider, there is no need to send this variable. + """ + pulumi.set(__self__, "metrics_name", metrics_name) + pulumi.set(__self__, "providers", providers) + if baseline is not None: + pulumi.set(__self__, "baseline", baseline) + if consecutive_error_limit is not None: + pulumi.set(__self__, "consecutive_error_limit", consecutive_error_limit) + if count is not None: + pulumi.set(__self__, "count", count) + if dry_run is not None: + pulumi.set(__self__, "dry_run", dry_run) + if failure_condition is not None: + pulumi.set(__self__, "failure_condition", failure_condition) + if failure_limit is not None: + pulumi.set(__self__, "failure_limit", failure_limit) + if initial_delay is not None: + pulumi.set(__self__, "initial_delay", initial_delay) + if interval is not None: + pulumi.set(__self__, "interval", interval) + if success_condition is not None: + pulumi.set(__self__, "success_condition", success_condition) + + @property + @pulumi.getter(name="metricsName") + def metrics_name(self) -> pulumi.Input[str]: + """ + The name of the verification metric. + """ + return pulumi.get(self, "metrics_name") + + @metrics_name.setter + def metrics_name(self, value: pulumi.Input[str]): + pulumi.set(self, "metrics_name", value) + + @property + @pulumi.getter + def providers(self) -> pulumi.Input[Sequence[pulumi.Input['VerificationTemplateMetricProviderArgs']]]: + """ + The name of the monitoring tool chosen for the metric. + """ + return pulumi.get(self, "providers") + + @providers.setter + def providers(self, value: pulumi.Input[Sequence[pulumi.Input['VerificationTemplateMetricProviderArgs']]]): + pulumi.set(self, "providers", value) + + @property + @pulumi.getter + def baseline(self) -> Optional[pulumi.Input['VerificationTemplateMetricBaselineArgs']]: + """ + Baseline Object. + """ + return pulumi.get(self, "baseline") + + @baseline.setter + def baseline(self, value: Optional[pulumi.Input['VerificationTemplateMetricBaselineArgs']]): + pulumi.set(self, "baseline", value) + + @property + @pulumi.getter(name="consecutiveErrorLimit") + def consecutive_error_limit(self) -> Optional[pulumi.Input[int]]: + """ + The maximum number of times the measurement is allowed to error in succession, before the metric is considered error.Default is 4.When choosing `Jenkins` as the provider, there is no need to send this variable. + """ + return pulumi.get(self, "consecutive_error_limit") + + @consecutive_error_limit.setter + def consecutive_error_limit(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "consecutive_error_limit", value) + + @property + @pulumi.getter + def count(self) -> Optional[pulumi.Input[int]]: + """ + The number of times to run the measurement. If both interval and count are omitted, the effective count is 1. If only interval is specified, metric runs indefinitely. If count > 1, interval must be specified. When choosing `Jenkins` as the provider, there is no need to send this variable. + """ + return pulumi.get(self, "count") + + @count.setter + def count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "count", value) + + @property + @pulumi.getter(name="dryRun") + def dry_run(self) -> Optional[pulumi.Input[bool]]: + """ + Defines whether the metric should have an impact on the result of the rollout. + """ + return pulumi.get(self, "dry_run") + + @dry_run.setter + def dry_run(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "dry_run", value) + + @property + @pulumi.getter(name="failureCondition") + def failure_condition(self) -> Optional[pulumi.Input[str]]: + """ + An expression which determines if a measurement is considered failed.If failureCondition is set, then successCondition is not allowed. When choosing Jenkins as the provider, there is no need to send this variable. + """ + return pulumi.get(self, "failure_condition") + + @failure_condition.setter + def failure_condition(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "failure_condition", value) + + @property + @pulumi.getter(name="failureLimit") + def failure_limit(self) -> Optional[pulumi.Input[int]]: + """ + The maximum number of times the measurement is allowed to fail, before the entire metric is considered failed.Default is 0. When choosing `Jenkins` as the provider, there is no need to send this variable. + """ + return pulumi.get(self, "failure_limit") + + @failure_limit.setter + def failure_limit(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "failure_limit", value) + + @property + @pulumi.getter(name="initialDelay") + def initial_delay(self) -> Optional[pulumi.Input[str]]: + """ + How long to wait before starting this metric measurements. When choosing Jenkins as the provider, there is no need to send this variable. + """ + return pulumi.get(self, "initial_delay") + + @initial_delay.setter + def initial_delay(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "initial_delay", value) + + @property + @pulumi.getter + def interval(self) -> Optional[pulumi.Input[str]]: + """ + Defines an interval string (30s, 5m, 1h) between each verification measurements. If omitted, will perform a single measurement.When choosing Jenkins as the provider, there is no need to send this variable. + """ + return pulumi.get(self, "interval") + + @interval.setter + def interval(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "interval", value) + + @property + @pulumi.getter(name="successCondition") + def success_condition(self) -> Optional[pulumi.Input[str]]: + """ + An expression which determines if a measurement is considered successful. The keyword `result` is a variable reference to the value of measurement. Results can be both structured data or primitive. If successCondition is set, then failureCondition is not allowed. When choosing `Jenkins` as the provider, there is no need to send this variable. + """ + return pulumi.get(self, "success_condition") + + @success_condition.setter + def success_condition(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "success_condition", value) + + +@pulumi.input_type +class VerificationTemplateMetricBaselineArgs: + def __init__(__self__, *, + baseline_providers: pulumi.Input[Sequence[pulumi.Input['VerificationTemplateMetricBaselineBaselineProviderArgs']]], + threshold: pulumi.Input[str], + max_range: Optional[pulumi.Input[int]] = None, + min_range: Optional[pulumi.Input[int]] = None): + pulumi.set(__self__, "baseline_providers", baseline_providers) + pulumi.set(__self__, "threshold", threshold) + if max_range is not None: + pulumi.set(__self__, "max_range", max_range) + if min_range is not None: + pulumi.set(__self__, "min_range", min_range) + + @property + @pulumi.getter(name="baselineProviders") + def baseline_providers(self) -> pulumi.Input[Sequence[pulumi.Input['VerificationTemplateMetricBaselineBaselineProviderArgs']]]: + return pulumi.get(self, "baseline_providers") + + @baseline_providers.setter + def baseline_providers(self, value: pulumi.Input[Sequence[pulumi.Input['VerificationTemplateMetricBaselineBaselineProviderArgs']]]): + pulumi.set(self, "baseline_providers", value) + + @property + @pulumi.getter + def threshold(self) -> pulumi.Input[str]: + return pulumi.get(self, "threshold") + + @threshold.setter + def threshold(self, value: pulumi.Input[str]): + pulumi.set(self, "threshold", value) + + @property + @pulumi.getter(name="maxRange") + def max_range(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "max_range") + + @max_range.setter + def max_range(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "max_range", value) + + @property + @pulumi.getter(name="minRange") + def min_range(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "min_range") + + @min_range.setter + def min_range(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "min_range", value) + + +@pulumi.input_type +class VerificationTemplateMetricBaselineBaselineProviderArgs: + def __init__(__self__, *, + datadog: Optional[pulumi.Input['VerificationTemplateMetricBaselineBaselineProviderDatadogArgs']] = None, + new_relic: Optional[pulumi.Input['VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs']] = None, + prometheus: Optional[pulumi.Input['VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs']] = None): + if datadog is not None: + pulumi.set(__self__, "datadog", datadog) + 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 + def datadog(self) -> Optional[pulumi.Input['VerificationTemplateMetricBaselineBaselineProviderDatadogArgs']]: + return pulumi.get(self, "datadog") + + @datadog.setter + def datadog(self, value: Optional[pulumi.Input['VerificationTemplateMetricBaselineBaselineProviderDatadogArgs']]): + pulumi.set(self, "datadog", value) + + @property + @pulumi.getter(name="newRelic") + def new_relic(self) -> Optional[pulumi.Input['VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs']]: + return pulumi.get(self, "new_relic") + + @new_relic.setter + def new_relic(self, value: Optional[pulumi.Input['VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs']]): + pulumi.set(self, "new_relic", value) + + @property + @pulumi.getter + def prometheus(self) -> Optional[pulumi.Input['VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs']]: + return pulumi.get(self, "prometheus") + + @prometheus.setter + def prometheus(self, value: Optional[pulumi.Input['VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs']]): + pulumi.set(self, "prometheus", value) + + +@pulumi.input_type +class VerificationTemplateMetricBaselineBaselineProviderDatadogArgs: + def __init__(__self__, *, + datadog_query: pulumi.Input[str], + duration: Optional[pulumi.Input[str]] = None): + pulumi.set(__self__, "datadog_query", datadog_query) + if duration is not None: + pulumi.set(__self__, "duration", duration) + + @property + @pulumi.getter(name="datadogQuery") + def datadog_query(self) -> pulumi.Input[str]: + return pulumi.get(self, "datadog_query") + + @datadog_query.setter + def datadog_query(self, value: pulumi.Input[str]): + pulumi.set(self, "datadog_query", value) + + @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 VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs: + def __init__(__self__, *, + new_relic_query: pulumi.Input[str], + profile: Optional[pulumi.Input[str]] = None): + pulumi.set(__self__, "new_relic_query", new_relic_query) + if profile is not None: + pulumi.set(__self__, "profile", profile) + + @property + @pulumi.getter(name="newRelicQuery") + def new_relic_query(self) -> pulumi.Input[str]: + return pulumi.get(self, "new_relic_query") + + @new_relic_query.setter + def new_relic_query(self, value: pulumi.Input[str]): + pulumi.set(self, "new_relic_query", value) + + @property + @pulumi.getter + def profile(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "profile") + + @profile.setter + def profile(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "profile", value) + + +@pulumi.input_type +class VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs: + def __init__(__self__, *, + prometheus_query: pulumi.Input[str]): + pulumi.set(__self__, "prometheus_query", prometheus_query) + + @property + @pulumi.getter(name="prometheusQuery") + def prometheus_query(self) -> pulumi.Input[str]: + return pulumi.get(self, "prometheus_query") + + @prometheus_query.setter + def prometheus_query(self, value: pulumi.Input[str]): + pulumi.set(self, "prometheus_query", value) + + +@pulumi.input_type +class VerificationTemplateMetricProviderArgs: + def __init__(__self__, *, + cloud_watch: Optional[pulumi.Input['VerificationTemplateMetricProviderCloudWatchArgs']] = None, + datadog: Optional[pulumi.Input['VerificationTemplateMetricProviderDatadogArgs']] = None, + jenkins: Optional[pulumi.Input['VerificationTemplateMetricProviderJenkinsArgs']] = None, + job: Optional[pulumi.Input['VerificationTemplateMetricProviderJobArgs']] = None, + new_relic: Optional[pulumi.Input['VerificationTemplateMetricProviderNewRelicArgs']] = None, + prometheus: Optional[pulumi.Input['VerificationTemplateMetricProviderPrometheusArgs']] = None, + web: Optional[pulumi.Input['VerificationTemplateMetricProviderWebArgs']] = None): + 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 job is not None: + pulumi.set(__self__, "job", job) + if new_relic is not None: + pulumi.set(__self__, "new_relic", new_relic) + if prometheus is not None: + pulumi.set(__self__, "prometheus", prometheus) + if web is not None: + pulumi.set(__self__, "web", web) + + @property + @pulumi.getter(name="cloudWatch") + def cloud_watch(self) -> Optional[pulumi.Input['VerificationTemplateMetricProviderCloudWatchArgs']]: + return pulumi.get(self, "cloud_watch") + + @cloud_watch.setter + def cloud_watch(self, value: Optional[pulumi.Input['VerificationTemplateMetricProviderCloudWatchArgs']]): + pulumi.set(self, "cloud_watch", value) + + @property + @pulumi.getter + def datadog(self) -> Optional[pulumi.Input['VerificationTemplateMetricProviderDatadogArgs']]: + return pulumi.get(self, "datadog") + + @datadog.setter + def datadog(self, value: Optional[pulumi.Input['VerificationTemplateMetricProviderDatadogArgs']]): + pulumi.set(self, "datadog", value) + + @property + @pulumi.getter + def jenkins(self) -> Optional[pulumi.Input['VerificationTemplateMetricProviderJenkinsArgs']]: + return pulumi.get(self, "jenkins") + + @jenkins.setter + def jenkins(self, value: Optional[pulumi.Input['VerificationTemplateMetricProviderJenkinsArgs']]): + pulumi.set(self, "jenkins", value) + + @property + @pulumi.getter + def job(self) -> Optional[pulumi.Input['VerificationTemplateMetricProviderJobArgs']]: + return pulumi.get(self, "job") + + @job.setter + def job(self, value: Optional[pulumi.Input['VerificationTemplateMetricProviderJobArgs']]): + pulumi.set(self, "job", value) + + @property + @pulumi.getter(name="newRelic") + def new_relic(self) -> Optional[pulumi.Input['VerificationTemplateMetricProviderNewRelicArgs']]: + return pulumi.get(self, "new_relic") + + @new_relic.setter + def new_relic(self, value: Optional[pulumi.Input['VerificationTemplateMetricProviderNewRelicArgs']]): + pulumi.set(self, "new_relic", value) + + @property + @pulumi.getter + def prometheus(self) -> Optional[pulumi.Input['VerificationTemplateMetricProviderPrometheusArgs']]: + return pulumi.get(self, "prometheus") + + @prometheus.setter + def prometheus(self, value: Optional[pulumi.Input['VerificationTemplateMetricProviderPrometheusArgs']]): + pulumi.set(self, "prometheus", value) + + @property + @pulumi.getter + def web(self) -> Optional[pulumi.Input['VerificationTemplateMetricProviderWebArgs']]: + return pulumi.get(self, "web") + + @web.setter + def web(self, value: Optional[pulumi.Input['VerificationTemplateMetricProviderWebArgs']]): + pulumi.set(self, "web", value) + + +@pulumi.input_type +class VerificationTemplateMetricProviderCloudWatchArgs: + def __init__(__self__, *, + metric_data_queries: pulumi.Input[Sequence[pulumi.Input['VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs']]], + duration: Optional[pulumi.Input[str]] = None): + pulumi.set(__self__, "metric_data_queries", metric_data_queries) + if duration is not None: + pulumi.set(__self__, "duration", duration) + + @property + @pulumi.getter(name="metricDataQueries") + def metric_data_queries(self) -> pulumi.Input[Sequence[pulumi.Input['VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs']]]: + return pulumi.get(self, "metric_data_queries") + + @metric_data_queries.setter + def metric_data_queries(self, value: pulumi.Input[Sequence[pulumi.Input['VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs']]]): + pulumi.set(self, "metric_data_queries", value) + + @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 VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs: + def __init__(__self__, *, + id: pulumi.Input[str], + expression: Optional[pulumi.Input[str]] = None, + label: Optional[pulumi.Input[str]] = None, + metric_stat: Optional[pulumi.Input['VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs']] = None, + period: Optional[pulumi.Input[int]] = None, + return_data: Optional[pulumi.Input[bool]] = None): + pulumi.set(__self__, "id", id) + if expression is not None: + pulumi.set(__self__, "expression", expression) + if label is not None: + pulumi.set(__self__, "label", label) + if metric_stat is not None: + pulumi.set(__self__, "metric_stat", metric_stat) + if period is not None: + pulumi.set(__self__, "period", period) + if return_data is not None: + pulumi.set(__self__, "return_data", return_data) + + @property + @pulumi.getter + def id(self) -> pulumi.Input[str]: + return pulumi.get(self, "id") + + @id.setter + def id(self, value: pulumi.Input[str]): + pulumi.set(self, "id", value) + + @property + @pulumi.getter + def expression(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "expression") + + @expression.setter + def expression(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "expression", value) + + @property + @pulumi.getter + def label(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "label") + + @label.setter + def label(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "label", value) + + @property + @pulumi.getter(name="metricStat") + def metric_stat(self) -> Optional[pulumi.Input['VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs']]: + return pulumi.get(self, "metric_stat") + + @metric_stat.setter + def metric_stat(self, value: Optional[pulumi.Input['VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs']]): + pulumi.set(self, "metric_stat", value) + + @property + @pulumi.getter + def period(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "period") + + @period.setter + def period(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "period", value) + + @property + @pulumi.getter(name="returnData") + def return_data(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "return_data") + + @return_data.setter + def return_data(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "return_data", value) + + +@pulumi.input_type +class VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs: + def __init__(__self__, *, + metric: Optional[pulumi.Input['VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs']] = None, + metric_period: Optional[pulumi.Input[int]] = None, + stat: Optional[pulumi.Input[str]] = None, + unit: Optional[pulumi.Input[str]] = None): + if metric is not None: + pulumi.set(__self__, "metric", metric) + if metric_period is not None: + pulumi.set(__self__, "metric_period", metric_period) + if stat is not None: + pulumi.set(__self__, "stat", stat) + if unit is not None: + pulumi.set(__self__, "unit", unit) + + @property + @pulumi.getter + def metric(self) -> Optional[pulumi.Input['VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs']]: + return pulumi.get(self, "metric") + + @metric.setter + def metric(self, value: Optional[pulumi.Input['VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs']]): + pulumi.set(self, "metric", value) + + @property + @pulumi.getter(name="metricPeriod") + def metric_period(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "metric_period") + + @metric_period.setter + def metric_period(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "metric_period", value) + + @property + @pulumi.getter + def stat(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "stat") + + @stat.setter + def stat(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "stat", value) + + @property + @pulumi.getter + def unit(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "unit") + + @unit.setter + def unit(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "unit", value) + + +@pulumi.input_type +class VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs: + def __init__(__self__, *, + metric_name: pulumi.Input[str], + dimensions: Optional[pulumi.Input[Sequence[pulumi.Input['VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs']]]] = None, + namespace: Optional[pulumi.Input[str]] = None): + pulumi.set(__self__, "metric_name", metric_name) + if dimensions is not None: + pulumi.set(__self__, "dimensions", dimensions) + if namespace is not None: + pulumi.set(__self__, "namespace", namespace) + + @property + @pulumi.getter(name="metricName") + def metric_name(self) -> pulumi.Input[str]: + return pulumi.get(self, "metric_name") + + @metric_name.setter + def metric_name(self, value: pulumi.Input[str]): + pulumi.set(self, "metric_name", value) + + @property + @pulumi.getter + def dimensions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs']]]]: + return pulumi.get(self, "dimensions") + + @dimensions.setter + def dimensions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs']]]]): + pulumi.set(self, "dimensions", value) + + @property + @pulumi.getter + def namespace(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "namespace") + + @namespace.setter + def namespace(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "namespace", value) + + +@pulumi.input_type +class VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs: + def __init__(__self__, *, + dimension_name: pulumi.Input[str], + dimension_value: pulumi.Input[str]): + pulumi.set(__self__, "dimension_name", dimension_name) + pulumi.set(__self__, "dimension_value", dimension_value) + + @property + @pulumi.getter(name="dimensionName") + def dimension_name(self) -> pulumi.Input[str]: + return pulumi.get(self, "dimension_name") + + @dimension_name.setter + def dimension_name(self, value: pulumi.Input[str]): + pulumi.set(self, "dimension_name", value) + + @property + @pulumi.getter(name="dimensionValue") + def dimension_value(self) -> pulumi.Input[str]: + return pulumi.get(self, "dimension_value") + + @dimension_value.setter + def dimension_value(self, value: pulumi.Input[str]): + pulumi.set(self, "dimension_value", value) + + +@pulumi.input_type +class VerificationTemplateMetricProviderDatadogArgs: + def __init__(__self__, *, + datadog_query: Optional[pulumi.Input[str]] = None, + duration: Optional[pulumi.Input[str]] = None): + if datadog_query is not None: + pulumi.set(__self__, "datadog_query", datadog_query) + if duration is not None: + pulumi.set(__self__, "duration", duration) + + @property + @pulumi.getter(name="datadogQuery") + def datadog_query(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "datadog_query") + + @datadog_query.setter + def datadog_query(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "datadog_query", value) + + @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 VerificationTemplateMetricProviderJenkinsArgs: + def __init__(__self__, *, + jenkins_interval: pulumi.Input[str], + pipeline_name: pulumi.Input[str], + timeout: pulumi.Input[str], + jenkins_parameters: Optional[pulumi.Input['VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs']] = None, + tls_verification: Optional[pulumi.Input[bool]] = None): + pulumi.set(__self__, "jenkins_interval", jenkins_interval) + pulumi.set(__self__, "pipeline_name", pipeline_name) + pulumi.set(__self__, "timeout", timeout) + if jenkins_parameters is not None: + pulumi.set(__self__, "jenkins_parameters", jenkins_parameters) + if tls_verification is not None: + pulumi.set(__self__, "tls_verification", tls_verification) + + @property + @pulumi.getter(name="jenkinsInterval") + def jenkins_interval(self) -> pulumi.Input[str]: + return pulumi.get(self, "jenkins_interval") + + @jenkins_interval.setter + def jenkins_interval(self, value: pulumi.Input[str]): + pulumi.set(self, "jenkins_interval", value) + + @property + @pulumi.getter(name="pipelineName") + def pipeline_name(self) -> pulumi.Input[str]: + return pulumi.get(self, "pipeline_name") + + @pipeline_name.setter + def pipeline_name(self, value: pulumi.Input[str]): + pulumi.set(self, "pipeline_name", value) + + @property + @pulumi.getter + def timeout(self) -> pulumi.Input[str]: + return pulumi.get(self, "timeout") + + @timeout.setter + def timeout(self, value: pulumi.Input[str]): + pulumi.set(self, "timeout", value) + + @property + @pulumi.getter(name="jenkinsParameters") + def jenkins_parameters(self) -> Optional[pulumi.Input['VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs']]: + return pulumi.get(self, "jenkins_parameters") + + @jenkins_parameters.setter + def jenkins_parameters(self, value: Optional[pulumi.Input['VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs']]): + pulumi.set(self, "jenkins_parameters", value) + + @property + @pulumi.getter(name="tlsVerification") + def tls_verification(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "tls_verification") + + @tls_verification.setter + def tls_verification(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "tls_verification", value) @pulumi.input_type -class StrategyRollingStepArgs: +class VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs: 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) + parameter_key: pulumi.Input[str], + parameter_value: pulumi.Input[str]): + pulumi.set(__self__, "parameter_key", parameter_key) + pulumi.set(__self__, "parameter_value", parameter_value) @property - @pulumi.getter - def pause(self) -> Optional[pulumi.Input['StrategyRollingStepPauseArgs']]: - return pulumi.get(self, "pause") + @pulumi.getter(name="parameterKey") + def parameter_key(self) -> pulumi.Input[str]: + return pulumi.get(self, "parameter_key") - @pause.setter - def pause(self, value: Optional[pulumi.Input['StrategyRollingStepPauseArgs']]): - pulumi.set(self, "pause", value) + @parameter_key.setter + def parameter_key(self, value: pulumi.Input[str]): + pulumi.set(self, "parameter_key", value) @property - @pulumi.getter(name="stepsName") - def steps_name(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "steps_name") + @pulumi.getter(name="parameterValue") + def parameter_value(self) -> pulumi.Input[str]: + return pulumi.get(self, "parameter_value") + + @parameter_value.setter + def parameter_value(self, value: pulumi.Input[str]): + pulumi.set(self, "parameter_value", value) - @steps_name.setter - def steps_name(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "steps_name", value) + +@pulumi.input_type +class VerificationTemplateMetricProviderJobArgs: + def __init__(__self__, *, + specs: pulumi.Input[Sequence[pulumi.Input['VerificationTemplateMetricProviderJobSpecArgs']]]): + pulumi.set(__self__, "specs", specs) @property @pulumi.getter - def verification(self) -> Optional[pulumi.Input['StrategyRollingStepVerificationArgs']]: - return pulumi.get(self, "verification") + def specs(self) -> pulumi.Input[Sequence[pulumi.Input['VerificationTemplateMetricProviderJobSpecArgs']]]: + return pulumi.get(self, "specs") - @verification.setter - def verification(self, value: Optional[pulumi.Input['StrategyRollingStepVerificationArgs']]): - pulumi.set(self, "verification", value) + @specs.setter + def specs(self, value: pulumi.Input[Sequence[pulumi.Input['VerificationTemplateMetricProviderJobSpecArgs']]]): + pulumi.set(self, "specs", value) @pulumi.input_type -class StrategyRollingStepPauseArgs: +class VerificationTemplateMetricProviderJobSpecArgs: def __init__(__self__, *, - duration: Optional[pulumi.Input[str]] = None): - if duration is not None: - pulumi.set(__self__, "duration", duration) + job_templates: pulumi.Input[Sequence[pulumi.Input['VerificationTemplateMetricProviderJobSpecJobTemplateArgs']]], + backoff_limit: Optional[pulumi.Input[int]] = None): + pulumi.set(__self__, "job_templates", job_templates) + if backoff_limit is not None: + pulumi.set(__self__, "backoff_limit", backoff_limit) @property - @pulumi.getter - def duration(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "duration") + @pulumi.getter(name="jobTemplates") + def job_templates(self) -> pulumi.Input[Sequence[pulumi.Input['VerificationTemplateMetricProviderJobSpecJobTemplateArgs']]]: + return pulumi.get(self, "job_templates") - @duration.setter - def duration(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "duration", value) + @job_templates.setter + def job_templates(self, value: pulumi.Input[Sequence[pulumi.Input['VerificationTemplateMetricProviderJobSpecJobTemplateArgs']]]): + pulumi.set(self, "job_templates", value) + + @property + @pulumi.getter(name="backoffLimit") + def backoff_limit(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "backoff_limit") + + @backoff_limit.setter + def backoff_limit(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "backoff_limit", value) @pulumi.input_type -class StrategyRollingStepVerificationArgs: +class VerificationTemplateMetricProviderJobSpecJobTemplateArgs: def __init__(__self__, *, - template_names: pulumi.Input[Sequence[pulumi.Input[str]]]): - pulumi.set(__self__, "template_names", template_names) + template_specs: pulumi.Input[Sequence[pulumi.Input['VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs']]]): + pulumi.set(__self__, "template_specs", template_specs) @property - @pulumi.getter(name="templateNames") - def template_names(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: - return pulumi.get(self, "template_names") + @pulumi.getter(name="templateSpecs") + def template_specs(self) -> pulumi.Input[Sequence[pulumi.Input['VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs']]]: + return pulumi.get(self, "template_specs") - @template_names.setter - def template_names(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): - pulumi.set(self, "template_names", value) + @template_specs.setter + def template_specs(self, value: pulumi.Input[Sequence[pulumi.Input['VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs']]]): + pulumi.set(self, "template_specs", value) @pulumi.input_type -class VerificationProviderCloudWatchArgs: +class VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs: def __init__(__self__, *, - iam_arn: pulumi.Input[str]): - """ - :param pulumi.Input[str] iam_arn: Set label key. - """ - pulumi.set(__self__, "iam_arn", iam_arn) + containers: pulumi.Input[Sequence[pulumi.Input['VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs']]], + restart_policy: pulumi.Input[str]): + pulumi.set(__self__, "containers", containers) + pulumi.set(__self__, "restart_policy", restart_policy) @property - @pulumi.getter(name="iamArn") - def iam_arn(self) -> pulumi.Input[str]: - """ - Set label key. - """ - return pulumi.get(self, "iam_arn") + @pulumi.getter + def containers(self) -> pulumi.Input[Sequence[pulumi.Input['VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs']]]: + return pulumi.get(self, "containers") - @iam_arn.setter - def iam_arn(self, value: pulumi.Input[str]): - pulumi.set(self, "iam_arn", value) + @containers.setter + def containers(self, value: pulumi.Input[Sequence[pulumi.Input['VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs']]]): + pulumi.set(self, "containers", value) + + @property + @pulumi.getter(name="restartPolicy") + def restart_policy(self) -> pulumi.Input[str]: + return pulumi.get(self, "restart_policy") + + @restart_policy.setter + def restart_policy(self, value: pulumi.Input[str]): + pulumi.set(self, "restart_policy", value) @pulumi.input_type -class VerificationProviderDatadogArgs: +class VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs: 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) + commands: pulumi.Input[Sequence[pulumi.Input[str]]], + container_name: pulumi.Input[str], + image: pulumi.Input[str]): + pulumi.set(__self__, "commands", commands) + pulumi.set(__self__, "container_name", container_name) + pulumi.set(__self__, "image", image) @property @pulumi.getter - def address(self) -> pulumi.Input[str]: - """ - DataDog API URL. - """ - return pulumi.get(self, "address") + def commands(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + return pulumi.get(self, "commands") - @address.setter - def address(self, value: pulumi.Input[str]): - pulumi.set(self, "address", value) + @commands.setter + def commands(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "commands", 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") + @pulumi.getter(name="containerName") + def container_name(self) -> pulumi.Input[str]: + return pulumi.get(self, "container_name") - @api_key.setter - def api_key(self, value: pulumi.Input[str]): - pulumi.set(self, "api_key", value) + @container_name.setter + def container_name(self, value: pulumi.Input[str]): + pulumi.set(self, "container_name", 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") + @pulumi.getter + def image(self) -> pulumi.Input[str]: + return pulumi.get(self, "image") - @app_key.setter - def app_key(self, value: pulumi.Input[str]): - pulumi.set(self, "app_key", value) + @image.setter + def image(self, value: pulumi.Input[str]): + pulumi.set(self, "image", value) @pulumi.input_type -class VerificationProviderJenkinsArgs: +class VerificationTemplateMetricProviderNewRelicArgs: 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) + new_relic_query: pulumi.Input[str], + profile: Optional[pulumi.Input[str]] = None): + pulumi.set(__self__, "new_relic_query", new_relic_query) + if profile is not None: + pulumi.set(__self__, "profile", profile) @property - @pulumi.getter(name="apiToken") - def api_token(self) -> pulumi.Input[str]: - """ - The Jenkins server’s access apiToken. - """ - return pulumi.get(self, "api_token") + @pulumi.getter(name="newRelicQuery") + def new_relic_query(self) -> pulumi.Input[str]: + return pulumi.get(self, "new_relic_query") - @api_token.setter - def api_token(self, value: pulumi.Input[str]): - pulumi.set(self, "api_token", value) + @new_relic_query.setter + def new_relic_query(self, value: pulumi.Input[str]): + pulumi.set(self, "new_relic_query", 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") + @pulumi.getter + def profile(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "profile") + + @profile.setter + def profile(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "profile", value) - @base_url.setter - def base_url(self, value: pulumi.Input[str]): - pulumi.set(self, "base_url", value) + +@pulumi.input_type +class VerificationTemplateMetricProviderPrometheusArgs: + def __init__(__self__, *, + prometheus_query: pulumi.Input[str]): + pulumi.set(__self__, "prometheus_query", prometheus_query) @property - @pulumi.getter - def username(self) -> pulumi.Input[str]: - """ - The Jenkins server’s access username. - """ - return pulumi.get(self, "username") + @pulumi.getter(name="prometheusQuery") + def prometheus_query(self) -> pulumi.Input[str]: + return pulumi.get(self, "prometheus_query") - @username.setter - def username(self, value: pulumi.Input[str]): - pulumi.set(self, "username", value) + @prometheus_query.setter + def prometheus_query(self, value: pulumi.Input[str]): + pulumi.set(self, "prometheus_query", value) @pulumi.input_type -class VerificationProviderNewRelicArgs: +class VerificationTemplateMetricProviderWebArgs: 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) + url: pulumi.Input[str], + body: Optional[pulumi.Input[str]] = None, + insecure: Optional[pulumi.Input[bool]] = None, + json_path: Optional[pulumi.Input[str]] = None, + method: Optional[pulumi.Input[str]] = None, + timeout_seconds: Optional[pulumi.Input[int]] = None, + web_headers: Optional[pulumi.Input[Sequence[pulumi.Input['VerificationTemplateMetricProviderWebWebHeaderArgs']]]] = None): + pulumi.set(__self__, "url", url) + if body is not None: + pulumi.set(__self__, "body", body) + if insecure is not None: + pulumi.set(__self__, "insecure", insecure) + if json_path is not None: + pulumi.set(__self__, "json_path", json_path) + if method is not None: + pulumi.set(__self__, "method", method) + if timeout_seconds is not None: + pulumi.set(__self__, "timeout_seconds", timeout_seconds) + if web_headers is not None: + pulumi.set(__self__, "web_headers", web_headers) @property - @pulumi.getter(name="accountId") - def account_id(self) -> pulumi.Input[str]: - return pulumi.get(self, "account_id") + @pulumi.getter + def url(self) -> pulumi.Input[str]: + return pulumi.get(self, "url") - @account_id.setter - def account_id(self, value: pulumi.Input[str]): - pulumi.set(self, "account_id", value) + @url.setter + def url(self, value: pulumi.Input[str]): + pulumi.set(self, "url", 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") + @pulumi.getter + def body(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "body") - @personal_api_key.setter - def personal_api_key(self, value: pulumi.Input[str]): - pulumi.set(self, "personal_api_key", value) + @body.setter + def body(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "body", 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") + @pulumi.getter + def insecure(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "insecure") - @base_url_nerd_graph.setter - def base_url_nerd_graph(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "base_url_nerd_graph", value) + @insecure.setter + def insecure(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "insecure", 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") + @pulumi.getter(name="jsonPath") + def json_path(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "json_path") - @base_url_rest.setter - def base_url_rest(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "base_url_rest", value) + @json_path.setter + def json_path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "json_path", 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") + def method(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "method") - @region.setter - def region(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "region", value) + @method.setter + def method(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "method", value) + + @property + @pulumi.getter(name="timeoutSeconds") + def timeout_seconds(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "timeout_seconds") + + @timeout_seconds.setter + def timeout_seconds(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "timeout_seconds", value) + + @property + @pulumi.getter(name="webHeaders") + def web_headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VerificationTemplateMetricProviderWebWebHeaderArgs']]]]: + return pulumi.get(self, "web_headers") + + @web_headers.setter + def web_headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VerificationTemplateMetricProviderWebWebHeaderArgs']]]]): + pulumi.set(self, "web_headers", value) @pulumi.input_type -class VerificationProviderPrometheusArgs: +class VerificationTemplateMetricProviderWebWebHeaderArgs: 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) + web_header_key: pulumi.Input[str], + web_header_value: pulumi.Input[str]): + pulumi.set(__self__, "web_header_key", web_header_key) + pulumi.set(__self__, "web_header_value", web_header_value) @property - @pulumi.getter - def address(self) -> pulumi.Input[str]: - """ - The address which the Prometheus server available on. - """ - return pulumi.get(self, "address") + @pulumi.getter(name="webHeaderKey") + def web_header_key(self) -> pulumi.Input[str]: + return pulumi.get(self, "web_header_key") - @address.setter - def address(self, value: pulumi.Input[str]): - pulumi.set(self, "address", value) + @web_header_key.setter + def web_header_key(self, value: pulumi.Input[str]): + pulumi.set(self, "web_header_key", value) + + @property + @pulumi.getter(name="webHeaderValue") + def web_header_value(self) -> pulumi.Input[str]: + return pulumi.get(self, "web_header_value") + + @web_header_value.setter + def web_header_value(self, value: pulumi.Input[str]): + pulumi.set(self, "web_header_value", value) diff --git a/sdk/python/pulumi_spotinst/oceancd/outputs.py b/sdk/python/pulumi_spotinst/oceancd/outputs.py index 408b29e6..f5e58bc0 100644 --- a/sdk/python/pulumi_spotinst/oceancd/outputs.py +++ b/sdk/python/pulumi_spotinst/oceancd/outputs.py @@ -11,6 +11,24 @@ from . import outputs __all__ = [ + 'RolloutSpecFailurePolicy', + 'RolloutSpecSpotDeployment', + 'RolloutSpecStrategy', + 'RolloutSpecStrategyArg', + 'RolloutSpecStrategyArgValueFrom', + 'RolloutSpecStrategyArgValueFromFieldRef', + 'RolloutSpecTraffic', + 'RolloutSpecTrafficAlb', + 'RolloutSpecTrafficAlbStickinessConfig', + 'RolloutSpecTrafficAmbassador', + 'RolloutSpecTrafficIstio', + 'RolloutSpecTrafficIstioDestinationRule', + 'RolloutSpecTrafficIstioVirtualService', + 'RolloutSpecTrafficIstioVirtualServiceTlsRoute', + 'RolloutSpecTrafficNginx', + 'RolloutSpecTrafficNginxAdditionalIngressAnnotation', + 'RolloutSpecTrafficPingPong', + 'RolloutSpecTrafficSmi', 'StrategyCanary', 'StrategyCanaryBackgroundVerification', 'StrategyCanaryStep', @@ -29,709 +47,2848 @@ 'VerificationProviderJenkins', 'VerificationProviderNewRelic', 'VerificationProviderPrometheus', + 'VerificationTemplateArg', + 'VerificationTemplateArgValueFrom', + 'VerificationTemplateArgValueFromSecretKeyRef', + 'VerificationTemplateMetric', + 'VerificationTemplateMetricBaseline', + 'VerificationTemplateMetricBaselineBaselineProvider', + 'VerificationTemplateMetricBaselineBaselineProviderDatadog', + 'VerificationTemplateMetricBaselineBaselineProviderNewRelic', + 'VerificationTemplateMetricBaselineBaselineProviderPrometheus', + 'VerificationTemplateMetricProvider', + 'VerificationTemplateMetricProviderCloudWatch', + 'VerificationTemplateMetricProviderCloudWatchMetricDataQuery', + 'VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat', + 'VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric', + 'VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension', + 'VerificationTemplateMetricProviderDatadog', + 'VerificationTemplateMetricProviderJenkins', + 'VerificationTemplateMetricProviderJenkinsJenkinsParameters', + 'VerificationTemplateMetricProviderJob', + 'VerificationTemplateMetricProviderJobSpec', + 'VerificationTemplateMetricProviderJobSpecJobTemplate', + 'VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec', + 'VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer', + 'VerificationTemplateMetricProviderNewRelic', + 'VerificationTemplateMetricProviderPrometheus', + 'VerificationTemplateMetricProviderWeb', + 'VerificationTemplateMetricProviderWebWebHeader', ] @pulumi.output_type -class StrategyCanary(dict): +class RolloutSpecFailurePolicy(dict): + def __init__(__self__, *, + action: str): + """ + :param str action: Choose an action to perform on failure. Default is `abort`. Enum: "abort" "pause" "promote". + """ + pulumi.set(__self__, "action", action) + + @property + @pulumi.getter + def action(self) -> str: + """ + Choose an action to perform on failure. Default is `abort`. Enum: "abort" "pause" "promote". + """ + return pulumi.get(self, "action") + + +@pulumi.output_type +class RolloutSpecSpotDeployment(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "backgroundVerification": - suggest = "background_verification" + if key == "spotDeploymentsClusterId": + suggest = "spot_deployments_cluster_id" + elif key == "spotDeploymentsName": + suggest = "spot_deployments_name" + elif key == "spotDeploymentsNamespace": + suggest = "spot_deployments_namespace" if suggest: - pulumi.log.warn(f"Key '{key}' not found in StrategyCanary. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in RolloutSpecSpotDeployment. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - StrategyCanary.__key_warning(key) + RolloutSpecSpotDeployment.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - StrategyCanary.__key_warning(key) + RolloutSpecSpotDeployment.__key_warning(key) return super().get(key, default) def __init__(__self__, *, - steps: Sequence['outputs.StrategyCanaryStep'], - background_verification: Optional['outputs.StrategyCanaryBackgroundVerification'] = None): + spot_deployments_cluster_id: Optional[str] = None, + spot_deployments_name: Optional[str] = None, + spot_deployments_namespace: Optional[str] = None): """ - :param Sequence['StrategyCanaryStepArgs'] steps: A set of separate conditions of rollout processing. - :param 'StrategyCanaryBackgroundVerificationArgs' background_verification: A list of background verifications. + :param str spot_deployments_cluster_id: Ocean CD cluster identifier for the references `SpotDeployment`. + :param str spot_deployments_name: The name of the `SpotDeployment` resource + :param str spot_deployments_namespace: The namespace which the `SpotDeployment` resource exists within. """ - pulumi.set(__self__, "steps", steps) - if background_verification is not None: - pulumi.set(__self__, "background_verification", background_verification) + if spot_deployments_cluster_id is not None: + pulumi.set(__self__, "spot_deployments_cluster_id", spot_deployments_cluster_id) + if spot_deployments_name is not None: + pulumi.set(__self__, "spot_deployments_name", spot_deployments_name) + if spot_deployments_namespace is not None: + pulumi.set(__self__, "spot_deployments_namespace", spot_deployments_namespace) @property - @pulumi.getter - def steps(self) -> Sequence['outputs.StrategyCanaryStep']: + @pulumi.getter(name="spotDeploymentsClusterId") + def spot_deployments_cluster_id(self) -> Optional[str]: """ - A set of separate conditions of rollout processing. + Ocean CD cluster identifier for the references `SpotDeployment`. """ - return pulumi.get(self, "steps") + return pulumi.get(self, "spot_deployments_cluster_id") @property - @pulumi.getter(name="backgroundVerification") - def background_verification(self) -> Optional['outputs.StrategyCanaryBackgroundVerification']: + @pulumi.getter(name="spotDeploymentsName") + def spot_deployments_name(self) -> Optional[str]: """ - A list of background verifications. + The name of the `SpotDeployment` resource """ - return pulumi.get(self, "background_verification") + return pulumi.get(self, "spot_deployments_name") + + @property + @pulumi.getter(name="spotDeploymentsNamespace") + def spot_deployments_namespace(self) -> Optional[str]: + """ + The namespace which the `SpotDeployment` resource exists within. + """ + return pulumi.get(self, "spot_deployments_namespace") @pulumi.output_type -class StrategyCanaryBackgroundVerification(dict): +class RolloutSpecStrategy(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "templateNames": - suggest = "template_names" + if key == "strategyName": + suggest = "strategy_name" if suggest: - pulumi.log.warn(f"Key '{key}' not found in StrategyCanaryBackgroundVerification. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in RolloutSpecStrategy. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - StrategyCanaryBackgroundVerification.__key_warning(key) + RolloutSpecStrategy.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - StrategyCanaryBackgroundVerification.__key_warning(key) + RolloutSpecStrategy.__key_warning(key) return super().get(key, default) def __init__(__self__, *, - template_names: Sequence[str]): - pulumi.set(__self__, "template_names", template_names) + strategy_name: str, + args: Optional[Sequence['outputs.RolloutSpecStrategyArg']] = None): + """ + :param str strategy_name: Ocean CD strategy name identifier. + :param Sequence['RolloutSpecStrategyArgArgs'] args: Arguments defined in Verification Templates. + """ + pulumi.set(__self__, "strategy_name", strategy_name) + if args is not None: + pulumi.set(__self__, "args", args) @property - @pulumi.getter(name="templateNames") - def template_names(self) -> Sequence[str]: - return pulumi.get(self, "template_names") + @pulumi.getter(name="strategyName") + def strategy_name(self) -> str: + """ + Ocean CD strategy name identifier. + """ + return pulumi.get(self, "strategy_name") + + @property + @pulumi.getter + def args(self) -> Optional[Sequence['outputs.RolloutSpecStrategyArg']]: + """ + Arguments defined in Verification Templates. + """ + return pulumi.get(self, "args") @pulumi.output_type -class StrategyCanaryStep(dict): +class RolloutSpecStrategyArg(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 key == "argName": + suggest = "arg_name" + elif key == "argValue": + suggest = "arg_value" + elif key == "valueFrom": + suggest = "value_from" if suggest: - pulumi.log.warn(f"Key '{key}' not found in StrategyCanaryStep. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in RolloutSpecStrategyArg. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - StrategyCanaryStep.__key_warning(key) + RolloutSpecStrategyArg.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - StrategyCanaryStep.__key_warning(key) + RolloutSpecStrategyArg.__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) + arg_name: str, + arg_value: Optional[str] = None, + value_from: Optional['outputs.RolloutSpecStrategyArgValueFrom'] = None): + pulumi.set(__self__, "arg_name", arg_name) + if arg_value is not None: + pulumi.set(__self__, "arg_value", arg_value) + if value_from is not None: + pulumi.set(__self__, "value_from", value_from) @property - @pulumi.getter - def pause(self) -> Optional['outputs.StrategyCanaryStepPause']: - return pulumi.get(self, "pause") + @pulumi.getter(name="argName") + def arg_name(self) -> str: + return pulumi.get(self, "arg_name") @property - @pulumi.getter(name="setCanaryScale") - def set_canary_scale(self) -> Optional['outputs.StrategyCanaryStepSetCanaryScale']: - return pulumi.get(self, "set_canary_scale") + @pulumi.getter(name="argValue") + def arg_value(self) -> Optional[str]: + return pulumi.get(self, "arg_value") @property - @pulumi.getter(name="setHeaderRoute") - def set_header_route(self) -> Optional['outputs.StrategyCanaryStepSetHeaderRoute']: - return pulumi.get(self, "set_header_route") + @pulumi.getter(name="valueFrom") + def value_from(self) -> Optional['outputs.RolloutSpecStrategyArgValueFrom']: + return pulumi.get(self, "value_from") - @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") +@pulumi.output_type +class RolloutSpecStrategyArgValueFrom(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "fieldRef": + suggest = "field_ref" - @property - @pulumi.getter - def verification(self) -> Optional['outputs.StrategyCanaryStepVerification']: - return pulumi.get(self, "verification") + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RolloutSpecStrategyArgValueFrom. Access the value via the '{suggest}' property getter instead.") + def __getitem__(self, key: str) -> Any: + RolloutSpecStrategyArgValueFrom.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RolloutSpecStrategyArgValueFrom.__key_warning(key) + return super().get(key, default) -@pulumi.output_type -class StrategyCanaryStepPause(dict): def __init__(__self__, *, - duration: Optional[str] = None): - if duration is not None: - pulumi.set(__self__, "duration", duration) + field_ref: 'outputs.RolloutSpecStrategyArgValueFromFieldRef'): + pulumi.set(__self__, "field_ref", field_ref) @property - @pulumi.getter - def duration(self) -> Optional[str]: - return pulumi.get(self, "duration") + @pulumi.getter(name="fieldRef") + def field_ref(self) -> 'outputs.RolloutSpecStrategyArgValueFromFieldRef': + return pulumi.get(self, "field_ref") @pulumi.output_type -class StrategyCanaryStepSetCanaryScale(dict): +class RolloutSpecStrategyArgValueFromFieldRef(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "matchTrafficWeight": - suggest = "match_traffic_weight" + if key == "fieldPath": + suggest = "field_path" if suggest: - pulumi.log.warn(f"Key '{key}' not found in StrategyCanaryStepSetCanaryScale. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in RolloutSpecStrategyArgValueFromFieldRef. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - StrategyCanaryStepSetCanaryScale.__key_warning(key) + RolloutSpecStrategyArgValueFromFieldRef.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - StrategyCanaryStepSetCanaryScale.__key_warning(key) + RolloutSpecStrategyArgValueFromFieldRef.__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") + field_path: str): + pulumi.set(__self__, "field_path", field_path) @property - @pulumi.getter - def weight(self) -> Optional[int]: - return pulumi.get(self, "weight") + @pulumi.getter(name="fieldPath") + def field_path(self) -> str: + return pulumi.get(self, "field_path") @pulumi.output_type -class StrategyCanaryStepSetHeaderRoute(dict): +class RolloutSpecTraffic(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "headerRouteName": - suggest = "header_route_name" + if key == "canaryService": + suggest = "canary_service" + elif key == "pingPong": + suggest = "ping_pong" + elif key == "stableService": + suggest = "stable_service" if suggest: - pulumi.log.warn(f"Key '{key}' not found in StrategyCanaryStepSetHeaderRoute. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in RolloutSpecTraffic. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - StrategyCanaryStepSetHeaderRoute.__key_warning(key) + RolloutSpecTraffic.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - StrategyCanaryStepSetHeaderRoute.__key_warning(key) + RolloutSpecTraffic.__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) + alb: Optional['outputs.RolloutSpecTrafficAlb'] = None, + ambassador: Optional['outputs.RolloutSpecTrafficAmbassador'] = None, + canary_service: Optional[str] = None, + istio: Optional['outputs.RolloutSpecTrafficIstio'] = None, + nginx: Optional['outputs.RolloutSpecTrafficNginx'] = None, + ping_pong: Optional['outputs.RolloutSpecTrafficPingPong'] = None, + smi: Optional['outputs.RolloutSpecTrafficSmi'] = None, + stable_service: Optional[str] = None): + """ + :param 'RolloutSpecTrafficAlbArgs' alb: Holds ALB Ingress specific configuration to route traffic. + :param 'RolloutSpecTrafficAmbassadorArgs' ambassador: Holds specific configuration to use Ambassador to route traffic. + :param str canary_service: The canary service name. + :param 'RolloutSpecTrafficIstioArgs' istio: Holds Istio specific configuration to route traffic. + :param 'RolloutSpecTrafficNginxArgs' nginx: Holds Nginx Ingress specific configuration to route traffic. + :param 'RolloutSpecTrafficPingPongArgs' ping_pong: Holds the ping and pong services. You can use `pingPong` field only when using ALB as a traffic manager with the IP Mode approach. + :param 'RolloutSpecTrafficSmiArgs' smi: Holds TrafficSplit specific configuration to route traffic. + :param str stable_service: The stable service name. + """ + if alb is not None: + pulumi.set(__self__, "alb", alb) + if ambassador is not None: + pulumi.set(__self__, "ambassador", ambassador) + if canary_service is not None: + pulumi.set(__self__, "canary_service", canary_service) + if istio is not None: + pulumi.set(__self__, "istio", istio) + if nginx is not None: + pulumi.set(__self__, "nginx", nginx) + if ping_pong is not None: + pulumi.set(__self__, "ping_pong", ping_pong) + if smi is not None: + pulumi.set(__self__, "smi", smi) + if stable_service is not None: + pulumi.set(__self__, "stable_service", stable_service) @property - @pulumi.getter(name="headerRouteName") - def header_route_name(self) -> str: - return pulumi.get(self, "header_route_name") + @pulumi.getter + def alb(self) -> Optional['outputs.RolloutSpecTrafficAlb']: + """ + Holds ALB Ingress specific configuration to route traffic. + """ + return pulumi.get(self, "alb") @property @pulumi.getter - def matches(self) -> Sequence['outputs.StrategyCanaryStepSetHeaderRouteMatch']: - return pulumi.get(self, "matches") + def ambassador(self) -> Optional['outputs.RolloutSpecTrafficAmbassador']: + """ + Holds specific configuration to use Ambassador to route traffic. + """ + return pulumi.get(self, "ambassador") + + @property + @pulumi.getter(name="canaryService") + def canary_service(self) -> Optional[str]: + """ + The canary service name. + """ + return pulumi.get(self, "canary_service") + + @property + @pulumi.getter + def istio(self) -> Optional['outputs.RolloutSpecTrafficIstio']: + """ + Holds Istio specific configuration to route traffic. + """ + return pulumi.get(self, "istio") + + @property + @pulumi.getter + def nginx(self) -> Optional['outputs.RolloutSpecTrafficNginx']: + """ + Holds Nginx Ingress specific configuration to route traffic. + """ + return pulumi.get(self, "nginx") + + @property + @pulumi.getter(name="pingPong") + def ping_pong(self) -> Optional['outputs.RolloutSpecTrafficPingPong']: + """ + Holds the ping and pong services. You can use `pingPong` field only when using ALB as a traffic manager with the IP Mode approach. + """ + return pulumi.get(self, "ping_pong") + + @property + @pulumi.getter + def smi(self) -> Optional['outputs.RolloutSpecTrafficSmi']: + """ + Holds TrafficSplit specific configuration to route traffic. + """ + return pulumi.get(self, "smi") + + @property + @pulumi.getter(name="stableService") + def stable_service(self) -> Optional[str]: + """ + The stable service name. + """ + return pulumi.get(self, "stable_service") @pulumi.output_type -class StrategyCanaryStepSetHeaderRouteMatch(dict): +class RolloutSpecTrafficAlb(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "headerName": - suggest = "header_name" - elif key == "headerValue": - suggest = "header_value" + if key == "albIngress": + suggest = "alb_ingress" + elif key == "albRootService": + suggest = "alb_root_service" + elif key == "servicePort": + suggest = "service_port" + elif key == "albAnnotationPrefix": + suggest = "alb_annotation_prefix" + elif key == "stickinessConfig": + suggest = "stickiness_config" if suggest: - pulumi.log.warn(f"Key '{key}' not found in StrategyCanaryStepSetHeaderRouteMatch. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in RolloutSpecTrafficAlb. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - StrategyCanaryStepSetHeaderRouteMatch.__key_warning(key) + RolloutSpecTrafficAlb.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - StrategyCanaryStepSetHeaderRouteMatch.__key_warning(key) + RolloutSpecTrafficAlb.__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) + alb_ingress: str, + alb_root_service: str, + service_port: int, + alb_annotation_prefix: Optional[str] = None, + stickiness_config: Optional['outputs.RolloutSpecTrafficAlbStickinessConfig'] = None): + pulumi.set(__self__, "alb_ingress", alb_ingress) + pulumi.set(__self__, "alb_root_service", alb_root_service) + pulumi.set(__self__, "service_port", service_port) + if alb_annotation_prefix is not None: + pulumi.set(__self__, "alb_annotation_prefix", alb_annotation_prefix) + if stickiness_config is not None: + pulumi.set(__self__, "stickiness_config", stickiness_config) @property - @pulumi.getter(name="headerName") - def header_name(self) -> str: - return pulumi.get(self, "header_name") + @pulumi.getter(name="albIngress") + def alb_ingress(self) -> str: + return pulumi.get(self, "alb_ingress") @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) + @pulumi.getter(name="albRootService") + def alb_root_service(self) -> str: + return pulumi.get(self, "alb_root_service") @property - @pulumi.getter - def exact(self) -> Optional[str]: - return pulumi.get(self, "exact") + @pulumi.getter(name="servicePort") + def service_port(self) -> int: + return pulumi.get(self, "service_port") @property - @pulumi.getter - def prefix(self) -> Optional[str]: - return pulumi.get(self, "prefix") + @pulumi.getter(name="albAnnotationPrefix") + def alb_annotation_prefix(self) -> Optional[str]: + return pulumi.get(self, "alb_annotation_prefix") @property - @pulumi.getter - def regex(self) -> Optional[str]: - return pulumi.get(self, "regex") + @pulumi.getter(name="stickinessConfig") + def stickiness_config(self) -> Optional['outputs.RolloutSpecTrafficAlbStickinessConfig']: + return pulumi.get(self, "stickiness_config") @pulumi.output_type -class StrategyCanaryStepVerification(dict): +class RolloutSpecTrafficAlbStickinessConfig(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "templateNames": - suggest = "template_names" + if key == "durationSeconds": + suggest = "duration_seconds" if suggest: - pulumi.log.warn(f"Key '{key}' not found in StrategyCanaryStepVerification. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in RolloutSpecTrafficAlbStickinessConfig. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - StrategyCanaryStepVerification.__key_warning(key) + RolloutSpecTrafficAlbStickinessConfig.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - StrategyCanaryStepVerification.__key_warning(key) + RolloutSpecTrafficAlbStickinessConfig.__key_warning(key) return super().get(key, default) def __init__(__self__, *, - template_names: Sequence[str]): - pulumi.set(__self__, "template_names", template_names) + duration_seconds: Optional[int] = None, + enabled: Optional[bool] = None): + if duration_seconds is not None: + pulumi.set(__self__, "duration_seconds", duration_seconds) + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) @property - @pulumi.getter(name="templateNames") - def template_names(self) -> Sequence[str]: - return pulumi.get(self, "template_names") + @pulumi.getter(name="durationSeconds") + def duration_seconds(self) -> Optional[int]: + return pulumi.get(self, "duration_seconds") + + @property + @pulumi.getter + def enabled(self) -> Optional[bool]: + return pulumi.get(self, "enabled") @pulumi.output_type -class StrategyRolling(dict): +class RolloutSpecTrafficAmbassador(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) + mappings: Sequence[str]): + pulumi.set(__self__, "mappings", mappings) @property @pulumi.getter - def steps(self) -> Sequence['outputs.StrategyRollingStep']: - """ - A set of separate conditions of rollout processing. - """ - return pulumi.get(self, "steps") + def mappings(self) -> Sequence[str]: + return pulumi.get(self, "mappings") @pulumi.output_type -class StrategyRollingStep(dict): +class RolloutSpecTrafficIstio(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "stepsName": - suggest = "steps_name" + if key == "virtualServices": + suggest = "virtual_services" + elif key == "destinationRule": + suggest = "destination_rule" if suggest: - pulumi.log.warn(f"Key '{key}' not found in StrategyRollingStep. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in RolloutSpecTrafficIstio. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - StrategyRollingStep.__key_warning(key) + RolloutSpecTrafficIstio.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - StrategyRollingStep.__key_warning(key) + RolloutSpecTrafficIstio.__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") + virtual_services: Sequence['outputs.RolloutSpecTrafficIstioVirtualService'], + destination_rule: Optional['outputs.RolloutSpecTrafficIstioDestinationRule'] = None): + pulumi.set(__self__, "virtual_services", virtual_services) + if destination_rule is not None: + pulumi.set(__self__, "destination_rule", destination_rule) @property - @pulumi.getter(name="stepsName") - def steps_name(self) -> Optional[str]: - return pulumi.get(self, "steps_name") + @pulumi.getter(name="virtualServices") + def virtual_services(self) -> Sequence['outputs.RolloutSpecTrafficIstioVirtualService']: + return pulumi.get(self, "virtual_services") @property - @pulumi.getter - def verification(self) -> Optional['outputs.StrategyRollingStepVerification']: - return pulumi.get(self, "verification") + @pulumi.getter(name="destinationRule") + def destination_rule(self) -> Optional['outputs.RolloutSpecTrafficIstioDestinationRule']: + return pulumi.get(self, "destination_rule") @pulumi.output_type -class StrategyRollingStepPause(dict): +class RolloutSpecTrafficIstioDestinationRule(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "canarySubsetName": + suggest = "canary_subset_name" + elif key == "destinationRuleName": + suggest = "destination_rule_name" + elif key == "stableSubsetName": + suggest = "stable_subset_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RolloutSpecTrafficIstioDestinationRule. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RolloutSpecTrafficIstioDestinationRule.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RolloutSpecTrafficIstioDestinationRule.__key_warning(key) + return super().get(key, default) + def __init__(__self__, *, - duration: Optional[str] = None): - if duration is not None: - pulumi.set(__self__, "duration", duration) + canary_subset_name: str, + destination_rule_name: str, + stable_subset_name: str): + pulumi.set(__self__, "canary_subset_name", canary_subset_name) + pulumi.set(__self__, "destination_rule_name", destination_rule_name) + pulumi.set(__self__, "stable_subset_name", stable_subset_name) @property - @pulumi.getter - def duration(self) -> Optional[str]: - return pulumi.get(self, "duration") + @pulumi.getter(name="canarySubsetName") + def canary_subset_name(self) -> str: + return pulumi.get(self, "canary_subset_name") + + @property + @pulumi.getter(name="destinationRuleName") + def destination_rule_name(self) -> str: + return pulumi.get(self, "destination_rule_name") + + @property + @pulumi.getter(name="stableSubsetName") + def stable_subset_name(self) -> str: + return pulumi.get(self, "stable_subset_name") @pulumi.output_type -class StrategyRollingStepVerification(dict): +class RolloutSpecTrafficIstioVirtualService(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "templateNames": - suggest = "template_names" + if key == "virtualServiceName": + suggest = "virtual_service_name" + elif key == "tlsRoutes": + suggest = "tls_routes" + elif key == "virtualServiceRoutes": + suggest = "virtual_service_routes" if suggest: - pulumi.log.warn(f"Key '{key}' not found in StrategyRollingStepVerification. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in RolloutSpecTrafficIstioVirtualService. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - StrategyRollingStepVerification.__key_warning(key) + RolloutSpecTrafficIstioVirtualService.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - StrategyRollingStepVerification.__key_warning(key) + RolloutSpecTrafficIstioVirtualService.__key_warning(key) return super().get(key, default) def __init__(__self__, *, - template_names: Sequence[str]): - pulumi.set(__self__, "template_names", template_names) + virtual_service_name: str, + tls_routes: Optional[Sequence['outputs.RolloutSpecTrafficIstioVirtualServiceTlsRoute']] = None, + virtual_service_routes: Optional[Sequence[str]] = None): + pulumi.set(__self__, "virtual_service_name", virtual_service_name) + if tls_routes is not None: + pulumi.set(__self__, "tls_routes", tls_routes) + if virtual_service_routes is not None: + pulumi.set(__self__, "virtual_service_routes", virtual_service_routes) @property - @pulumi.getter(name="templateNames") - def template_names(self) -> Sequence[str]: - return pulumi.get(self, "template_names") + @pulumi.getter(name="virtualServiceName") + def virtual_service_name(self) -> str: + return pulumi.get(self, "virtual_service_name") + + @property + @pulumi.getter(name="tlsRoutes") + def tls_routes(self) -> Optional[Sequence['outputs.RolloutSpecTrafficIstioVirtualServiceTlsRoute']]: + return pulumi.get(self, "tls_routes") + + @property + @pulumi.getter(name="virtualServiceRoutes") + def virtual_service_routes(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "virtual_service_routes") @pulumi.output_type -class VerificationProviderCloudWatch(dict): +class RolloutSpecTrafficIstioVirtualServiceTlsRoute(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "iamArn": - suggest = "iam_arn" + if key == "sniHosts": + suggest = "sni_hosts" if suggest: - pulumi.log.warn(f"Key '{key}' not found in VerificationProviderCloudWatch. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in RolloutSpecTrafficIstioVirtualServiceTlsRoute. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - VerificationProviderCloudWatch.__key_warning(key) + RolloutSpecTrafficIstioVirtualServiceTlsRoute.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - VerificationProviderCloudWatch.__key_warning(key) + RolloutSpecTrafficIstioVirtualServiceTlsRoute.__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) + port: Optional[int] = None, + sni_hosts: Optional[Sequence[str]] = None): + if port is not None: + pulumi.set(__self__, "port", port) + if sni_hosts is not None: + pulumi.set(__self__, "sni_hosts", sni_hosts) @property - @pulumi.getter(name="iamArn") - def iam_arn(self) -> str: - """ - Set label key. - """ - return pulumi.get(self, "iam_arn") + @pulumi.getter + def port(self) -> Optional[int]: + return pulumi.get(self, "port") + + @property + @pulumi.getter(name="sniHosts") + def sni_hosts(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "sni_hosts") @pulumi.output_type -class VerificationProviderDatadog(dict): +class RolloutSpecTrafficNginx(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "apiKey": - suggest = "api_key" - elif key == "appKey": - suggest = "app_key" + if key == "stableIngress": + suggest = "stable_ingress" + elif key == "additionalIngressAnnotation": + suggest = "additional_ingress_annotation" + elif key == "nginxAnnotationPrefix": + suggest = "nginx_annotation_prefix" if suggest: - pulumi.log.warn(f"Key '{key}' not found in VerificationProviderDatadog. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in RolloutSpecTrafficNginx. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - VerificationProviderDatadog.__key_warning(key) + RolloutSpecTrafficNginx.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - VerificationProviderDatadog.__key_warning(key) + RolloutSpecTrafficNginx.__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) + stable_ingress: str, + additional_ingress_annotation: Optional['outputs.RolloutSpecTrafficNginxAdditionalIngressAnnotation'] = None, + nginx_annotation_prefix: Optional[str] = None): + pulumi.set(__self__, "stable_ingress", stable_ingress) + if additional_ingress_annotation is not None: + pulumi.set(__self__, "additional_ingress_annotation", additional_ingress_annotation) + if nginx_annotation_prefix is not None: + pulumi.set(__self__, "nginx_annotation_prefix", nginx_annotation_prefix) @property - @pulumi.getter - def address(self) -> str: - """ - DataDog API URL. - """ - return pulumi.get(self, "address") + @pulumi.getter(name="stableIngress") + def stable_ingress(self) -> str: + return pulumi.get(self, "stable_ingress") @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") + @pulumi.getter(name="additionalIngressAnnotation") + def additional_ingress_annotation(self) -> Optional['outputs.RolloutSpecTrafficNginxAdditionalIngressAnnotation']: + return pulumi.get(self, "additional_ingress_annotation") @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.getter(name="nginxAnnotationPrefix") + def nginx_annotation_prefix(self) -> Optional[str]: + return pulumi.get(self, "nginx_annotation_prefix") @pulumi.output_type -class VerificationProviderJenkins(dict): +class RolloutSpecTrafficNginxAdditionalIngressAnnotation(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "apiToken": - suggest = "api_token" - elif key == "baseUrl": - suggest = "base_url" + if key == "canaryByHeader": + suggest = "canary_by_header" if suggest: - pulumi.log.warn(f"Key '{key}' not found in VerificationProviderJenkins. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in RolloutSpecTrafficNginxAdditionalIngressAnnotation. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - VerificationProviderJenkins.__key_warning(key) + RolloutSpecTrafficNginxAdditionalIngressAnnotation.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - VerificationProviderJenkins.__key_warning(key) + RolloutSpecTrafficNginxAdditionalIngressAnnotation.__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") + canary_by_header: Optional[str] = None, + key1: Optional[str] = None): + if canary_by_header is not None: + pulumi.set(__self__, "canary_by_header", canary_by_header) + if key1 is not None: + pulumi.set(__self__, "key1", key1) @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") + @pulumi.getter(name="canaryByHeader") + def canary_by_header(self) -> Optional[str]: + return pulumi.get(self, "canary_by_header") @property @pulumi.getter - def username(self) -> str: - """ - The Jenkins server’s access username. - """ - return pulumi.get(self, "username") + def key1(self) -> Optional[str]: + return pulumi.get(self, "key1") @pulumi.output_type -class VerificationProviderNewRelic(dict): +class RolloutSpecTrafficPingPong(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 key == "pingService": + suggest = "ping_service" + elif key == "pongService": + suggest = "pong_service" if suggest: - pulumi.log.warn(f"Key '{key}' not found in VerificationProviderNewRelic. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in RolloutSpecTrafficPingPong. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - VerificationProviderNewRelic.__key_warning(key) + RolloutSpecTrafficPingPong.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - VerificationProviderNewRelic.__key_warning(key) + RolloutSpecTrafficPingPong.__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) + ping_service: str, + pong_service: str): + pulumi.set(__self__, "ping_service", ping_service) + pulumi.set(__self__, "pong_service", pong_service) @property - @pulumi.getter(name="accountId") - def account_id(self) -> str: - return pulumi.get(self, "account_id") + @pulumi.getter(name="pingService") + def ping_service(self) -> str: + return pulumi.get(self, "ping_service") @property - @pulumi.getter(name="personalApiKey") - def personal_api_key(self) -> str: - """ - The NewRelic user key - """ - return pulumi.get(self, "personal_api_key") + @pulumi.getter(name="pongService") + def pong_service(self) -> str: + return pulumi.get(self, "pong_service") - @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") +@pulumi.output_type +class RolloutSpecTrafficSmi(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "smiRootService": + suggest = "smi_root_service" + elif key == "trafficSplitName": + suggest = "traffic_split_name" - @property - @pulumi.getter - def region(self) -> Optional[str]: - """ - A region which the account is attached to. Default is "us". - """ - return pulumi.get(self, "region") + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RolloutSpecTrafficSmi. Access the value via the '{suggest}' property getter instead.") + def __getitem__(self, key: str) -> Any: + RolloutSpecTrafficSmi.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RolloutSpecTrafficSmi.__key_warning(key) + return super().get(key, default) -@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) + smi_root_service: Optional[str] = None, + traffic_split_name: Optional[str] = None): + if smi_root_service is not None: + pulumi.set(__self__, "smi_root_service", smi_root_service) + if traffic_split_name is not None: + pulumi.set(__self__, "traffic_split_name", traffic_split_name) @property - @pulumi.getter - def address(self) -> str: - """ - The address which the Prometheus server available on. - """ - return pulumi.get(self, "address") + @pulumi.getter(name="smiRootService") + def smi_root_service(self) -> Optional[str]: + return pulumi.get(self, "smi_root_service") + + @property + @pulumi.getter(name="trafficSplitName") + def traffic_split_name(self) -> Optional[str]: + return pulumi.get(self, "traffic_split_name") + + +@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") + + +@pulumi.output_type +class VerificationTemplateArg(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "argName": + suggest = "arg_name" + elif key == "valueFrom": + suggest = "value_from" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VerificationTemplateArg. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VerificationTemplateArg.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VerificationTemplateArg.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + arg_name: str, + value: Optional[str] = None, + value_from: Optional['outputs.VerificationTemplateArgValueFrom'] = None): + """ + :param str arg_name: Name of an argument. + :param str value: String representation of data. + :param 'VerificationTemplateArgValueFromArgs' value_from: ValueFrom object. + """ + pulumi.set(__self__, "arg_name", arg_name) + if value is not None: + pulumi.set(__self__, "value", value) + if value_from is not None: + pulumi.set(__self__, "value_from", value_from) + + @property + @pulumi.getter(name="argName") + def arg_name(self) -> str: + """ + Name of an argument. + """ + return pulumi.get(self, "arg_name") + + @property + @pulumi.getter + def value(self) -> Optional[str]: + """ + String representation of data. + """ + return pulumi.get(self, "value") + + @property + @pulumi.getter(name="valueFrom") + def value_from(self) -> Optional['outputs.VerificationTemplateArgValueFrom']: + """ + ValueFrom object. + """ + return pulumi.get(self, "value_from") + + +@pulumi.output_type +class VerificationTemplateArgValueFrom(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "secretKeyRef": + suggest = "secret_key_ref" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VerificationTemplateArgValueFrom. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VerificationTemplateArgValueFrom.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VerificationTemplateArgValueFrom.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + secret_key_ref: Optional['outputs.VerificationTemplateArgValueFromSecretKeyRef'] = None): + if secret_key_ref is not None: + pulumi.set(__self__, "secret_key_ref", secret_key_ref) + + @property + @pulumi.getter(name="secretKeyRef") + def secret_key_ref(self) -> Optional['outputs.VerificationTemplateArgValueFromSecretKeyRef']: + return pulumi.get(self, "secret_key_ref") + + +@pulumi.output_type +class VerificationTemplateArgValueFromSecretKeyRef(dict): + def __init__(__self__, *, + key: str, + name: str): + """ + :param str name: Identifier name for Ocean CD Verification Template. Must be unique. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def key(self) -> str: + return pulumi.get(self, "key") + + @property + @pulumi.getter + def name(self) -> str: + """ + Identifier name for Ocean CD Verification Template. Must be unique. + """ + return pulumi.get(self, "name") + + +@pulumi.output_type +class VerificationTemplateMetric(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "metricsName": + suggest = "metrics_name" + elif key == "consecutiveErrorLimit": + suggest = "consecutive_error_limit" + elif key == "dryRun": + suggest = "dry_run" + elif key == "failureCondition": + suggest = "failure_condition" + elif key == "failureLimit": + suggest = "failure_limit" + elif key == "initialDelay": + suggest = "initial_delay" + elif key == "successCondition": + suggest = "success_condition" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VerificationTemplateMetric. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VerificationTemplateMetric.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VerificationTemplateMetric.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + metrics_name: str, + providers: Sequence['outputs.VerificationTemplateMetricProvider'], + baseline: Optional['outputs.VerificationTemplateMetricBaseline'] = None, + consecutive_error_limit: Optional[int] = None, + count: Optional[int] = None, + dry_run: Optional[bool] = None, + failure_condition: Optional[str] = None, + failure_limit: Optional[int] = None, + initial_delay: Optional[str] = None, + interval: Optional[str] = None, + success_condition: Optional[str] = None): + """ + :param str metrics_name: The name of the verification metric. + :param Sequence['VerificationTemplateMetricProviderArgs'] providers: The name of the monitoring tool chosen for the metric. + :param 'VerificationTemplateMetricBaselineArgs' baseline: Baseline Object. + :param int consecutive_error_limit: The maximum number of times the measurement is allowed to error in succession, before the metric is considered error.Default is 4.When choosing `Jenkins` as the provider, there is no need to send this variable. + :param int count: The number of times to run the measurement. If both interval and count are omitted, the effective count is 1. If only interval is specified, metric runs indefinitely. If count > 1, interval must be specified. When choosing `Jenkins` as the provider, there is no need to send this variable. + :param bool dry_run: Defines whether the metric should have an impact on the result of the rollout. + :param str failure_condition: An expression which determines if a measurement is considered failed.If failureCondition is set, then successCondition is not allowed. When choosing Jenkins as the provider, there is no need to send this variable. + :param int failure_limit: The maximum number of times the measurement is allowed to fail, before the entire metric is considered failed.Default is 0. When choosing `Jenkins` as the provider, there is no need to send this variable. + :param str initial_delay: How long to wait before starting this metric measurements. When choosing Jenkins as the provider, there is no need to send this variable. + :param str interval: Defines an interval string (30s, 5m, 1h) between each verification measurements. If omitted, will perform a single measurement.When choosing Jenkins as the provider, there is no need to send this variable. + :param str success_condition: An expression which determines if a measurement is considered successful. The keyword `result` is a variable reference to the value of measurement. Results can be both structured data or primitive. If successCondition is set, then failureCondition is not allowed. When choosing `Jenkins` as the provider, there is no need to send this variable. + """ + pulumi.set(__self__, "metrics_name", metrics_name) + pulumi.set(__self__, "providers", providers) + if baseline is not None: + pulumi.set(__self__, "baseline", baseline) + if consecutive_error_limit is not None: + pulumi.set(__self__, "consecutive_error_limit", consecutive_error_limit) + if count is not None: + pulumi.set(__self__, "count", count) + if dry_run is not None: + pulumi.set(__self__, "dry_run", dry_run) + if failure_condition is not None: + pulumi.set(__self__, "failure_condition", failure_condition) + if failure_limit is not None: + pulumi.set(__self__, "failure_limit", failure_limit) + if initial_delay is not None: + pulumi.set(__self__, "initial_delay", initial_delay) + if interval is not None: + pulumi.set(__self__, "interval", interval) + if success_condition is not None: + pulumi.set(__self__, "success_condition", success_condition) + + @property + @pulumi.getter(name="metricsName") + def metrics_name(self) -> str: + """ + The name of the verification metric. + """ + return pulumi.get(self, "metrics_name") + + @property + @pulumi.getter + def providers(self) -> Sequence['outputs.VerificationTemplateMetricProvider']: + """ + The name of the monitoring tool chosen for the metric. + """ + return pulumi.get(self, "providers") + + @property + @pulumi.getter + def baseline(self) -> Optional['outputs.VerificationTemplateMetricBaseline']: + """ + Baseline Object. + """ + return pulumi.get(self, "baseline") + + @property + @pulumi.getter(name="consecutiveErrorLimit") + def consecutive_error_limit(self) -> Optional[int]: + """ + The maximum number of times the measurement is allowed to error in succession, before the metric is considered error.Default is 4.When choosing `Jenkins` as the provider, there is no need to send this variable. + """ + return pulumi.get(self, "consecutive_error_limit") + + @property + @pulumi.getter + def count(self) -> Optional[int]: + """ + The number of times to run the measurement. If both interval and count are omitted, the effective count is 1. If only interval is specified, metric runs indefinitely. If count > 1, interval must be specified. When choosing `Jenkins` as the provider, there is no need to send this variable. + """ + return pulumi.get(self, "count") + + @property + @pulumi.getter(name="dryRun") + def dry_run(self) -> Optional[bool]: + """ + Defines whether the metric should have an impact on the result of the rollout. + """ + return pulumi.get(self, "dry_run") + + @property + @pulumi.getter(name="failureCondition") + def failure_condition(self) -> Optional[str]: + """ + An expression which determines if a measurement is considered failed.If failureCondition is set, then successCondition is not allowed. When choosing Jenkins as the provider, there is no need to send this variable. + """ + return pulumi.get(self, "failure_condition") + + @property + @pulumi.getter(name="failureLimit") + def failure_limit(self) -> Optional[int]: + """ + The maximum number of times the measurement is allowed to fail, before the entire metric is considered failed.Default is 0. When choosing `Jenkins` as the provider, there is no need to send this variable. + """ + return pulumi.get(self, "failure_limit") + + @property + @pulumi.getter(name="initialDelay") + def initial_delay(self) -> Optional[str]: + """ + How long to wait before starting this metric measurements. When choosing Jenkins as the provider, there is no need to send this variable. + """ + return pulumi.get(self, "initial_delay") + + @property + @pulumi.getter + def interval(self) -> Optional[str]: + """ + Defines an interval string (30s, 5m, 1h) between each verification measurements. If omitted, will perform a single measurement.When choosing Jenkins as the provider, there is no need to send this variable. + """ + return pulumi.get(self, "interval") + + @property + @pulumi.getter(name="successCondition") + def success_condition(self) -> Optional[str]: + """ + An expression which determines if a measurement is considered successful. The keyword `result` is a variable reference to the value of measurement. Results can be both structured data or primitive. If successCondition is set, then failureCondition is not allowed. When choosing `Jenkins` as the provider, there is no need to send this variable. + """ + return pulumi.get(self, "success_condition") + + +@pulumi.output_type +class VerificationTemplateMetricBaseline(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "baselineProviders": + suggest = "baseline_providers" + elif key == "maxRange": + suggest = "max_range" + elif key == "minRange": + suggest = "min_range" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VerificationTemplateMetricBaseline. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VerificationTemplateMetricBaseline.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VerificationTemplateMetricBaseline.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + baseline_providers: Sequence['outputs.VerificationTemplateMetricBaselineBaselineProvider'], + threshold: str, + max_range: Optional[int] = None, + min_range: Optional[int] = None): + pulumi.set(__self__, "baseline_providers", baseline_providers) + pulumi.set(__self__, "threshold", threshold) + if max_range is not None: + pulumi.set(__self__, "max_range", max_range) + if min_range is not None: + pulumi.set(__self__, "min_range", min_range) + + @property + @pulumi.getter(name="baselineProviders") + def baseline_providers(self) -> Sequence['outputs.VerificationTemplateMetricBaselineBaselineProvider']: + return pulumi.get(self, "baseline_providers") + + @property + @pulumi.getter + def threshold(self) -> str: + return pulumi.get(self, "threshold") + + @property + @pulumi.getter(name="maxRange") + def max_range(self) -> Optional[int]: + return pulumi.get(self, "max_range") + + @property + @pulumi.getter(name="minRange") + def min_range(self) -> Optional[int]: + return pulumi.get(self, "min_range") + + +@pulumi.output_type +class VerificationTemplateMetricBaselineBaselineProvider(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "newRelic": + suggest = "new_relic" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VerificationTemplateMetricBaselineBaselineProvider. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VerificationTemplateMetricBaselineBaselineProvider.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VerificationTemplateMetricBaselineBaselineProvider.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + datadog: Optional['outputs.VerificationTemplateMetricBaselineBaselineProviderDatadog'] = None, + new_relic: Optional['outputs.VerificationTemplateMetricBaselineBaselineProviderNewRelic'] = None, + prometheus: Optional['outputs.VerificationTemplateMetricBaselineBaselineProviderPrometheus'] = None): + if datadog is not None: + pulumi.set(__self__, "datadog", datadog) + 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 + def datadog(self) -> Optional['outputs.VerificationTemplateMetricBaselineBaselineProviderDatadog']: + return pulumi.get(self, "datadog") + + @property + @pulumi.getter(name="newRelic") + def new_relic(self) -> Optional['outputs.VerificationTemplateMetricBaselineBaselineProviderNewRelic']: + return pulumi.get(self, "new_relic") + + @property + @pulumi.getter + def prometheus(self) -> Optional['outputs.VerificationTemplateMetricBaselineBaselineProviderPrometheus']: + return pulumi.get(self, "prometheus") + + +@pulumi.output_type +class VerificationTemplateMetricBaselineBaselineProviderDatadog(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "datadogQuery": + suggest = "datadog_query" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VerificationTemplateMetricBaselineBaselineProviderDatadog. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VerificationTemplateMetricBaselineBaselineProviderDatadog.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VerificationTemplateMetricBaselineBaselineProviderDatadog.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + datadog_query: str, + duration: Optional[str] = None): + pulumi.set(__self__, "datadog_query", datadog_query) + if duration is not None: + pulumi.set(__self__, "duration", duration) + + @property + @pulumi.getter(name="datadogQuery") + def datadog_query(self) -> str: + return pulumi.get(self, "datadog_query") + + @property + @pulumi.getter + def duration(self) -> Optional[str]: + return pulumi.get(self, "duration") + + +@pulumi.output_type +class VerificationTemplateMetricBaselineBaselineProviderNewRelic(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "newRelicQuery": + suggest = "new_relic_query" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VerificationTemplateMetricBaselineBaselineProviderNewRelic. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VerificationTemplateMetricBaselineBaselineProviderNewRelic.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VerificationTemplateMetricBaselineBaselineProviderNewRelic.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + new_relic_query: str, + profile: Optional[str] = None): + pulumi.set(__self__, "new_relic_query", new_relic_query) + if profile is not None: + pulumi.set(__self__, "profile", profile) + + @property + @pulumi.getter(name="newRelicQuery") + def new_relic_query(self) -> str: + return pulumi.get(self, "new_relic_query") + + @property + @pulumi.getter + def profile(self) -> Optional[str]: + return pulumi.get(self, "profile") + + +@pulumi.output_type +class VerificationTemplateMetricBaselineBaselineProviderPrometheus(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "prometheusQuery": + suggest = "prometheus_query" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VerificationTemplateMetricBaselineBaselineProviderPrometheus. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VerificationTemplateMetricBaselineBaselineProviderPrometheus.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VerificationTemplateMetricBaselineBaselineProviderPrometheus.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + prometheus_query: str): + pulumi.set(__self__, "prometheus_query", prometheus_query) + + @property + @pulumi.getter(name="prometheusQuery") + def prometheus_query(self) -> str: + return pulumi.get(self, "prometheus_query") + + +@pulumi.output_type +class VerificationTemplateMetricProvider(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "cloudWatch": + suggest = "cloud_watch" + elif key == "newRelic": + suggest = "new_relic" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VerificationTemplateMetricProvider. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VerificationTemplateMetricProvider.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VerificationTemplateMetricProvider.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + cloud_watch: Optional['outputs.VerificationTemplateMetricProviderCloudWatch'] = None, + datadog: Optional['outputs.VerificationTemplateMetricProviderDatadog'] = None, + jenkins: Optional['outputs.VerificationTemplateMetricProviderJenkins'] = None, + job: Optional['outputs.VerificationTemplateMetricProviderJob'] = None, + new_relic: Optional['outputs.VerificationTemplateMetricProviderNewRelic'] = None, + prometheus: Optional['outputs.VerificationTemplateMetricProviderPrometheus'] = None, + web: Optional['outputs.VerificationTemplateMetricProviderWeb'] = None): + 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 job is not None: + pulumi.set(__self__, "job", job) + if new_relic is not None: + pulumi.set(__self__, "new_relic", new_relic) + if prometheus is not None: + pulumi.set(__self__, "prometheus", prometheus) + if web is not None: + pulumi.set(__self__, "web", web) + + @property + @pulumi.getter(name="cloudWatch") + def cloud_watch(self) -> Optional['outputs.VerificationTemplateMetricProviderCloudWatch']: + return pulumi.get(self, "cloud_watch") + + @property + @pulumi.getter + def datadog(self) -> Optional['outputs.VerificationTemplateMetricProviderDatadog']: + return pulumi.get(self, "datadog") + + @property + @pulumi.getter + def jenkins(self) -> Optional['outputs.VerificationTemplateMetricProviderJenkins']: + return pulumi.get(self, "jenkins") + + @property + @pulumi.getter + def job(self) -> Optional['outputs.VerificationTemplateMetricProviderJob']: + return pulumi.get(self, "job") + + @property + @pulumi.getter(name="newRelic") + def new_relic(self) -> Optional['outputs.VerificationTemplateMetricProviderNewRelic']: + return pulumi.get(self, "new_relic") + + @property + @pulumi.getter + def prometheus(self) -> Optional['outputs.VerificationTemplateMetricProviderPrometheus']: + return pulumi.get(self, "prometheus") + + @property + @pulumi.getter + def web(self) -> Optional['outputs.VerificationTemplateMetricProviderWeb']: + return pulumi.get(self, "web") + + +@pulumi.output_type +class VerificationTemplateMetricProviderCloudWatch(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "metricDataQueries": + suggest = "metric_data_queries" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VerificationTemplateMetricProviderCloudWatch. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VerificationTemplateMetricProviderCloudWatch.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VerificationTemplateMetricProviderCloudWatch.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + metric_data_queries: Sequence['outputs.VerificationTemplateMetricProviderCloudWatchMetricDataQuery'], + duration: Optional[str] = None): + pulumi.set(__self__, "metric_data_queries", metric_data_queries) + if duration is not None: + pulumi.set(__self__, "duration", duration) + + @property + @pulumi.getter(name="metricDataQueries") + def metric_data_queries(self) -> Sequence['outputs.VerificationTemplateMetricProviderCloudWatchMetricDataQuery']: + return pulumi.get(self, "metric_data_queries") + + @property + @pulumi.getter + def duration(self) -> Optional[str]: + return pulumi.get(self, "duration") + + +@pulumi.output_type +class VerificationTemplateMetricProviderCloudWatchMetricDataQuery(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "metricStat": + suggest = "metric_stat" + elif key == "returnData": + suggest = "return_data" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VerificationTemplateMetricProviderCloudWatchMetricDataQuery. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VerificationTemplateMetricProviderCloudWatchMetricDataQuery.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VerificationTemplateMetricProviderCloudWatchMetricDataQuery.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + id: str, + expression: Optional[str] = None, + label: Optional[str] = None, + metric_stat: Optional['outputs.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat'] = None, + period: Optional[int] = None, + return_data: Optional[bool] = None): + pulumi.set(__self__, "id", id) + if expression is not None: + pulumi.set(__self__, "expression", expression) + if label is not None: + pulumi.set(__self__, "label", label) + if metric_stat is not None: + pulumi.set(__self__, "metric_stat", metric_stat) + if period is not None: + pulumi.set(__self__, "period", period) + if return_data is not None: + pulumi.set(__self__, "return_data", return_data) + + @property + @pulumi.getter + def id(self) -> str: + return pulumi.get(self, "id") + + @property + @pulumi.getter + def expression(self) -> Optional[str]: + return pulumi.get(self, "expression") + + @property + @pulumi.getter + def label(self) -> Optional[str]: + return pulumi.get(self, "label") + + @property + @pulumi.getter(name="metricStat") + def metric_stat(self) -> Optional['outputs.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat']: + return pulumi.get(self, "metric_stat") + + @property + @pulumi.getter + def period(self) -> Optional[int]: + return pulumi.get(self, "period") + + @property + @pulumi.getter(name="returnData") + def return_data(self) -> Optional[bool]: + return pulumi.get(self, "return_data") + + +@pulumi.output_type +class VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "metricPeriod": + suggest = "metric_period" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + metric: Optional['outputs.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric'] = None, + metric_period: Optional[int] = None, + stat: Optional[str] = None, + unit: Optional[str] = None): + if metric is not None: + pulumi.set(__self__, "metric", metric) + if metric_period is not None: + pulumi.set(__self__, "metric_period", metric_period) + if stat is not None: + pulumi.set(__self__, "stat", stat) + if unit is not None: + pulumi.set(__self__, "unit", unit) + + @property + @pulumi.getter + def metric(self) -> Optional['outputs.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric']: + return pulumi.get(self, "metric") + + @property + @pulumi.getter(name="metricPeriod") + def metric_period(self) -> Optional[int]: + return pulumi.get(self, "metric_period") + + @property + @pulumi.getter + def stat(self) -> Optional[str]: + return pulumi.get(self, "stat") + + @property + @pulumi.getter + def unit(self) -> Optional[str]: + return pulumi.get(self, "unit") + + +@pulumi.output_type +class VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "metricName": + suggest = "metric_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + metric_name: str, + dimensions: Optional[Sequence['outputs.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension']] = None, + namespace: Optional[str] = None): + pulumi.set(__self__, "metric_name", metric_name) + if dimensions is not None: + pulumi.set(__self__, "dimensions", dimensions) + if namespace is not None: + pulumi.set(__self__, "namespace", namespace) + + @property + @pulumi.getter(name="metricName") + def metric_name(self) -> str: + return pulumi.get(self, "metric_name") + + @property + @pulumi.getter + def dimensions(self) -> Optional[Sequence['outputs.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension']]: + return pulumi.get(self, "dimensions") + + @property + @pulumi.getter + def namespace(self) -> Optional[str]: + return pulumi.get(self, "namespace") + + +@pulumi.output_type +class VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "dimensionName": + suggest = "dimension_name" + elif key == "dimensionValue": + suggest = "dimension_value" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + dimension_name: str, + dimension_value: str): + pulumi.set(__self__, "dimension_name", dimension_name) + pulumi.set(__self__, "dimension_value", dimension_value) + + @property + @pulumi.getter(name="dimensionName") + def dimension_name(self) -> str: + return pulumi.get(self, "dimension_name") + + @property + @pulumi.getter(name="dimensionValue") + def dimension_value(self) -> str: + return pulumi.get(self, "dimension_value") + + +@pulumi.output_type +class VerificationTemplateMetricProviderDatadog(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "datadogQuery": + suggest = "datadog_query" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VerificationTemplateMetricProviderDatadog. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VerificationTemplateMetricProviderDatadog.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VerificationTemplateMetricProviderDatadog.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + datadog_query: Optional[str] = None, + duration: Optional[str] = None): + if datadog_query is not None: + pulumi.set(__self__, "datadog_query", datadog_query) + if duration is not None: + pulumi.set(__self__, "duration", duration) + + @property + @pulumi.getter(name="datadogQuery") + def datadog_query(self) -> Optional[str]: + return pulumi.get(self, "datadog_query") + + @property + @pulumi.getter + def duration(self) -> Optional[str]: + return pulumi.get(self, "duration") + + +@pulumi.output_type +class VerificationTemplateMetricProviderJenkins(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "jenkinsInterval": + suggest = "jenkins_interval" + elif key == "pipelineName": + suggest = "pipeline_name" + elif key == "jenkinsParameters": + suggest = "jenkins_parameters" + elif key == "tlsVerification": + suggest = "tls_verification" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VerificationTemplateMetricProviderJenkins. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VerificationTemplateMetricProviderJenkins.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VerificationTemplateMetricProviderJenkins.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + jenkins_interval: str, + pipeline_name: str, + timeout: str, + jenkins_parameters: Optional['outputs.VerificationTemplateMetricProviderJenkinsJenkinsParameters'] = None, + tls_verification: Optional[bool] = None): + pulumi.set(__self__, "jenkins_interval", jenkins_interval) + pulumi.set(__self__, "pipeline_name", pipeline_name) + pulumi.set(__self__, "timeout", timeout) + if jenkins_parameters is not None: + pulumi.set(__self__, "jenkins_parameters", jenkins_parameters) + if tls_verification is not None: + pulumi.set(__self__, "tls_verification", tls_verification) + + @property + @pulumi.getter(name="jenkinsInterval") + def jenkins_interval(self) -> str: + return pulumi.get(self, "jenkins_interval") + + @property + @pulumi.getter(name="pipelineName") + def pipeline_name(self) -> str: + return pulumi.get(self, "pipeline_name") + + @property + @pulumi.getter + def timeout(self) -> str: + return pulumi.get(self, "timeout") + + @property + @pulumi.getter(name="jenkinsParameters") + def jenkins_parameters(self) -> Optional['outputs.VerificationTemplateMetricProviderJenkinsJenkinsParameters']: + return pulumi.get(self, "jenkins_parameters") + + @property + @pulumi.getter(name="tlsVerification") + def tls_verification(self) -> Optional[bool]: + return pulumi.get(self, "tls_verification") + + +@pulumi.output_type +class VerificationTemplateMetricProviderJenkinsJenkinsParameters(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "parameterKey": + suggest = "parameter_key" + elif key == "parameterValue": + suggest = "parameter_value" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VerificationTemplateMetricProviderJenkinsJenkinsParameters. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VerificationTemplateMetricProviderJenkinsJenkinsParameters.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VerificationTemplateMetricProviderJenkinsJenkinsParameters.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + parameter_key: str, + parameter_value: str): + pulumi.set(__self__, "parameter_key", parameter_key) + pulumi.set(__self__, "parameter_value", parameter_value) + + @property + @pulumi.getter(name="parameterKey") + def parameter_key(self) -> str: + return pulumi.get(self, "parameter_key") + + @property + @pulumi.getter(name="parameterValue") + def parameter_value(self) -> str: + return pulumi.get(self, "parameter_value") + + +@pulumi.output_type +class VerificationTemplateMetricProviderJob(dict): + def __init__(__self__, *, + specs: Sequence['outputs.VerificationTemplateMetricProviderJobSpec']): + pulumi.set(__self__, "specs", specs) + + @property + @pulumi.getter + def specs(self) -> Sequence['outputs.VerificationTemplateMetricProviderJobSpec']: + return pulumi.get(self, "specs") + + +@pulumi.output_type +class VerificationTemplateMetricProviderJobSpec(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "jobTemplates": + suggest = "job_templates" + elif key == "backoffLimit": + suggest = "backoff_limit" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VerificationTemplateMetricProviderJobSpec. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VerificationTemplateMetricProviderJobSpec.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VerificationTemplateMetricProviderJobSpec.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + job_templates: Sequence['outputs.VerificationTemplateMetricProviderJobSpecJobTemplate'], + backoff_limit: Optional[int] = None): + pulumi.set(__self__, "job_templates", job_templates) + if backoff_limit is not None: + pulumi.set(__self__, "backoff_limit", backoff_limit) + + @property + @pulumi.getter(name="jobTemplates") + def job_templates(self) -> Sequence['outputs.VerificationTemplateMetricProviderJobSpecJobTemplate']: + return pulumi.get(self, "job_templates") + + @property + @pulumi.getter(name="backoffLimit") + def backoff_limit(self) -> Optional[int]: + return pulumi.get(self, "backoff_limit") + + +@pulumi.output_type +class VerificationTemplateMetricProviderJobSpecJobTemplate(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "templateSpecs": + suggest = "template_specs" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VerificationTemplateMetricProviderJobSpecJobTemplate. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VerificationTemplateMetricProviderJobSpecJobTemplate.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VerificationTemplateMetricProviderJobSpecJobTemplate.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + template_specs: Sequence['outputs.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec']): + pulumi.set(__self__, "template_specs", template_specs) + + @property + @pulumi.getter(name="templateSpecs") + def template_specs(self) -> Sequence['outputs.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec']: + return pulumi.get(self, "template_specs") + + +@pulumi.output_type +class VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "restartPolicy": + suggest = "restart_policy" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + containers: Sequence['outputs.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer'], + restart_policy: str): + pulumi.set(__self__, "containers", containers) + pulumi.set(__self__, "restart_policy", restart_policy) + + @property + @pulumi.getter + def containers(self) -> Sequence['outputs.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer']: + return pulumi.get(self, "containers") + + @property + @pulumi.getter(name="restartPolicy") + def restart_policy(self) -> str: + return pulumi.get(self, "restart_policy") + + +@pulumi.output_type +class VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "containerName": + suggest = "container_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + commands: Sequence[str], + container_name: str, + image: str): + pulumi.set(__self__, "commands", commands) + pulumi.set(__self__, "container_name", container_name) + pulumi.set(__self__, "image", image) + + @property + @pulumi.getter + def commands(self) -> Sequence[str]: + return pulumi.get(self, "commands") + + @property + @pulumi.getter(name="containerName") + def container_name(self) -> str: + return pulumi.get(self, "container_name") + + @property + @pulumi.getter + def image(self) -> str: + return pulumi.get(self, "image") + + +@pulumi.output_type +class VerificationTemplateMetricProviderNewRelic(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "newRelicQuery": + suggest = "new_relic_query" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VerificationTemplateMetricProviderNewRelic. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VerificationTemplateMetricProviderNewRelic.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VerificationTemplateMetricProviderNewRelic.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + new_relic_query: str, + profile: Optional[str] = None): + pulumi.set(__self__, "new_relic_query", new_relic_query) + if profile is not None: + pulumi.set(__self__, "profile", profile) + + @property + @pulumi.getter(name="newRelicQuery") + def new_relic_query(self) -> str: + return pulumi.get(self, "new_relic_query") + + @property + @pulumi.getter + def profile(self) -> Optional[str]: + return pulumi.get(self, "profile") + + +@pulumi.output_type +class VerificationTemplateMetricProviderPrometheus(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "prometheusQuery": + suggest = "prometheus_query" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VerificationTemplateMetricProviderPrometheus. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VerificationTemplateMetricProviderPrometheus.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VerificationTemplateMetricProviderPrometheus.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + prometheus_query: str): + pulumi.set(__self__, "prometheus_query", prometheus_query) + + @property + @pulumi.getter(name="prometheusQuery") + def prometheus_query(self) -> str: + return pulumi.get(self, "prometheus_query") + + +@pulumi.output_type +class VerificationTemplateMetricProviderWeb(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "jsonPath": + suggest = "json_path" + elif key == "timeoutSeconds": + suggest = "timeout_seconds" + elif key == "webHeaders": + suggest = "web_headers" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VerificationTemplateMetricProviderWeb. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VerificationTemplateMetricProviderWeb.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VerificationTemplateMetricProviderWeb.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + url: str, + body: Optional[str] = None, + insecure: Optional[bool] = None, + json_path: Optional[str] = None, + method: Optional[str] = None, + timeout_seconds: Optional[int] = None, + web_headers: Optional[Sequence['outputs.VerificationTemplateMetricProviderWebWebHeader']] = None): + pulumi.set(__self__, "url", url) + if body is not None: + pulumi.set(__self__, "body", body) + if insecure is not None: + pulumi.set(__self__, "insecure", insecure) + if json_path is not None: + pulumi.set(__self__, "json_path", json_path) + if method is not None: + pulumi.set(__self__, "method", method) + if timeout_seconds is not None: + pulumi.set(__self__, "timeout_seconds", timeout_seconds) + if web_headers is not None: + pulumi.set(__self__, "web_headers", web_headers) + + @property + @pulumi.getter + def url(self) -> str: + return pulumi.get(self, "url") + + @property + @pulumi.getter + def body(self) -> Optional[str]: + return pulumi.get(self, "body") + + @property + @pulumi.getter + def insecure(self) -> Optional[bool]: + return pulumi.get(self, "insecure") + + @property + @pulumi.getter(name="jsonPath") + def json_path(self) -> Optional[str]: + return pulumi.get(self, "json_path") + + @property + @pulumi.getter + def method(self) -> Optional[str]: + return pulumi.get(self, "method") + + @property + @pulumi.getter(name="timeoutSeconds") + def timeout_seconds(self) -> Optional[int]: + return pulumi.get(self, "timeout_seconds") + + @property + @pulumi.getter(name="webHeaders") + def web_headers(self) -> Optional[Sequence['outputs.VerificationTemplateMetricProviderWebWebHeader']]: + return pulumi.get(self, "web_headers") + + +@pulumi.output_type +class VerificationTemplateMetricProviderWebWebHeader(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "webHeaderKey": + suggest = "web_header_key" + elif key == "webHeaderValue": + suggest = "web_header_value" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VerificationTemplateMetricProviderWebWebHeader. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VerificationTemplateMetricProviderWebWebHeader.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VerificationTemplateMetricProviderWebWebHeader.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + web_header_key: str, + web_header_value: str): + pulumi.set(__self__, "web_header_key", web_header_key) + pulumi.set(__self__, "web_header_value", web_header_value) + + @property + @pulumi.getter(name="webHeaderKey") + def web_header_key(self) -> str: + return pulumi.get(self, "web_header_key") + + @property + @pulumi.getter(name="webHeaderValue") + def web_header_value(self) -> str: + return pulumi.get(self, "web_header_value") diff --git a/sdk/python/pulumi_spotinst/oceancd/rollout_spec.py b/sdk/python/pulumi_spotinst/oceancd/rollout_spec.py new file mode 100644 index 00000000..d9ed4d2d --- /dev/null +++ b/sdk/python/pulumi_spotinst/oceancd/rollout_spec.py @@ -0,0 +1,384 @@ +# 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__ = ['RolloutSpecArgs', 'RolloutSpec'] + +@pulumi.input_type +class RolloutSpecArgs: + def __init__(__self__, *, + rollout_spec_name: pulumi.Input[str], + strategy: pulumi.Input['RolloutSpecStrategyArgs'], + failure_policy: Optional[pulumi.Input['RolloutSpecFailurePolicyArgs']] = None, + spot_deployment: Optional[pulumi.Input['RolloutSpecSpotDeploymentArgs']] = None, + spot_deployments: Optional[pulumi.Input[Sequence[pulumi.Input['RolloutSpecSpotDeploymentArgs']]]] = None, + traffic: Optional[pulumi.Input['RolloutSpecTrafficArgs']] = None): + """ + The set of arguments for constructing a RolloutSpec resource. + :param pulumi.Input[str] rollout_spec_name: Identifier name for Ocean CD Rollout Spec. Must be unique + :param pulumi.Input['RolloutSpecStrategyArgs'] strategy: Determines the Ocean CD strategy + :param pulumi.Input['RolloutSpecFailurePolicyArgs'] failure_policy: Holds information on how to react when failure happens. + :param pulumi.Input['RolloutSpecSpotDeploymentArgs'] spot_deployment: Represents the SpotDeployment selector. + :param pulumi.Input[Sequence[pulumi.Input['RolloutSpecSpotDeploymentArgs']]] spot_deployments: You must specify either `spotDeployment` OR `spotDeployments` but not both. Every SpotDeployment has to be unique. If more than one `SpotDeployment` has been configured, no `traffic` managers can be set as part of the RolloutSpec.For such case ensure that each of the chosen SpotDeployments are being exposed with different Kubernetes services. + :param pulumi.Input['RolloutSpecTrafficArgs'] traffic: Hosts all of the supported service meshes needed to enable more fine-grained traffic routing. In case `SpotDeployments` contains more than one SpotDeployment the `traffic` manager may not be configured. + """ + pulumi.set(__self__, "rollout_spec_name", rollout_spec_name) + pulumi.set(__self__, "strategy", strategy) + if failure_policy is not None: + pulumi.set(__self__, "failure_policy", failure_policy) + if spot_deployment is not None: + pulumi.set(__self__, "spot_deployment", spot_deployment) + if spot_deployments is not None: + pulumi.set(__self__, "spot_deployments", spot_deployments) + if traffic is not None: + pulumi.set(__self__, "traffic", traffic) + + @property + @pulumi.getter(name="rolloutSpecName") + def rollout_spec_name(self) -> pulumi.Input[str]: + """ + Identifier name for Ocean CD Rollout Spec. Must be unique + """ + return pulumi.get(self, "rollout_spec_name") + + @rollout_spec_name.setter + def rollout_spec_name(self, value: pulumi.Input[str]): + pulumi.set(self, "rollout_spec_name", value) + + @property + @pulumi.getter + def strategy(self) -> pulumi.Input['RolloutSpecStrategyArgs']: + """ + Determines the Ocean CD strategy + """ + return pulumi.get(self, "strategy") + + @strategy.setter + def strategy(self, value: pulumi.Input['RolloutSpecStrategyArgs']): + pulumi.set(self, "strategy", value) + + @property + @pulumi.getter(name="failurePolicy") + def failure_policy(self) -> Optional[pulumi.Input['RolloutSpecFailurePolicyArgs']]: + """ + Holds information on how to react when failure happens. + """ + return pulumi.get(self, "failure_policy") + + @failure_policy.setter + def failure_policy(self, value: Optional[pulumi.Input['RolloutSpecFailurePolicyArgs']]): + pulumi.set(self, "failure_policy", value) + + @property + @pulumi.getter(name="spotDeployment") + def spot_deployment(self) -> Optional[pulumi.Input['RolloutSpecSpotDeploymentArgs']]: + """ + Represents the SpotDeployment selector. + """ + return pulumi.get(self, "spot_deployment") + + @spot_deployment.setter + def spot_deployment(self, value: Optional[pulumi.Input['RolloutSpecSpotDeploymentArgs']]): + pulumi.set(self, "spot_deployment", value) + + @property + @pulumi.getter(name="spotDeployments") + def spot_deployments(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RolloutSpecSpotDeploymentArgs']]]]: + """ + You must specify either `spotDeployment` OR `spotDeployments` but not both. Every SpotDeployment has to be unique. If more than one `SpotDeployment` has been configured, no `traffic` managers can be set as part of the RolloutSpec.For such case ensure that each of the chosen SpotDeployments are being exposed with different Kubernetes services. + """ + return pulumi.get(self, "spot_deployments") + + @spot_deployments.setter + def spot_deployments(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RolloutSpecSpotDeploymentArgs']]]]): + pulumi.set(self, "spot_deployments", value) + + @property + @pulumi.getter + def traffic(self) -> Optional[pulumi.Input['RolloutSpecTrafficArgs']]: + """ + Hosts all of the supported service meshes needed to enable more fine-grained traffic routing. In case `SpotDeployments` contains more than one SpotDeployment the `traffic` manager may not be configured. + """ + return pulumi.get(self, "traffic") + + @traffic.setter + def traffic(self, value: Optional[pulumi.Input['RolloutSpecTrafficArgs']]): + pulumi.set(self, "traffic", value) + + +@pulumi.input_type +class _RolloutSpecState: + def __init__(__self__, *, + failure_policy: Optional[pulumi.Input['RolloutSpecFailurePolicyArgs']] = None, + rollout_spec_name: Optional[pulumi.Input[str]] = None, + spot_deployment: Optional[pulumi.Input['RolloutSpecSpotDeploymentArgs']] = None, + spot_deployments: Optional[pulumi.Input[Sequence[pulumi.Input['RolloutSpecSpotDeploymentArgs']]]] = None, + strategy: Optional[pulumi.Input['RolloutSpecStrategyArgs']] = None, + traffic: Optional[pulumi.Input['RolloutSpecTrafficArgs']] = None): + """ + Input properties used for looking up and filtering RolloutSpec resources. + :param pulumi.Input['RolloutSpecFailurePolicyArgs'] failure_policy: Holds information on how to react when failure happens. + :param pulumi.Input[str] rollout_spec_name: Identifier name for Ocean CD Rollout Spec. Must be unique + :param pulumi.Input['RolloutSpecSpotDeploymentArgs'] spot_deployment: Represents the SpotDeployment selector. + :param pulumi.Input[Sequence[pulumi.Input['RolloutSpecSpotDeploymentArgs']]] spot_deployments: You must specify either `spotDeployment` OR `spotDeployments` but not both. Every SpotDeployment has to be unique. If more than one `SpotDeployment` has been configured, no `traffic` managers can be set as part of the RolloutSpec.For such case ensure that each of the chosen SpotDeployments are being exposed with different Kubernetes services. + :param pulumi.Input['RolloutSpecStrategyArgs'] strategy: Determines the Ocean CD strategy + :param pulumi.Input['RolloutSpecTrafficArgs'] traffic: Hosts all of the supported service meshes needed to enable more fine-grained traffic routing. In case `SpotDeployments` contains more than one SpotDeployment the `traffic` manager may not be configured. + """ + if failure_policy is not None: + pulumi.set(__self__, "failure_policy", failure_policy) + if rollout_spec_name is not None: + pulumi.set(__self__, "rollout_spec_name", rollout_spec_name) + if spot_deployment is not None: + pulumi.set(__self__, "spot_deployment", spot_deployment) + if spot_deployments is not None: + pulumi.set(__self__, "spot_deployments", spot_deployments) + if strategy is not None: + pulumi.set(__self__, "strategy", strategy) + if traffic is not None: + pulumi.set(__self__, "traffic", traffic) + + @property + @pulumi.getter(name="failurePolicy") + def failure_policy(self) -> Optional[pulumi.Input['RolloutSpecFailurePolicyArgs']]: + """ + Holds information on how to react when failure happens. + """ + return pulumi.get(self, "failure_policy") + + @failure_policy.setter + def failure_policy(self, value: Optional[pulumi.Input['RolloutSpecFailurePolicyArgs']]): + pulumi.set(self, "failure_policy", value) + + @property + @pulumi.getter(name="rolloutSpecName") + def rollout_spec_name(self) -> Optional[pulumi.Input[str]]: + """ + Identifier name for Ocean CD Rollout Spec. Must be unique + """ + return pulumi.get(self, "rollout_spec_name") + + @rollout_spec_name.setter + def rollout_spec_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "rollout_spec_name", value) + + @property + @pulumi.getter(name="spotDeployment") + def spot_deployment(self) -> Optional[pulumi.Input['RolloutSpecSpotDeploymentArgs']]: + """ + Represents the SpotDeployment selector. + """ + return pulumi.get(self, "spot_deployment") + + @spot_deployment.setter + def spot_deployment(self, value: Optional[pulumi.Input['RolloutSpecSpotDeploymentArgs']]): + pulumi.set(self, "spot_deployment", value) + + @property + @pulumi.getter(name="spotDeployments") + def spot_deployments(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RolloutSpecSpotDeploymentArgs']]]]: + """ + You must specify either `spotDeployment` OR `spotDeployments` but not both. Every SpotDeployment has to be unique. If more than one `SpotDeployment` has been configured, no `traffic` managers can be set as part of the RolloutSpec.For such case ensure that each of the chosen SpotDeployments are being exposed with different Kubernetes services. + """ + return pulumi.get(self, "spot_deployments") + + @spot_deployments.setter + def spot_deployments(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RolloutSpecSpotDeploymentArgs']]]]): + pulumi.set(self, "spot_deployments", value) + + @property + @pulumi.getter + def strategy(self) -> Optional[pulumi.Input['RolloutSpecStrategyArgs']]: + """ + Determines the Ocean CD strategy + """ + return pulumi.get(self, "strategy") + + @strategy.setter + def strategy(self, value: Optional[pulumi.Input['RolloutSpecStrategyArgs']]): + pulumi.set(self, "strategy", value) + + @property + @pulumi.getter + def traffic(self) -> Optional[pulumi.Input['RolloutSpecTrafficArgs']]: + """ + Hosts all of the supported service meshes needed to enable more fine-grained traffic routing. In case `SpotDeployments` contains more than one SpotDeployment the `traffic` manager may not be configured. + """ + return pulumi.get(self, "traffic") + + @traffic.setter + def traffic(self, value: Optional[pulumi.Input['RolloutSpecTrafficArgs']]): + pulumi.set(self, "traffic", value) + + +class RolloutSpec(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + failure_policy: Optional[pulumi.Input[pulumi.InputType['RolloutSpecFailurePolicyArgs']]] = None, + rollout_spec_name: Optional[pulumi.Input[str]] = None, + spot_deployment: Optional[pulumi.Input[pulumi.InputType['RolloutSpecSpotDeploymentArgs']]] = None, + spot_deployments: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RolloutSpecSpotDeploymentArgs']]]]] = None, + strategy: Optional[pulumi.Input[pulumi.InputType['RolloutSpecStrategyArgs']]] = None, + traffic: Optional[pulumi.Input[pulumi.InputType['RolloutSpecTrafficArgs']]] = None, + __props__=None): + """ + Manages a Spotinst OceanCD Rollout Spec resource. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[pulumi.InputType['RolloutSpecFailurePolicyArgs']] failure_policy: Holds information on how to react when failure happens. + :param pulumi.Input[str] rollout_spec_name: Identifier name for Ocean CD Rollout Spec. Must be unique + :param pulumi.Input[pulumi.InputType['RolloutSpecSpotDeploymentArgs']] spot_deployment: Represents the SpotDeployment selector. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RolloutSpecSpotDeploymentArgs']]]] spot_deployments: You must specify either `spotDeployment` OR `spotDeployments` but not both. Every SpotDeployment has to be unique. If more than one `SpotDeployment` has been configured, no `traffic` managers can be set as part of the RolloutSpec.For such case ensure that each of the chosen SpotDeployments are being exposed with different Kubernetes services. + :param pulumi.Input[pulumi.InputType['RolloutSpecStrategyArgs']] strategy: Determines the Ocean CD strategy + :param pulumi.Input[pulumi.InputType['RolloutSpecTrafficArgs']] traffic: Hosts all of the supported service meshes needed to enable more fine-grained traffic routing. In case `SpotDeployments` contains more than one SpotDeployment the `traffic` manager may not be configured. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: RolloutSpecArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages a Spotinst OceanCD Rollout Spec resource. + + :param str resource_name: The name of the resource. + :param RolloutSpecArgs 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(RolloutSpecArgs, 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, + failure_policy: Optional[pulumi.Input[pulumi.InputType['RolloutSpecFailurePolicyArgs']]] = None, + rollout_spec_name: Optional[pulumi.Input[str]] = None, + spot_deployment: Optional[pulumi.Input[pulumi.InputType['RolloutSpecSpotDeploymentArgs']]] = None, + spot_deployments: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RolloutSpecSpotDeploymentArgs']]]]] = None, + strategy: Optional[pulumi.Input[pulumi.InputType['RolloutSpecStrategyArgs']]] = None, + traffic: Optional[pulumi.Input[pulumi.InputType['RolloutSpecTrafficArgs']]] = 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__ = RolloutSpecArgs.__new__(RolloutSpecArgs) + + __props__.__dict__["failure_policy"] = failure_policy + if rollout_spec_name is None and not opts.urn: + raise TypeError("Missing required property 'rollout_spec_name'") + __props__.__dict__["rollout_spec_name"] = rollout_spec_name + __props__.__dict__["spot_deployment"] = spot_deployment + __props__.__dict__["spot_deployments"] = spot_deployments + if strategy is None and not opts.urn: + raise TypeError("Missing required property 'strategy'") + __props__.__dict__["strategy"] = strategy + __props__.__dict__["traffic"] = traffic + super(RolloutSpec, __self__).__init__( + 'spotinst:oceancd/rolloutSpec:RolloutSpec', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + failure_policy: Optional[pulumi.Input[pulumi.InputType['RolloutSpecFailurePolicyArgs']]] = None, + rollout_spec_name: Optional[pulumi.Input[str]] = None, + spot_deployment: Optional[pulumi.Input[pulumi.InputType['RolloutSpecSpotDeploymentArgs']]] = None, + spot_deployments: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RolloutSpecSpotDeploymentArgs']]]]] = None, + strategy: Optional[pulumi.Input[pulumi.InputType['RolloutSpecStrategyArgs']]] = None, + traffic: Optional[pulumi.Input[pulumi.InputType['RolloutSpecTrafficArgs']]] = None) -> 'RolloutSpec': + """ + Get an existing RolloutSpec 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['RolloutSpecFailurePolicyArgs']] failure_policy: Holds information on how to react when failure happens. + :param pulumi.Input[str] rollout_spec_name: Identifier name for Ocean CD Rollout Spec. Must be unique + :param pulumi.Input[pulumi.InputType['RolloutSpecSpotDeploymentArgs']] spot_deployment: Represents the SpotDeployment selector. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RolloutSpecSpotDeploymentArgs']]]] spot_deployments: You must specify either `spotDeployment` OR `spotDeployments` but not both. Every SpotDeployment has to be unique. If more than one `SpotDeployment` has been configured, no `traffic` managers can be set as part of the RolloutSpec.For such case ensure that each of the chosen SpotDeployments are being exposed with different Kubernetes services. + :param pulumi.Input[pulumi.InputType['RolloutSpecStrategyArgs']] strategy: Determines the Ocean CD strategy + :param pulumi.Input[pulumi.InputType['RolloutSpecTrafficArgs']] traffic: Hosts all of the supported service meshes needed to enable more fine-grained traffic routing. In case `SpotDeployments` contains more than one SpotDeployment the `traffic` manager may not be configured. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _RolloutSpecState.__new__(_RolloutSpecState) + + __props__.__dict__["failure_policy"] = failure_policy + __props__.__dict__["rollout_spec_name"] = rollout_spec_name + __props__.__dict__["spot_deployment"] = spot_deployment + __props__.__dict__["spot_deployments"] = spot_deployments + __props__.__dict__["strategy"] = strategy + __props__.__dict__["traffic"] = traffic + return RolloutSpec(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="failurePolicy") + def failure_policy(self) -> pulumi.Output[Optional['outputs.RolloutSpecFailurePolicy']]: + """ + Holds information on how to react when failure happens. + """ + return pulumi.get(self, "failure_policy") + + @property + @pulumi.getter(name="rolloutSpecName") + def rollout_spec_name(self) -> pulumi.Output[str]: + """ + Identifier name for Ocean CD Rollout Spec. Must be unique + """ + return pulumi.get(self, "rollout_spec_name") + + @property + @pulumi.getter(name="spotDeployment") + def spot_deployment(self) -> pulumi.Output[Optional['outputs.RolloutSpecSpotDeployment']]: + """ + Represents the SpotDeployment selector. + """ + return pulumi.get(self, "spot_deployment") + + @property + @pulumi.getter(name="spotDeployments") + def spot_deployments(self) -> pulumi.Output[Optional[Sequence['outputs.RolloutSpecSpotDeployment']]]: + """ + You must specify either `spotDeployment` OR `spotDeployments` but not both. Every SpotDeployment has to be unique. If more than one `SpotDeployment` has been configured, no `traffic` managers can be set as part of the RolloutSpec.For such case ensure that each of the chosen SpotDeployments are being exposed with different Kubernetes services. + """ + return pulumi.get(self, "spot_deployments") + + @property + @pulumi.getter + def strategy(self) -> pulumi.Output['outputs.RolloutSpecStrategy']: + """ + Determines the Ocean CD strategy + """ + return pulumi.get(self, "strategy") + + @property + @pulumi.getter + def traffic(self) -> pulumi.Output[Optional['outputs.RolloutSpecTraffic']]: + """ + Hosts all of the supported service meshes needed to enable more fine-grained traffic routing. In case `SpotDeployments` contains more than one SpotDeployment the `traffic` manager may not be configured. + """ + return pulumi.get(self, "traffic") + diff --git a/sdk/python/pulumi_spotinst/oceancd/verification_template.py b/sdk/python/pulumi_spotinst/oceancd/verification_template.py new file mode 100644 index 00000000..a7041f03 --- /dev/null +++ b/sdk/python/pulumi_spotinst/oceancd/verification_template.py @@ -0,0 +1,491 @@ +# 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__ = ['VerificationTemplateArgs', 'VerificationTemplate'] + +@pulumi.input_type +class VerificationTemplateArgs: + def __init__(__self__, *, + args: Optional[pulumi.Input[Sequence[pulumi.Input['VerificationTemplateArgArgs']]]] = None, + metrics: Optional[pulumi.Input[Sequence[pulumi.Input['VerificationTemplateMetricArgs']]]] = None, + name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a VerificationTemplate resource. + :param pulumi.Input[Sequence[pulumi.Input['VerificationTemplateArgArgs']]] args: List of verification arguments. You may specify either `value` OR `valueFrom` but not both.In case `args`:`value` is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity. + :param pulumi.Input[Sequence[pulumi.Input['VerificationTemplateMetricArgs']]] metrics: List of verification metrics. + :param pulumi.Input[str] name: Identifier name for Ocean CD Verification Template. Must be unique. + """ + if args is not None: + pulumi.set(__self__, "args", args) + if metrics is not None: + pulumi.set(__self__, "metrics", metrics) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def args(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VerificationTemplateArgArgs']]]]: + """ + List of verification arguments. You may specify either `value` OR `valueFrom` but not both.In case `args`:`value` is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity. + """ + return pulumi.get(self, "args") + + @args.setter + def args(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VerificationTemplateArgArgs']]]]): + pulumi.set(self, "args", value) + + @property + @pulumi.getter + def metrics(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VerificationTemplateMetricArgs']]]]: + """ + List of verification metrics. + """ + return pulumi.get(self, "metrics") + + @metrics.setter + def metrics(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VerificationTemplateMetricArgs']]]]): + pulumi.set(self, "metrics", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Identifier name for Ocean CD Verification Template. Must be unique. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +@pulumi.input_type +class _VerificationTemplateState: + def __init__(__self__, *, + args: Optional[pulumi.Input[Sequence[pulumi.Input['VerificationTemplateArgArgs']]]] = None, + metrics: Optional[pulumi.Input[Sequence[pulumi.Input['VerificationTemplateMetricArgs']]]] = None, + name: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering VerificationTemplate resources. + :param pulumi.Input[Sequence[pulumi.Input['VerificationTemplateArgArgs']]] args: List of verification arguments. You may specify either `value` OR `valueFrom` but not both.In case `args`:`value` is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity. + :param pulumi.Input[Sequence[pulumi.Input['VerificationTemplateMetricArgs']]] metrics: List of verification metrics. + :param pulumi.Input[str] name: Identifier name for Ocean CD Verification Template. Must be unique. + """ + if args is not None: + pulumi.set(__self__, "args", args) + if metrics is not None: + pulumi.set(__self__, "metrics", metrics) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def args(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VerificationTemplateArgArgs']]]]: + """ + List of verification arguments. You may specify either `value` OR `valueFrom` but not both.In case `args`:`value` is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity. + """ + return pulumi.get(self, "args") + + @args.setter + def args(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VerificationTemplateArgArgs']]]]): + pulumi.set(self, "args", value) + + @property + @pulumi.getter + def metrics(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VerificationTemplateMetricArgs']]]]: + """ + List of verification metrics. + """ + return pulumi.get(self, "metrics") + + @metrics.setter + def metrics(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VerificationTemplateMetricArgs']]]]): + pulumi.set(self, "metrics", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Identifier name for Ocean CD Verification Template. Must be unique. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +class VerificationTemplate(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + args: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VerificationTemplateArgArgs']]]]] = None, + metrics: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VerificationTemplateMetricArgs']]]]] = None, + name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Manages a Spotinst OceanCD Verfification Template resource. + + ## Example Usage + + ```python + import pulumi + import pulumi_spotinst as spotinst + + test = spotinst.oceancd.VerificationTemplate("test", + name="test-verification-template-tes", + args=[spotinst.oceancd.VerificationTemplateArgArgs( + arg_name="test-arg", + value="test", + value_from=spotinst.oceancd.VerificationTemplateArgValueFromArgs( + secret_key_ref=spotinst.oceancd.VerificationTemplateArgValueFromSecretKeyRefArgs( + name="test_key", + key="key-value-test", + ), + ), + )], + metrics=[spotinst.oceancd.VerificationTemplateMetricArgs( + metrics_name="test-metrics-names", + dry_run=False, + interval="10m", + initial_delay="1m", + count=10, + success_condition="result[0] <= 0.95", + failure_condition="result[0] >= 0.95", + failure_limit=2, + consecutive_error_limit=1, + providers=[spotinst.oceancd.VerificationTemplateMetricProviderArgs( + prometheus=spotinst.oceancd.VerificationTemplateMetricProviderPrometheusArgs( + prometheus_query="http_requests_new", + ), + datadog=spotinst.oceancd.VerificationTemplateMetricProviderDatadogArgs( + duration="1m", + datadog_query="avg:kubernetes.cpu.user.total", + ), + new_relic=spotinst.oceancd.VerificationTemplateMetricProviderNewRelicArgs( + profile="test", + new_relic_query="FROM Metric SELECT count", + ), + cloud_watch=spotinst.oceancd.VerificationTemplateMetricProviderCloudWatchArgs( + duration="5m", + metric_data_queries=[spotinst.oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs( + id="utilization", + metric_stat=spotinst.oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs( + metric=spotinst.oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs( + metric_name="Test", + namespace="AWS/EC2", + dimensions=[spotinst.oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs( + dimension_name="instandId", + dimension_value="i-123044", + )], + ), + metric_period=400, + stat="average", + unit="None", + ), + expression="SELECT AVG(CPUUtilization) FROM SCHEMA", + label="TestLabel", + return_data=False, + period=300, + )], + ), + web=spotinst.oceancd.VerificationTemplateMetricProviderWebArgs( + method="GET", + url="https://oceancd.com/api/v1/metrics?clusterId= args.clusterId", + web_headers=[spotinst.oceancd.VerificationTemplateMetricProviderWebWebHeaderArgs( + web_header_key="Autorization", + web_header_value="Bearer=args.token", + )], + body="{\\"key\\": \\"test\\"}", + timeout_seconds=20, + json_path="$.data", + insecure=False, + ), + job=spotinst.oceancd.VerificationTemplateMetricProviderJobArgs( + specs=[spotinst.oceancd.VerificationTemplateMetricProviderJobSpecArgs( + backoff_limit=1, + job_templates=[spotinst.oceancd.VerificationTemplateMetricProviderJobSpecJobTemplateArgs( + template_specs=[spotinst.oceancd.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs( + containers=[spotinst.oceancd.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs( + container_name="hello", + commands=[ + "sh", + "-c", + ], + image="nginx.2.1", + )], + restart_policy="never", + )], + )], + )], + ), + jenkins=spotinst.oceancd.VerificationTemplateMetricProviderJenkinsArgs( + pipeline_name="testPipelineName", + tls_verification=True, + timeout="2m", + jenkins_interval="5s", + jenkins_parameters=spotinst.oceancd.VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs( + parameter_key="app", + parameter_value="my-app", + ), + ), + )], + baseline=spotinst.oceancd.VerificationTemplateMetricBaselineArgs( + baseline_providers=[spotinst.oceancd.VerificationTemplateMetricBaselineBaselineProviderArgs( + prometheus=spotinst.oceancd.VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs( + prometheus_query="http_requests_total.status!", + ), + datadog=spotinst.oceancd.VerificationTemplateMetricBaselineBaselineProviderDatadogArgs( + duration="2m", + datadog_query="avg:kubernetes.cpu.user", + ), + new_relic=spotinst.oceancd.VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs( + profile="test", + new_relic_query="FROM Metric SELECT count*", + ), + )], + min_range=40, + max_range=50, + threshold="range", + ), + )]) + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VerificationTemplateArgArgs']]]] args: List of verification arguments. You may specify either `value` OR `valueFrom` but not both.In case `args`:`value` is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VerificationTemplateMetricArgs']]]] metrics: List of verification metrics. + :param pulumi.Input[str] name: Identifier name for Ocean CD Verification Template. Must be unique. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: Optional[VerificationTemplateArgs] = None, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages a Spotinst OceanCD Verfification Template resource. + + ## Example Usage + + ```python + import pulumi + import pulumi_spotinst as spotinst + + test = spotinst.oceancd.VerificationTemplate("test", + name="test-verification-template-tes", + args=[spotinst.oceancd.VerificationTemplateArgArgs( + arg_name="test-arg", + value="test", + value_from=spotinst.oceancd.VerificationTemplateArgValueFromArgs( + secret_key_ref=spotinst.oceancd.VerificationTemplateArgValueFromSecretKeyRefArgs( + name="test_key", + key="key-value-test", + ), + ), + )], + metrics=[spotinst.oceancd.VerificationTemplateMetricArgs( + metrics_name="test-metrics-names", + dry_run=False, + interval="10m", + initial_delay="1m", + count=10, + success_condition="result[0] <= 0.95", + failure_condition="result[0] >= 0.95", + failure_limit=2, + consecutive_error_limit=1, + providers=[spotinst.oceancd.VerificationTemplateMetricProviderArgs( + prometheus=spotinst.oceancd.VerificationTemplateMetricProviderPrometheusArgs( + prometheus_query="http_requests_new", + ), + datadog=spotinst.oceancd.VerificationTemplateMetricProviderDatadogArgs( + duration="1m", + datadog_query="avg:kubernetes.cpu.user.total", + ), + new_relic=spotinst.oceancd.VerificationTemplateMetricProviderNewRelicArgs( + profile="test", + new_relic_query="FROM Metric SELECT count", + ), + cloud_watch=spotinst.oceancd.VerificationTemplateMetricProviderCloudWatchArgs( + duration="5m", + metric_data_queries=[spotinst.oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs( + id="utilization", + metric_stat=spotinst.oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs( + metric=spotinst.oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs( + metric_name="Test", + namespace="AWS/EC2", + dimensions=[spotinst.oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs( + dimension_name="instandId", + dimension_value="i-123044", + )], + ), + metric_period=400, + stat="average", + unit="None", + ), + expression="SELECT AVG(CPUUtilization) FROM SCHEMA", + label="TestLabel", + return_data=False, + period=300, + )], + ), + web=spotinst.oceancd.VerificationTemplateMetricProviderWebArgs( + method="GET", + url="https://oceancd.com/api/v1/metrics?clusterId= args.clusterId", + web_headers=[spotinst.oceancd.VerificationTemplateMetricProviderWebWebHeaderArgs( + web_header_key="Autorization", + web_header_value="Bearer=args.token", + )], + body="{\\"key\\": \\"test\\"}", + timeout_seconds=20, + json_path="$.data", + insecure=False, + ), + job=spotinst.oceancd.VerificationTemplateMetricProviderJobArgs( + specs=[spotinst.oceancd.VerificationTemplateMetricProviderJobSpecArgs( + backoff_limit=1, + job_templates=[spotinst.oceancd.VerificationTemplateMetricProviderJobSpecJobTemplateArgs( + template_specs=[spotinst.oceancd.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs( + containers=[spotinst.oceancd.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs( + container_name="hello", + commands=[ + "sh", + "-c", + ], + image="nginx.2.1", + )], + restart_policy="never", + )], + )], + )], + ), + jenkins=spotinst.oceancd.VerificationTemplateMetricProviderJenkinsArgs( + pipeline_name="testPipelineName", + tls_verification=True, + timeout="2m", + jenkins_interval="5s", + jenkins_parameters=spotinst.oceancd.VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs( + parameter_key="app", + parameter_value="my-app", + ), + ), + )], + baseline=spotinst.oceancd.VerificationTemplateMetricBaselineArgs( + baseline_providers=[spotinst.oceancd.VerificationTemplateMetricBaselineBaselineProviderArgs( + prometheus=spotinst.oceancd.VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs( + prometheus_query="http_requests_total.status!", + ), + datadog=spotinst.oceancd.VerificationTemplateMetricBaselineBaselineProviderDatadogArgs( + duration="2m", + datadog_query="avg:kubernetes.cpu.user", + ), + new_relic=spotinst.oceancd.VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs( + profile="test", + new_relic_query="FROM Metric SELECT count*", + ), + )], + min_range=40, + max_range=50, + threshold="range", + ), + )]) + ``` + + :param str resource_name: The name of the resource. + :param VerificationTemplateArgs 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(VerificationTemplateArgs, 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, + args: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VerificationTemplateArgArgs']]]]] = None, + metrics: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VerificationTemplateMetricArgs']]]]] = None, + 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__ = VerificationTemplateArgs.__new__(VerificationTemplateArgs) + + __props__.__dict__["args"] = args + __props__.__dict__["metrics"] = metrics + __props__.__dict__["name"] = name + super(VerificationTemplate, __self__).__init__( + 'spotinst:oceancd/verificationTemplate:VerificationTemplate', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + args: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VerificationTemplateArgArgs']]]]] = None, + metrics: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VerificationTemplateMetricArgs']]]]] = None, + name: Optional[pulumi.Input[str]] = None) -> 'VerificationTemplate': + """ + Get an existing VerificationTemplate 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[Sequence[pulumi.Input[pulumi.InputType['VerificationTemplateArgArgs']]]] args: List of verification arguments. You may specify either `value` OR `valueFrom` but not both.In case `args`:`value` is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['VerificationTemplateMetricArgs']]]] metrics: List of verification metrics. + :param pulumi.Input[str] name: Identifier name for Ocean CD Verification Template. Must be unique. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _VerificationTemplateState.__new__(_VerificationTemplateState) + + __props__.__dict__["args"] = args + __props__.__dict__["metrics"] = metrics + __props__.__dict__["name"] = name + return VerificationTemplate(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def args(self) -> pulumi.Output[Optional[Sequence['outputs.VerificationTemplateArg']]]: + """ + List of verification arguments. You may specify either `value` OR `valueFrom` but not both.In case `args`:`value` is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity. + """ + return pulumi.get(self, "args") + + @property + @pulumi.getter + def metrics(self) -> pulumi.Output[Optional[Sequence['outputs.VerificationTemplateMetric']]]: + """ + List of verification metrics. + """ + return pulumi.get(self, "metrics") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Identifier name for Ocean CD Verification Template. Must be unique. + """ + return pulumi.get(self, "name") + diff --git a/upstream b/upstream index f6b3458a..3605f862 160000 --- a/upstream +++ b/upstream @@ -1 +1 @@ -Subproject commit f6b3458a3de44cd2d558cd33ead344aaa781471a +Subproject commit 3605f86266e685a86e03c2c00b5b135649b855ba