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