1. Packages
  2. Spotinst
  3. API Docs
  4. oceancd
  5. VerificationTemplate
Spotinst v3.81.0 published on Monday, Jun 24, 2024 by Pulumi

spotinst.oceancd.VerificationTemplate

Explore with Pulumi AI

spotinst logo
Spotinst v3.81.0 published on Monday, Jun 24, 2024 by Pulumi

    Manages a Spotinst OceanCD Verfification Template resource.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as spotinst from "@pulumi/spotinst";
    
    const test = new spotinst.oceancd.VerificationTemplate("test", {
        name: "test-verification-template-tes",
        args: [{
            argName: "test-arg",
            value: "test",
            valueFrom: {
                secretKeyRef: {
                    name: "test_key",
                    key: "key-value-test",
                },
            },
        }],
        metrics: [{
            metricsName: "test-metrics-names",
            dryRun: false,
            interval: "10m",
            initialDelay: "1m",
            count: 10,
            successCondition: "result[0] <= 0.95",
            failureCondition: "result[0] >= 0.95",
            failureLimit: 2,
            consecutiveErrorLimit: 1,
            providers: [{
                prometheus: {
                    prometheusQuery: "http_requests_new",
                },
                datadog: {
                    duration: "1m",
                    datadogQuery: "avg:kubernetes.cpu.user.total",
                },
                newRelic: {
                    profile: "test",
                    newRelicQuery: "FROM Metric SELECT count",
                },
                cloudWatch: {
                    duration: "5m",
                    metricDataQueries: [{
                        id: "utilization",
                        metricStat: {
                            metric: {
                                metricName: "Test",
                                namespace: "AWS/EC2",
                                dimensions: [{
                                    dimensionName: "instandId",
                                    dimensionValue: "i-123044",
                                }],
                            },
                            metricPeriod: 400,
                            stat: "average",
                            unit: "None",
                        },
                        expression: "SELECT AVG(CPUUtilization) FROM SCHEMA",
                        label: "TestLabel",
                        returnData: false,
                        period: 300,
                    }],
                },
                web: {
                    method: "GET",
                    url: "https://oceancd.com/api/v1/metrics?clusterId= args.clusterId",
                    webHeaders: [{
                        webHeaderKey: "Autorization",
                        webHeaderValue: "Bearer=args.token",
                    }],
                    body: "{\"key\": \"test\"}",
                    timeoutSeconds: 20,
                    jsonPath: "$.data",
                    insecure: false,
                },
                job: {
                    specs: [{
                        backoffLimit: 1,
                        jobTemplates: [{
                            templateSpecs: [{
                                containers: [{
                                    containerName: "hello",
                                    commands: [
                                        "sh",
                                        "-c",
                                    ],
                                    image: "nginx.2.1",
                                }],
                                restartPolicy: "never",
                            }],
                        }],
                    }],
                },
                jenkins: {
                    pipelineName: "testPipelineName",
                    tlsVerification: true,
                    timeout: "2m",
                    jenkinsInterval: "5s",
                    jenkinsParameters: {
                        parameterKey: "app",
                        parameterValue: "my-app",
                    },
                },
            }],
            baseline: {
                baselineProviders: [{
                    prometheus: {
                        prometheusQuery: "http_requests_total.status!",
                    },
                    datadog: {
                        duration: "2m",
                        datadogQuery: "avg:kubernetes.cpu.user",
                    },
                    newRelic: {
                        profile: "test",
                        newRelicQuery: "FROM Metric SELECT count*",
                    },
                }],
                minRange: 40,
                maxRange: 50,
                threshold: "range",
            },
        }],
    });
    
    import pulumi
    import pulumi_spotinst as spotinst
    
    test = spotinst.oceancd.VerificationTemplate("test",
        name="test-verification-template-tes",
        args=[spotinst.oceancd.VerificationTemplateArgArgs(
            arg_name="test-arg",
            value="test",
            value_from=spotinst.oceancd.VerificationTemplateArgValueFromArgs(
                secret_key_ref=spotinst.oceancd.VerificationTemplateArgValueFromSecretKeyRefArgs(
                    name="test_key",
                    key="key-value-test",
                ),
            ),
        )],
        metrics=[spotinst.oceancd.VerificationTemplateMetricArgs(
            metrics_name="test-metrics-names",
            dry_run=False,
            interval="10m",
            initial_delay="1m",
            count=10,
            success_condition="result[0] <= 0.95",
            failure_condition="result[0] >= 0.95",
            failure_limit=2,
            consecutive_error_limit=1,
            providers=[spotinst.oceancd.VerificationTemplateMetricProviderArgs(
                prometheus=spotinst.oceancd.VerificationTemplateMetricProviderPrometheusArgs(
                    prometheus_query="http_requests_new",
                ),
                datadog=spotinst.oceancd.VerificationTemplateMetricProviderDatadogArgs(
                    duration="1m",
                    datadog_query="avg:kubernetes.cpu.user.total",
                ),
                new_relic=spotinst.oceancd.VerificationTemplateMetricProviderNewRelicArgs(
                    profile="test",
                    new_relic_query="FROM Metric SELECT count",
                ),
                cloud_watch=spotinst.oceancd.VerificationTemplateMetricProviderCloudWatchArgs(
                    duration="5m",
                    metric_data_queries=[spotinst.oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs(
                        id="utilization",
                        metric_stat=spotinst.oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs(
                            metric=spotinst.oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs(
                                metric_name="Test",
                                namespace="AWS/EC2",
                                dimensions=[spotinst.oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs(
                                    dimension_name="instandId",
                                    dimension_value="i-123044",
                                )],
                            ),
                            metric_period=400,
                            stat="average",
                            unit="None",
                        ),
                        expression="SELECT AVG(CPUUtilization) FROM SCHEMA",
                        label="TestLabel",
                        return_data=False,
                        period=300,
                    )],
                ),
                web=spotinst.oceancd.VerificationTemplateMetricProviderWebArgs(
                    method="GET",
                    url="https://oceancd.com/api/v1/metrics?clusterId= args.clusterId",
                    web_headers=[spotinst.oceancd.VerificationTemplateMetricProviderWebWebHeaderArgs(
                        web_header_key="Autorization",
                        web_header_value="Bearer=args.token",
                    )],
                    body="{\"key\": \"test\"}",
                    timeout_seconds=20,
                    json_path="$.data",
                    insecure=False,
                ),
                job=spotinst.oceancd.VerificationTemplateMetricProviderJobArgs(
                    specs=[spotinst.oceancd.VerificationTemplateMetricProviderJobSpecArgs(
                        backoff_limit=1,
                        job_templates=[spotinst.oceancd.VerificationTemplateMetricProviderJobSpecJobTemplateArgs(
                            template_specs=[spotinst.oceancd.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs(
                                containers=[spotinst.oceancd.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs(
                                    container_name="hello",
                                    commands=[
                                        "sh",
                                        "-c",
                                    ],
                                    image="nginx.2.1",
                                )],
                                restart_policy="never",
                            )],
                        )],
                    )],
                ),
                jenkins=spotinst.oceancd.VerificationTemplateMetricProviderJenkinsArgs(
                    pipeline_name="testPipelineName",
                    tls_verification=True,
                    timeout="2m",
                    jenkins_interval="5s",
                    jenkins_parameters=spotinst.oceancd.VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs(
                        parameter_key="app",
                        parameter_value="my-app",
                    ),
                ),
            )],
            baseline=spotinst.oceancd.VerificationTemplateMetricBaselineArgs(
                baseline_providers=[spotinst.oceancd.VerificationTemplateMetricBaselineBaselineProviderArgs(
                    prometheus=spotinst.oceancd.VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs(
                        prometheus_query="http_requests_total.status!",
                    ),
                    datadog=spotinst.oceancd.VerificationTemplateMetricBaselineBaselineProviderDatadogArgs(
                        duration="2m",
                        datadog_query="avg:kubernetes.cpu.user",
                    ),
                    new_relic=spotinst.oceancd.VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs(
                        profile="test",
                        new_relic_query="FROM Metric SELECT count*",
                    ),
                )],
                min_range=40,
                max_range=50,
                threshold="range",
            ),
        )])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-spotinst/sdk/v3/go/spotinst/oceancd"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := oceancd.NewVerificationTemplate(ctx, "test", &oceancd.VerificationTemplateArgs{
    			Name: pulumi.String("test-verification-template-tes"),
    			Args: oceancd.VerificationTemplateArgArray{
    				&oceancd.VerificationTemplateArgArgs{
    					ArgName: pulumi.String("test-arg"),
    					Value:   pulumi.String("test"),
    					ValueFrom: &oceancd.VerificationTemplateArgValueFromArgs{
    						SecretKeyRef: &oceancd.VerificationTemplateArgValueFromSecretKeyRefArgs{
    							Name: pulumi.String("test_key"),
    							Key:  pulumi.String("key-value-test"),
    						},
    					},
    				},
    			},
    			Metrics: oceancd.VerificationTemplateMetricArray{
    				&oceancd.VerificationTemplateMetricArgs{
    					MetricsName:           pulumi.String("test-metrics-names"),
    					DryRun:                pulumi.Bool(false),
    					Interval:              pulumi.String("10m"),
    					InitialDelay:          pulumi.String("1m"),
    					Count:                 pulumi.Int(10),
    					SuccessCondition:      pulumi.String("result[0] <= 0.95"),
    					FailureCondition:      pulumi.String("result[0] >= 0.95"),
    					FailureLimit:          pulumi.Int(2),
    					ConsecutiveErrorLimit: pulumi.Int(1),
    					Providers: oceancd.VerificationTemplateMetricProviderArray{
    						&oceancd.VerificationTemplateMetricProviderArgs{
    							Prometheus: &oceancd.VerificationTemplateMetricProviderPrometheusArgs{
    								PrometheusQuery: pulumi.String("http_requests_new"),
    							},
    							Datadog: &oceancd.VerificationTemplateMetricProviderDatadogArgs{
    								Duration:     pulumi.String("1m"),
    								DatadogQuery: pulumi.String("avg:kubernetes.cpu.user.total"),
    							},
    							NewRelic: &oceancd.VerificationTemplateMetricProviderNewRelicArgs{
    								Profile:       pulumi.String("test"),
    								NewRelicQuery: pulumi.String("FROM Metric SELECT count"),
    							},
    							CloudWatch: &oceancd.VerificationTemplateMetricProviderCloudWatchArgs{
    								Duration: pulumi.String("5m"),
    								MetricDataQueries: oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryArray{
    									&oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs{
    										Id: pulumi.String("utilization"),
    										MetricStat: &oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs{
    											Metric: &oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs{
    												MetricName: pulumi.String("Test"),
    												Namespace:  pulumi.String("AWS/EC2"),
    												Dimensions: oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArray{
    													&oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs{
    														DimensionName:  pulumi.String("instandId"),
    														DimensionValue: pulumi.String("i-123044"),
    													},
    												},
    											},
    											MetricPeriod: pulumi.Int(400),
    											Stat:         pulumi.String("average"),
    											Unit:         pulumi.String("None"),
    										},
    										Expression: pulumi.String("SELECT AVG(CPUUtilization) FROM SCHEMA"),
    										Label:      pulumi.String("TestLabel"),
    										ReturnData: pulumi.Bool(false),
    										Period:     pulumi.Int(300),
    									},
    								},
    							},
    							Web: &oceancd.VerificationTemplateMetricProviderWebArgs{
    								Method: pulumi.String("GET"),
    								Url:    pulumi.String("https://oceancd.com/api/v1/metrics?clusterId= args.clusterId"),
    								WebHeaders: oceancd.VerificationTemplateMetricProviderWebWebHeaderArray{
    									&oceancd.VerificationTemplateMetricProviderWebWebHeaderArgs{
    										WebHeaderKey:   pulumi.String("Autorization"),
    										WebHeaderValue: pulumi.String("Bearer=args.token"),
    									},
    								},
    								Body:           pulumi.String("{\"key\": \"test\"}"),
    								TimeoutSeconds: pulumi.Int(20),
    								JsonPath:       pulumi.String("$.data"),
    								Insecure:       pulumi.Bool(false),
    							},
    							Job: &oceancd.VerificationTemplateMetricProviderJobArgs{
    								Specs: oceancd.VerificationTemplateMetricProviderJobSpecArray{
    									&oceancd.VerificationTemplateMetricProviderJobSpecArgs{
    										BackoffLimit: pulumi.Int(1),
    										JobTemplates: oceancd.VerificationTemplateMetricProviderJobSpecJobTemplateArray{
    											&oceancd.VerificationTemplateMetricProviderJobSpecJobTemplateArgs{
    												TemplateSpecs: oceancd.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArray{
    													&oceancd.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs{
    														Containers: oceancd.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArray{
    															&oceancd.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs{
    																ContainerName: pulumi.String("hello"),
    																Commands: pulumi.StringArray{
    																	pulumi.String("sh"),
    																	pulumi.String("-c"),
    																},
    																Image: pulumi.String("nginx.2.1"),
    															},
    														},
    														RestartPolicy: pulumi.String("never"),
    													},
    												},
    											},
    										},
    									},
    								},
    							},
    							Jenkins: &oceancd.VerificationTemplateMetricProviderJenkinsArgs{
    								PipelineName:    pulumi.String("testPipelineName"),
    								TlsVerification: pulumi.Bool(true),
    								Timeout:         pulumi.String("2m"),
    								JenkinsInterval: pulumi.String("5s"),
    								JenkinsParameters: &oceancd.VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs{
    									ParameterKey:   pulumi.String("app"),
    									ParameterValue: pulumi.String("my-app"),
    								},
    							},
    						},
    					},
    					Baseline: &oceancd.VerificationTemplateMetricBaselineArgs{
    						BaselineProviders: oceancd.VerificationTemplateMetricBaselineBaselineProviderArray{
    							&oceancd.VerificationTemplateMetricBaselineBaselineProviderArgs{
    								Prometheus: &oceancd.VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs{
    									PrometheusQuery: pulumi.String("http_requests_total.status!"),
    								},
    								Datadog: &oceancd.VerificationTemplateMetricBaselineBaselineProviderDatadogArgs{
    									Duration:     pulumi.String("2m"),
    									DatadogQuery: pulumi.String("avg:kubernetes.cpu.user"),
    								},
    								NewRelic: &oceancd.VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs{
    									Profile:       pulumi.String("test"),
    									NewRelicQuery: pulumi.String("FROM Metric SELECT count*"),
    								},
    							},
    						},
    						MinRange:  pulumi.Int(40),
    						MaxRange:  pulumi.Int(50),
    						Threshold: pulumi.String("range"),
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using SpotInst = Pulumi.SpotInst;
    
    return await Deployment.RunAsync(() => 
    {
        var test = new SpotInst.Oceancd.VerificationTemplate("test", new()
        {
            Name = "test-verification-template-tes",
            Args = new[]
            {
                new SpotInst.Oceancd.Inputs.VerificationTemplateArgArgs
                {
                    ArgName = "test-arg",
                    Value = "test",
                    ValueFrom = new SpotInst.Oceancd.Inputs.VerificationTemplateArgValueFromArgs
                    {
                        SecretKeyRef = new SpotInst.Oceancd.Inputs.VerificationTemplateArgValueFromSecretKeyRefArgs
                        {
                            Name = "test_key",
                            Key = "key-value-test",
                        },
                    },
                },
            },
            Metrics = new[]
            {
                new SpotInst.Oceancd.Inputs.VerificationTemplateMetricArgs
                {
                    MetricsName = "test-metrics-names",
                    DryRun = false,
                    Interval = "10m",
                    InitialDelay = "1m",
                    Count = 10,
                    SuccessCondition = "result[0] <= 0.95",
                    FailureCondition = "result[0] >= 0.95",
                    FailureLimit = 2,
                    ConsecutiveErrorLimit = 1,
                    Providers = new[]
                    {
                        new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderArgs
                        {
                            Prometheus = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderPrometheusArgs
                            {
                                PrometheusQuery = "http_requests_new",
                            },
                            Datadog = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderDatadogArgs
                            {
                                Duration = "1m",
                                DatadogQuery = "avg:kubernetes.cpu.user.total",
                            },
                            NewRelic = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderNewRelicArgs
                            {
                                Profile = "test",
                                NewRelicQuery = "FROM Metric SELECT count",
                            },
                            CloudWatch = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderCloudWatchArgs
                            {
                                Duration = "5m",
                                MetricDataQueries = new[]
                                {
                                    new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs
                                    {
                                        Id = "utilization",
                                        MetricStat = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs
                                        {
                                            Metric = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs
                                            {
                                                MetricName = "Test",
                                                Namespace = "AWS/EC2",
                                                Dimensions = new[]
                                                {
                                                    new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs
                                                    {
                                                        DimensionName = "instandId",
                                                        DimensionValue = "i-123044",
                                                    },
                                                },
                                            },
                                            MetricPeriod = 400,
                                            Stat = "average",
                                            Unit = "None",
                                        },
                                        Expression = "SELECT AVG(CPUUtilization) FROM SCHEMA",
                                        Label = "TestLabel",
                                        ReturnData = false,
                                        Period = 300,
                                    },
                                },
                            },
                            Web = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderWebArgs
                            {
                                Method = "GET",
                                Url = "https://oceancd.com/api/v1/metrics?clusterId= args.clusterId",
                                WebHeaders = new[]
                                {
                                    new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderWebWebHeaderArgs
                                    {
                                        WebHeaderKey = "Autorization",
                                        WebHeaderValue = "Bearer=args.token",
                                    },
                                },
                                Body = "{\"key\": \"test\"}",
                                TimeoutSeconds = 20,
                                JsonPath = "$.data",
                                Insecure = false,
                            },
                            Job = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderJobArgs
                            {
                                Specs = new[]
                                {
                                    new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderJobSpecArgs
                                    {
                                        BackoffLimit = 1,
                                        JobTemplates = new[]
                                        {
                                            new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderJobSpecJobTemplateArgs
                                            {
                                                TemplateSpecs = new[]
                                                {
                                                    new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs
                                                    {
                                                        Containers = new[]
                                                        {
                                                            new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs
                                                            {
                                                                ContainerName = "hello",
                                                                Commands = new[]
                                                                {
                                                                    "sh",
                                                                    "-c",
                                                                },
                                                                Image = "nginx.2.1",
                                                            },
                                                        },
                                                        RestartPolicy = "never",
                                                    },
                                                },
                                            },
                                        },
                                    },
                                },
                            },
                            Jenkins = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderJenkinsArgs
                            {
                                PipelineName = "testPipelineName",
                                TlsVerification = true,
                                Timeout = "2m",
                                JenkinsInterval = "5s",
                                JenkinsParameters = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs
                                {
                                    ParameterKey = "app",
                                    ParameterValue = "my-app",
                                },
                            },
                        },
                    },
                    Baseline = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricBaselineArgs
                    {
                        BaselineProviders = new[]
                        {
                            new SpotInst.Oceancd.Inputs.VerificationTemplateMetricBaselineBaselineProviderArgs
                            {
                                Prometheus = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs
                                {
                                    PrometheusQuery = "http_requests_total.status!",
                                },
                                Datadog = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricBaselineBaselineProviderDatadogArgs
                                {
                                    Duration = "2m",
                                    DatadogQuery = "avg:kubernetes.cpu.user",
                                },
                                NewRelic = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs
                                {
                                    Profile = "test",
                                    NewRelicQuery = "FROM Metric SELECT count*",
                                },
                            },
                        },
                        MinRange = 40,
                        MaxRange = 50,
                        Threshold = "range",
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.spotinst.oceancd.VerificationTemplate;
    import com.pulumi.spotinst.oceancd.VerificationTemplateArgs;
    import com.pulumi.spotinst.oceancd.inputs.VerificationTemplateArgArgs;
    import com.pulumi.spotinst.oceancd.inputs.VerificationTemplateArgValueFromArgs;
    import com.pulumi.spotinst.oceancd.inputs.VerificationTemplateArgValueFromSecretKeyRefArgs;
    import com.pulumi.spotinst.oceancd.inputs.VerificationTemplateMetricArgs;
    import com.pulumi.spotinst.oceancd.inputs.VerificationTemplateMetricBaselineArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var test = new VerificationTemplate("test", VerificationTemplateArgs.builder()
                .name("test-verification-template-tes")
                .args(VerificationTemplateArgArgs.builder()
                    .argName("test-arg")
                    .value("test")
                    .valueFrom(VerificationTemplateArgValueFromArgs.builder()
                        .secretKeyRef(VerificationTemplateArgValueFromSecretKeyRefArgs.builder()
                            .name("test_key")
                            .key("key-value-test")
                            .build())
                        .build())
                    .build())
                .metrics(VerificationTemplateMetricArgs.builder()
                    .metricsName("test-metrics-names")
                    .dryRun(false)
                    .interval("10m")
                    .initialDelay("1m")
                    .count("10")
                    .successCondition("result[0] <= 0.95")
                    .failureCondition("result[0] >= 0.95")
                    .failureLimit(2)
                    .consecutiveErrorLimit(1)
                    .providers(VerificationTemplateMetricProviderArgs.builder()
                        .prometheus(VerificationTemplateMetricProviderPrometheusArgs.builder()
                            .prometheusQuery("http_requests_new")
                            .build())
                        .datadog(VerificationTemplateMetricProviderDatadogArgs.builder()
                            .duration("1m")
                            .datadogQuery("avg:kubernetes.cpu.user.total")
                            .build())
                        .newRelic(VerificationTemplateMetricProviderNewRelicArgs.builder()
                            .profile("test")
                            .newRelicQuery("FROM Metric SELECT count")
                            .build())
                        .cloudWatch(VerificationTemplateMetricProviderCloudWatchArgs.builder()
                            .duration("5m")
                            .metricDataQueries(VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs.builder()
                                .id("utilization")
                                .metricStat(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs.builder()
                                    .metric(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs.builder()
                                        .metricName("Test")
                                        .namespace("AWS/EC2")
                                        .dimensions(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs.builder()
                                            .dimensionName("instandId")
                                            .dimensionValue("i-123044")
                                            .build())
                                        .build())
                                    .metricPeriod(400)
                                    .stat("average")
                                    .unit("None")
                                    .build())
                                .expression("SELECT AVG(CPUUtilization) FROM SCHEMA")
                                .label("TestLabel")
                                .returnData(false)
                                .period(300)
                                .build())
                            .build())
                        .web(VerificationTemplateMetricProviderWebArgs.builder()
                            .method("GET")
                            .url("https://oceancd.com/api/v1/metrics?clusterId= args.clusterId")
                            .webHeaders(VerificationTemplateMetricProviderWebWebHeaderArgs.builder()
                                .webHeaderKey("Autorization")
                                .webHeaderValue("Bearer=args.token")
                                .build())
                            .body("{\"key\": \"test\"}")
                            .timeoutSeconds(20)
                            .jsonPath("$.data")
                            .insecure(false)
                            .build())
                        .job(VerificationTemplateMetricProviderJobArgs.builder()
                            .specs(VerificationTemplateMetricProviderJobSpecArgs.builder()
                                .backoffLimit(1)
                                .jobTemplates(VerificationTemplateMetricProviderJobSpecJobTemplateArgs.builder()
                                    .templateSpecs(VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs.builder()
                                        .containers(VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs.builder()
                                            .containerName("hello")
                                            .commands(                                        
                                                "sh",
                                                "-c")
                                            .image("nginx.2.1")
                                            .build())
                                        .restartPolicy("never")
                                        .build())
                                    .build())
                                .build())
                            .build())
                        .jenkins(VerificationTemplateMetricProviderJenkinsArgs.builder()
                            .pipelineName("testPipelineName")
                            .tlsVerification(true)
                            .timeout("2m")
                            .jenkinsInterval("5s")
                            .jenkinsParameters(VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs.builder()
                                .parameterKey("app")
                                .parameterValue("my-app")
                                .build())
                            .build())
                        .build())
                    .baseline(VerificationTemplateMetricBaselineArgs.builder()
                        .baselineProviders(VerificationTemplateMetricBaselineBaselineProviderArgs.builder()
                            .prometheus(VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs.builder()
                                .prometheusQuery("http_requests_total.status!")
                                .build())
                            .datadog(VerificationTemplateMetricBaselineBaselineProviderDatadogArgs.builder()
                                .duration("2m")
                                .datadogQuery("avg:kubernetes.cpu.user")
                                .build())
                            .newRelic(VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs.builder()
                                .profile("test")
                                .newRelicQuery("FROM Metric SELECT count*")
                                .build())
                            .build())
                        .minRange(40)
                        .maxRange(50)
                        .threshold("range")
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      test:
        type: spotinst:oceancd:VerificationTemplate
        properties:
          name: test-verification-template-tes
          args:
            - argName: test-arg
              value: test
              valueFrom:
                secretKeyRef:
                  name: test_key
                  key: key-value-test
          metrics:
            - metricsName: test-metrics-names
              dryRun: false
              interval: 10m
              initialDelay: 1m
              count: '10'
              successCondition: result[0] <= 0.95
              failureCondition: result[0] >= 0.95
              failureLimit: 2
              consecutiveErrorLimit: 1
              providers:
                - prometheus:
                    prometheusQuery: http_requests_new
                  datadog:
                    duration: 1m
                    datadogQuery: avg:kubernetes.cpu.user.total
                  newRelic:
                    profile: test
                    newRelicQuery: FROM Metric SELECT count
                  cloudWatch:
                    duration: 5m
                    metricDataQueries:
                      - id: utilization
                        metricStat:
                          metric:
                            metricName: Test
                            namespace: AWS/EC2
                            dimensions:
                              - dimensionName: instandId
                                dimensionValue: i-123044
                          metricPeriod: 400
                          stat: average
                          unit: None
                        expression: SELECT AVG(CPUUtilization) FROM SCHEMA
                        label: TestLabel
                        returnData: false
                        period: 300
                  web:
                    method: GET
                    url: https://oceancd.com/api/v1/metrics?clusterId= args.clusterId
                    webHeaders:
                      - webHeaderKey: Autorization
                        webHeaderValue: Bearer=args.token
                    body: '{"key": "test"}'
                    timeoutSeconds: 20
                    jsonPath: $.data
                    insecure: false
                  job:
                    specs:
                      - backoffLimit: 1
                        jobTemplates:
                          - templateSpecs:
                              - containers:
                                  - containerName: hello
                                    commands:
                                      - sh
                                      - -c
                                    image: nginx.2.1
                                restartPolicy: never
                  jenkins:
                    pipelineName: testPipelineName
                    tlsVerification: true
                    timeout: 2m
                    jenkinsInterval: 5s
                    jenkinsParameters:
                      parameterKey: app
                      parameterValue: my-app
              baseline:
                baselineProviders:
                  - prometheus:
                      prometheusQuery: http_requests_total.status!
                    datadog:
                      duration: 2m
                      datadogQuery: avg:kubernetes.cpu.user
                    newRelic:
                      profile: test
                      newRelicQuery: FROM Metric SELECT count*
                minRange: 40
                maxRange: 50
                threshold: range
    
    output "name" {
      value = spotinst_oceancd_verification_template.example.name
    }
    

    Create VerificationTemplate Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new VerificationTemplate(name: string, args?: VerificationTemplateArgs, opts?: CustomResourceOptions);
    @overload
    def VerificationTemplate(resource_name: str,
                             args: Optional[VerificationTemplateArgs] = None,
                             opts: Optional[ResourceOptions] = None)
    
    @overload
    def VerificationTemplate(resource_name: str,
                             opts: Optional[ResourceOptions] = None,
                             args: Optional[Sequence[VerificationTemplateArgArgs]] = None,
                             metrics: Optional[Sequence[VerificationTemplateMetricArgs]] = None,
                             name: Optional[str] = None)
    func NewVerificationTemplate(ctx *Context, name string, args *VerificationTemplateArgs, opts ...ResourceOption) (*VerificationTemplate, error)
    public VerificationTemplate(string name, VerificationTemplateArgs? args = null, CustomResourceOptions? opts = null)
    public VerificationTemplate(String name, VerificationTemplateArgs args)
    public VerificationTemplate(String name, VerificationTemplateArgs args, CustomResourceOptions options)
    
    type: spotinst:oceancd:VerificationTemplate
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args VerificationTemplateArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args VerificationTemplateArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args VerificationTemplateArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args VerificationTemplateArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args VerificationTemplateArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var verificationTemplateResource = new SpotInst.Oceancd.VerificationTemplate("verificationTemplateResource", new()
    {
        Args = new[]
        {
            new SpotInst.Oceancd.Inputs.VerificationTemplateArgArgs
            {
                ArgName = "string",
                Value = "string",
                ValueFrom = new SpotInst.Oceancd.Inputs.VerificationTemplateArgValueFromArgs
                {
                    SecretKeyRef = new SpotInst.Oceancd.Inputs.VerificationTemplateArgValueFromSecretKeyRefArgs
                    {
                        Key = "string",
                        Name = "string",
                    },
                },
            },
        },
        Metrics = new[]
        {
            new SpotInst.Oceancd.Inputs.VerificationTemplateMetricArgs
            {
                MetricsName = "string",
                Providers = new[]
                {
                    new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderArgs
                    {
                        CloudWatch = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderCloudWatchArgs
                        {
                            MetricDataQueries = new[]
                            {
                                new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs
                                {
                                    Id = "string",
                                    Expression = "string",
                                    Label = "string",
                                    MetricStat = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs
                                    {
                                        Metric = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs
                                        {
                                            MetricName = "string",
                                            Dimensions = new[]
                                            {
                                                new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs
                                                {
                                                    DimensionName = "string",
                                                    DimensionValue = "string",
                                                },
                                            },
                                            Namespace = "string",
                                        },
                                        MetricPeriod = 0,
                                        Stat = "string",
                                        Unit = "string",
                                    },
                                    Period = 0,
                                    ReturnData = false,
                                },
                            },
                            Duration = "string",
                        },
                        Datadog = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderDatadogArgs
                        {
                            DatadogQuery = "string",
                            Duration = "string",
                        },
                        Jenkins = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderJenkinsArgs
                        {
                            JenkinsInterval = "string",
                            PipelineName = "string",
                            Timeout = "string",
                            JenkinsParameters = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs
                            {
                                ParameterKey = "string",
                                ParameterValue = "string",
                            },
                            TlsVerification = false,
                        },
                        Job = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderJobArgs
                        {
                            Specs = new[]
                            {
                                new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderJobSpecArgs
                                {
                                    JobTemplates = new[]
                                    {
                                        new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderJobSpecJobTemplateArgs
                                        {
                                            TemplateSpecs = new[]
                                            {
                                                new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs
                                                {
                                                    Containers = new[]
                                                    {
                                                        new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs
                                                        {
                                                            Commands = new[]
                                                            {
                                                                "string",
                                                            },
                                                            ContainerName = "string",
                                                            Image = "string",
                                                        },
                                                    },
                                                    RestartPolicy = "string",
                                                },
                                            },
                                        },
                                    },
                                    BackoffLimit = 0,
                                },
                            },
                        },
                        NewRelic = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderNewRelicArgs
                        {
                            NewRelicQuery = "string",
                            Profile = "string",
                        },
                        Prometheus = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderPrometheusArgs
                        {
                            PrometheusQuery = "string",
                        },
                        Web = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderWebArgs
                        {
                            Url = "string",
                            Body = "string",
                            Insecure = false,
                            JsonPath = "string",
                            Method = "string",
                            TimeoutSeconds = 0,
                            WebHeaders = new[]
                            {
                                new SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderWebWebHeaderArgs
                                {
                                    WebHeaderKey = "string",
                                    WebHeaderValue = "string",
                                },
                            },
                        },
                    },
                },
                Baseline = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricBaselineArgs
                {
                    BaselineProviders = new[]
                    {
                        new SpotInst.Oceancd.Inputs.VerificationTemplateMetricBaselineBaselineProviderArgs
                        {
                            Datadog = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricBaselineBaselineProviderDatadogArgs
                            {
                                DatadogQuery = "string",
                                Duration = "string",
                            },
                            NewRelic = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs
                            {
                                NewRelicQuery = "string",
                                Profile = "string",
                            },
                            Prometheus = new SpotInst.Oceancd.Inputs.VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs
                            {
                                PrometheusQuery = "string",
                            },
                        },
                    },
                    Threshold = "string",
                    MaxRange = 0,
                    MinRange = 0,
                },
                ConsecutiveErrorLimit = 0,
                Count = 0,
                DryRun = false,
                FailureCondition = "string",
                FailureLimit = 0,
                InitialDelay = "string",
                Interval = "string",
                SuccessCondition = "string",
            },
        },
        Name = "string",
    });
    
    example, err := oceancd.NewVerificationTemplate(ctx, "verificationTemplateResource", &oceancd.VerificationTemplateArgs{
    	Args: oceancd.VerificationTemplateArgArray{
    		&oceancd.VerificationTemplateArgArgs{
    			ArgName: pulumi.String("string"),
    			Value:   pulumi.String("string"),
    			ValueFrom: &oceancd.VerificationTemplateArgValueFromArgs{
    				SecretKeyRef: &oceancd.VerificationTemplateArgValueFromSecretKeyRefArgs{
    					Key:  pulumi.String("string"),
    					Name: pulumi.String("string"),
    				},
    			},
    		},
    	},
    	Metrics: oceancd.VerificationTemplateMetricArray{
    		&oceancd.VerificationTemplateMetricArgs{
    			MetricsName: pulumi.String("string"),
    			Providers: oceancd.VerificationTemplateMetricProviderArray{
    				&oceancd.VerificationTemplateMetricProviderArgs{
    					CloudWatch: &oceancd.VerificationTemplateMetricProviderCloudWatchArgs{
    						MetricDataQueries: oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryArray{
    							&oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs{
    								Id:         pulumi.String("string"),
    								Expression: pulumi.String("string"),
    								Label:      pulumi.String("string"),
    								MetricStat: &oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs{
    									Metric: &oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs{
    										MetricName: pulumi.String("string"),
    										Dimensions: oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArray{
    											&oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs{
    												DimensionName:  pulumi.String("string"),
    												DimensionValue: pulumi.String("string"),
    											},
    										},
    										Namespace: pulumi.String("string"),
    									},
    									MetricPeriod: pulumi.Int(0),
    									Stat:         pulumi.String("string"),
    									Unit:         pulumi.String("string"),
    								},
    								Period:     pulumi.Int(0),
    								ReturnData: pulumi.Bool(false),
    							},
    						},
    						Duration: pulumi.String("string"),
    					},
    					Datadog: &oceancd.VerificationTemplateMetricProviderDatadogArgs{
    						DatadogQuery: pulumi.String("string"),
    						Duration:     pulumi.String("string"),
    					},
    					Jenkins: &oceancd.VerificationTemplateMetricProviderJenkinsArgs{
    						JenkinsInterval: pulumi.String("string"),
    						PipelineName:    pulumi.String("string"),
    						Timeout:         pulumi.String("string"),
    						JenkinsParameters: &oceancd.VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs{
    							ParameterKey:   pulumi.String("string"),
    							ParameterValue: pulumi.String("string"),
    						},
    						TlsVerification: pulumi.Bool(false),
    					},
    					Job: &oceancd.VerificationTemplateMetricProviderJobArgs{
    						Specs: oceancd.VerificationTemplateMetricProviderJobSpecArray{
    							&oceancd.VerificationTemplateMetricProviderJobSpecArgs{
    								JobTemplates: oceancd.VerificationTemplateMetricProviderJobSpecJobTemplateArray{
    									&oceancd.VerificationTemplateMetricProviderJobSpecJobTemplateArgs{
    										TemplateSpecs: oceancd.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArray{
    											&oceancd.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs{
    												Containers: oceancd.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArray{
    													&oceancd.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs{
    														Commands: pulumi.StringArray{
    															pulumi.String("string"),
    														},
    														ContainerName: pulumi.String("string"),
    														Image:         pulumi.String("string"),
    													},
    												},
    												RestartPolicy: pulumi.String("string"),
    											},
    										},
    									},
    								},
    								BackoffLimit: pulumi.Int(0),
    							},
    						},
    					},
    					NewRelic: &oceancd.VerificationTemplateMetricProviderNewRelicArgs{
    						NewRelicQuery: pulumi.String("string"),
    						Profile:       pulumi.String("string"),
    					},
    					Prometheus: &oceancd.VerificationTemplateMetricProviderPrometheusArgs{
    						PrometheusQuery: pulumi.String("string"),
    					},
    					Web: &oceancd.VerificationTemplateMetricProviderWebArgs{
    						Url:            pulumi.String("string"),
    						Body:           pulumi.String("string"),
    						Insecure:       pulumi.Bool(false),
    						JsonPath:       pulumi.String("string"),
    						Method:         pulumi.String("string"),
    						TimeoutSeconds: pulumi.Int(0),
    						WebHeaders: oceancd.VerificationTemplateMetricProviderWebWebHeaderArray{
    							&oceancd.VerificationTemplateMetricProviderWebWebHeaderArgs{
    								WebHeaderKey:   pulumi.String("string"),
    								WebHeaderValue: pulumi.String("string"),
    							},
    						},
    					},
    				},
    			},
    			Baseline: &oceancd.VerificationTemplateMetricBaselineArgs{
    				BaselineProviders: oceancd.VerificationTemplateMetricBaselineBaselineProviderArray{
    					&oceancd.VerificationTemplateMetricBaselineBaselineProviderArgs{
    						Datadog: &oceancd.VerificationTemplateMetricBaselineBaselineProviderDatadogArgs{
    							DatadogQuery: pulumi.String("string"),
    							Duration:     pulumi.String("string"),
    						},
    						NewRelic: &oceancd.VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs{
    							NewRelicQuery: pulumi.String("string"),
    							Profile:       pulumi.String("string"),
    						},
    						Prometheus: &oceancd.VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs{
    							PrometheusQuery: pulumi.String("string"),
    						},
    					},
    				},
    				Threshold: pulumi.String("string"),
    				MaxRange:  pulumi.Int(0),
    				MinRange:  pulumi.Int(0),
    			},
    			ConsecutiveErrorLimit: pulumi.Int(0),
    			Count:                 pulumi.Int(0),
    			DryRun:                pulumi.Bool(false),
    			FailureCondition:      pulumi.String("string"),
    			FailureLimit:          pulumi.Int(0),
    			InitialDelay:          pulumi.String("string"),
    			Interval:              pulumi.String("string"),
    			SuccessCondition:      pulumi.String("string"),
    		},
    	},
    	Name: pulumi.String("string"),
    })
    
    var verificationTemplateResource = new VerificationTemplate("verificationTemplateResource", VerificationTemplateArgs.builder()
        .args(VerificationTemplateArgArgs.builder()
            .argName("string")
            .value("string")
            .valueFrom(VerificationTemplateArgValueFromArgs.builder()
                .secretKeyRef(VerificationTemplateArgValueFromSecretKeyRefArgs.builder()
                    .key("string")
                    .name("string")
                    .build())
                .build())
            .build())
        .metrics(VerificationTemplateMetricArgs.builder()
            .metricsName("string")
            .providers(VerificationTemplateMetricProviderArgs.builder()
                .cloudWatch(VerificationTemplateMetricProviderCloudWatchArgs.builder()
                    .metricDataQueries(VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs.builder()
                        .id("string")
                        .expression("string")
                        .label("string")
                        .metricStat(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs.builder()
                            .metric(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs.builder()
                                .metricName("string")
                                .dimensions(VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs.builder()
                                    .dimensionName("string")
                                    .dimensionValue("string")
                                    .build())
                                .namespace("string")
                                .build())
                            .metricPeriod(0)
                            .stat("string")
                            .unit("string")
                            .build())
                        .period(0)
                        .returnData(false)
                        .build())
                    .duration("string")
                    .build())
                .datadog(VerificationTemplateMetricProviderDatadogArgs.builder()
                    .datadogQuery("string")
                    .duration("string")
                    .build())
                .jenkins(VerificationTemplateMetricProviderJenkinsArgs.builder()
                    .jenkinsInterval("string")
                    .pipelineName("string")
                    .timeout("string")
                    .jenkinsParameters(VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs.builder()
                        .parameterKey("string")
                        .parameterValue("string")
                        .build())
                    .tlsVerification(false)
                    .build())
                .job(VerificationTemplateMetricProviderJobArgs.builder()
                    .specs(VerificationTemplateMetricProviderJobSpecArgs.builder()
                        .jobTemplates(VerificationTemplateMetricProviderJobSpecJobTemplateArgs.builder()
                            .templateSpecs(VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs.builder()
                                .containers(VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs.builder()
                                    .commands("string")
                                    .containerName("string")
                                    .image("string")
                                    .build())
                                .restartPolicy("string")
                                .build())
                            .build())
                        .backoffLimit(0)
                        .build())
                    .build())
                .newRelic(VerificationTemplateMetricProviderNewRelicArgs.builder()
                    .newRelicQuery("string")
                    .profile("string")
                    .build())
                .prometheus(VerificationTemplateMetricProviderPrometheusArgs.builder()
                    .prometheusQuery("string")
                    .build())
                .web(VerificationTemplateMetricProviderWebArgs.builder()
                    .url("string")
                    .body("string")
                    .insecure(false)
                    .jsonPath("string")
                    .method("string")
                    .timeoutSeconds(0)
                    .webHeaders(VerificationTemplateMetricProviderWebWebHeaderArgs.builder()
                        .webHeaderKey("string")
                        .webHeaderValue("string")
                        .build())
                    .build())
                .build())
            .baseline(VerificationTemplateMetricBaselineArgs.builder()
                .baselineProviders(VerificationTemplateMetricBaselineBaselineProviderArgs.builder()
                    .datadog(VerificationTemplateMetricBaselineBaselineProviderDatadogArgs.builder()
                        .datadogQuery("string")
                        .duration("string")
                        .build())
                    .newRelic(VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs.builder()
                        .newRelicQuery("string")
                        .profile("string")
                        .build())
                    .prometheus(VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs.builder()
                        .prometheusQuery("string")
                        .build())
                    .build())
                .threshold("string")
                .maxRange(0)
                .minRange(0)
                .build())
            .consecutiveErrorLimit(0)
            .count(0)
            .dryRun(false)
            .failureCondition("string")
            .failureLimit(0)
            .initialDelay("string")
            .interval("string")
            .successCondition("string")
            .build())
        .name("string")
        .build());
    
    verification_template_resource = spotinst.oceancd.VerificationTemplate("verificationTemplateResource",
        args=[spotinst.oceancd.VerificationTemplateArgArgs(
            arg_name="string",
            value="string",
            value_from=spotinst.oceancd.VerificationTemplateArgValueFromArgs(
                secret_key_ref=spotinst.oceancd.VerificationTemplateArgValueFromSecretKeyRefArgs(
                    key="string",
                    name="string",
                ),
            ),
        )],
        metrics=[spotinst.oceancd.VerificationTemplateMetricArgs(
            metrics_name="string",
            providers=[spotinst.oceancd.VerificationTemplateMetricProviderArgs(
                cloud_watch=spotinst.oceancd.VerificationTemplateMetricProviderCloudWatchArgs(
                    metric_data_queries=[spotinst.oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs(
                        id="string",
                        expression="string",
                        label="string",
                        metric_stat=spotinst.oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs(
                            metric=spotinst.oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs(
                                metric_name="string",
                                dimensions=[spotinst.oceancd.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs(
                                    dimension_name="string",
                                    dimension_value="string",
                                )],
                                namespace="string",
                            ),
                            metric_period=0,
                            stat="string",
                            unit="string",
                        ),
                        period=0,
                        return_data=False,
                    )],
                    duration="string",
                ),
                datadog=spotinst.oceancd.VerificationTemplateMetricProviderDatadogArgs(
                    datadog_query="string",
                    duration="string",
                ),
                jenkins=spotinst.oceancd.VerificationTemplateMetricProviderJenkinsArgs(
                    jenkins_interval="string",
                    pipeline_name="string",
                    timeout="string",
                    jenkins_parameters=spotinst.oceancd.VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs(
                        parameter_key="string",
                        parameter_value="string",
                    ),
                    tls_verification=False,
                ),
                job=spotinst.oceancd.VerificationTemplateMetricProviderJobArgs(
                    specs=[spotinst.oceancd.VerificationTemplateMetricProviderJobSpecArgs(
                        job_templates=[spotinst.oceancd.VerificationTemplateMetricProviderJobSpecJobTemplateArgs(
                            template_specs=[spotinst.oceancd.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs(
                                containers=[spotinst.oceancd.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs(
                                    commands=["string"],
                                    container_name="string",
                                    image="string",
                                )],
                                restart_policy="string",
                            )],
                        )],
                        backoff_limit=0,
                    )],
                ),
                new_relic=spotinst.oceancd.VerificationTemplateMetricProviderNewRelicArgs(
                    new_relic_query="string",
                    profile="string",
                ),
                prometheus=spotinst.oceancd.VerificationTemplateMetricProviderPrometheusArgs(
                    prometheus_query="string",
                ),
                web=spotinst.oceancd.VerificationTemplateMetricProviderWebArgs(
                    url="string",
                    body="string",
                    insecure=False,
                    json_path="string",
                    method="string",
                    timeout_seconds=0,
                    web_headers=[spotinst.oceancd.VerificationTemplateMetricProviderWebWebHeaderArgs(
                        web_header_key="string",
                        web_header_value="string",
                    )],
                ),
            )],
            baseline=spotinst.oceancd.VerificationTemplateMetricBaselineArgs(
                baseline_providers=[spotinst.oceancd.VerificationTemplateMetricBaselineBaselineProviderArgs(
                    datadog=spotinst.oceancd.VerificationTemplateMetricBaselineBaselineProviderDatadogArgs(
                        datadog_query="string",
                        duration="string",
                    ),
                    new_relic=spotinst.oceancd.VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs(
                        new_relic_query="string",
                        profile="string",
                    ),
                    prometheus=spotinst.oceancd.VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs(
                        prometheus_query="string",
                    ),
                )],
                threshold="string",
                max_range=0,
                min_range=0,
            ),
            consecutive_error_limit=0,
            count=0,
            dry_run=False,
            failure_condition="string",
            failure_limit=0,
            initial_delay="string",
            interval="string",
            success_condition="string",
        )],
        name="string")
    
    const verificationTemplateResource = new spotinst.oceancd.VerificationTemplate("verificationTemplateResource", {
        args: [{
            argName: "string",
            value: "string",
            valueFrom: {
                secretKeyRef: {
                    key: "string",
                    name: "string",
                },
            },
        }],
        metrics: [{
            metricsName: "string",
            providers: [{
                cloudWatch: {
                    metricDataQueries: [{
                        id: "string",
                        expression: "string",
                        label: "string",
                        metricStat: {
                            metric: {
                                metricName: "string",
                                dimensions: [{
                                    dimensionName: "string",
                                    dimensionValue: "string",
                                }],
                                namespace: "string",
                            },
                            metricPeriod: 0,
                            stat: "string",
                            unit: "string",
                        },
                        period: 0,
                        returnData: false,
                    }],
                    duration: "string",
                },
                datadog: {
                    datadogQuery: "string",
                    duration: "string",
                },
                jenkins: {
                    jenkinsInterval: "string",
                    pipelineName: "string",
                    timeout: "string",
                    jenkinsParameters: {
                        parameterKey: "string",
                        parameterValue: "string",
                    },
                    tlsVerification: false,
                },
                job: {
                    specs: [{
                        jobTemplates: [{
                            templateSpecs: [{
                                containers: [{
                                    commands: ["string"],
                                    containerName: "string",
                                    image: "string",
                                }],
                                restartPolicy: "string",
                            }],
                        }],
                        backoffLimit: 0,
                    }],
                },
                newRelic: {
                    newRelicQuery: "string",
                    profile: "string",
                },
                prometheus: {
                    prometheusQuery: "string",
                },
                web: {
                    url: "string",
                    body: "string",
                    insecure: false,
                    jsonPath: "string",
                    method: "string",
                    timeoutSeconds: 0,
                    webHeaders: [{
                        webHeaderKey: "string",
                        webHeaderValue: "string",
                    }],
                },
            }],
            baseline: {
                baselineProviders: [{
                    datadog: {
                        datadogQuery: "string",
                        duration: "string",
                    },
                    newRelic: {
                        newRelicQuery: "string",
                        profile: "string",
                    },
                    prometheus: {
                        prometheusQuery: "string",
                    },
                }],
                threshold: "string",
                maxRange: 0,
                minRange: 0,
            },
            consecutiveErrorLimit: 0,
            count: 0,
            dryRun: false,
            failureCondition: "string",
            failureLimit: 0,
            initialDelay: "string",
            interval: "string",
            successCondition: "string",
        }],
        name: "string",
    });
    
    type: spotinst:oceancd:VerificationTemplate
    properties:
        args:
            - argName: string
              value: string
              valueFrom:
                secretKeyRef:
                    key: string
                    name: string
        metrics:
            - baseline:
                baselineProviders:
                    - datadog:
                        datadogQuery: string
                        duration: string
                      newRelic:
                        newRelicQuery: string
                        profile: string
                      prometheus:
                        prometheusQuery: string
                maxRange: 0
                minRange: 0
                threshold: string
              consecutiveErrorLimit: 0
              count: 0
              dryRun: false
              failureCondition: string
              failureLimit: 0
              initialDelay: string
              interval: string
              metricsName: string
              providers:
                - cloudWatch:
                    duration: string
                    metricDataQueries:
                        - expression: string
                          id: string
                          label: string
                          metricStat:
                            metric:
                                dimensions:
                                    - dimensionName: string
                                      dimensionValue: string
                                metricName: string
                                namespace: string
                            metricPeriod: 0
                            stat: string
                            unit: string
                          period: 0
                          returnData: false
                  datadog:
                    datadogQuery: string
                    duration: string
                  jenkins:
                    jenkinsInterval: string
                    jenkinsParameters:
                        parameterKey: string
                        parameterValue: string
                    pipelineName: string
                    timeout: string
                    tlsVerification: false
                  job:
                    specs:
                        - backoffLimit: 0
                          jobTemplates:
                            - templateSpecs:
                                - containers:
                                    - commands:
                                        - string
                                      containerName: string
                                      image: string
                                  restartPolicy: string
                  newRelic:
                    newRelicQuery: string
                    profile: string
                  prometheus:
                    prometheusQuery: string
                  web:
                    body: string
                    insecure: false
                    jsonPath: string
                    method: string
                    timeoutSeconds: 0
                    url: string
                    webHeaders:
                        - webHeaderKey: string
                          webHeaderValue: string
              successCondition: string
        name: string
    

    VerificationTemplate Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The VerificationTemplate resource accepts the following input properties:

    Args List<Pulumi.SpotInst.Oceancd.Inputs.VerificationTemplateArg>
    List of verification arguments. You may specify either value OR valueFrom but not both.In case args:value is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity.
    Metrics List<Pulumi.SpotInst.Oceancd.Inputs.VerificationTemplateMetric>
    List of verification metrics.
    Name string
    Identifier name for Ocean CD Verification Template. Must be unique.
    Args []VerificationTemplateArgArgs
    List of verification arguments. You may specify either value OR valueFrom but not both.In case args:value is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity.
    Metrics []VerificationTemplateMetricArgs
    List of verification metrics.
    Name string
    Identifier name for Ocean CD Verification Template. Must be unique.
    args List<VerificationTemplateArg>
    List of verification arguments. You may specify either value OR valueFrom but not both.In case args:value is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity.
    metrics List<VerificationTemplateMetric>
    List of verification metrics.
    name String
    Identifier name for Ocean CD Verification Template. Must be unique.
    args VerificationTemplateArg[]
    List of verification arguments. You may specify either value OR valueFrom but not both.In case args:value is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity.
    metrics VerificationTemplateMetric[]
    List of verification metrics.
    name string
    Identifier name for Ocean CD Verification Template. Must be unique.
    args Sequence[VerificationTemplateArgArgs]
    List of verification arguments. You may specify either value OR valueFrom but not both.In case args:value is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity.
    metrics Sequence[VerificationTemplateMetricArgs]
    List of verification metrics.
    name str
    Identifier name for Ocean CD Verification Template. Must be unique.
    args List<Property Map>
    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.
    metrics List<Property Map>
    List of verification metrics.
    name String
    Identifier name for Ocean CD Verification Template. Must be unique.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the VerificationTemplate resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing VerificationTemplate Resource

    Get an existing VerificationTemplate resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: VerificationTemplateState, opts?: CustomResourceOptions): VerificationTemplate
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            args: Optional[Sequence[VerificationTemplateArgArgs]] = None,
            metrics: Optional[Sequence[VerificationTemplateMetricArgs]] = None,
            name: Optional[str] = None) -> VerificationTemplate
    func GetVerificationTemplate(ctx *Context, name string, id IDInput, state *VerificationTemplateState, opts ...ResourceOption) (*VerificationTemplate, error)
    public static VerificationTemplate Get(string name, Input<string> id, VerificationTemplateState? state, CustomResourceOptions? opts = null)
    public static VerificationTemplate get(String name, Output<String> id, VerificationTemplateState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Args List<Pulumi.SpotInst.Oceancd.Inputs.VerificationTemplateArg>
    List of verification arguments. You may specify either value OR valueFrom but not both.In case args:value is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity.
    Metrics List<Pulumi.SpotInst.Oceancd.Inputs.VerificationTemplateMetric>
    List of verification metrics.
    Name string
    Identifier name for Ocean CD Verification Template. Must be unique.
    Args []VerificationTemplateArgArgs
    List of verification arguments. You may specify either value OR valueFrom but not both.In case args:value is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity.
    Metrics []VerificationTemplateMetricArgs
    List of verification metrics.
    Name string
    Identifier name for Ocean CD Verification Template. Must be unique.
    args List<VerificationTemplateArg>
    List of verification arguments. You may specify either value OR valueFrom but not both.In case args:value is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity.
    metrics List<VerificationTemplateMetric>
    List of verification metrics.
    name String
    Identifier name for Ocean CD Verification Template. Must be unique.
    args VerificationTemplateArg[]
    List of verification arguments. You may specify either value OR valueFrom but not both.In case args:value is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity.
    metrics VerificationTemplateMetric[]
    List of verification metrics.
    name string
    Identifier name for Ocean CD Verification Template. Must be unique.
    args Sequence[VerificationTemplateArgArgs]
    List of verification arguments. You may specify either value OR valueFrom but not both.In case args:value is already defined in the RolloutSpec entity, there is no need to also specify it in the VerificationTemplate entity.
    metrics Sequence[VerificationTemplateMetricArgs]
    List of verification metrics.
    name str
    Identifier name for Ocean CD Verification Template. Must be unique.
    args List<Property Map>
    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.
    metrics List<Property Map>
    List of verification metrics.
    name String
    Identifier name for Ocean CD Verification Template. Must be unique.

    Supporting Types

    VerificationTemplateArg, VerificationTemplateArgArgs

    ArgName string
    Name of an argument.
    Value string
    String representation of data.
    ValueFrom Pulumi.SpotInst.Oceancd.Inputs.VerificationTemplateArgValueFrom
    ValueFrom object.
    ArgName string
    Name of an argument.
    Value string
    String representation of data.
    ValueFrom VerificationTemplateArgValueFrom
    ValueFrom object.
    argName String
    Name of an argument.
    value String
    String representation of data.
    valueFrom VerificationTemplateArgValueFrom
    ValueFrom object.
    argName string
    Name of an argument.
    value string
    String representation of data.
    valueFrom VerificationTemplateArgValueFrom
    ValueFrom object.
    arg_name str
    Name of an argument.
    value str
    String representation of data.
    value_from VerificationTemplateArgValueFrom
    ValueFrom object.
    argName String
    Name of an argument.
    value String
    String representation of data.
    valueFrom Property Map
    ValueFrom object.

    VerificationTemplateArgValueFrom, VerificationTemplateArgValueFromArgs

    secretKeyRef Property Map
    Secret key to use.

    VerificationTemplateArgValueFromSecretKeyRef, VerificationTemplateArgValueFromSecretKeyRefArgs

    Key string
    The name of the field inside the secret.
    Name string
    The name of the secret.
    Key string
    The name of the field inside the secret.
    Name string
    The name of the secret.
    key String
    The name of the field inside the secret.
    name String
    The name of the secret.
    key string
    The name of the field inside the secret.
    name string
    The name of the secret.
    key str
    The name of the field inside the secret.
    name str
    The name of the secret.
    key String
    The name of the field inside the secret.
    name String
    The name of the secret.

    VerificationTemplateMetric, VerificationTemplateMetricArgs

    MetricsName string
    The name of the verification metric.
    Providers List<Pulumi.SpotInst.Oceancd.Inputs.VerificationTemplateMetricProvider>
    The name of the monitoring tool chosen for the metric.
    Baseline Pulumi.SpotInst.Oceancd.Inputs.VerificationTemplateMetricBaseline
    Baseline Object.
    ConsecutiveErrorLimit int
    The maximum number of times the measurement is allowed to error in succession, before the metric is considered error.Default is 4.When choosing Jenkins as the provider, there is no need to send this variable.
    Count int
    The number of times to run the measurement. If both interval and count are omitted, the effective count is 1. If only interval is specified, metric runs indefinitely. If count > 1, interval must be specified. When choosing Jenkins as the provider, there is no need to send this variable.
    DryRun bool
    Defines whether the metric should have an impact on the result of the rollout.
    FailureCondition string
    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.
    FailureLimit int
    The maximum number of times the measurement is allowed to fail, before the entire metric is considered failed.Default is 0. When choosing Jenkins as the provider, there is no need to send this variable.
    InitialDelay string
    How long to wait before starting this metric measurements. When choosing Jenkins as the provider, there is no need to send this variable.
    Interval string
    Defines an interval string (30s, 5m, 1h) between each verification measurements. If omitted, will perform a single measurement.When choosing Jenkins as the provider, there is no need to send this variable.
    SuccessCondition string
    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.
    MetricsName string
    The name of the verification metric.
    Providers []VerificationTemplateMetricProvider
    The name of the monitoring tool chosen for the metric.
    Baseline VerificationTemplateMetricBaseline
    Baseline Object.
    ConsecutiveErrorLimit int
    The maximum number of times the measurement is allowed to error in succession, before the metric is considered error.Default is 4.When choosing Jenkins as the provider, there is no need to send this variable.
    Count int
    The number of times to run the measurement. If both interval and count are omitted, the effective count is 1. If only interval is specified, metric runs indefinitely. If count > 1, interval must be specified. When choosing Jenkins as the provider, there is no need to send this variable.
    DryRun bool
    Defines whether the metric should have an impact on the result of the rollout.
    FailureCondition string
    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.
    FailureLimit int
    The maximum number of times the measurement is allowed to fail, before the entire metric is considered failed.Default is 0. When choosing Jenkins as the provider, there is no need to send this variable.
    InitialDelay string
    How long to wait before starting this metric measurements. When choosing Jenkins as the provider, there is no need to send this variable.
    Interval string
    Defines an interval string (30s, 5m, 1h) between each verification measurements. If omitted, will perform a single measurement.When choosing Jenkins as the provider, there is no need to send this variable.
    SuccessCondition string
    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.
    metricsName String
    The name of the verification metric.
    providers List<VerificationTemplateMetricProvider>
    The name of the monitoring tool chosen for the metric.
    baseline VerificationTemplateMetricBaseline
    Baseline Object.
    consecutiveErrorLimit Integer
    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.
    count Integer
    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.
    dryRun Boolean
    Defines whether the metric should have an impact on the result of the rollout.
    failureCondition String
    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.
    failureLimit Integer
    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.
    initialDelay String
    How long to wait before starting this metric measurements. When choosing Jenkins as the provider, there is no need to send this variable.
    interval String
    Defines an interval string (30s, 5m, 1h) between each verification measurements. If omitted, will perform a single measurement.When choosing Jenkins as the provider, there is no need to send this variable.
    successCondition String
    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.
    metricsName string
    The name of the verification metric.
    providers VerificationTemplateMetricProvider[]
    The name of the monitoring tool chosen for the metric.
    baseline VerificationTemplateMetricBaseline
    Baseline Object.
    consecutiveErrorLimit number
    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.
    count number
    The number of times to run the measurement. If both interval and count are omitted, the effective count is 1. If only interval is specified, metric runs indefinitely. If count > 1, interval must be specified. When choosing Jenkins as the provider, there is no need to send this variable.
    dryRun boolean
    Defines whether the metric should have an impact on the result of the rollout.
    failureCondition string
    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.
    failureLimit number
    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.
    initialDelay string
    How long to wait before starting this metric measurements. When choosing Jenkins as the provider, there is no need to send this variable.
    interval string
    Defines an interval string (30s, 5m, 1h) between each verification measurements. If omitted, will perform a single measurement.When choosing Jenkins as the provider, there is no need to send this variable.
    successCondition string
    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.
    metrics_name str
    The name of the verification metric.
    providers Sequence[VerificationTemplateMetricProvider]
    The name of the monitoring tool chosen for the metric.
    baseline VerificationTemplateMetricBaseline
    Baseline Object.
    consecutive_error_limit int
    The maximum number of times the measurement is allowed to error in succession, before the metric is considered error.Default is 4.When choosing Jenkins as the provider, there is no need to send this variable.
    count int
    The number of times to run the measurement. If both interval and count are omitted, the effective count is 1. If only interval is specified, metric runs indefinitely. If count > 1, interval must be specified. When choosing Jenkins as the provider, there is no need to send this variable.
    dry_run bool
    Defines whether the metric should have an impact on the result of the rollout.
    failure_condition str
    An expression which determines if a measurement is considered failed.If failureCondition is set, then successCondition is not allowed. When choosing Jenkins as the provider, there is no need to send this variable.
    failure_limit int
    The maximum number of times the measurement is allowed to fail, before the entire metric is considered failed.Default is 0. When choosing Jenkins as the provider, there is no need to send this variable.
    initial_delay str
    How long to wait before starting this metric measurements. When choosing Jenkins as the provider, there is no need to send this variable.
    interval str
    Defines an interval string (30s, 5m, 1h) between each verification measurements. If omitted, will perform a single measurement.When choosing Jenkins as the provider, there is no need to send this variable.
    success_condition str
    An expression which determines if a measurement is considered successful. The keyword result is a variable reference to the value of measurement. Results can be both structured data or primitive. If successCondition is set, then failureCondition is not allowed. When choosing Jenkins as the provider, there is no need to send this variable.
    metricsName String
    The name of the verification metric.
    providers List<Property Map>
    The name of the monitoring tool chosen for the metric.
    baseline Property Map
    Baseline Object.
    consecutiveErrorLimit Number
    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.
    count Number
    The number of times to run the measurement. If both interval and count are omitted, the effective count is 1. If only interval is specified, metric runs indefinitely. If count > 1, interval must be specified. When choosing Jenkins as the provider, there is no need to send this variable.
    dryRun Boolean
    Defines whether the metric should have an impact on the result of the rollout.
    failureCondition String
    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.
    failureLimit Number
    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.
    initialDelay String
    How long to wait before starting this metric measurements. When choosing Jenkins as the provider, there is no need to send this variable.
    interval String
    Defines an interval string (30s, 5m, 1h) between each verification measurements. If omitted, will perform a single measurement.When choosing Jenkins as the provider, there is no need to send this variable.
    successCondition String
    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.

    VerificationTemplateMetricBaseline, VerificationTemplateMetricBaselineArgs

    BaselineProviders List<Pulumi.SpotInst.Oceancd.Inputs.VerificationTemplateMetricBaselineBaselineProvider>
    The name of the monitoring tool chosen for the metric.
    Threshold string
    A mathematical expression needed for the comparison. Enum: "<" ">" "<=" ">=" "=" "range"
    MaxRange int
    Number in percent we allow the new version’s data result to be under baseline data result.
    MinRange int
    Number in percent we allow the new version’s data result to be under baseline data result.*
    BaselineProviders []VerificationTemplateMetricBaselineBaselineProvider
    The name of the monitoring tool chosen for the metric.
    Threshold string
    A mathematical expression needed for the comparison. Enum: "<" ">" "<=" ">=" "=" "range"
    MaxRange int
    Number in percent we allow the new version’s data result to be under baseline data result.
    MinRange int
    Number in percent we allow the new version’s data result to be under baseline data result.*
    baselineProviders List<VerificationTemplateMetricBaselineBaselineProvider>
    The name of the monitoring tool chosen for the metric.
    threshold String
    A mathematical expression needed for the comparison. Enum: "<" ">" "<=" ">=" "=" "range"
    maxRange Integer
    Number in percent we allow the new version’s data result to be under baseline data result.
    minRange Integer
    Number in percent we allow the new version’s data result to be under baseline data result.*
    baselineProviders VerificationTemplateMetricBaselineBaselineProvider[]
    The name of the monitoring tool chosen for the metric.
    threshold string
    A mathematical expression needed for the comparison. Enum: "<" ">" "<=" ">=" "=" "range"
    maxRange number
    Number in percent we allow the new version’s data result to be under baseline data result.
    minRange number
    Number in percent we allow the new version’s data result to be under baseline data result.*
    baseline_providers Sequence[VerificationTemplateMetricBaselineBaselineProvider]
    The name of the monitoring tool chosen for the metric.
    threshold str
    A mathematical expression needed for the comparison. Enum: "<" ">" "<=" ">=" "=" "range"
    max_range int
    Number in percent we allow the new version’s data result to be under baseline data result.
    min_range int
    Number in percent we allow the new version’s data result to be under baseline data result.*
    baselineProviders List<Property Map>
    The name of the monitoring tool chosen for the metric.
    threshold String
    A mathematical expression needed for the comparison. Enum: "<" ">" "<=" ">=" "=" "range"
    maxRange Number
    Number in percent we allow the new version’s data result to be under baseline data result.
    minRange Number
    Number in percent we allow the new version’s data result to be under baseline data result.*

    VerificationTemplateMetricBaselineBaselineProvider, VerificationTemplateMetricBaselineBaselineProviderArgs

    datadog Property Map
    The datadog provider.
    newRelic Property Map
    The New Relic provider.
    prometheus Property Map
    The Prometheus provider.

    VerificationTemplateMetricBaselineBaselineProviderDatadog, VerificationTemplateMetricBaselineBaselineProviderDatadogArgs

    DatadogQuery string
    A request for information retrieved from Datadog.
    Duration string
    The window of time we are looking at in DataDog.
    DatadogQuery string
    A request for information retrieved from Datadog.
    Duration string
    The window of time we are looking at in DataDog.
    datadogQuery String
    A request for information retrieved from Datadog.
    duration String
    The window of time we are looking at in DataDog.
    datadogQuery string
    A request for information retrieved from Datadog.
    duration string
    The window of time we are looking at in DataDog.
    datadog_query str
    A request for information retrieved from Datadog.
    duration str
    The window of time we are looking at in DataDog.
    datadogQuery String
    A request for information retrieved from Datadog.
    duration String
    The window of time we are looking at in DataDog.

    VerificationTemplateMetricBaselineBaselineProviderNewRelic, VerificationTemplateMetricBaselineBaselineProviderNewRelicArgs

    NewRelicQuery string
    A raw newrelic NRQL query to perform.
    Profile string
    The name of the secret holding NR account configuration.
    NewRelicQuery string
    A raw newrelic NRQL query to perform.
    Profile string
    The name of the secret holding NR account configuration.
    newRelicQuery String
    A raw newrelic NRQL query to perform.
    profile String
    The name of the secret holding NR account configuration.
    newRelicQuery string
    A raw newrelic NRQL query to perform.
    profile string
    The name of the secret holding NR account configuration.
    new_relic_query str
    A raw newrelic NRQL query to perform.
    profile str
    The name of the secret holding NR account configuration.
    newRelicQuery String
    A raw newrelic NRQL query to perform.
    profile String
    The name of the secret holding NR account configuration.

    VerificationTemplateMetricBaselineBaselineProviderPrometheus, VerificationTemplateMetricBaselineBaselineProviderPrometheusArgs

    PrometheusQuery string
    A request for information retrieved from Prometheus.
    PrometheusQuery string
    A request for information retrieved from Prometheus.
    prometheusQuery String
    A request for information retrieved from Prometheus.
    prometheusQuery string
    A request for information retrieved from Prometheus.
    prometheus_query str
    A request for information retrieved from Prometheus.
    prometheusQuery String
    A request for information retrieved from Prometheus.

    VerificationTemplateMetricProvider, VerificationTemplateMetricProviderArgs

    cloudWatch Property Map
    The CloudWatch provider.
    datadog Property Map
    The datadog provider.
    jenkins Property Map
    The Jenkins provider. Default is "{$}"
    job Property Map
    The Job provider.
    newRelic Property Map
    The New Relic provider.
    prometheus Property Map
    The Prometheus provider.
    web Property Map
    The Web provider.

    VerificationTemplateMetricProviderCloudWatch, VerificationTemplateMetricProviderCloudWatchArgs

    MetricDataQueries List<Pulumi.SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderCloudWatchMetricDataQuery>
    The metric queries to be returned. A single MetricData call can include as many as 500 MetricDataQuery structures. Each of these structures can specify either a metric to retrieve, a Metrics Insights query, or a math expression to perform on retrieved data.
    Duration string
    The window of time we are looking at in CloudWatch.
    MetricDataQueries []VerificationTemplateMetricProviderCloudWatchMetricDataQuery
    The metric queries to be returned. A single MetricData call can include as many as 500 MetricDataQuery structures. Each of these structures can specify either a metric to retrieve, a Metrics Insights query, or a math expression to perform on retrieved data.
    Duration string
    The window of time we are looking at in CloudWatch.
    metricDataQueries List<VerificationTemplateMetricProviderCloudWatchMetricDataQuery>
    The metric queries to be returned. A single MetricData call can include as many as 500 MetricDataQuery structures. Each of these structures can specify either a metric to retrieve, a Metrics Insights query, or a math expression to perform on retrieved data.
    duration String
    The window of time we are looking at in CloudWatch.
    metricDataQueries VerificationTemplateMetricProviderCloudWatchMetricDataQuery[]
    The metric queries to be returned. A single MetricData call can include as many as 500 MetricDataQuery structures. Each of these structures can specify either a metric to retrieve, a Metrics Insights query, or a math expression to perform on retrieved data.
    duration string
    The window of time we are looking at in CloudWatch.
    metric_data_queries Sequence[VerificationTemplateMetricProviderCloudWatchMetricDataQuery]
    The metric queries to be returned. A single MetricData call can include as many as 500 MetricDataQuery structures. Each of these structures can specify either a metric to retrieve, a Metrics Insights query, or a math expression to perform on retrieved data.
    duration str
    The window of time we are looking at in CloudWatch.
    metricDataQueries List<Property Map>
    The metric queries to be returned. A single MetricData call can include as many as 500 MetricDataQuery structures. Each of these structures can specify either a metric to retrieve, a Metrics Insights query, or a math expression to perform on retrieved data.
    duration String
    The window of time we are looking at in CloudWatch.

    VerificationTemplateMetricProviderCloudWatchMetricDataQuery, VerificationTemplateMetricProviderCloudWatchMetricDataQueryArgs

    Id string
    The response ID. Must be unique and not null. This object can contain characters, letters, numbers and underscore. The first letter must be a lowercase letter.
    Expression string
    This field can contain either a Metrics Insights query, or a metric math expression to be performed on the returned data. Within one metricdataquery object, you must specify either expression or metricstat but not both.
    Label string
    A human-readable label for this metric or expression. If the metric or expression is shown in a CloudWatch dashboard widget, the label is shown
    MetricStat Pulumi.SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat
    The metric to be returned, along with statistics, period, and units. Use this parameter only if this object is retrieving a metric and not performing a math expression on returned data.Within one metricdataquery object, you must specify either expression or metricstat but not both.
    Period int
    The granularity, in seconds, of the returned data points.
    ReturnData bool
    This option indicates whether to return the timestamps and raw data values of this metric. If you are performing this call just to do math expressions and do not also need the raw data returned, you can specify False . If you omit this, the default of True is used.
    Id string
    The response ID. Must be unique and not null. This object can contain characters, letters, numbers and underscore. The first letter must be a lowercase letter.
    Expression string
    This field can contain either a Metrics Insights query, or a metric math expression to be performed on the returned data. Within one metricdataquery object, you must specify either expression or metricstat but not both.
    Label string
    A human-readable label for this metric or expression. If the metric or expression is shown in a CloudWatch dashboard widget, the label is shown
    MetricStat VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat
    The metric to be returned, along with statistics, period, and units. Use this parameter only if this object is retrieving a metric and not performing a math expression on returned data.Within one metricdataquery object, you must specify either expression or metricstat but not both.
    Period int
    The granularity, in seconds, of the returned data points.
    ReturnData bool
    This option indicates whether to return the timestamps and raw data values of this metric. If you are performing this call just to do math expressions and do not also need the raw data returned, you can specify False . If you omit this, the default of True is used.
    id String
    The response ID. Must be unique and not null. This object can contain characters, letters, numbers and underscore. The first letter must be a lowercase letter.
    expression String
    This field can contain either a Metrics Insights query, or a metric math expression to be performed on the returned data. Within one metricdataquery object, you must specify either expression or metricstat but not both.
    label String
    A human-readable label for this metric or expression. If the metric or expression is shown in a CloudWatch dashboard widget, the label is shown
    metricStat VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat
    The metric to be returned, along with statistics, period, and units. Use this parameter only if this object is retrieving a metric and not performing a math expression on returned data.Within one metricdataquery object, you must specify either expression or metricstat but not both.
    period Integer
    The granularity, in seconds, of the returned data points.
    returnData Boolean
    This option indicates whether to return the timestamps and raw data values of this metric. If you are performing this call just to do math expressions and do not also need the raw data returned, you can specify False . If you omit this, the default of True is used.
    id string
    The response ID. Must be unique and not null. This object can contain characters, letters, numbers and underscore. The first letter must be a lowercase letter.
    expression string
    This field can contain either a Metrics Insights query, or a metric math expression to be performed on the returned data. Within one metricdataquery object, you must specify either expression or metricstat but not both.
    label string
    A human-readable label for this metric or expression. If the metric or expression is shown in a CloudWatch dashboard widget, the label is shown
    metricStat VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat
    The metric to be returned, along with statistics, period, and units. Use this parameter only if this object is retrieving a metric and not performing a math expression on returned data.Within one metricdataquery object, you must specify either expression or metricstat but not both.
    period number
    The granularity, in seconds, of the returned data points.
    returnData boolean
    This option indicates whether to return the timestamps and raw data values of this metric. If you are performing this call just to do math expressions and do not also need the raw data returned, you can specify False . If you omit this, the default of True is used.
    id str
    The response ID. Must be unique and not null. This object can contain characters, letters, numbers and underscore. The first letter must be a lowercase letter.
    expression str
    This field can contain either a Metrics Insights query, or a metric math expression to be performed on the returned data. Within one metricdataquery object, you must specify either expression or metricstat but not both.
    label str
    A human-readable label for this metric or expression. If the metric or expression is shown in a CloudWatch dashboard widget, the label is shown
    metric_stat VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat
    The metric to be returned, along with statistics, period, and units. Use this parameter only if this object is retrieving a metric and not performing a math expression on returned data.Within one metricdataquery object, you must specify either expression or metricstat but not both.
    period int
    The granularity, in seconds, of the returned data points.
    return_data bool
    This option indicates whether to return the timestamps and raw data values of this metric. If you are performing this call just to do math expressions and do not also need the raw data returned, you can specify False . If you omit this, the default of True is used.
    id String
    The response ID. Must be unique and not null. This object can contain characters, letters, numbers and underscore. The first letter must be a lowercase letter.
    expression String
    This field can contain either a Metrics Insights query, or a metric math expression to be performed on the returned data. Within one metricdataquery object, you must specify either expression or metricstat but not both.
    label String
    A human-readable label for this metric or expression. If the metric or expression is shown in a CloudWatch dashboard widget, the label is shown
    metricStat Property Map
    The metric to be returned, along with statistics, period, and units. Use this parameter only if this object is retrieving a metric and not performing a math expression on returned data.Within one metricdataquery object, you must specify either expression or metricstat but not both.
    period Number
    The granularity, in seconds, of the returned data points.
    returnData Boolean
    This option indicates whether to return the timestamps and raw data values of this metric. If you are performing this call just to do math expressions and do not also need the raw data returned, you can specify False . If you omit this, the default of True is used.

    VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStat, VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatArgs

    Metric Pulumi.SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric
    The metric to return, including the metric name, namespace, and dimensions.
    MetricPeriod int
    The granularity, in seconds, of the returned data points.
    Stat string
    The statistic to return. It can include any CloudWatch statistic or extended statistic.
    Unit string
    This defines what unit you want to use when storing the metric. Enum: "Seconds" "Microseconds" "Milliseconds" "Bytes" "Kilobytes" "Megabytes" "Gigabytes" "Terabytes" "Bits" "Kilobits" "Megabits" "Gigabits" "Terabits" "Percent" "Count" "Bytes/Second" "Kilobytes/Second" "Megabytes/Second" "Gigabytes/Second" "Terabytes/Second" "Bits/Second" "Kilobits/Second" "Megabits/Second" "Gigabits/Second" "Terabits/Second" "Count/Second" "None"
    Metric VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric
    The metric to return, including the metric name, namespace, and dimensions.
    MetricPeriod int
    The granularity, in seconds, of the returned data points.
    Stat string
    The statistic to return. It can include any CloudWatch statistic or extended statistic.
    Unit string
    This defines what unit you want to use when storing the metric. Enum: "Seconds" "Microseconds" "Milliseconds" "Bytes" "Kilobytes" "Megabytes" "Gigabytes" "Terabytes" "Bits" "Kilobits" "Megabits" "Gigabits" "Terabits" "Percent" "Count" "Bytes/Second" "Kilobytes/Second" "Megabytes/Second" "Gigabytes/Second" "Terabytes/Second" "Bits/Second" "Kilobits/Second" "Megabits/Second" "Gigabits/Second" "Terabits/Second" "Count/Second" "None"
    metric VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric
    The metric to return, including the metric name, namespace, and dimensions.
    metricPeriod Integer
    The granularity, in seconds, of the returned data points.
    stat String
    The statistic to return. It can include any CloudWatch statistic or extended statistic.
    unit String
    This defines what unit you want to use when storing the metric. Enum: "Seconds" "Microseconds" "Milliseconds" "Bytes" "Kilobytes" "Megabytes" "Gigabytes" "Terabytes" "Bits" "Kilobits" "Megabits" "Gigabits" "Terabits" "Percent" "Count" "Bytes/Second" "Kilobytes/Second" "Megabytes/Second" "Gigabytes/Second" "Terabytes/Second" "Bits/Second" "Kilobits/Second" "Megabits/Second" "Gigabits/Second" "Terabits/Second" "Count/Second" "None"
    metric VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric
    The metric to return, including the metric name, namespace, and dimensions.
    metricPeriod number
    The granularity, in seconds, of the returned data points.
    stat string
    The statistic to return. It can include any CloudWatch statistic or extended statistic.
    unit string
    This defines what unit you want to use when storing the metric. Enum: "Seconds" "Microseconds" "Milliseconds" "Bytes" "Kilobytes" "Megabytes" "Gigabytes" "Terabytes" "Bits" "Kilobits" "Megabits" "Gigabits" "Terabits" "Percent" "Count" "Bytes/Second" "Kilobytes/Second" "Megabytes/Second" "Gigabytes/Second" "Terabytes/Second" "Bits/Second" "Kilobits/Second" "Megabits/Second" "Gigabits/Second" "Terabits/Second" "Count/Second" "None"
    metric VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric
    The metric to return, including the metric name, namespace, and dimensions.
    metric_period int
    The granularity, in seconds, of the returned data points.
    stat str
    The statistic to return. It can include any CloudWatch statistic or extended statistic.
    unit str
    This defines what unit you want to use when storing the metric. Enum: "Seconds" "Microseconds" "Milliseconds" "Bytes" "Kilobytes" "Megabytes" "Gigabytes" "Terabytes" "Bits" "Kilobits" "Megabits" "Gigabits" "Terabits" "Percent" "Count" "Bytes/Second" "Kilobytes/Second" "Megabytes/Second" "Gigabytes/Second" "Terabytes/Second" "Bits/Second" "Kilobits/Second" "Megabits/Second" "Gigabits/Second" "Terabits/Second" "Count/Second" "None"
    metric Property Map
    The metric to return, including the metric name, namespace, and dimensions.
    metricPeriod Number
    The granularity, in seconds, of the returned data points.
    stat String
    The statistic to return. It can include any CloudWatch statistic or extended statistic.
    unit String
    This defines what unit you want to use when storing the metric. Enum: "Seconds" "Microseconds" "Milliseconds" "Bytes" "Kilobytes" "Megabytes" "Gigabytes" "Terabytes" "Bits" "Kilobits" "Megabits" "Gigabits" "Terabits" "Percent" "Count" "Bytes/Second" "Kilobytes/Second" "Megabytes/Second" "Gigabytes/Second" "Terabytes/Second" "Bits/Second" "Kilobits/Second" "Megabits/Second" "Gigabits/Second" "Terabits/Second" "Count/Second" "None"

    VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetric, VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricArgs

    MetricName string
    The name of the metric.
    Dimensions List<Pulumi.SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension>
    A dimension is a name/value pair that is part of the identity of a metric.You can assign upto 30 dimensions to a metric
    Namespace string
    The namespace of the metric.
    MetricName string
    The name of the metric.
    Dimensions []VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension
    A dimension is a name/value pair that is part of the identity of a metric.You can assign upto 30 dimensions to a metric
    Namespace string
    The namespace of the metric.
    metricName String
    The name of the metric.
    dimensions List<VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension>
    A dimension is a name/value pair that is part of the identity of a metric.You can assign upto 30 dimensions to a metric
    namespace String
    The namespace of the metric.
    metricName string
    The name of the metric.
    dimensions VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension[]
    A dimension is a name/value pair that is part of the identity of a metric.You can assign upto 30 dimensions to a metric
    namespace string
    The namespace of the metric.
    metric_name str
    The name of the metric.
    dimensions Sequence[VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension]
    A dimension is a name/value pair that is part of the identity of a metric.You can assign upto 30 dimensions to a metric
    namespace str
    The namespace of the metric.
    metricName String
    The name of the metric.
    dimensions List<Property Map>
    A dimension is a name/value pair that is part of the identity of a metric.You can assign upto 30 dimensions to a metric
    namespace String
    The namespace of the metric.

    VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimension, VerificationTemplateMetricProviderCloudWatchMetricDataQueryMetricStatMetricDimensionArgs

    DimensionName string
    The name of the dimensions. These values must contain only ASCII characters and must include at least one non-whitespace characte
    DimensionValue string
    The value of the dimensions.These values must contain only ASCII characters and must include at least one non-whitespace characte
    DimensionName string
    The name of the dimensions. These values must contain only ASCII characters and must include at least one non-whitespace characte
    DimensionValue string
    The value of the dimensions.These values must contain only ASCII characters and must include at least one non-whitespace characte
    dimensionName String
    The name of the dimensions. These values must contain only ASCII characters and must include at least one non-whitespace characte
    dimensionValue String
    The value of the dimensions.These values must contain only ASCII characters and must include at least one non-whitespace characte
    dimensionName string
    The name of the dimensions. These values must contain only ASCII characters and must include at least one non-whitespace characte
    dimensionValue string
    The value of the dimensions.These values must contain only ASCII characters and must include at least one non-whitespace characte
    dimension_name str
    The name of the dimensions. These values must contain only ASCII characters and must include at least one non-whitespace characte
    dimension_value str
    The value of the dimensions.These values must contain only ASCII characters and must include at least one non-whitespace characte
    dimensionName String
    The name of the dimensions. These values must contain only ASCII characters and must include at least one non-whitespace characte
    dimensionValue String
    The value of the dimensions.These values must contain only ASCII characters and must include at least one non-whitespace characte

    VerificationTemplateMetricProviderDatadog, VerificationTemplateMetricProviderDatadogArgs

    DatadogQuery string
    A request for information retrieved from Datadog.
    Duration string
    The window of time we are looking at in DataDog.
    DatadogQuery string
    A request for information retrieved from Datadog.
    Duration string
    The window of time we are looking at in DataDog.
    datadogQuery String
    A request for information retrieved from Datadog.
    duration String
    The window of time we are looking at in DataDog.
    datadogQuery string
    A request for information retrieved from Datadog.
    duration string
    The window of time we are looking at in DataDog.
    datadog_query str
    A request for information retrieved from Datadog.
    duration str
    The window of time we are looking at in DataDog.
    datadogQuery String
    A request for information retrieved from Datadog.
    duration String
    The window of time we are looking at in DataDog.

    VerificationTemplateMetricProviderJenkins, VerificationTemplateMetricProviderJenkinsArgs

    JenkinsInterval string
    The interval time to poll status.
    PipelineName string
    The Jenkins pipeline name.
    Timeout string
    The total jenkins timeout.
    JenkinsParameters Pulumi.SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderJenkinsJenkinsParameters
    List of parameters.
    TlsVerification bool
    Host TLS verification.
    JenkinsInterval string
    The interval time to poll status.
    PipelineName string
    The Jenkins pipeline name.
    Timeout string
    The total jenkins timeout.
    JenkinsParameters VerificationTemplateMetricProviderJenkinsJenkinsParameters
    List of parameters.
    TlsVerification bool
    Host TLS verification.
    jenkinsInterval String
    The interval time to poll status.
    pipelineName String
    The Jenkins pipeline name.
    timeout String
    The total jenkins timeout.
    jenkinsParameters VerificationTemplateMetricProviderJenkinsJenkinsParameters
    List of parameters.
    tlsVerification Boolean
    Host TLS verification.
    jenkinsInterval string
    The interval time to poll status.
    pipelineName string
    The Jenkins pipeline name.
    timeout string
    The total jenkins timeout.
    jenkinsParameters VerificationTemplateMetricProviderJenkinsJenkinsParameters
    List of parameters.
    tlsVerification boolean
    Host TLS verification.
    jenkins_interval str
    The interval time to poll status.
    pipeline_name str
    The Jenkins pipeline name.
    timeout str
    The total jenkins timeout.
    jenkins_parameters VerificationTemplateMetricProviderJenkinsJenkinsParameters
    List of parameters.
    tls_verification bool
    Host TLS verification.
    jenkinsInterval String
    The interval time to poll status.
    pipelineName String
    The Jenkins pipeline name.
    timeout String
    The total jenkins timeout.
    jenkinsParameters Property Map
    List of parameters.
    tlsVerification Boolean
    Host TLS verification.

    VerificationTemplateMetricProviderJenkinsJenkinsParameters, VerificationTemplateMetricProviderJenkinsJenkinsParametersArgs

    ParameterKey string
    Key of an argument.
    ParameterValue string
    Value of an argument.
    ParameterKey string
    Key of an argument.
    ParameterValue string
    Value of an argument.
    parameterKey String
    Key of an argument.
    parameterValue String
    Value of an argument.
    parameterKey string
    Key of an argument.
    parameterValue string
    Value of an argument.
    parameter_key str
    Key of an argument.
    parameter_value str
    Value of an argument.
    parameterKey String
    Key of an argument.
    parameterValue String
    Value of an argument.

    VerificationTemplateMetricProviderJob, VerificationTemplateMetricProviderJobArgs

    Specs []VerificationTemplateMetricProviderJobSpec
    The job spec require to run the metric.
    specs List<VerificationTemplateMetricProviderJobSpec>
    The job spec require to run the metric.
    specs VerificationTemplateMetricProviderJobSpec[]
    The job spec require to run the metric.
    specs Sequence[VerificationTemplateMetricProviderJobSpec]
    The job spec require to run the metric.
    specs List<Property Map>
    The job spec require to run the metric.

    VerificationTemplateMetricProviderJobSpec, VerificationTemplateMetricProviderJobSpecArgs

    JobTemplates List<Pulumi.SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderJobSpecJobTemplate>
    Describes the pod that will be created when executing a job.
    BackoffLimit int
    Specifies the number of retries before marking this job failed.
    JobTemplates []VerificationTemplateMetricProviderJobSpecJobTemplate
    Describes the pod that will be created when executing a job.
    BackoffLimit int
    Specifies the number of retries before marking this job failed.
    jobTemplates List<VerificationTemplateMetricProviderJobSpecJobTemplate>
    Describes the pod that will be created when executing a job.
    backoffLimit Integer
    Specifies the number of retries before marking this job failed.
    jobTemplates VerificationTemplateMetricProviderJobSpecJobTemplate[]
    Describes the pod that will be created when executing a job.
    backoffLimit number
    Specifies the number of retries before marking this job failed.
    job_templates Sequence[VerificationTemplateMetricProviderJobSpecJobTemplate]
    Describes the pod that will be created when executing a job.
    backoff_limit int
    Specifies the number of retries before marking this job failed.
    jobTemplates List<Property Map>
    Describes the pod that will be created when executing a job.
    backoffLimit Number
    Specifies the number of retries before marking this job failed.

    VerificationTemplateMetricProviderJobSpecJobTemplate, VerificationTemplateMetricProviderJobSpecJobTemplateArgs

    templateSpecs List<Property Map>
    Specification of the desired behavior of the pod.

    VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpec, VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecArgs

    Containers List<Pulumi.SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer>
    A list of containers belonging to the pod.
    RestartPolicy string
    Restart policy for all containers within the pod. Enum: "Never" "OnFailure"
    Containers []VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer
    A list of containers belonging to the pod.
    RestartPolicy string
    Restart policy for all containers within the pod. Enum: "Never" "OnFailure"
    containers List<VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer>
    A list of containers belonging to the pod.
    restartPolicy String
    Restart policy for all containers within the pod. Enum: "Never" "OnFailure"
    containers VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer[]
    A list of containers belonging to the pod.
    restartPolicy string
    Restart policy for all containers within the pod. Enum: "Never" "OnFailure"
    containers Sequence[VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer]
    A list of containers belonging to the pod.
    restart_policy str
    Restart policy for all containers within the pod. Enum: "Never" "OnFailure"
    containers List<Property Map>
    A list of containers belonging to the pod.
    restartPolicy String
    Restart policy for all containers within the pod. Enum: "Never" "OnFailure"

    VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainer, VerificationTemplateMetricProviderJobSpecJobTemplateTemplateSpecContainerArgs

    Commands List<string>
    The entry point of a container.
    ContainerName string
    The name of a container.
    Image string
    The image name of a container.
    Commands []string
    The entry point of a container.
    ContainerName string
    The name of a container.
    Image string
    The image name of a container.
    commands List<String>
    The entry point of a container.
    containerName String
    The name of a container.
    image String
    The image name of a container.
    commands string[]
    The entry point of a container.
    containerName string
    The name of a container.
    image string
    The image name of a container.
    commands Sequence[str]
    The entry point of a container.
    container_name str
    The name of a container.
    image str
    The image name of a container.
    commands List<String>
    The entry point of a container.
    containerName String
    The name of a container.
    image String
    The image name of a container.

    VerificationTemplateMetricProviderNewRelic, VerificationTemplateMetricProviderNewRelicArgs

    NewRelicQuery string
    A raw newrelic NRQL query to perform.
    Profile string
    The name of the secret holding NR account configuration.
    NewRelicQuery string
    A raw newrelic NRQL query to perform.
    Profile string
    The name of the secret holding NR account configuration.
    newRelicQuery String
    A raw newrelic NRQL query to perform.
    profile String
    The name of the secret holding NR account configuration.
    newRelicQuery string
    A raw newrelic NRQL query to perform.
    profile string
    The name of the secret holding NR account configuration.
    new_relic_query str
    A raw newrelic NRQL query to perform.
    profile str
    The name of the secret holding NR account configuration.
    newRelicQuery String
    A raw newrelic NRQL query to perform.
    profile String
    The name of the secret holding NR account configuration.

    VerificationTemplateMetricProviderPrometheus, VerificationTemplateMetricProviderPrometheusArgs

    VerificationTemplateMetricProviderWeb, VerificationTemplateMetricProviderWebArgs

    Url string
    The address of the web metric.
    Body string
    The body of the web metric.
    Insecure bool
    Skips host TLS verification.
    JsonPath string
    A JSON Path to use as the result variable. Default is "{$}"
    Method string
    The method of the web metric. Enum: "GET" "POST" "PUT"
    TimeoutSeconds int
    The timeout for the request in seconds. Default is 10.
    WebHeaders List<Pulumi.SpotInst.Oceancd.Inputs.VerificationTemplateMetricProviderWebWebHeader>
    Optional HTTP headers to use in the request.
    Url string
    The address of the web metric.
    Body string
    The body of the web metric.
    Insecure bool
    Skips host TLS verification.
    JsonPath string
    A JSON Path to use as the result variable. Default is "{$}"
    Method string
    The method of the web metric. Enum: "GET" "POST" "PUT"
    TimeoutSeconds int
    The timeout for the request in seconds. Default is 10.
    WebHeaders []VerificationTemplateMetricProviderWebWebHeader
    Optional HTTP headers to use in the request.
    url String
    The address of the web metric.
    body String
    The body of the web metric.
    insecure Boolean
    Skips host TLS verification.
    jsonPath String
    A JSON Path to use as the result variable. Default is "{$}"
    method String
    The method of the web metric. Enum: "GET" "POST" "PUT"
    timeoutSeconds Integer
    The timeout for the request in seconds. Default is 10.
    webHeaders List<VerificationTemplateMetricProviderWebWebHeader>
    Optional HTTP headers to use in the request.
    url string
    The address of the web metric.
    body string
    The body of the web metric.
    insecure boolean
    Skips host TLS verification.
    jsonPath string
    A JSON Path to use as the result variable. Default is "{$}"
    method string
    The method of the web metric. Enum: "GET" "POST" "PUT"
    timeoutSeconds number
    The timeout for the request in seconds. Default is 10.
    webHeaders VerificationTemplateMetricProviderWebWebHeader[]
    Optional HTTP headers to use in the request.
    url str
    The address of the web metric.
    body str
    The body of the web metric.
    insecure bool
    Skips host TLS verification.
    json_path str
    A JSON Path to use as the result variable. Default is "{$}"
    method str
    The method of the web metric. Enum: "GET" "POST" "PUT"
    timeout_seconds int
    The timeout for the request in seconds. Default is 10.
    web_headers Sequence[VerificationTemplateMetricProviderWebWebHeader]
    Optional HTTP headers to use in the request.
    url String
    The address of the web metric.
    body String
    The body of the web metric.
    insecure Boolean
    Skips host TLS verification.
    jsonPath String
    A JSON Path to use as the result variable. Default is "{$}"
    method String
    The method of the web metric. Enum: "GET" "POST" "PUT"
    timeoutSeconds Number
    The timeout for the request in seconds. Default is 10.
    webHeaders List<Property Map>
    Optional HTTP headers to use in the request.

    VerificationTemplateMetricProviderWebWebHeader, VerificationTemplateMetricProviderWebWebHeaderArgs

    WebHeaderKey string
    The name of a header
    WebHeaderValue string
    The value of a header
    WebHeaderKey string
    The name of a header
    WebHeaderValue string
    The value of a header
    webHeaderKey String
    The name of a header
    webHeaderValue String
    The value of a header
    webHeaderKey string
    The name of a header
    webHeaderValue string
    The value of a header
    web_header_key str
    The name of a header
    web_header_value str
    The value of a header
    webHeaderKey String
    The name of a header
    webHeaderValue String
    The value of a header

    Package Details

    Repository
    Spotinst pulumi/pulumi-spotinst
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the spotinst Terraform Provider.
    spotinst logo
    Spotinst v3.81.0 published on Monday, Jun 24, 2024 by Pulumi