1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. clouddeploy
  5. DeliveryPipeline
Google Cloud v8.23.0 published on Monday, Mar 24, 2025 by Pulumi

gcp.clouddeploy.DeliveryPipeline

Explore with Pulumi AI

The Cloud Deploy DeliveryPipeline resource

Example Usage

Canary_delivery_pipeline

Creates a basic Cloud Deploy delivery pipeline

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const primary = new gcp.clouddeploy.DeliveryPipeline("primary", {
    location: "us-west1",
    name: "pipeline",
    description: "basic description",
    project: "my-project-name",
    serialPipeline: {
        stages: [
            {
                deployParameters: [{
                    values: {
                        deployParameterKey: "deployParameterValue",
                    },
                    matchTargetLabels: {},
                }],
                profiles: [
                    "example-profile-one",
                    "example-profile-two",
                ],
                targetId: "example-target-one",
            },
            {
                profiles: [],
                targetId: "example-target-two",
            },
        ],
    },
    annotations: {
        my_first_annotation: "example-annotation-1",
        my_second_annotation: "example-annotation-2",
    },
    labels: {
        my_first_label: "example-label-1",
        my_second_label: "example-label-2",
    },
});
Copy
import pulumi
import pulumi_gcp as gcp

primary = gcp.clouddeploy.DeliveryPipeline("primary",
    location="us-west1",
    name="pipeline",
    description="basic description",
    project="my-project-name",
    serial_pipeline={
        "stages": [
            {
                "deploy_parameters": [{
                    "values": {
                        "deployParameterKey": "deployParameterValue",
                    },
                    "match_target_labels": {},
                }],
                "profiles": [
                    "example-profile-one",
                    "example-profile-two",
                ],
                "target_id": "example-target-one",
            },
            {
                "profiles": [],
                "target_id": "example-target-two",
            },
        ],
    },
    annotations={
        "my_first_annotation": "example-annotation-1",
        "my_second_annotation": "example-annotation-2",
    },
    labels={
        "my_first_label": "example-label-1",
        "my_second_label": "example-label-2",
    })
Copy
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/clouddeploy"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := clouddeploy.NewDeliveryPipeline(ctx, "primary", &clouddeploy.DeliveryPipelineArgs{
			Location:    pulumi.String("us-west1"),
			Name:        pulumi.String("pipeline"),
			Description: pulumi.String("basic description"),
			Project:     pulumi.String("my-project-name"),
			SerialPipeline: &clouddeploy.DeliveryPipelineSerialPipelineArgs{
				Stages: clouddeploy.DeliveryPipelineSerialPipelineStageArray{
					&clouddeploy.DeliveryPipelineSerialPipelineStageArgs{
						DeployParameters: clouddeploy.DeliveryPipelineSerialPipelineStageDeployParameterArray{
							&clouddeploy.DeliveryPipelineSerialPipelineStageDeployParameterArgs{
								Values: pulumi.StringMap{
									"deployParameterKey": pulumi.String("deployParameterValue"),
								},
								MatchTargetLabels: pulumi.StringMap{},
							},
						},
						Profiles: pulumi.StringArray{
							pulumi.String("example-profile-one"),
							pulumi.String("example-profile-two"),
						},
						TargetId: pulumi.String("example-target-one"),
					},
					&clouddeploy.DeliveryPipelineSerialPipelineStageArgs{
						Profiles: pulumi.StringArray{},
						TargetId: pulumi.String("example-target-two"),
					},
				},
			},
			Annotations: pulumi.StringMap{
				"my_first_annotation":  pulumi.String("example-annotation-1"),
				"my_second_annotation": pulumi.String("example-annotation-2"),
			},
			Labels: pulumi.StringMap{
				"my_first_label":  pulumi.String("example-label-1"),
				"my_second_label": pulumi.String("example-label-2"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var primary = new Gcp.CloudDeploy.DeliveryPipeline("primary", new()
    {
        Location = "us-west1",
        Name = "pipeline",
        Description = "basic description",
        Project = "my-project-name",
        SerialPipeline = new Gcp.CloudDeploy.Inputs.DeliveryPipelineSerialPipelineArgs
        {
            Stages = new[]
            {
                new Gcp.CloudDeploy.Inputs.DeliveryPipelineSerialPipelineStageArgs
                {
                    DeployParameters = new[]
                    {
                        new Gcp.CloudDeploy.Inputs.DeliveryPipelineSerialPipelineStageDeployParameterArgs
                        {
                            Values = 
                            {
                                { "deployParameterKey", "deployParameterValue" },
                            },
                            MatchTargetLabels = null,
                        },
                    },
                    Profiles = new[]
                    {
                        "example-profile-one",
                        "example-profile-two",
                    },
                    TargetId = "example-target-one",
                },
                new Gcp.CloudDeploy.Inputs.DeliveryPipelineSerialPipelineStageArgs
                {
                    Profiles = new() { },
                    TargetId = "example-target-two",
                },
            },
        },
        Annotations = 
        {
            { "my_first_annotation", "example-annotation-1" },
            { "my_second_annotation", "example-annotation-2" },
        },
        Labels = 
        {
            { "my_first_label", "example-label-1" },
            { "my_second_label", "example-label-2" },
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.clouddeploy.DeliveryPipeline;
import com.pulumi.gcp.clouddeploy.DeliveryPipelineArgs;
import com.pulumi.gcp.clouddeploy.inputs.DeliveryPipelineSerialPipelineArgs;
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 primary = new DeliveryPipeline("primary", DeliveryPipelineArgs.builder()
            .location("us-west1")
            .name("pipeline")
            .description("basic description")
            .project("my-project-name")
            .serialPipeline(DeliveryPipelineSerialPipelineArgs.builder()
                .stages(                
                    DeliveryPipelineSerialPipelineStageArgs.builder()
                        .deployParameters(DeliveryPipelineSerialPipelineStageDeployParameterArgs.builder()
                            .values(Map.of("deployParameterKey", "deployParameterValue"))
                            .matchTargetLabels()
                            .build())
                        .profiles(                        
                            "example-profile-one",
                            "example-profile-two")
                        .targetId("example-target-one")
                        .build(),
                    DeliveryPipelineSerialPipelineStageArgs.builder()
                        .profiles()
                        .targetId("example-target-two")
                        .build())
                .build())
            .annotations(Map.ofEntries(
                Map.entry("my_first_annotation", "example-annotation-1"),
                Map.entry("my_second_annotation", "example-annotation-2")
            ))
            .labels(Map.ofEntries(
                Map.entry("my_first_label", "example-label-1"),
                Map.entry("my_second_label", "example-label-2")
            ))
            .build());

    }
}
Copy
resources:
  primary:
    type: gcp:clouddeploy:DeliveryPipeline
    properties:
      location: us-west1
      name: pipeline
      description: basic description
      project: my-project-name
      serialPipeline:
        stages:
          - deployParameters:
              - values:
                  deployParameterKey: deployParameterValue
                matchTargetLabels: {}
            profiles:
              - example-profile-one
              - example-profile-two
            targetId: example-target-one
          - profiles: []
            targetId: example-target-two
      annotations:
        my_first_annotation: example-annotation-1
        my_second_annotation: example-annotation-2
      labels:
        my_first_label: example-label-1
        my_second_label: example-label-2
Copy

Canary_service_networking_delivery_pipeline

Creates a basic Cloud Deploy delivery pipeline

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const primary = new gcp.clouddeploy.DeliveryPipeline("primary", {
    location: "us-west1",
    name: "pipeline",
    description: "basic description",
    project: "my-project-name",
    serialPipeline: {
        stages: [
            {
                deployParameters: [{
                    values: {
                        deployParameterKey: "deployParameterValue",
                    },
                    matchTargetLabels: {},
                }],
                profiles: [
                    "example-profile-one",
                    "example-profile-two",
                ],
                targetId: "example-target-one",
            },
            {
                profiles: [],
                targetId: "example-target-two",
            },
        ],
    },
    annotations: {
        my_first_annotation: "example-annotation-1",
        my_second_annotation: "example-annotation-2",
    },
    labels: {
        my_first_label: "example-label-1",
        my_second_label: "example-label-2",
    },
});
Copy
import pulumi
import pulumi_gcp as gcp

primary = gcp.clouddeploy.DeliveryPipeline("primary",
    location="us-west1",
    name="pipeline",
    description="basic description",
    project="my-project-name",
    serial_pipeline={
        "stages": [
            {
                "deploy_parameters": [{
                    "values": {
                        "deployParameterKey": "deployParameterValue",
                    },
                    "match_target_labels": {},
                }],
                "profiles": [
                    "example-profile-one",
                    "example-profile-two",
                ],
                "target_id": "example-target-one",
            },
            {
                "profiles": [],
                "target_id": "example-target-two",
            },
        ],
    },
    annotations={
        "my_first_annotation": "example-annotation-1",
        "my_second_annotation": "example-annotation-2",
    },
    labels={
        "my_first_label": "example-label-1",
        "my_second_label": "example-label-2",
    })
Copy
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/clouddeploy"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := clouddeploy.NewDeliveryPipeline(ctx, "primary", &clouddeploy.DeliveryPipelineArgs{
			Location:    pulumi.String("us-west1"),
			Name:        pulumi.String("pipeline"),
			Description: pulumi.String("basic description"),
			Project:     pulumi.String("my-project-name"),
			SerialPipeline: &clouddeploy.DeliveryPipelineSerialPipelineArgs{
				Stages: clouddeploy.DeliveryPipelineSerialPipelineStageArray{
					&clouddeploy.DeliveryPipelineSerialPipelineStageArgs{
						DeployParameters: clouddeploy.DeliveryPipelineSerialPipelineStageDeployParameterArray{
							&clouddeploy.DeliveryPipelineSerialPipelineStageDeployParameterArgs{
								Values: pulumi.StringMap{
									"deployParameterKey": pulumi.String("deployParameterValue"),
								},
								MatchTargetLabels: pulumi.StringMap{},
							},
						},
						Profiles: pulumi.StringArray{
							pulumi.String("example-profile-one"),
							pulumi.String("example-profile-two"),
						},
						TargetId: pulumi.String("example-target-one"),
					},
					&clouddeploy.DeliveryPipelineSerialPipelineStageArgs{
						Profiles: pulumi.StringArray{},
						TargetId: pulumi.String("example-target-two"),
					},
				},
			},
			Annotations: pulumi.StringMap{
				"my_first_annotation":  pulumi.String("example-annotation-1"),
				"my_second_annotation": pulumi.String("example-annotation-2"),
			},
			Labels: pulumi.StringMap{
				"my_first_label":  pulumi.String("example-label-1"),
				"my_second_label": pulumi.String("example-label-2"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var primary = new Gcp.CloudDeploy.DeliveryPipeline("primary", new()
    {
        Location = "us-west1",
        Name = "pipeline",
        Description = "basic description",
        Project = "my-project-name",
        SerialPipeline = new Gcp.CloudDeploy.Inputs.DeliveryPipelineSerialPipelineArgs
        {
            Stages = new[]
            {
                new Gcp.CloudDeploy.Inputs.DeliveryPipelineSerialPipelineStageArgs
                {
                    DeployParameters = new[]
                    {
                        new Gcp.CloudDeploy.Inputs.DeliveryPipelineSerialPipelineStageDeployParameterArgs
                        {
                            Values = 
                            {
                                { "deployParameterKey", "deployParameterValue" },
                            },
                            MatchTargetLabels = null,
                        },
                    },
                    Profiles = new[]
                    {
                        "example-profile-one",
                        "example-profile-two",
                    },
                    TargetId = "example-target-one",
                },
                new Gcp.CloudDeploy.Inputs.DeliveryPipelineSerialPipelineStageArgs
                {
                    Profiles = new() { },
                    TargetId = "example-target-two",
                },
            },
        },
        Annotations = 
        {
            { "my_first_annotation", "example-annotation-1" },
            { "my_second_annotation", "example-annotation-2" },
        },
        Labels = 
        {
            { "my_first_label", "example-label-1" },
            { "my_second_label", "example-label-2" },
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.clouddeploy.DeliveryPipeline;
import com.pulumi.gcp.clouddeploy.DeliveryPipelineArgs;
import com.pulumi.gcp.clouddeploy.inputs.DeliveryPipelineSerialPipelineArgs;
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 primary = new DeliveryPipeline("primary", DeliveryPipelineArgs.builder()
            .location("us-west1")
            .name("pipeline")
            .description("basic description")
            .project("my-project-name")
            .serialPipeline(DeliveryPipelineSerialPipelineArgs.builder()
                .stages(                
                    DeliveryPipelineSerialPipelineStageArgs.builder()
                        .deployParameters(DeliveryPipelineSerialPipelineStageDeployParameterArgs.builder()
                            .values(Map.of("deployParameterKey", "deployParameterValue"))
                            .matchTargetLabels()
                            .build())
                        .profiles(                        
                            "example-profile-one",
                            "example-profile-two")
                        .targetId("example-target-one")
                        .build(),
                    DeliveryPipelineSerialPipelineStageArgs.builder()
                        .profiles()
                        .targetId("example-target-two")
                        .build())
                .build())
            .annotations(Map.ofEntries(
                Map.entry("my_first_annotation", "example-annotation-1"),
                Map.entry("my_second_annotation", "example-annotation-2")
            ))
            .labels(Map.ofEntries(
                Map.entry("my_first_label", "example-label-1"),
                Map.entry("my_second_label", "example-label-2")
            ))
            .build());

    }
}
Copy
resources:
  primary:
    type: gcp:clouddeploy:DeliveryPipeline
    properties:
      location: us-west1
      name: pipeline
      description: basic description
      project: my-project-name
      serialPipeline:
        stages:
          - deployParameters:
              - values:
                  deployParameterKey: deployParameterValue
                matchTargetLabels: {}
            profiles:
              - example-profile-one
              - example-profile-two
            targetId: example-target-one
          - profiles: []
            targetId: example-target-two
      annotations:
        my_first_annotation: example-annotation-1
        my_second_annotation: example-annotation-2
      labels:
        my_first_label: example-label-1
        my_second_label: example-label-2
Copy

Canaryrun_delivery_pipeline

Creates a basic Cloud Deploy delivery pipeline

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const primary = new gcp.clouddeploy.DeliveryPipeline("primary", {
    location: "us-west1",
    name: "pipeline",
    description: "basic description",
    project: "my-project-name",
    serialPipeline: {
        stages: [
            {
                deployParameters: [{
                    values: {
                        deployParameterKey: "deployParameterValue",
                    },
                    matchTargetLabels: {},
                }],
                profiles: [
                    "example-profile-one",
                    "example-profile-two",
                ],
                targetId: "example-target-one",
            },
            {
                profiles: [],
                targetId: "example-target-two",
            },
        ],
    },
    annotations: {
        my_first_annotation: "example-annotation-1",
        my_second_annotation: "example-annotation-2",
    },
    labels: {
        my_first_label: "example-label-1",
        my_second_label: "example-label-2",
    },
});
Copy
import pulumi
import pulumi_gcp as gcp

primary = gcp.clouddeploy.DeliveryPipeline("primary",
    location="us-west1",
    name="pipeline",
    description="basic description",
    project="my-project-name",
    serial_pipeline={
        "stages": [
            {
                "deploy_parameters": [{
                    "values": {
                        "deployParameterKey": "deployParameterValue",
                    },
                    "match_target_labels": {},
                }],
                "profiles": [
                    "example-profile-one",
                    "example-profile-two",
                ],
                "target_id": "example-target-one",
            },
            {
                "profiles": [],
                "target_id": "example-target-two",
            },
        ],
    },
    annotations={
        "my_first_annotation": "example-annotation-1",
        "my_second_annotation": "example-annotation-2",
    },
    labels={
        "my_first_label": "example-label-1",
        "my_second_label": "example-label-2",
    })
Copy
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/clouddeploy"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := clouddeploy.NewDeliveryPipeline(ctx, "primary", &clouddeploy.DeliveryPipelineArgs{
			Location:    pulumi.String("us-west1"),
			Name:        pulumi.String("pipeline"),
			Description: pulumi.String("basic description"),
			Project:     pulumi.String("my-project-name"),
			SerialPipeline: &clouddeploy.DeliveryPipelineSerialPipelineArgs{
				Stages: clouddeploy.DeliveryPipelineSerialPipelineStageArray{
					&clouddeploy.DeliveryPipelineSerialPipelineStageArgs{
						DeployParameters: clouddeploy.DeliveryPipelineSerialPipelineStageDeployParameterArray{
							&clouddeploy.DeliveryPipelineSerialPipelineStageDeployParameterArgs{
								Values: pulumi.StringMap{
									"deployParameterKey": pulumi.String("deployParameterValue"),
								},
								MatchTargetLabels: pulumi.StringMap{},
							},
						},
						Profiles: pulumi.StringArray{
							pulumi.String("example-profile-one"),
							pulumi.String("example-profile-two"),
						},
						TargetId: pulumi.String("example-target-one"),
					},
					&clouddeploy.DeliveryPipelineSerialPipelineStageArgs{
						Profiles: pulumi.StringArray{},
						TargetId: pulumi.String("example-target-two"),
					},
				},
			},
			Annotations: pulumi.StringMap{
				"my_first_annotation":  pulumi.String("example-annotation-1"),
				"my_second_annotation": pulumi.String("example-annotation-2"),
			},
			Labels: pulumi.StringMap{
				"my_first_label":  pulumi.String("example-label-1"),
				"my_second_label": pulumi.String("example-label-2"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var primary = new Gcp.CloudDeploy.DeliveryPipeline("primary", new()
    {
        Location = "us-west1",
        Name = "pipeline",
        Description = "basic description",
        Project = "my-project-name",
        SerialPipeline = new Gcp.CloudDeploy.Inputs.DeliveryPipelineSerialPipelineArgs
        {
            Stages = new[]
            {
                new Gcp.CloudDeploy.Inputs.DeliveryPipelineSerialPipelineStageArgs
                {
                    DeployParameters = new[]
                    {
                        new Gcp.CloudDeploy.Inputs.DeliveryPipelineSerialPipelineStageDeployParameterArgs
                        {
                            Values = 
                            {
                                { "deployParameterKey", "deployParameterValue" },
                            },
                            MatchTargetLabels = null,
                        },
                    },
                    Profiles = new[]
                    {
                        "example-profile-one",
                        "example-profile-two",
                    },
                    TargetId = "example-target-one",
                },
                new Gcp.CloudDeploy.Inputs.DeliveryPipelineSerialPipelineStageArgs
                {
                    Profiles = new() { },
                    TargetId = "example-target-two",
                },
            },
        },
        Annotations = 
        {
            { "my_first_annotation", "example-annotation-1" },
            { "my_second_annotation", "example-annotation-2" },
        },
        Labels = 
        {
            { "my_first_label", "example-label-1" },
            { "my_second_label", "example-label-2" },
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.clouddeploy.DeliveryPipeline;
import com.pulumi.gcp.clouddeploy.DeliveryPipelineArgs;
import com.pulumi.gcp.clouddeploy.inputs.DeliveryPipelineSerialPipelineArgs;
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 primary = new DeliveryPipeline("primary", DeliveryPipelineArgs.builder()
            .location("us-west1")
            .name("pipeline")
            .description("basic description")
            .project("my-project-name")
            .serialPipeline(DeliveryPipelineSerialPipelineArgs.builder()
                .stages(                
                    DeliveryPipelineSerialPipelineStageArgs.builder()
                        .deployParameters(DeliveryPipelineSerialPipelineStageDeployParameterArgs.builder()
                            .values(Map.of("deployParameterKey", "deployParameterValue"))
                            .matchTargetLabels()
                            .build())
                        .profiles(                        
                            "example-profile-one",
                            "example-profile-two")
                        .targetId("example-target-one")
                        .build(),
                    DeliveryPipelineSerialPipelineStageArgs.builder()
                        .profiles()
                        .targetId("example-target-two")
                        .build())
                .build())
            .annotations(Map.ofEntries(
                Map.entry("my_first_annotation", "example-annotation-1"),
                Map.entry("my_second_annotation", "example-annotation-2")
            ))
            .labels(Map.ofEntries(
                Map.entry("my_first_label", "example-label-1"),
                Map.entry("my_second_label", "example-label-2")
            ))
            .build());

    }
}
Copy
resources:
  primary:
    type: gcp:clouddeploy:DeliveryPipeline
    properties:
      location: us-west1
      name: pipeline
      description: basic description
      project: my-project-name
      serialPipeline:
        stages:
          - deployParameters:
              - values:
                  deployParameterKey: deployParameterValue
                matchTargetLabels: {}
            profiles:
              - example-profile-one
              - example-profile-two
            targetId: example-target-one
          - profiles: []
            targetId: example-target-two
      annotations:
        my_first_annotation: example-annotation-1
        my_second_annotation: example-annotation-2
      labels:
        my_first_label: example-label-1
        my_second_label: example-label-2
Copy

Delivery_pipeline

Creates a basic Cloud Deploy delivery pipeline

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const primary = new gcp.clouddeploy.DeliveryPipeline("primary", {
    location: "us-west1",
    name: "pipeline",
    description: "basic description",
    project: "my-project-name",
    serialPipeline: {
        stages: [
            {
                deployParameters: [{
                    values: {
                        deployParameterKey: "deployParameterValue",
                    },
                    matchTargetLabels: {},
                }],
                profiles: [
                    "example-profile-one",
                    "example-profile-two",
                ],
                targetId: "example-target-one",
            },
            {
                profiles: [],
                targetId: "example-target-two",
            },
        ],
    },
    annotations: {
        my_first_annotation: "example-annotation-1",
        my_second_annotation: "example-annotation-2",
    },
    labels: {
        my_first_label: "example-label-1",
        my_second_label: "example-label-2",
    },
});
Copy
import pulumi
import pulumi_gcp as gcp

primary = gcp.clouddeploy.DeliveryPipeline("primary",
    location="us-west1",
    name="pipeline",
    description="basic description",
    project="my-project-name",
    serial_pipeline={
        "stages": [
            {
                "deploy_parameters": [{
                    "values": {
                        "deployParameterKey": "deployParameterValue",
                    },
                    "match_target_labels": {},
                }],
                "profiles": [
                    "example-profile-one",
                    "example-profile-two",
                ],
                "target_id": "example-target-one",
            },
            {
                "profiles": [],
                "target_id": "example-target-two",
            },
        ],
    },
    annotations={
        "my_first_annotation": "example-annotation-1",
        "my_second_annotation": "example-annotation-2",
    },
    labels={
        "my_first_label": "example-label-1",
        "my_second_label": "example-label-2",
    })
Copy
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/clouddeploy"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := clouddeploy.NewDeliveryPipeline(ctx, "primary", &clouddeploy.DeliveryPipelineArgs{
			Location:    pulumi.String("us-west1"),
			Name:        pulumi.String("pipeline"),
			Description: pulumi.String("basic description"),
			Project:     pulumi.String("my-project-name"),
			SerialPipeline: &clouddeploy.DeliveryPipelineSerialPipelineArgs{
				Stages: clouddeploy.DeliveryPipelineSerialPipelineStageArray{
					&clouddeploy.DeliveryPipelineSerialPipelineStageArgs{
						DeployParameters: clouddeploy.DeliveryPipelineSerialPipelineStageDeployParameterArray{
							&clouddeploy.DeliveryPipelineSerialPipelineStageDeployParameterArgs{
								Values: pulumi.StringMap{
									"deployParameterKey": pulumi.String("deployParameterValue"),
								},
								MatchTargetLabels: pulumi.StringMap{},
							},
						},
						Profiles: pulumi.StringArray{
							pulumi.String("example-profile-one"),
							pulumi.String("example-profile-two"),
						},
						TargetId: pulumi.String("example-target-one"),
					},
					&clouddeploy.DeliveryPipelineSerialPipelineStageArgs{
						Profiles: pulumi.StringArray{},
						TargetId: pulumi.String("example-target-two"),
					},
				},
			},
			Annotations: pulumi.StringMap{
				"my_first_annotation":  pulumi.String("example-annotation-1"),
				"my_second_annotation": pulumi.String("example-annotation-2"),
			},
			Labels: pulumi.StringMap{
				"my_first_label":  pulumi.String("example-label-1"),
				"my_second_label": pulumi.String("example-label-2"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var primary = new Gcp.CloudDeploy.DeliveryPipeline("primary", new()
    {
        Location = "us-west1",
        Name = "pipeline",
        Description = "basic description",
        Project = "my-project-name",
        SerialPipeline = new Gcp.CloudDeploy.Inputs.DeliveryPipelineSerialPipelineArgs
        {
            Stages = new[]
            {
                new Gcp.CloudDeploy.Inputs.DeliveryPipelineSerialPipelineStageArgs
                {
                    DeployParameters = new[]
                    {
                        new Gcp.CloudDeploy.Inputs.DeliveryPipelineSerialPipelineStageDeployParameterArgs
                        {
                            Values = 
                            {
                                { "deployParameterKey", "deployParameterValue" },
                            },
                            MatchTargetLabels = null,
                        },
                    },
                    Profiles = new[]
                    {
                        "example-profile-one",
                        "example-profile-two",
                    },
                    TargetId = "example-target-one",
                },
                new Gcp.CloudDeploy.Inputs.DeliveryPipelineSerialPipelineStageArgs
                {
                    Profiles = new() { },
                    TargetId = "example-target-two",
                },
            },
        },
        Annotations = 
        {
            { "my_first_annotation", "example-annotation-1" },
            { "my_second_annotation", "example-annotation-2" },
        },
        Labels = 
        {
            { "my_first_label", "example-label-1" },
            { "my_second_label", "example-label-2" },
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.clouddeploy.DeliveryPipeline;
import com.pulumi.gcp.clouddeploy.DeliveryPipelineArgs;
import com.pulumi.gcp.clouddeploy.inputs.DeliveryPipelineSerialPipelineArgs;
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 primary = new DeliveryPipeline("primary", DeliveryPipelineArgs.builder()
            .location("us-west1")
            .name("pipeline")
            .description("basic description")
            .project("my-project-name")
            .serialPipeline(DeliveryPipelineSerialPipelineArgs.builder()
                .stages(                
                    DeliveryPipelineSerialPipelineStageArgs.builder()
                        .deployParameters(DeliveryPipelineSerialPipelineStageDeployParameterArgs.builder()
                            .values(Map.of("deployParameterKey", "deployParameterValue"))
                            .matchTargetLabels()
                            .build())
                        .profiles(                        
                            "example-profile-one",
                            "example-profile-two")
                        .targetId("example-target-one")
                        .build(),
                    DeliveryPipelineSerialPipelineStageArgs.builder()
                        .profiles()
                        .targetId("example-target-two")
                        .build())
                .build())
            .annotations(Map.ofEntries(
                Map.entry("my_first_annotation", "example-annotation-1"),
                Map.entry("my_second_annotation", "example-annotation-2")
            ))
            .labels(Map.ofEntries(
                Map.entry("my_first_label", "example-label-1"),
                Map.entry("my_second_label", "example-label-2")
            ))
            .build());

    }
}
Copy
resources:
  primary:
    type: gcp:clouddeploy:DeliveryPipeline
    properties:
      location: us-west1
      name: pipeline
      description: basic description
      project: my-project-name
      serialPipeline:
        stages:
          - deployParameters:
              - values:
                  deployParameterKey: deployParameterValue
                matchTargetLabels: {}
            profiles:
              - example-profile-one
              - example-profile-two
            targetId: example-target-one
          - profiles: []
            targetId: example-target-two
      annotations:
        my_first_annotation: example-annotation-1
        my_second_annotation: example-annotation-2
      labels:
        my_first_label: example-label-1
        my_second_label: example-label-2
Copy

Verify_delivery_pipeline

tests creating and updating a delivery pipeline with deployment verification strategy

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const primary = new gcp.clouddeploy.DeliveryPipeline("primary", {
    location: "us-west1",
    name: "pipeline",
    description: "basic description",
    project: "my-project-name",
    serialPipeline: {
        stages: [
            {
                deployParameters: [{
                    values: {
                        deployParameterKey: "deployParameterValue",
                    },
                    matchTargetLabels: {},
                }],
                profiles: [
                    "example-profile-one",
                    "example-profile-two",
                ],
                targetId: "example-target-one",
            },
            {
                profiles: [],
                targetId: "example-target-two",
            },
        ],
    },
    annotations: {
        my_first_annotation: "example-annotation-1",
        my_second_annotation: "example-annotation-2",
    },
    labels: {
        my_first_label: "example-label-1",
        my_second_label: "example-label-2",
    },
});
Copy
import pulumi
import pulumi_gcp as gcp

primary = gcp.clouddeploy.DeliveryPipeline("primary",
    location="us-west1",
    name="pipeline",
    description="basic description",
    project="my-project-name",
    serial_pipeline={
        "stages": [
            {
                "deploy_parameters": [{
                    "values": {
                        "deployParameterKey": "deployParameterValue",
                    },
                    "match_target_labels": {},
                }],
                "profiles": [
                    "example-profile-one",
                    "example-profile-two",
                ],
                "target_id": "example-target-one",
            },
            {
                "profiles": [],
                "target_id": "example-target-two",
            },
        ],
    },
    annotations={
        "my_first_annotation": "example-annotation-1",
        "my_second_annotation": "example-annotation-2",
    },
    labels={
        "my_first_label": "example-label-1",
        "my_second_label": "example-label-2",
    })
Copy
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/clouddeploy"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := clouddeploy.NewDeliveryPipeline(ctx, "primary", &clouddeploy.DeliveryPipelineArgs{
			Location:    pulumi.String("us-west1"),
			Name:        pulumi.String("pipeline"),
			Description: pulumi.String("basic description"),
			Project:     pulumi.String("my-project-name"),
			SerialPipeline: &clouddeploy.DeliveryPipelineSerialPipelineArgs{
				Stages: clouddeploy.DeliveryPipelineSerialPipelineStageArray{
					&clouddeploy.DeliveryPipelineSerialPipelineStageArgs{
						DeployParameters: clouddeploy.DeliveryPipelineSerialPipelineStageDeployParameterArray{
							&clouddeploy.DeliveryPipelineSerialPipelineStageDeployParameterArgs{
								Values: pulumi.StringMap{
									"deployParameterKey": pulumi.String("deployParameterValue"),
								},
								MatchTargetLabels: pulumi.StringMap{},
							},
						},
						Profiles: pulumi.StringArray{
							pulumi.String("example-profile-one"),
							pulumi.String("example-profile-two"),
						},
						TargetId: pulumi.String("example-target-one"),
					},
					&clouddeploy.DeliveryPipelineSerialPipelineStageArgs{
						Profiles: pulumi.StringArray{},
						TargetId: pulumi.String("example-target-two"),
					},
				},
			},
			Annotations: pulumi.StringMap{
				"my_first_annotation":  pulumi.String("example-annotation-1"),
				"my_second_annotation": pulumi.String("example-annotation-2"),
			},
			Labels: pulumi.StringMap{
				"my_first_label":  pulumi.String("example-label-1"),
				"my_second_label": pulumi.String("example-label-2"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var primary = new Gcp.CloudDeploy.DeliveryPipeline("primary", new()
    {
        Location = "us-west1",
        Name = "pipeline",
        Description = "basic description",
        Project = "my-project-name",
        SerialPipeline = new Gcp.CloudDeploy.Inputs.DeliveryPipelineSerialPipelineArgs
        {
            Stages = new[]
            {
                new Gcp.CloudDeploy.Inputs.DeliveryPipelineSerialPipelineStageArgs
                {
                    DeployParameters = new[]
                    {
                        new Gcp.CloudDeploy.Inputs.DeliveryPipelineSerialPipelineStageDeployParameterArgs
                        {
                            Values = 
                            {
                                { "deployParameterKey", "deployParameterValue" },
                            },
                            MatchTargetLabels = null,
                        },
                    },
                    Profiles = new[]
                    {
                        "example-profile-one",
                        "example-profile-two",
                    },
                    TargetId = "example-target-one",
                },
                new Gcp.CloudDeploy.Inputs.DeliveryPipelineSerialPipelineStageArgs
                {
                    Profiles = new() { },
                    TargetId = "example-target-two",
                },
            },
        },
        Annotations = 
        {
            { "my_first_annotation", "example-annotation-1" },
            { "my_second_annotation", "example-annotation-2" },
        },
        Labels = 
        {
            { "my_first_label", "example-label-1" },
            { "my_second_label", "example-label-2" },
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.clouddeploy.DeliveryPipeline;
import com.pulumi.gcp.clouddeploy.DeliveryPipelineArgs;
import com.pulumi.gcp.clouddeploy.inputs.DeliveryPipelineSerialPipelineArgs;
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 primary = new DeliveryPipeline("primary", DeliveryPipelineArgs.builder()
            .location("us-west1")
            .name("pipeline")
            .description("basic description")
            .project("my-project-name")
            .serialPipeline(DeliveryPipelineSerialPipelineArgs.builder()
                .stages(                
                    DeliveryPipelineSerialPipelineStageArgs.builder()
                        .deployParameters(DeliveryPipelineSerialPipelineStageDeployParameterArgs.builder()
                            .values(Map.of("deployParameterKey", "deployParameterValue"))
                            .matchTargetLabels()
                            .build())
                        .profiles(                        
                            "example-profile-one",
                            "example-profile-two")
                        .targetId("example-target-one")
                        .build(),
                    DeliveryPipelineSerialPipelineStageArgs.builder()
                        .profiles()
                        .targetId("example-target-two")
                        .build())
                .build())
            .annotations(Map.ofEntries(
                Map.entry("my_first_annotation", "example-annotation-1"),
                Map.entry("my_second_annotation", "example-annotation-2")
            ))
            .labels(Map.ofEntries(
                Map.entry("my_first_label", "example-label-1"),
                Map.entry("my_second_label", "example-label-2")
            ))
            .build());

    }
}
Copy
resources:
  primary:
    type: gcp:clouddeploy:DeliveryPipeline
    properties:
      location: us-west1
      name: pipeline
      description: basic description
      project: my-project-name
      serialPipeline:
        stages:
          - deployParameters:
              - values:
                  deployParameterKey: deployParameterValue
                matchTargetLabels: {}
            profiles:
              - example-profile-one
              - example-profile-two
            targetId: example-target-one
          - profiles: []
            targetId: example-target-two
      annotations:
        my_first_annotation: example-annotation-1
        my_second_annotation: example-annotation-2
      labels:
        my_first_label: example-label-1
        my_second_label: example-label-2
Copy

Create DeliveryPipeline Resource

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

Constructor syntax

new DeliveryPipeline(name: string, args: DeliveryPipelineArgs, opts?: CustomResourceOptions);
@overload
def DeliveryPipeline(resource_name: str,
                     args: DeliveryPipelineArgs,
                     opts: Optional[ResourceOptions] = None)

@overload
def DeliveryPipeline(resource_name: str,
                     opts: Optional[ResourceOptions] = None,
                     location: Optional[str] = None,
                     annotations: Optional[Mapping[str, str]] = None,
                     description: Optional[str] = None,
                     labels: Optional[Mapping[str, str]] = None,
                     name: Optional[str] = None,
                     project: Optional[str] = None,
                     serial_pipeline: Optional[DeliveryPipelineSerialPipelineArgs] = None,
                     suspended: Optional[bool] = None)
func NewDeliveryPipeline(ctx *Context, name string, args DeliveryPipelineArgs, opts ...ResourceOption) (*DeliveryPipeline, error)
public DeliveryPipeline(string name, DeliveryPipelineArgs args, CustomResourceOptions? opts = null)
public DeliveryPipeline(String name, DeliveryPipelineArgs args)
public DeliveryPipeline(String name, DeliveryPipelineArgs args, CustomResourceOptions options)
type: gcp:clouddeploy:DeliveryPipeline
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. DeliveryPipelineArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. DeliveryPipelineArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. DeliveryPipelineArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. DeliveryPipelineArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. DeliveryPipelineArgs
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 deliveryPipelineResource = new Gcp.CloudDeploy.DeliveryPipeline("deliveryPipelineResource", new()
{
    Location = "string",
    Annotations = 
    {
        { "string", "string" },
    },
    Description = "string",
    Labels = 
    {
        { "string", "string" },
    },
    Name = "string",
    Project = "string",
    SerialPipeline = new Gcp.CloudDeploy.Inputs.DeliveryPipelineSerialPipelineArgs
    {
        Stages = new[]
        {
            new Gcp.CloudDeploy.Inputs.DeliveryPipelineSerialPipelineStageArgs
            {
                DeployParameters = new[]
                {
                    new Gcp.CloudDeploy.Inputs.DeliveryPipelineSerialPipelineStageDeployParameterArgs
                    {
                        Values = 
                        {
                            { "string", "string" },
                        },
                        MatchTargetLabels = 
                        {
                            { "string", "string" },
                        },
                    },
                },
                Profiles = new[]
                {
                    "string",
                },
                Strategy = new Gcp.CloudDeploy.Inputs.DeliveryPipelineSerialPipelineStageStrategyArgs
                {
                    Canary = new Gcp.CloudDeploy.Inputs.DeliveryPipelineSerialPipelineStageStrategyCanaryArgs
                    {
                        CanaryDeployment = new Gcp.CloudDeploy.Inputs.DeliveryPipelineSerialPipelineStageStrategyCanaryCanaryDeploymentArgs
                        {
                            Percentages = new[]
                            {
                                0,
                            },
                            Postdeploy = new Gcp.CloudDeploy.Inputs.DeliveryPipelineSerialPipelineStageStrategyCanaryCanaryDeploymentPostdeployArgs
                            {
                                Actions = new[]
                                {
                                    "string",
                                },
                            },
                            Predeploy = new Gcp.CloudDeploy.Inputs.DeliveryPipelineSerialPipelineStageStrategyCanaryCanaryDeploymentPredeployArgs
                            {
                                Actions = new[]
                                {
                                    "string",
                                },
                            },
                            Verify = false,
                        },
                        CustomCanaryDeployment = new Gcp.CloudDeploy.Inputs.DeliveryPipelineSerialPipelineStageStrategyCanaryCustomCanaryDeploymentArgs
                        {
                            PhaseConfigs = new[]
                            {
                                new Gcp.CloudDeploy.Inputs.DeliveryPipelineSerialPipelineStageStrategyCanaryCustomCanaryDeploymentPhaseConfigArgs
                                {
                                    Percentage = 0,
                                    PhaseId = "string",
                                    Postdeploy = new Gcp.CloudDeploy.Inputs.DeliveryPipelineSerialPipelineStageStrategyCanaryCustomCanaryDeploymentPhaseConfigPostdeployArgs
                                    {
                                        Actions = new[]
                                        {
                                            "string",
                                        },
                                    },
                                    Predeploy = new Gcp.CloudDeploy.Inputs.DeliveryPipelineSerialPipelineStageStrategyCanaryCustomCanaryDeploymentPhaseConfigPredeployArgs
                                    {
                                        Actions = new[]
                                        {
                                            "string",
                                        },
                                    },
                                    Profiles = new[]
                                    {
                                        "string",
                                    },
                                    Verify = false,
                                },
                            },
                        },
                        RuntimeConfig = new Gcp.CloudDeploy.Inputs.DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigArgs
                        {
                            CloudRun = new Gcp.CloudDeploy.Inputs.DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigCloudRunArgs
                            {
                                AutomaticTrafficControl = false,
                                CanaryRevisionTags = new[]
                                {
                                    "string",
                                },
                                PriorRevisionTags = new[]
                                {
                                    "string",
                                },
                                StableRevisionTags = new[]
                                {
                                    "string",
                                },
                            },
                            Kubernetes = new Gcp.CloudDeploy.Inputs.DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesArgs
                            {
                                GatewayServiceMesh = new Gcp.CloudDeploy.Inputs.DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesGatewayServiceMeshArgs
                                {
                                    Deployment = "string",
                                    HttpRoute = "string",
                                    Service = "string",
                                    PodSelectorLabel = "string",
                                    RouteDestinations = new Gcp.CloudDeploy.Inputs.DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesGatewayServiceMeshRouteDestinationsArgs
                                    {
                                        DestinationIds = new[]
                                        {
                                            "string",
                                        },
                                        PropagateService = false,
                                    },
                                    RouteUpdateWaitTime = "string",
                                    StableCutbackDuration = "string",
                                },
                                ServiceNetworking = new Gcp.CloudDeploy.Inputs.DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesServiceNetworkingArgs
                                {
                                    Deployment = "string",
                                    Service = "string",
                                    DisablePodOverprovisioning = false,
                                    PodSelectorLabel = "string",
                                },
                            },
                        },
                    },
                    Standard = new Gcp.CloudDeploy.Inputs.DeliveryPipelineSerialPipelineStageStrategyStandardArgs
                    {
                        Postdeploy = new Gcp.CloudDeploy.Inputs.DeliveryPipelineSerialPipelineStageStrategyStandardPostdeployArgs
                        {
                            Actions = new[]
                            {
                                "string",
                            },
                        },
                        Predeploy = new Gcp.CloudDeploy.Inputs.DeliveryPipelineSerialPipelineStageStrategyStandardPredeployArgs
                        {
                            Actions = new[]
                            {
                                "string",
                            },
                        },
                        Verify = false,
                    },
                },
                TargetId = "string",
            },
        },
    },
    Suspended = false,
});
Copy
example, err := clouddeploy.NewDeliveryPipeline(ctx, "deliveryPipelineResource", &clouddeploy.DeliveryPipelineArgs{
	Location: pulumi.String("string"),
	Annotations: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	Description: pulumi.String("string"),
	Labels: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	Name:    pulumi.String("string"),
	Project: pulumi.String("string"),
	SerialPipeline: &clouddeploy.DeliveryPipelineSerialPipelineArgs{
		Stages: clouddeploy.DeliveryPipelineSerialPipelineStageArray{
			&clouddeploy.DeliveryPipelineSerialPipelineStageArgs{
				DeployParameters: clouddeploy.DeliveryPipelineSerialPipelineStageDeployParameterArray{
					&clouddeploy.DeliveryPipelineSerialPipelineStageDeployParameterArgs{
						Values: pulumi.StringMap{
							"string": pulumi.String("string"),
						},
						MatchTargetLabels: pulumi.StringMap{
							"string": pulumi.String("string"),
						},
					},
				},
				Profiles: pulumi.StringArray{
					pulumi.String("string"),
				},
				Strategy: &clouddeploy.DeliveryPipelineSerialPipelineStageStrategyArgs{
					Canary: &clouddeploy.DeliveryPipelineSerialPipelineStageStrategyCanaryArgs{
						CanaryDeployment: &clouddeploy.DeliveryPipelineSerialPipelineStageStrategyCanaryCanaryDeploymentArgs{
							Percentages: pulumi.IntArray{
								pulumi.Int(0),
							},
							Postdeploy: &clouddeploy.DeliveryPipelineSerialPipelineStageStrategyCanaryCanaryDeploymentPostdeployArgs{
								Actions: pulumi.StringArray{
									pulumi.String("string"),
								},
							},
							Predeploy: &clouddeploy.DeliveryPipelineSerialPipelineStageStrategyCanaryCanaryDeploymentPredeployArgs{
								Actions: pulumi.StringArray{
									pulumi.String("string"),
								},
							},
							Verify: pulumi.Bool(false),
						},
						CustomCanaryDeployment: &clouddeploy.DeliveryPipelineSerialPipelineStageStrategyCanaryCustomCanaryDeploymentArgs{
							PhaseConfigs: clouddeploy.DeliveryPipelineSerialPipelineStageStrategyCanaryCustomCanaryDeploymentPhaseConfigArray{
								&clouddeploy.DeliveryPipelineSerialPipelineStageStrategyCanaryCustomCanaryDeploymentPhaseConfigArgs{
									Percentage: pulumi.Int(0),
									PhaseId:    pulumi.String("string"),
									Postdeploy: &clouddeploy.DeliveryPipelineSerialPipelineStageStrategyCanaryCustomCanaryDeploymentPhaseConfigPostdeployArgs{
										Actions: pulumi.StringArray{
											pulumi.String("string"),
										},
									},
									Predeploy: &clouddeploy.DeliveryPipelineSerialPipelineStageStrategyCanaryCustomCanaryDeploymentPhaseConfigPredeployArgs{
										Actions: pulumi.StringArray{
											pulumi.String("string"),
										},
									},
									Profiles: pulumi.StringArray{
										pulumi.String("string"),
									},
									Verify: pulumi.Bool(false),
								},
							},
						},
						RuntimeConfig: &clouddeploy.DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigArgs{
							CloudRun: &clouddeploy.DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigCloudRunArgs{
								AutomaticTrafficControl: pulumi.Bool(false),
								CanaryRevisionTags: pulumi.StringArray{
									pulumi.String("string"),
								},
								PriorRevisionTags: pulumi.StringArray{
									pulumi.String("string"),
								},
								StableRevisionTags: pulumi.StringArray{
									pulumi.String("string"),
								},
							},
							Kubernetes: &clouddeploy.DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesArgs{
								GatewayServiceMesh: &clouddeploy.DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesGatewayServiceMeshArgs{
									Deployment:       pulumi.String("string"),
									HttpRoute:        pulumi.String("string"),
									Service:          pulumi.String("string"),
									PodSelectorLabel: pulumi.String("string"),
									RouteDestinations: &clouddeploy.DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesGatewayServiceMeshRouteDestinationsArgs{
										DestinationIds: pulumi.StringArray{
											pulumi.String("string"),
										},
										PropagateService: pulumi.Bool(false),
									},
									RouteUpdateWaitTime:   pulumi.String("string"),
									StableCutbackDuration: pulumi.String("string"),
								},
								ServiceNetworking: &clouddeploy.DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesServiceNetworkingArgs{
									Deployment:                 pulumi.String("string"),
									Service:                    pulumi.String("string"),
									DisablePodOverprovisioning: pulumi.Bool(false),
									PodSelectorLabel:           pulumi.String("string"),
								},
							},
						},
					},
					Standard: &clouddeploy.DeliveryPipelineSerialPipelineStageStrategyStandardArgs{
						Postdeploy: &clouddeploy.DeliveryPipelineSerialPipelineStageStrategyStandardPostdeployArgs{
							Actions: pulumi.StringArray{
								pulumi.String("string"),
							},
						},
						Predeploy: &clouddeploy.DeliveryPipelineSerialPipelineStageStrategyStandardPredeployArgs{
							Actions: pulumi.StringArray{
								pulumi.String("string"),
							},
						},
						Verify: pulumi.Bool(false),
					},
				},
				TargetId: pulumi.String("string"),
			},
		},
	},
	Suspended: pulumi.Bool(false),
})
Copy
var deliveryPipelineResource = new DeliveryPipeline("deliveryPipelineResource", DeliveryPipelineArgs.builder()
    .location("string")
    .annotations(Map.of("string", "string"))
    .description("string")
    .labels(Map.of("string", "string"))
    .name("string")
    .project("string")
    .serialPipeline(DeliveryPipelineSerialPipelineArgs.builder()
        .stages(DeliveryPipelineSerialPipelineStageArgs.builder()
            .deployParameters(DeliveryPipelineSerialPipelineStageDeployParameterArgs.builder()
                .values(Map.of("string", "string"))
                .matchTargetLabels(Map.of("string", "string"))
                .build())
            .profiles("string")
            .strategy(DeliveryPipelineSerialPipelineStageStrategyArgs.builder()
                .canary(DeliveryPipelineSerialPipelineStageStrategyCanaryArgs.builder()
                    .canaryDeployment(DeliveryPipelineSerialPipelineStageStrategyCanaryCanaryDeploymentArgs.builder()
                        .percentages(0)
                        .postdeploy(DeliveryPipelineSerialPipelineStageStrategyCanaryCanaryDeploymentPostdeployArgs.builder()
                            .actions("string")
                            .build())
                        .predeploy(DeliveryPipelineSerialPipelineStageStrategyCanaryCanaryDeploymentPredeployArgs.builder()
                            .actions("string")
                            .build())
                        .verify(false)
                        .build())
                    .customCanaryDeployment(DeliveryPipelineSerialPipelineStageStrategyCanaryCustomCanaryDeploymentArgs.builder()
                        .phaseConfigs(DeliveryPipelineSerialPipelineStageStrategyCanaryCustomCanaryDeploymentPhaseConfigArgs.builder()
                            .percentage(0)
                            .phaseId("string")
                            .postdeploy(DeliveryPipelineSerialPipelineStageStrategyCanaryCustomCanaryDeploymentPhaseConfigPostdeployArgs.builder()
                                .actions("string")
                                .build())
                            .predeploy(DeliveryPipelineSerialPipelineStageStrategyCanaryCustomCanaryDeploymentPhaseConfigPredeployArgs.builder()
                                .actions("string")
                                .build())
                            .profiles("string")
                            .verify(false)
                            .build())
                        .build())
                    .runtimeConfig(DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigArgs.builder()
                        .cloudRun(DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigCloudRunArgs.builder()
                            .automaticTrafficControl(false)
                            .canaryRevisionTags("string")
                            .priorRevisionTags("string")
                            .stableRevisionTags("string")
                            .build())
                        .kubernetes(DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesArgs.builder()
                            .gatewayServiceMesh(DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesGatewayServiceMeshArgs.builder()
                                .deployment("string")
                                .httpRoute("string")
                                .service("string")
                                .podSelectorLabel("string")
                                .routeDestinations(DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesGatewayServiceMeshRouteDestinationsArgs.builder()
                                    .destinationIds("string")
                                    .propagateService(false)
                                    .build())
                                .routeUpdateWaitTime("string")
                                .stableCutbackDuration("string")
                                .build())
                            .serviceNetworking(DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesServiceNetworkingArgs.builder()
                                .deployment("string")
                                .service("string")
                                .disablePodOverprovisioning(false)
                                .podSelectorLabel("string")
                                .build())
                            .build())
                        .build())
                    .build())
                .standard(DeliveryPipelineSerialPipelineStageStrategyStandardArgs.builder()
                    .postdeploy(DeliveryPipelineSerialPipelineStageStrategyStandardPostdeployArgs.builder()
                        .actions("string")
                        .build())
                    .predeploy(DeliveryPipelineSerialPipelineStageStrategyStandardPredeployArgs.builder()
                        .actions("string")
                        .build())
                    .verify(false)
                    .build())
                .build())
            .targetId("string")
            .build())
        .build())
    .suspended(false)
    .build());
Copy
delivery_pipeline_resource = gcp.clouddeploy.DeliveryPipeline("deliveryPipelineResource",
    location="string",
    annotations={
        "string": "string",
    },
    description="string",
    labels={
        "string": "string",
    },
    name="string",
    project="string",
    serial_pipeline={
        "stages": [{
            "deploy_parameters": [{
                "values": {
                    "string": "string",
                },
                "match_target_labels": {
                    "string": "string",
                },
            }],
            "profiles": ["string"],
            "strategy": {
                "canary": {
                    "canary_deployment": {
                        "percentages": [0],
                        "postdeploy": {
                            "actions": ["string"],
                        },
                        "predeploy": {
                            "actions": ["string"],
                        },
                        "verify": False,
                    },
                    "custom_canary_deployment": {
                        "phase_configs": [{
                            "percentage": 0,
                            "phase_id": "string",
                            "postdeploy": {
                                "actions": ["string"],
                            },
                            "predeploy": {
                                "actions": ["string"],
                            },
                            "profiles": ["string"],
                            "verify": False,
                        }],
                    },
                    "runtime_config": {
                        "cloud_run": {
                            "automatic_traffic_control": False,
                            "canary_revision_tags": ["string"],
                            "prior_revision_tags": ["string"],
                            "stable_revision_tags": ["string"],
                        },
                        "kubernetes": {
                            "gateway_service_mesh": {
                                "deployment": "string",
                                "http_route": "string",
                                "service": "string",
                                "pod_selector_label": "string",
                                "route_destinations": {
                                    "destination_ids": ["string"],
                                    "propagate_service": False,
                                },
                                "route_update_wait_time": "string",
                                "stable_cutback_duration": "string",
                            },
                            "service_networking": {
                                "deployment": "string",
                                "service": "string",
                                "disable_pod_overprovisioning": False,
                                "pod_selector_label": "string",
                            },
                        },
                    },
                },
                "standard": {
                    "postdeploy": {
                        "actions": ["string"],
                    },
                    "predeploy": {
                        "actions": ["string"],
                    },
                    "verify": False,
                },
            },
            "target_id": "string",
        }],
    },
    suspended=False)
Copy
const deliveryPipelineResource = new gcp.clouddeploy.DeliveryPipeline("deliveryPipelineResource", {
    location: "string",
    annotations: {
        string: "string",
    },
    description: "string",
    labels: {
        string: "string",
    },
    name: "string",
    project: "string",
    serialPipeline: {
        stages: [{
            deployParameters: [{
                values: {
                    string: "string",
                },
                matchTargetLabels: {
                    string: "string",
                },
            }],
            profiles: ["string"],
            strategy: {
                canary: {
                    canaryDeployment: {
                        percentages: [0],
                        postdeploy: {
                            actions: ["string"],
                        },
                        predeploy: {
                            actions: ["string"],
                        },
                        verify: false,
                    },
                    customCanaryDeployment: {
                        phaseConfigs: [{
                            percentage: 0,
                            phaseId: "string",
                            postdeploy: {
                                actions: ["string"],
                            },
                            predeploy: {
                                actions: ["string"],
                            },
                            profiles: ["string"],
                            verify: false,
                        }],
                    },
                    runtimeConfig: {
                        cloudRun: {
                            automaticTrafficControl: false,
                            canaryRevisionTags: ["string"],
                            priorRevisionTags: ["string"],
                            stableRevisionTags: ["string"],
                        },
                        kubernetes: {
                            gatewayServiceMesh: {
                                deployment: "string",
                                httpRoute: "string",
                                service: "string",
                                podSelectorLabel: "string",
                                routeDestinations: {
                                    destinationIds: ["string"],
                                    propagateService: false,
                                },
                                routeUpdateWaitTime: "string",
                                stableCutbackDuration: "string",
                            },
                            serviceNetworking: {
                                deployment: "string",
                                service: "string",
                                disablePodOverprovisioning: false,
                                podSelectorLabel: "string",
                            },
                        },
                    },
                },
                standard: {
                    postdeploy: {
                        actions: ["string"],
                    },
                    predeploy: {
                        actions: ["string"],
                    },
                    verify: false,
                },
            },
            targetId: "string",
        }],
    },
    suspended: false,
});
Copy
type: gcp:clouddeploy:DeliveryPipeline
properties:
    annotations:
        string: string
    description: string
    labels:
        string: string
    location: string
    name: string
    project: string
    serialPipeline:
        stages:
            - deployParameters:
                - matchTargetLabels:
                    string: string
                  values:
                    string: string
              profiles:
                - string
              strategy:
                canary:
                    canaryDeployment:
                        percentages:
                            - 0
                        postdeploy:
                            actions:
                                - string
                        predeploy:
                            actions:
                                - string
                        verify: false
                    customCanaryDeployment:
                        phaseConfigs:
                            - percentage: 0
                              phaseId: string
                              postdeploy:
                                actions:
                                    - string
                              predeploy:
                                actions:
                                    - string
                              profiles:
                                - string
                              verify: false
                    runtimeConfig:
                        cloudRun:
                            automaticTrafficControl: false
                            canaryRevisionTags:
                                - string
                            priorRevisionTags:
                                - string
                            stableRevisionTags:
                                - string
                        kubernetes:
                            gatewayServiceMesh:
                                deployment: string
                                httpRoute: string
                                podSelectorLabel: string
                                routeDestinations:
                                    destinationIds:
                                        - string
                                    propagateService: false
                                routeUpdateWaitTime: string
                                service: string
                                stableCutbackDuration: string
                            serviceNetworking:
                                deployment: string
                                disablePodOverprovisioning: false
                                podSelectorLabel: string
                                service: string
                standard:
                    postdeploy:
                        actions:
                            - string
                    predeploy:
                        actions:
                            - string
                    verify: false
              targetId: string
    suspended: false
Copy

DeliveryPipeline Resource Properties

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

Inputs

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The DeliveryPipeline resource accepts the following input properties:

Location
This property is required.
Changes to this property will trigger replacement.
string
The location for the resource
Annotations Dictionary<string, string>
User annotations. These attributes can only be set and used by the user, and not by Google Cloud Deploy. See https://google.aip.dev/128#annotations for more details such as format and size limitations. Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field effective_annotations for all of the annotations present on the resource.
Description string
Description of the DeliveryPipeline. Max length is 255 characters.
Labels Dictionary<string, string>
Labels are attributes that can be set and used by both the user and by Google Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
Name Changes to this property will trigger replacement. string
Name of the DeliveryPipeline. Format is a-z?.
Project Changes to this property will trigger replacement. string
The project for the resource
SerialPipeline DeliveryPipelineSerialPipeline
SerialPipeline defines a sequential set of stages for a DeliveryPipeline.
Suspended bool
When suspended, no new releases or rollouts can be created, but in-progress ones will complete.
Location
This property is required.
Changes to this property will trigger replacement.
string
The location for the resource
Annotations map[string]string
User annotations. These attributes can only be set and used by the user, and not by Google Cloud Deploy. See https://google.aip.dev/128#annotations for more details such as format and size limitations. Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field effective_annotations for all of the annotations present on the resource.
Description string
Description of the DeliveryPipeline. Max length is 255 characters.
Labels map[string]string
Labels are attributes that can be set and used by both the user and by Google Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
Name Changes to this property will trigger replacement. string
Name of the DeliveryPipeline. Format is a-z?.
Project Changes to this property will trigger replacement. string
The project for the resource
SerialPipeline DeliveryPipelineSerialPipelineArgs
SerialPipeline defines a sequential set of stages for a DeliveryPipeline.
Suspended bool
When suspended, no new releases or rollouts can be created, but in-progress ones will complete.
location
This property is required.
Changes to this property will trigger replacement.
String
The location for the resource
annotations Map<String,String>
User annotations. These attributes can only be set and used by the user, and not by Google Cloud Deploy. See https://google.aip.dev/128#annotations for more details such as format and size limitations. Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field effective_annotations for all of the annotations present on the resource.
description String
Description of the DeliveryPipeline. Max length is 255 characters.
labels Map<String,String>
Labels are attributes that can be set and used by both the user and by Google Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
name Changes to this property will trigger replacement. String
Name of the DeliveryPipeline. Format is a-z?.
project Changes to this property will trigger replacement. String
The project for the resource
serialPipeline DeliveryPipelineSerialPipeline
SerialPipeline defines a sequential set of stages for a DeliveryPipeline.
suspended Boolean
When suspended, no new releases or rollouts can be created, but in-progress ones will complete.
location
This property is required.
Changes to this property will trigger replacement.
string
The location for the resource
annotations {[key: string]: string}
User annotations. These attributes can only be set and used by the user, and not by Google Cloud Deploy. See https://google.aip.dev/128#annotations for more details such as format and size limitations. Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field effective_annotations for all of the annotations present on the resource.
description string
Description of the DeliveryPipeline. Max length is 255 characters.
labels {[key: string]: string}
Labels are attributes that can be set and used by both the user and by Google Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
name Changes to this property will trigger replacement. string
Name of the DeliveryPipeline. Format is a-z?.
project Changes to this property will trigger replacement. string
The project for the resource
serialPipeline DeliveryPipelineSerialPipeline
SerialPipeline defines a sequential set of stages for a DeliveryPipeline.
suspended boolean
When suspended, no new releases or rollouts can be created, but in-progress ones will complete.
location
This property is required.
Changes to this property will trigger replacement.
str
The location for the resource
annotations Mapping[str, str]
User annotations. These attributes can only be set and used by the user, and not by Google Cloud Deploy. See https://google.aip.dev/128#annotations for more details such as format and size limitations. Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field effective_annotations for all of the annotations present on the resource.
description str
Description of the DeliveryPipeline. Max length is 255 characters.
labels Mapping[str, str]
Labels are attributes that can be set and used by both the user and by Google Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
name Changes to this property will trigger replacement. str
Name of the DeliveryPipeline. Format is a-z?.
project Changes to this property will trigger replacement. str
The project for the resource
serial_pipeline DeliveryPipelineSerialPipelineArgs
SerialPipeline defines a sequential set of stages for a DeliveryPipeline.
suspended bool
When suspended, no new releases or rollouts can be created, but in-progress ones will complete.
location
This property is required.
Changes to this property will trigger replacement.
String
The location for the resource
annotations Map<String>
User annotations. These attributes can only be set and used by the user, and not by Google Cloud Deploy. See https://google.aip.dev/128#annotations for more details such as format and size limitations. Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field effective_annotations for all of the annotations present on the resource.
description String
Description of the DeliveryPipeline. Max length is 255 characters.
labels Map<String>
Labels are attributes that can be set and used by both the user and by Google Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
name Changes to this property will trigger replacement. String
Name of the DeliveryPipeline. Format is a-z?.
project Changes to this property will trigger replacement. String
The project for the resource
serialPipeline Property Map
SerialPipeline defines a sequential set of stages for a DeliveryPipeline.
suspended Boolean
When suspended, no new releases or rollouts can be created, but in-progress ones will complete.

Outputs

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

Conditions List<DeliveryPipelineCondition>
Output only. Information around the state of the Delivery Pipeline.
CreateTime string
Output only. Time at which the pipeline was created.
EffectiveAnnotations Dictionary<string, string>
EffectiveLabels Dictionary<string, string>
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
Etag string
This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
Id string
The provider-assigned unique ID for this managed resource.
PulumiLabels Dictionary<string, string>
The combination of labels configured directly on the resource and default labels configured on the provider.
Uid string
Output only. Unique identifier of the DeliveryPipeline.
UpdateTime string
Output only. Most recent time at which the pipeline was updated.
Conditions []DeliveryPipelineCondition
Output only. Information around the state of the Delivery Pipeline.
CreateTime string
Output only. Time at which the pipeline was created.
EffectiveAnnotations map[string]string
EffectiveLabels map[string]string
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
Etag string
This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
Id string
The provider-assigned unique ID for this managed resource.
PulumiLabels map[string]string
The combination of labels configured directly on the resource and default labels configured on the provider.
Uid string
Output only. Unique identifier of the DeliveryPipeline.
UpdateTime string
Output only. Most recent time at which the pipeline was updated.
conditions List<DeliveryPipelineCondition>
Output only. Information around the state of the Delivery Pipeline.
createTime String
Output only. Time at which the pipeline was created.
effectiveAnnotations Map<String,String>
effectiveLabels Map<String,String>
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
etag String
This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
id String
The provider-assigned unique ID for this managed resource.
pulumiLabels Map<String,String>
The combination of labels configured directly on the resource and default labels configured on the provider.
uid String
Output only. Unique identifier of the DeliveryPipeline.
updateTime String
Output only. Most recent time at which the pipeline was updated.
conditions DeliveryPipelineCondition[]
Output only. Information around the state of the Delivery Pipeline.
createTime string
Output only. Time at which the pipeline was created.
effectiveAnnotations {[key: string]: string}
effectiveLabels {[key: string]: string}
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
etag string
This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
id string
The provider-assigned unique ID for this managed resource.
pulumiLabels {[key: string]: string}
The combination of labels configured directly on the resource and default labels configured on the provider.
uid string
Output only. Unique identifier of the DeliveryPipeline.
updateTime string
Output only. Most recent time at which the pipeline was updated.
conditions Sequence[DeliveryPipelineCondition]
Output only. Information around the state of the Delivery Pipeline.
create_time str
Output only. Time at which the pipeline was created.
effective_annotations Mapping[str, str]
effective_labels Mapping[str, str]
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
etag str
This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
id str
The provider-assigned unique ID for this managed resource.
pulumi_labels Mapping[str, str]
The combination of labels configured directly on the resource and default labels configured on the provider.
uid str
Output only. Unique identifier of the DeliveryPipeline.
update_time str
Output only. Most recent time at which the pipeline was updated.
conditions List<Property Map>
Output only. Information around the state of the Delivery Pipeline.
createTime String
Output only. Time at which the pipeline was created.
effectiveAnnotations Map<String>
effectiveLabels Map<String>
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
etag String
This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
id String
The provider-assigned unique ID for this managed resource.
pulumiLabels Map<String>
The combination of labels configured directly on the resource and default labels configured on the provider.
uid String
Output only. Unique identifier of the DeliveryPipeline.
updateTime String
Output only. Most recent time at which the pipeline was updated.

Look up Existing DeliveryPipeline Resource

Get an existing DeliveryPipeline 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?: DeliveryPipelineState, opts?: CustomResourceOptions): DeliveryPipeline
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        annotations: Optional[Mapping[str, str]] = None,
        conditions: Optional[Sequence[DeliveryPipelineConditionArgs]] = None,
        create_time: Optional[str] = None,
        description: Optional[str] = None,
        effective_annotations: Optional[Mapping[str, str]] = None,
        effective_labels: Optional[Mapping[str, str]] = None,
        etag: Optional[str] = None,
        labels: Optional[Mapping[str, str]] = None,
        location: Optional[str] = None,
        name: Optional[str] = None,
        project: Optional[str] = None,
        pulumi_labels: Optional[Mapping[str, str]] = None,
        serial_pipeline: Optional[DeliveryPipelineSerialPipelineArgs] = None,
        suspended: Optional[bool] = None,
        uid: Optional[str] = None,
        update_time: Optional[str] = None) -> DeliveryPipeline
func GetDeliveryPipeline(ctx *Context, name string, id IDInput, state *DeliveryPipelineState, opts ...ResourceOption) (*DeliveryPipeline, error)
public static DeliveryPipeline Get(string name, Input<string> id, DeliveryPipelineState? state, CustomResourceOptions? opts = null)
public static DeliveryPipeline get(String name, Output<String> id, DeliveryPipelineState state, CustomResourceOptions options)
resources:  _:    type: gcp:clouddeploy:DeliveryPipeline    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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:
Annotations Dictionary<string, string>
User annotations. These attributes can only be set and used by the user, and not by Google Cloud Deploy. See https://google.aip.dev/128#annotations for more details such as format and size limitations. Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field effective_annotations for all of the annotations present on the resource.
Conditions List<DeliveryPipelineCondition>
Output only. Information around the state of the Delivery Pipeline.
CreateTime string
Output only. Time at which the pipeline was created.
Description string
Description of the DeliveryPipeline. Max length is 255 characters.
EffectiveAnnotations Dictionary<string, string>
EffectiveLabels Dictionary<string, string>
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
Etag string
This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
Labels Dictionary<string, string>
Labels are attributes that can be set and used by both the user and by Google Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
Location Changes to this property will trigger replacement. string
The location for the resource
Name Changes to this property will trigger replacement. string
Name of the DeliveryPipeline. Format is a-z?.
Project Changes to this property will trigger replacement. string
The project for the resource
PulumiLabels Dictionary<string, string>
The combination of labels configured directly on the resource and default labels configured on the provider.
SerialPipeline DeliveryPipelineSerialPipeline
SerialPipeline defines a sequential set of stages for a DeliveryPipeline.
Suspended bool
When suspended, no new releases or rollouts can be created, but in-progress ones will complete.
Uid string
Output only. Unique identifier of the DeliveryPipeline.
UpdateTime string
Output only. Most recent time at which the pipeline was updated.
Annotations map[string]string
User annotations. These attributes can only be set and used by the user, and not by Google Cloud Deploy. See https://google.aip.dev/128#annotations for more details such as format and size limitations. Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field effective_annotations for all of the annotations present on the resource.
Conditions []DeliveryPipelineConditionArgs
Output only. Information around the state of the Delivery Pipeline.
CreateTime string
Output only. Time at which the pipeline was created.
Description string
Description of the DeliveryPipeline. Max length is 255 characters.
EffectiveAnnotations map[string]string
EffectiveLabels map[string]string
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
Etag string
This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
Labels map[string]string
Labels are attributes that can be set and used by both the user and by Google Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
Location Changes to this property will trigger replacement. string
The location for the resource
Name Changes to this property will trigger replacement. string
Name of the DeliveryPipeline. Format is a-z?.
Project Changes to this property will trigger replacement. string
The project for the resource
PulumiLabels map[string]string
The combination of labels configured directly on the resource and default labels configured on the provider.
SerialPipeline DeliveryPipelineSerialPipelineArgs
SerialPipeline defines a sequential set of stages for a DeliveryPipeline.
Suspended bool
When suspended, no new releases or rollouts can be created, but in-progress ones will complete.
Uid string
Output only. Unique identifier of the DeliveryPipeline.
UpdateTime string
Output only. Most recent time at which the pipeline was updated.
annotations Map<String,String>
User annotations. These attributes can only be set and used by the user, and not by Google Cloud Deploy. See https://google.aip.dev/128#annotations for more details such as format and size limitations. Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field effective_annotations for all of the annotations present on the resource.
conditions List<DeliveryPipelineCondition>
Output only. Information around the state of the Delivery Pipeline.
createTime String
Output only. Time at which the pipeline was created.
description String
Description of the DeliveryPipeline. Max length is 255 characters.
effectiveAnnotations Map<String,String>
effectiveLabels Map<String,String>
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
etag String
This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
labels Map<String,String>
Labels are attributes that can be set and used by both the user and by Google Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
location Changes to this property will trigger replacement. String
The location for the resource
name Changes to this property will trigger replacement. String
Name of the DeliveryPipeline. Format is a-z?.
project Changes to this property will trigger replacement. String
The project for the resource
pulumiLabels Map<String,String>
The combination of labels configured directly on the resource and default labels configured on the provider.
serialPipeline DeliveryPipelineSerialPipeline
SerialPipeline defines a sequential set of stages for a DeliveryPipeline.
suspended Boolean
When suspended, no new releases or rollouts can be created, but in-progress ones will complete.
uid String
Output only. Unique identifier of the DeliveryPipeline.
updateTime String
Output only. Most recent time at which the pipeline was updated.
annotations {[key: string]: string}
User annotations. These attributes can only be set and used by the user, and not by Google Cloud Deploy. See https://google.aip.dev/128#annotations for more details such as format and size limitations. Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field effective_annotations for all of the annotations present on the resource.
conditions DeliveryPipelineCondition[]
Output only. Information around the state of the Delivery Pipeline.
createTime string
Output only. Time at which the pipeline was created.
description string
Description of the DeliveryPipeline. Max length is 255 characters.
effectiveAnnotations {[key: string]: string}
effectiveLabels {[key: string]: string}
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
etag string
This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
labels {[key: string]: string}
Labels are attributes that can be set and used by both the user and by Google Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
location Changes to this property will trigger replacement. string
The location for the resource
name Changes to this property will trigger replacement. string
Name of the DeliveryPipeline. Format is a-z?.
project Changes to this property will trigger replacement. string
The project for the resource
pulumiLabels {[key: string]: string}
The combination of labels configured directly on the resource and default labels configured on the provider.
serialPipeline DeliveryPipelineSerialPipeline
SerialPipeline defines a sequential set of stages for a DeliveryPipeline.
suspended boolean
When suspended, no new releases or rollouts can be created, but in-progress ones will complete.
uid string
Output only. Unique identifier of the DeliveryPipeline.
updateTime string
Output only. Most recent time at which the pipeline was updated.
annotations Mapping[str, str]
User annotations. These attributes can only be set and used by the user, and not by Google Cloud Deploy. See https://google.aip.dev/128#annotations for more details such as format and size limitations. Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field effective_annotations for all of the annotations present on the resource.
conditions Sequence[DeliveryPipelineConditionArgs]
Output only. Information around the state of the Delivery Pipeline.
create_time str
Output only. Time at which the pipeline was created.
description str
Description of the DeliveryPipeline. Max length is 255 characters.
effective_annotations Mapping[str, str]
effective_labels Mapping[str, str]
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
etag str
This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
labels Mapping[str, str]
Labels are attributes that can be set and used by both the user and by Google Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
location Changes to this property will trigger replacement. str
The location for the resource
name Changes to this property will trigger replacement. str
Name of the DeliveryPipeline. Format is a-z?.
project Changes to this property will trigger replacement. str
The project for the resource
pulumi_labels Mapping[str, str]
The combination of labels configured directly on the resource and default labels configured on the provider.
serial_pipeline DeliveryPipelineSerialPipelineArgs
SerialPipeline defines a sequential set of stages for a DeliveryPipeline.
suspended bool
When suspended, no new releases or rollouts can be created, but in-progress ones will complete.
uid str
Output only. Unique identifier of the DeliveryPipeline.
update_time str
Output only. Most recent time at which the pipeline was updated.
annotations Map<String>
User annotations. These attributes can only be set and used by the user, and not by Google Cloud Deploy. See https://google.aip.dev/128#annotations for more details such as format and size limitations. Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field effective_annotations for all of the annotations present on the resource.
conditions List<Property Map>
Output only. Information around the state of the Delivery Pipeline.
createTime String
Output only. Time at which the pipeline was created.
description String
Description of the DeliveryPipeline. Max length is 255 characters.
effectiveAnnotations Map<String>
effectiveLabels Map<String>
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
etag String
This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
labels Map<String>
Labels are attributes that can be set and used by both the user and by Google Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be <= 128 bytes. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.
location Changes to this property will trigger replacement. String
The location for the resource
name Changes to this property will trigger replacement. String
Name of the DeliveryPipeline. Format is a-z?.
project Changes to this property will trigger replacement. String
The project for the resource
pulumiLabels Map<String>
The combination of labels configured directly on the resource and default labels configured on the provider.
serialPipeline Property Map
SerialPipeline defines a sequential set of stages for a DeliveryPipeline.
suspended Boolean
When suspended, no new releases or rollouts can be created, but in-progress ones will complete.
uid String
Output only. Unique identifier of the DeliveryPipeline.
updateTime String
Output only. Most recent time at which the pipeline was updated.

Supporting Types

DeliveryPipelineCondition
, DeliveryPipelineConditionArgs

PipelineReadyConditions List<DeliveryPipelineConditionPipelineReadyCondition>
Details around the Pipeline's overall status.
TargetsPresentConditions List<DeliveryPipelineConditionTargetsPresentCondition>
Details around targets enumerated in the pipeline.
TargetsTypeConditions List<DeliveryPipelineConditionTargetsTypeCondition>
Details on the whether the targets enumerated in the pipeline are of the same type.
PipelineReadyConditions []DeliveryPipelineConditionPipelineReadyCondition
Details around the Pipeline's overall status.
TargetsPresentConditions []DeliveryPipelineConditionTargetsPresentCondition
Details around targets enumerated in the pipeline.
TargetsTypeConditions []DeliveryPipelineConditionTargetsTypeCondition
Details on the whether the targets enumerated in the pipeline are of the same type.
pipelineReadyConditions List<DeliveryPipelineConditionPipelineReadyCondition>
Details around the Pipeline's overall status.
targetsPresentConditions List<DeliveryPipelineConditionTargetsPresentCondition>
Details around targets enumerated in the pipeline.
targetsTypeConditions List<DeliveryPipelineConditionTargetsTypeCondition>
Details on the whether the targets enumerated in the pipeline are of the same type.
pipelineReadyConditions DeliveryPipelineConditionPipelineReadyCondition[]
Details around the Pipeline's overall status.
targetsPresentConditions DeliveryPipelineConditionTargetsPresentCondition[]
Details around targets enumerated in the pipeline.
targetsTypeConditions DeliveryPipelineConditionTargetsTypeCondition[]
Details on the whether the targets enumerated in the pipeline are of the same type.
pipeline_ready_conditions Sequence[DeliveryPipelineConditionPipelineReadyCondition]
Details around the Pipeline's overall status.
targets_present_conditions Sequence[DeliveryPipelineConditionTargetsPresentCondition]
Details around targets enumerated in the pipeline.
targets_type_conditions Sequence[DeliveryPipelineConditionTargetsTypeCondition]
Details on the whether the targets enumerated in the pipeline are of the same type.
pipelineReadyConditions List<Property Map>
Details around the Pipeline's overall status.
targetsPresentConditions List<Property Map>
Details around targets enumerated in the pipeline.
targetsTypeConditions List<Property Map>
Details on the whether the targets enumerated in the pipeline are of the same type.

DeliveryPipelineConditionPipelineReadyCondition
, DeliveryPipelineConditionPipelineReadyConditionArgs

Status bool
True if the Pipeline is in a valid state. Otherwise at least one condition in PipelineCondition is in an invalid state. Iterate over those conditions and see which condition(s) has status = false to find out what is wrong with the Pipeline.
UpdateTime string
Output only. Most recent time at which the pipeline was updated.
Status bool
True if the Pipeline is in a valid state. Otherwise at least one condition in PipelineCondition is in an invalid state. Iterate over those conditions and see which condition(s) has status = false to find out what is wrong with the Pipeline.
UpdateTime string
Output only. Most recent time at which the pipeline was updated.
status Boolean
True if the Pipeline is in a valid state. Otherwise at least one condition in PipelineCondition is in an invalid state. Iterate over those conditions and see which condition(s) has status = false to find out what is wrong with the Pipeline.
updateTime String
Output only. Most recent time at which the pipeline was updated.
status boolean
True if the Pipeline is in a valid state. Otherwise at least one condition in PipelineCondition is in an invalid state. Iterate over those conditions and see which condition(s) has status = false to find out what is wrong with the Pipeline.
updateTime string
Output only. Most recent time at which the pipeline was updated.
status bool
True if the Pipeline is in a valid state. Otherwise at least one condition in PipelineCondition is in an invalid state. Iterate over those conditions and see which condition(s) has status = false to find out what is wrong with the Pipeline.
update_time str
Output only. Most recent time at which the pipeline was updated.
status Boolean
True if the Pipeline is in a valid state. Otherwise at least one condition in PipelineCondition is in an invalid state. Iterate over those conditions and see which condition(s) has status = false to find out what is wrong with the Pipeline.
updateTime String
Output only. Most recent time at which the pipeline was updated.

DeliveryPipelineConditionTargetsPresentCondition
, DeliveryPipelineConditionTargetsPresentConditionArgs

MissingTargets List<string>
The list of Target names that are missing. For example, projects/{project_id}/locations/{location_name}/targets/{target_name}.
Status bool
True if there aren't any missing Targets.
UpdateTime string
Output only. Most recent time at which the pipeline was updated.
MissingTargets []string
The list of Target names that are missing. For example, projects/{project_id}/locations/{location_name}/targets/{target_name}.
Status bool
True if there aren't any missing Targets.
UpdateTime string
Output only. Most recent time at which the pipeline was updated.
missingTargets List<String>
The list of Target names that are missing. For example, projects/{project_id}/locations/{location_name}/targets/{target_name}.
status Boolean
True if there aren't any missing Targets.
updateTime String
Output only. Most recent time at which the pipeline was updated.
missingTargets string[]
The list of Target names that are missing. For example, projects/{project_id}/locations/{location_name}/targets/{target_name}.
status boolean
True if there aren't any missing Targets.
updateTime string
Output only. Most recent time at which the pipeline was updated.
missing_targets Sequence[str]
The list of Target names that are missing. For example, projects/{project_id}/locations/{location_name}/targets/{target_name}.
status bool
True if there aren't any missing Targets.
update_time str
Output only. Most recent time at which the pipeline was updated.
missingTargets List<String>
The list of Target names that are missing. For example, projects/{project_id}/locations/{location_name}/targets/{target_name}.
status Boolean
True if there aren't any missing Targets.
updateTime String
Output only. Most recent time at which the pipeline was updated.

DeliveryPipelineConditionTargetsTypeCondition
, DeliveryPipelineConditionTargetsTypeConditionArgs

ErrorDetails string
Human readable error message.
Status bool
True if the targets are all a comparable type. For example this is true if all targets are GKE clusters. This is false if some targets are Cloud Run targets and others are GKE clusters.
ErrorDetails string
Human readable error message.
Status bool
True if the targets are all a comparable type. For example this is true if all targets are GKE clusters. This is false if some targets are Cloud Run targets and others are GKE clusters.
errorDetails String
Human readable error message.
status Boolean
True if the targets are all a comparable type. For example this is true if all targets are GKE clusters. This is false if some targets are Cloud Run targets and others are GKE clusters.
errorDetails string
Human readable error message.
status boolean
True if the targets are all a comparable type. For example this is true if all targets are GKE clusters. This is false if some targets are Cloud Run targets and others are GKE clusters.
error_details str
Human readable error message.
status bool
True if the targets are all a comparable type. For example this is true if all targets are GKE clusters. This is false if some targets are Cloud Run targets and others are GKE clusters.
errorDetails String
Human readable error message.
status Boolean
True if the targets are all a comparable type. For example this is true if all targets are GKE clusters. This is false if some targets are Cloud Run targets and others are GKE clusters.

DeliveryPipelineSerialPipeline
, DeliveryPipelineSerialPipelineArgs

Stages List<DeliveryPipelineSerialPipelineStage>
Each stage specifies configuration for a Target. The ordering of this list defines the promotion flow.
Stages []DeliveryPipelineSerialPipelineStage
Each stage specifies configuration for a Target. The ordering of this list defines the promotion flow.
stages List<DeliveryPipelineSerialPipelineStage>
Each stage specifies configuration for a Target. The ordering of this list defines the promotion flow.
stages DeliveryPipelineSerialPipelineStage[]
Each stage specifies configuration for a Target. The ordering of this list defines the promotion flow.
stages Sequence[DeliveryPipelineSerialPipelineStage]
Each stage specifies configuration for a Target. The ordering of this list defines the promotion flow.
stages List<Property Map>
Each stage specifies configuration for a Target. The ordering of this list defines the promotion flow.

DeliveryPipelineSerialPipelineStage
, DeliveryPipelineSerialPipelineStageArgs

DeployParameters List<DeliveryPipelineSerialPipelineStageDeployParameter>
Optional. The deploy parameters to use for the target in this stage.
Profiles List<string>
Skaffold profiles to use when rendering the manifest for this stage's Target.
Strategy DeliveryPipelineSerialPipelineStageStrategy
Optional. The strategy to use for a Rollout to this stage.
TargetId string
The target_id to which this stage points. This field refers exclusively to the last segment of a target name. For example, this field would just be my-target (rather than projects/project/locations/location/targets/my-target). The location of the Target is inferred to be the same as the location of the DeliveryPipeline that contains this Stage.
DeployParameters []DeliveryPipelineSerialPipelineStageDeployParameter
Optional. The deploy parameters to use for the target in this stage.
Profiles []string
Skaffold profiles to use when rendering the manifest for this stage's Target.
Strategy DeliveryPipelineSerialPipelineStageStrategy
Optional. The strategy to use for a Rollout to this stage.
TargetId string
The target_id to which this stage points. This field refers exclusively to the last segment of a target name. For example, this field would just be my-target (rather than projects/project/locations/location/targets/my-target). The location of the Target is inferred to be the same as the location of the DeliveryPipeline that contains this Stage.
deployParameters List<DeliveryPipelineSerialPipelineStageDeployParameter>
Optional. The deploy parameters to use for the target in this stage.
profiles List<String>
Skaffold profiles to use when rendering the manifest for this stage's Target.
strategy DeliveryPipelineSerialPipelineStageStrategy
Optional. The strategy to use for a Rollout to this stage.
targetId String
The target_id to which this stage points. This field refers exclusively to the last segment of a target name. For example, this field would just be my-target (rather than projects/project/locations/location/targets/my-target). The location of the Target is inferred to be the same as the location of the DeliveryPipeline that contains this Stage.
deployParameters DeliveryPipelineSerialPipelineStageDeployParameter[]
Optional. The deploy parameters to use for the target in this stage.
profiles string[]
Skaffold profiles to use when rendering the manifest for this stage's Target.
strategy DeliveryPipelineSerialPipelineStageStrategy
Optional. The strategy to use for a Rollout to this stage.
targetId string
The target_id to which this stage points. This field refers exclusively to the last segment of a target name. For example, this field would just be my-target (rather than projects/project/locations/location/targets/my-target). The location of the Target is inferred to be the same as the location of the DeliveryPipeline that contains this Stage.
deploy_parameters Sequence[DeliveryPipelineSerialPipelineStageDeployParameter]
Optional. The deploy parameters to use for the target in this stage.
profiles Sequence[str]
Skaffold profiles to use when rendering the manifest for this stage's Target.
strategy DeliveryPipelineSerialPipelineStageStrategy
Optional. The strategy to use for a Rollout to this stage.
target_id str
The target_id to which this stage points. This field refers exclusively to the last segment of a target name. For example, this field would just be my-target (rather than projects/project/locations/location/targets/my-target). The location of the Target is inferred to be the same as the location of the DeliveryPipeline that contains this Stage.
deployParameters List<Property Map>
Optional. The deploy parameters to use for the target in this stage.
profiles List<String>
Skaffold profiles to use when rendering the manifest for this stage's Target.
strategy Property Map
Optional. The strategy to use for a Rollout to this stage.
targetId String
The target_id to which this stage points. This field refers exclusively to the last segment of a target name. For example, this field would just be my-target (rather than projects/project/locations/location/targets/my-target). The location of the Target is inferred to be the same as the location of the DeliveryPipeline that contains this Stage.

DeliveryPipelineSerialPipelineStageDeployParameter
, DeliveryPipelineSerialPipelineStageDeployParameterArgs

Values This property is required. Dictionary<string, string>
Required. Values are deploy parameters in key-value pairs.
MatchTargetLabels Dictionary<string, string>
Optional. Deploy parameters are applied to targets with match labels. If unspecified, deploy parameters are applied to all targets (including child targets of a multi-target).
Values This property is required. map[string]string
Required. Values are deploy parameters in key-value pairs.
MatchTargetLabels map[string]string
Optional. Deploy parameters are applied to targets with match labels. If unspecified, deploy parameters are applied to all targets (including child targets of a multi-target).
values This property is required. Map<String,String>
Required. Values are deploy parameters in key-value pairs.
matchTargetLabels Map<String,String>
Optional. Deploy parameters are applied to targets with match labels. If unspecified, deploy parameters are applied to all targets (including child targets of a multi-target).
values This property is required. {[key: string]: string}
Required. Values are deploy parameters in key-value pairs.
matchTargetLabels {[key: string]: string}
Optional. Deploy parameters are applied to targets with match labels. If unspecified, deploy parameters are applied to all targets (including child targets of a multi-target).
values This property is required. Mapping[str, str]
Required. Values are deploy parameters in key-value pairs.
match_target_labels Mapping[str, str]
Optional. Deploy parameters are applied to targets with match labels. If unspecified, deploy parameters are applied to all targets (including child targets of a multi-target).
values This property is required. Map<String>
Required. Values are deploy parameters in key-value pairs.
matchTargetLabels Map<String>
Optional. Deploy parameters are applied to targets with match labels. If unspecified, deploy parameters are applied to all targets (including child targets of a multi-target).

DeliveryPipelineSerialPipelineStageStrategy
, DeliveryPipelineSerialPipelineStageStrategyArgs

Canary DeliveryPipelineSerialPipelineStageStrategyCanary
Canary deployment strategy provides progressive percentage based deployments to a Target.
Standard DeliveryPipelineSerialPipelineStageStrategyStandard
Standard deployment strategy executes a single deploy and allows verifying the deployment.
Canary DeliveryPipelineSerialPipelineStageStrategyCanary
Canary deployment strategy provides progressive percentage based deployments to a Target.
Standard DeliveryPipelineSerialPipelineStageStrategyStandard
Standard deployment strategy executes a single deploy and allows verifying the deployment.
canary DeliveryPipelineSerialPipelineStageStrategyCanary
Canary deployment strategy provides progressive percentage based deployments to a Target.
standard DeliveryPipelineSerialPipelineStageStrategyStandard
Standard deployment strategy executes a single deploy and allows verifying the deployment.
canary DeliveryPipelineSerialPipelineStageStrategyCanary
Canary deployment strategy provides progressive percentage based deployments to a Target.
standard DeliveryPipelineSerialPipelineStageStrategyStandard
Standard deployment strategy executes a single deploy and allows verifying the deployment.
canary DeliveryPipelineSerialPipelineStageStrategyCanary
Canary deployment strategy provides progressive percentage based deployments to a Target.
standard DeliveryPipelineSerialPipelineStageStrategyStandard
Standard deployment strategy executes a single deploy and allows verifying the deployment.
canary Property Map
Canary deployment strategy provides progressive percentage based deployments to a Target.
standard Property Map
Standard deployment strategy executes a single deploy and allows verifying the deployment.

DeliveryPipelineSerialPipelineStageStrategyCanary
, DeliveryPipelineSerialPipelineStageStrategyCanaryArgs

CanaryDeployment DeliveryPipelineSerialPipelineStageStrategyCanaryCanaryDeployment
Configures the progressive based deployment for a Target.
CustomCanaryDeployment DeliveryPipelineSerialPipelineStageStrategyCanaryCustomCanaryDeployment
Configures the progressive based deployment for a Target, but allows customizing at the phase level where a phase represents each of the percentage deployments.
RuntimeConfig DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfig
Optional. Runtime specific configurations for the deployment strategy. The runtime configuration is used to determine how Cloud Deploy will split traffic to enable a progressive deployment.
CanaryDeployment DeliveryPipelineSerialPipelineStageStrategyCanaryCanaryDeployment
Configures the progressive based deployment for a Target.
CustomCanaryDeployment DeliveryPipelineSerialPipelineStageStrategyCanaryCustomCanaryDeployment
Configures the progressive based deployment for a Target, but allows customizing at the phase level where a phase represents each of the percentage deployments.
RuntimeConfig DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfig
Optional. Runtime specific configurations for the deployment strategy. The runtime configuration is used to determine how Cloud Deploy will split traffic to enable a progressive deployment.
canaryDeployment DeliveryPipelineSerialPipelineStageStrategyCanaryCanaryDeployment
Configures the progressive based deployment for a Target.
customCanaryDeployment DeliveryPipelineSerialPipelineStageStrategyCanaryCustomCanaryDeployment
Configures the progressive based deployment for a Target, but allows customizing at the phase level where a phase represents each of the percentage deployments.
runtimeConfig DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfig
Optional. Runtime specific configurations for the deployment strategy. The runtime configuration is used to determine how Cloud Deploy will split traffic to enable a progressive deployment.
canaryDeployment DeliveryPipelineSerialPipelineStageStrategyCanaryCanaryDeployment
Configures the progressive based deployment for a Target.
customCanaryDeployment DeliveryPipelineSerialPipelineStageStrategyCanaryCustomCanaryDeployment
Configures the progressive based deployment for a Target, but allows customizing at the phase level where a phase represents each of the percentage deployments.
runtimeConfig DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfig
Optional. Runtime specific configurations for the deployment strategy. The runtime configuration is used to determine how Cloud Deploy will split traffic to enable a progressive deployment.
canary_deployment DeliveryPipelineSerialPipelineStageStrategyCanaryCanaryDeployment
Configures the progressive based deployment for a Target.
custom_canary_deployment DeliveryPipelineSerialPipelineStageStrategyCanaryCustomCanaryDeployment
Configures the progressive based deployment for a Target, but allows customizing at the phase level where a phase represents each of the percentage deployments.
runtime_config DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfig
Optional. Runtime specific configurations for the deployment strategy. The runtime configuration is used to determine how Cloud Deploy will split traffic to enable a progressive deployment.
canaryDeployment Property Map
Configures the progressive based deployment for a Target.
customCanaryDeployment Property Map
Configures the progressive based deployment for a Target, but allows customizing at the phase level where a phase represents each of the percentage deployments.
runtimeConfig Property Map
Optional. Runtime specific configurations for the deployment strategy. The runtime configuration is used to determine how Cloud Deploy will split traffic to enable a progressive deployment.

DeliveryPipelineSerialPipelineStageStrategyCanaryCanaryDeployment
, DeliveryPipelineSerialPipelineStageStrategyCanaryCanaryDeploymentArgs

Percentages This property is required. List<int>
Required. The percentage based deployments that will occur as a part of a Rollout. List is expected in ascending order and each integer n is 0 <= n < 100.
Postdeploy DeliveryPipelineSerialPipelineStageStrategyCanaryCanaryDeploymentPostdeploy
Optional. Configuration for the postdeploy job of the last phase. If this is not configured, postdeploy job will not be present.
Predeploy DeliveryPipelineSerialPipelineStageStrategyCanaryCanaryDeploymentPredeploy
Optional. Configuration for the predeploy job of the first phase. If this is not configured, predeploy job will not be present.
Verify bool
Whether to run verify tests after each percentage deployment.
Percentages This property is required. []int
Required. The percentage based deployments that will occur as a part of a Rollout. List is expected in ascending order and each integer n is 0 <= n < 100.
Postdeploy DeliveryPipelineSerialPipelineStageStrategyCanaryCanaryDeploymentPostdeploy
Optional. Configuration for the postdeploy job of the last phase. If this is not configured, postdeploy job will not be present.
Predeploy DeliveryPipelineSerialPipelineStageStrategyCanaryCanaryDeploymentPredeploy
Optional. Configuration for the predeploy job of the first phase. If this is not configured, predeploy job will not be present.
Verify bool
Whether to run verify tests after each percentage deployment.
percentages This property is required. List<Integer>
Required. The percentage based deployments that will occur as a part of a Rollout. List is expected in ascending order and each integer n is 0 <= n < 100.
postdeploy DeliveryPipelineSerialPipelineStageStrategyCanaryCanaryDeploymentPostdeploy
Optional. Configuration for the postdeploy job of the last phase. If this is not configured, postdeploy job will not be present.
predeploy DeliveryPipelineSerialPipelineStageStrategyCanaryCanaryDeploymentPredeploy
Optional. Configuration for the predeploy job of the first phase. If this is not configured, predeploy job will not be present.
verify Boolean
Whether to run verify tests after each percentage deployment.
percentages This property is required. number[]
Required. The percentage based deployments that will occur as a part of a Rollout. List is expected in ascending order and each integer n is 0 <= n < 100.
postdeploy DeliveryPipelineSerialPipelineStageStrategyCanaryCanaryDeploymentPostdeploy
Optional. Configuration for the postdeploy job of the last phase. If this is not configured, postdeploy job will not be present.
predeploy DeliveryPipelineSerialPipelineStageStrategyCanaryCanaryDeploymentPredeploy
Optional. Configuration for the predeploy job of the first phase. If this is not configured, predeploy job will not be present.
verify boolean
Whether to run verify tests after each percentage deployment.
percentages This property is required. Sequence[int]
Required. The percentage based deployments that will occur as a part of a Rollout. List is expected in ascending order and each integer n is 0 <= n < 100.
postdeploy DeliveryPipelineSerialPipelineStageStrategyCanaryCanaryDeploymentPostdeploy
Optional. Configuration for the postdeploy job of the last phase. If this is not configured, postdeploy job will not be present.
predeploy DeliveryPipelineSerialPipelineStageStrategyCanaryCanaryDeploymentPredeploy
Optional. Configuration for the predeploy job of the first phase. If this is not configured, predeploy job will not be present.
verify bool
Whether to run verify tests after each percentage deployment.
percentages This property is required. List<Number>
Required. The percentage based deployments that will occur as a part of a Rollout. List is expected in ascending order and each integer n is 0 <= n < 100.
postdeploy Property Map
Optional. Configuration for the postdeploy job of the last phase. If this is not configured, postdeploy job will not be present.
predeploy Property Map
Optional. Configuration for the predeploy job of the first phase. If this is not configured, predeploy job will not be present.
verify Boolean
Whether to run verify tests after each percentage deployment.

DeliveryPipelineSerialPipelineStageStrategyCanaryCanaryDeploymentPostdeploy
, DeliveryPipelineSerialPipelineStageStrategyCanaryCanaryDeploymentPostdeployArgs

Actions List<string>
Optional. A sequence of skaffold custom actions to invoke during execution of the postdeploy job.
Actions []string
Optional. A sequence of skaffold custom actions to invoke during execution of the postdeploy job.
actions List<String>
Optional. A sequence of skaffold custom actions to invoke during execution of the postdeploy job.
actions string[]
Optional. A sequence of skaffold custom actions to invoke during execution of the postdeploy job.
actions Sequence[str]
Optional. A sequence of skaffold custom actions to invoke during execution of the postdeploy job.
actions List<String>
Optional. A sequence of skaffold custom actions to invoke during execution of the postdeploy job.

DeliveryPipelineSerialPipelineStageStrategyCanaryCanaryDeploymentPredeploy
, DeliveryPipelineSerialPipelineStageStrategyCanaryCanaryDeploymentPredeployArgs

Actions List<string>
Optional. A sequence of skaffold custom actions to invoke during execution of the predeploy job.
Actions []string
Optional. A sequence of skaffold custom actions to invoke during execution of the predeploy job.
actions List<String>
Optional. A sequence of skaffold custom actions to invoke during execution of the predeploy job.
actions string[]
Optional. A sequence of skaffold custom actions to invoke during execution of the predeploy job.
actions Sequence[str]
Optional. A sequence of skaffold custom actions to invoke during execution of the predeploy job.
actions List<String>
Optional. A sequence of skaffold custom actions to invoke during execution of the predeploy job.

DeliveryPipelineSerialPipelineStageStrategyCanaryCustomCanaryDeployment
, DeliveryPipelineSerialPipelineStageStrategyCanaryCustomCanaryDeploymentArgs

PhaseConfigs This property is required. List<DeliveryPipelineSerialPipelineStageStrategyCanaryCustomCanaryDeploymentPhaseConfig>
Required. Configuration for each phase in the canary deployment in the order executed.
PhaseConfigs This property is required. []DeliveryPipelineSerialPipelineStageStrategyCanaryCustomCanaryDeploymentPhaseConfig
Required. Configuration for each phase in the canary deployment in the order executed.
phaseConfigs This property is required. List<DeliveryPipelineSerialPipelineStageStrategyCanaryCustomCanaryDeploymentPhaseConfig>
Required. Configuration for each phase in the canary deployment in the order executed.
phaseConfigs This property is required. DeliveryPipelineSerialPipelineStageStrategyCanaryCustomCanaryDeploymentPhaseConfig[]
Required. Configuration for each phase in the canary deployment in the order executed.
phase_configs This property is required. Sequence[DeliveryPipelineSerialPipelineStageStrategyCanaryCustomCanaryDeploymentPhaseConfig]
Required. Configuration for each phase in the canary deployment in the order executed.
phaseConfigs This property is required. List<Property Map>
Required. Configuration for each phase in the canary deployment in the order executed.

DeliveryPipelineSerialPipelineStageStrategyCanaryCustomCanaryDeploymentPhaseConfig
, DeliveryPipelineSerialPipelineStageStrategyCanaryCustomCanaryDeploymentPhaseConfigArgs

Percentage This property is required. int
Required. Percentage deployment for the phase.
PhaseId This property is required. string
Required. The ID to assign to the Rollout phase. This value must consist of lower-case letters, numbers, and hyphens, start with a letter and end with a letter or a number, and have a max length of 63 characters. In other words, it must match the following regex: ^a-z?$.
Postdeploy DeliveryPipelineSerialPipelineStageStrategyCanaryCustomCanaryDeploymentPhaseConfigPostdeploy
Optional. Configuration for the postdeploy job of this phase. If this is not configured, postdeploy job will not be present for this phase.
Predeploy DeliveryPipelineSerialPipelineStageStrategyCanaryCustomCanaryDeploymentPhaseConfigPredeploy
Optional. Configuration for the predeploy job of this phase. If this is not configured, predeploy job will not be present for this phase.
Profiles List<string>
Skaffold profiles to use when rendering the manifest for this phase. These are in addition to the profiles list specified in the DeliveryPipeline stage.
Verify bool
Whether to run verify tests after the deployment.


Percentage This property is required. int
Required. Percentage deployment for the phase.
PhaseId This property is required. string
Required. The ID to assign to the Rollout phase. This value must consist of lower-case letters, numbers, and hyphens, start with a letter and end with a letter or a number, and have a max length of 63 characters. In other words, it must match the following regex: ^a-z?$.
Postdeploy DeliveryPipelineSerialPipelineStageStrategyCanaryCustomCanaryDeploymentPhaseConfigPostdeploy
Optional. Configuration for the postdeploy job of this phase. If this is not configured, postdeploy job will not be present for this phase.
Predeploy DeliveryPipelineSerialPipelineStageStrategyCanaryCustomCanaryDeploymentPhaseConfigPredeploy
Optional. Configuration for the predeploy job of this phase. If this is not configured, predeploy job will not be present for this phase.
Profiles []string
Skaffold profiles to use when rendering the manifest for this phase. These are in addition to the profiles list specified in the DeliveryPipeline stage.
Verify bool
Whether to run verify tests after the deployment.


percentage This property is required. Integer
Required. Percentage deployment for the phase.
phaseId This property is required. String
Required. The ID to assign to the Rollout phase. This value must consist of lower-case letters, numbers, and hyphens, start with a letter and end with a letter or a number, and have a max length of 63 characters. In other words, it must match the following regex: ^a-z?$.
postdeploy DeliveryPipelineSerialPipelineStageStrategyCanaryCustomCanaryDeploymentPhaseConfigPostdeploy
Optional. Configuration for the postdeploy job of this phase. If this is not configured, postdeploy job will not be present for this phase.
predeploy DeliveryPipelineSerialPipelineStageStrategyCanaryCustomCanaryDeploymentPhaseConfigPredeploy
Optional. Configuration for the predeploy job of this phase. If this is not configured, predeploy job will not be present for this phase.
profiles List<String>
Skaffold profiles to use when rendering the manifest for this phase. These are in addition to the profiles list specified in the DeliveryPipeline stage.
verify Boolean
Whether to run verify tests after the deployment.


percentage This property is required. number
Required. Percentage deployment for the phase.
phaseId This property is required. string
Required. The ID to assign to the Rollout phase. This value must consist of lower-case letters, numbers, and hyphens, start with a letter and end with a letter or a number, and have a max length of 63 characters. In other words, it must match the following regex: ^a-z?$.
postdeploy DeliveryPipelineSerialPipelineStageStrategyCanaryCustomCanaryDeploymentPhaseConfigPostdeploy
Optional. Configuration for the postdeploy job of this phase. If this is not configured, postdeploy job will not be present for this phase.
predeploy DeliveryPipelineSerialPipelineStageStrategyCanaryCustomCanaryDeploymentPhaseConfigPredeploy
Optional. Configuration for the predeploy job of this phase. If this is not configured, predeploy job will not be present for this phase.
profiles string[]
Skaffold profiles to use when rendering the manifest for this phase. These are in addition to the profiles list specified in the DeliveryPipeline stage.
verify boolean
Whether to run verify tests after the deployment.


percentage This property is required. int
Required. Percentage deployment for the phase.
phase_id This property is required. str
Required. The ID to assign to the Rollout phase. This value must consist of lower-case letters, numbers, and hyphens, start with a letter and end with a letter or a number, and have a max length of 63 characters. In other words, it must match the following regex: ^a-z?$.
postdeploy DeliveryPipelineSerialPipelineStageStrategyCanaryCustomCanaryDeploymentPhaseConfigPostdeploy
Optional. Configuration for the postdeploy job of this phase. If this is not configured, postdeploy job will not be present for this phase.
predeploy DeliveryPipelineSerialPipelineStageStrategyCanaryCustomCanaryDeploymentPhaseConfigPredeploy
Optional. Configuration for the predeploy job of this phase. If this is not configured, predeploy job will not be present for this phase.
profiles Sequence[str]
Skaffold profiles to use when rendering the manifest for this phase. These are in addition to the profiles list specified in the DeliveryPipeline stage.
verify bool
Whether to run verify tests after the deployment.


percentage This property is required. Number
Required. Percentage deployment for the phase.
phaseId This property is required. String
Required. The ID to assign to the Rollout phase. This value must consist of lower-case letters, numbers, and hyphens, start with a letter and end with a letter or a number, and have a max length of 63 characters. In other words, it must match the following regex: ^a-z?$.
postdeploy Property Map
Optional. Configuration for the postdeploy job of this phase. If this is not configured, postdeploy job will not be present for this phase.
predeploy Property Map
Optional. Configuration for the predeploy job of this phase. If this is not configured, predeploy job will not be present for this phase.
profiles List<String>
Skaffold profiles to use when rendering the manifest for this phase. These are in addition to the profiles list specified in the DeliveryPipeline stage.
verify Boolean
Whether to run verify tests after the deployment.


DeliveryPipelineSerialPipelineStageStrategyCanaryCustomCanaryDeploymentPhaseConfigPostdeploy
, DeliveryPipelineSerialPipelineStageStrategyCanaryCustomCanaryDeploymentPhaseConfigPostdeployArgs

Actions List<string>
Optional. A sequence of skaffold custom actions to invoke during execution of the postdeploy job.
Actions []string
Optional. A sequence of skaffold custom actions to invoke during execution of the postdeploy job.
actions List<String>
Optional. A sequence of skaffold custom actions to invoke during execution of the postdeploy job.
actions string[]
Optional. A sequence of skaffold custom actions to invoke during execution of the postdeploy job.
actions Sequence[str]
Optional. A sequence of skaffold custom actions to invoke during execution of the postdeploy job.
actions List<String>
Optional. A sequence of skaffold custom actions to invoke during execution of the postdeploy job.

DeliveryPipelineSerialPipelineStageStrategyCanaryCustomCanaryDeploymentPhaseConfigPredeploy
, DeliveryPipelineSerialPipelineStageStrategyCanaryCustomCanaryDeploymentPhaseConfigPredeployArgs

Actions List<string>
Optional. A sequence of skaffold custom actions to invoke during execution of the predeploy job.
Actions []string
Optional. A sequence of skaffold custom actions to invoke during execution of the predeploy job.
actions List<String>
Optional. A sequence of skaffold custom actions to invoke during execution of the predeploy job.
actions string[]
Optional. A sequence of skaffold custom actions to invoke during execution of the predeploy job.
actions Sequence[str]
Optional. A sequence of skaffold custom actions to invoke during execution of the predeploy job.
actions List<String>
Optional. A sequence of skaffold custom actions to invoke during execution of the predeploy job.

DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfig
, DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigArgs

cloudRun Property Map
Cloud Run runtime configuration.
kubernetes Property Map
Kubernetes runtime configuration.

DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigCloudRun
, DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigCloudRunArgs

AutomaticTrafficControl bool
Whether Cloud Deploy should update the traffic stanza in a Cloud Run Service on the user's behalf to facilitate traffic splitting. This is required to be true for CanaryDeployments, but optional for CustomCanaryDeployments.
CanaryRevisionTags List<string>
Optional. A list of tags that are added to the canary revision while the canary phase is in progress.
PriorRevisionTags List<string>
Optional. A list of tags that are added to the prior revision while the canary phase is in progress.
StableRevisionTags List<string>
Optional. A list of tags that are added to the final stable revision when the stable phase is applied.
AutomaticTrafficControl bool
Whether Cloud Deploy should update the traffic stanza in a Cloud Run Service on the user's behalf to facilitate traffic splitting. This is required to be true for CanaryDeployments, but optional for CustomCanaryDeployments.
CanaryRevisionTags []string
Optional. A list of tags that are added to the canary revision while the canary phase is in progress.
PriorRevisionTags []string
Optional. A list of tags that are added to the prior revision while the canary phase is in progress.
StableRevisionTags []string
Optional. A list of tags that are added to the final stable revision when the stable phase is applied.
automaticTrafficControl Boolean
Whether Cloud Deploy should update the traffic stanza in a Cloud Run Service on the user's behalf to facilitate traffic splitting. This is required to be true for CanaryDeployments, but optional for CustomCanaryDeployments.
canaryRevisionTags List<String>
Optional. A list of tags that are added to the canary revision while the canary phase is in progress.
priorRevisionTags List<String>
Optional. A list of tags that are added to the prior revision while the canary phase is in progress.
stableRevisionTags List<String>
Optional. A list of tags that are added to the final stable revision when the stable phase is applied.
automaticTrafficControl boolean
Whether Cloud Deploy should update the traffic stanza in a Cloud Run Service on the user's behalf to facilitate traffic splitting. This is required to be true for CanaryDeployments, but optional for CustomCanaryDeployments.
canaryRevisionTags string[]
Optional. A list of tags that are added to the canary revision while the canary phase is in progress.
priorRevisionTags string[]
Optional. A list of tags that are added to the prior revision while the canary phase is in progress.
stableRevisionTags string[]
Optional. A list of tags that are added to the final stable revision when the stable phase is applied.
automatic_traffic_control bool
Whether Cloud Deploy should update the traffic stanza in a Cloud Run Service on the user's behalf to facilitate traffic splitting. This is required to be true for CanaryDeployments, but optional for CustomCanaryDeployments.
canary_revision_tags Sequence[str]
Optional. A list of tags that are added to the canary revision while the canary phase is in progress.
prior_revision_tags Sequence[str]
Optional. A list of tags that are added to the prior revision while the canary phase is in progress.
stable_revision_tags Sequence[str]
Optional. A list of tags that are added to the final stable revision when the stable phase is applied.
automaticTrafficControl Boolean
Whether Cloud Deploy should update the traffic stanza in a Cloud Run Service on the user's behalf to facilitate traffic splitting. This is required to be true for CanaryDeployments, but optional for CustomCanaryDeployments.
canaryRevisionTags List<String>
Optional. A list of tags that are added to the canary revision while the canary phase is in progress.
priorRevisionTags List<String>
Optional. A list of tags that are added to the prior revision while the canary phase is in progress.
stableRevisionTags List<String>
Optional. A list of tags that are added to the final stable revision when the stable phase is applied.

DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetes
, DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesArgs

gatewayServiceMesh Property Map
Kubernetes Gateway API service mesh configuration.
serviceNetworking Property Map
Kubernetes Service networking configuration.

DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesGatewayServiceMesh
, DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesGatewayServiceMeshArgs

Deployment This property is required. string
Required. Name of the Kubernetes Deployment whose traffic is managed by the specified HTTPRoute and Service.
HttpRoute This property is required. string
Required. Name of the Gateway API HTTPRoute.
Service This property is required. string
Required. Name of the Kubernetes Service.
PodSelectorLabel string
Optional. The label to use when selecting Pods for the Deployment and Service resources. This label must already be present in both resources.
RouteDestinations DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesGatewayServiceMeshRouteDestinations
Optional. Route destinations allow configuring the Gateway API HTTPRoute to be deployed to additional clusters. This option is available for multi-cluster service mesh set ups that require the route to exist in the clusters that call the service. If unspecified, the HTTPRoute will only be deployed to the Target cluster.
RouteUpdateWaitTime string
Optional. The time to wait for route updates to propagate. The maximum configurable time is 3 hours, in seconds format. If unspecified, there is no wait time.
StableCutbackDuration string
Optional. The amount of time to migrate traffic back from the canary Service to the original Service during the stable phase deployment. If specified, must be between 15s and 3600s. If unspecified, there is no cutback time.
Deployment This property is required. string
Required. Name of the Kubernetes Deployment whose traffic is managed by the specified HTTPRoute and Service.
HttpRoute This property is required. string
Required. Name of the Gateway API HTTPRoute.
Service This property is required. string
Required. Name of the Kubernetes Service.
PodSelectorLabel string
Optional. The label to use when selecting Pods for the Deployment and Service resources. This label must already be present in both resources.
RouteDestinations DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesGatewayServiceMeshRouteDestinations
Optional. Route destinations allow configuring the Gateway API HTTPRoute to be deployed to additional clusters. This option is available for multi-cluster service mesh set ups that require the route to exist in the clusters that call the service. If unspecified, the HTTPRoute will only be deployed to the Target cluster.
RouteUpdateWaitTime string
Optional. The time to wait for route updates to propagate. The maximum configurable time is 3 hours, in seconds format. If unspecified, there is no wait time.
StableCutbackDuration string
Optional. The amount of time to migrate traffic back from the canary Service to the original Service during the stable phase deployment. If specified, must be between 15s and 3600s. If unspecified, there is no cutback time.
deployment This property is required. String
Required. Name of the Kubernetes Deployment whose traffic is managed by the specified HTTPRoute and Service.
httpRoute This property is required. String
Required. Name of the Gateway API HTTPRoute.
service This property is required. String
Required. Name of the Kubernetes Service.
podSelectorLabel String
Optional. The label to use when selecting Pods for the Deployment and Service resources. This label must already be present in both resources.
routeDestinations DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesGatewayServiceMeshRouteDestinations
Optional. Route destinations allow configuring the Gateway API HTTPRoute to be deployed to additional clusters. This option is available for multi-cluster service mesh set ups that require the route to exist in the clusters that call the service. If unspecified, the HTTPRoute will only be deployed to the Target cluster.
routeUpdateWaitTime String
Optional. The time to wait for route updates to propagate. The maximum configurable time is 3 hours, in seconds format. If unspecified, there is no wait time.
stableCutbackDuration String
Optional. The amount of time to migrate traffic back from the canary Service to the original Service during the stable phase deployment. If specified, must be between 15s and 3600s. If unspecified, there is no cutback time.
deployment This property is required. string
Required. Name of the Kubernetes Deployment whose traffic is managed by the specified HTTPRoute and Service.
httpRoute This property is required. string
Required. Name of the Gateway API HTTPRoute.
service This property is required. string
Required. Name of the Kubernetes Service.
podSelectorLabel string
Optional. The label to use when selecting Pods for the Deployment and Service resources. This label must already be present in both resources.
routeDestinations DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesGatewayServiceMeshRouteDestinations
Optional. Route destinations allow configuring the Gateway API HTTPRoute to be deployed to additional clusters. This option is available for multi-cluster service mesh set ups that require the route to exist in the clusters that call the service. If unspecified, the HTTPRoute will only be deployed to the Target cluster.
routeUpdateWaitTime string
Optional. The time to wait for route updates to propagate. The maximum configurable time is 3 hours, in seconds format. If unspecified, there is no wait time.
stableCutbackDuration string
Optional. The amount of time to migrate traffic back from the canary Service to the original Service during the stable phase deployment. If specified, must be between 15s and 3600s. If unspecified, there is no cutback time.
deployment This property is required. str
Required. Name of the Kubernetes Deployment whose traffic is managed by the specified HTTPRoute and Service.
http_route This property is required. str
Required. Name of the Gateway API HTTPRoute.
service This property is required. str
Required. Name of the Kubernetes Service.
pod_selector_label str
Optional. The label to use when selecting Pods for the Deployment and Service resources. This label must already be present in both resources.
route_destinations DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesGatewayServiceMeshRouteDestinations
Optional. Route destinations allow configuring the Gateway API HTTPRoute to be deployed to additional clusters. This option is available for multi-cluster service mesh set ups that require the route to exist in the clusters that call the service. If unspecified, the HTTPRoute will only be deployed to the Target cluster.
route_update_wait_time str
Optional. The time to wait for route updates to propagate. The maximum configurable time is 3 hours, in seconds format. If unspecified, there is no wait time.
stable_cutback_duration str
Optional. The amount of time to migrate traffic back from the canary Service to the original Service during the stable phase deployment. If specified, must be between 15s and 3600s. If unspecified, there is no cutback time.
deployment This property is required. String
Required. Name of the Kubernetes Deployment whose traffic is managed by the specified HTTPRoute and Service.
httpRoute This property is required. String
Required. Name of the Gateway API HTTPRoute.
service This property is required. String
Required. Name of the Kubernetes Service.
podSelectorLabel String
Optional. The label to use when selecting Pods for the Deployment and Service resources. This label must already be present in both resources.
routeDestinations Property Map
Optional. Route destinations allow configuring the Gateway API HTTPRoute to be deployed to additional clusters. This option is available for multi-cluster service mesh set ups that require the route to exist in the clusters that call the service. If unspecified, the HTTPRoute will only be deployed to the Target cluster.
routeUpdateWaitTime String
Optional. The time to wait for route updates to propagate. The maximum configurable time is 3 hours, in seconds format. If unspecified, there is no wait time.
stableCutbackDuration String
Optional. The amount of time to migrate traffic back from the canary Service to the original Service during the stable phase deployment. If specified, must be between 15s and 3600s. If unspecified, there is no cutback time.

DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesGatewayServiceMeshRouteDestinations
, DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesGatewayServiceMeshRouteDestinationsArgs

DestinationIds This property is required. List<string>
Required. The clusters where the Gateway API HTTPRoute resource will be deployed to. Valid entries include the associated entities IDs configured in the Target resource and "@self" to include the Target cluster.
PropagateService bool
Optional. Whether to propagate the Kubernetes Service to the route destination clusters. The Service will always be deployed to the Target cluster even if the HTTPRoute is not. This option may be used to facilitiate successful DNS lookup in the route destination clusters. Can only be set to true if destinations are specified.
DestinationIds This property is required. []string
Required. The clusters where the Gateway API HTTPRoute resource will be deployed to. Valid entries include the associated entities IDs configured in the Target resource and "@self" to include the Target cluster.
PropagateService bool
Optional. Whether to propagate the Kubernetes Service to the route destination clusters. The Service will always be deployed to the Target cluster even if the HTTPRoute is not. This option may be used to facilitiate successful DNS lookup in the route destination clusters. Can only be set to true if destinations are specified.
destinationIds This property is required. List<String>
Required. The clusters where the Gateway API HTTPRoute resource will be deployed to. Valid entries include the associated entities IDs configured in the Target resource and "@self" to include the Target cluster.
propagateService Boolean
Optional. Whether to propagate the Kubernetes Service to the route destination clusters. The Service will always be deployed to the Target cluster even if the HTTPRoute is not. This option may be used to facilitiate successful DNS lookup in the route destination clusters. Can only be set to true if destinations are specified.
destinationIds This property is required. string[]
Required. The clusters where the Gateway API HTTPRoute resource will be deployed to. Valid entries include the associated entities IDs configured in the Target resource and "@self" to include the Target cluster.
propagateService boolean
Optional. Whether to propagate the Kubernetes Service to the route destination clusters. The Service will always be deployed to the Target cluster even if the HTTPRoute is not. This option may be used to facilitiate successful DNS lookup in the route destination clusters. Can only be set to true if destinations are specified.
destination_ids This property is required. Sequence[str]
Required. The clusters where the Gateway API HTTPRoute resource will be deployed to. Valid entries include the associated entities IDs configured in the Target resource and "@self" to include the Target cluster.
propagate_service bool
Optional. Whether to propagate the Kubernetes Service to the route destination clusters. The Service will always be deployed to the Target cluster even if the HTTPRoute is not. This option may be used to facilitiate successful DNS lookup in the route destination clusters. Can only be set to true if destinations are specified.
destinationIds This property is required. List<String>
Required. The clusters where the Gateway API HTTPRoute resource will be deployed to. Valid entries include the associated entities IDs configured in the Target resource and "@self" to include the Target cluster.
propagateService Boolean
Optional. Whether to propagate the Kubernetes Service to the route destination clusters. The Service will always be deployed to the Target cluster even if the HTTPRoute is not. This option may be used to facilitiate successful DNS lookup in the route destination clusters. Can only be set to true if destinations are specified.

DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesServiceNetworking
, DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesServiceNetworkingArgs

Deployment This property is required. string
Required. Name of the Kubernetes Deployment whose traffic is managed by the specified Service.
Service This property is required. string
Required. Name of the Kubernetes Service.
DisablePodOverprovisioning bool
Optional. Whether to disable Pod overprovisioning. If Pod overprovisioning is disabled then Cloud Deploy will limit the number of total Pods used for the deployment strategy to the number of Pods the Deployment has on the cluster.
PodSelectorLabel string
Optional. The label to use when selecting Pods for the Deployment resource. This label must already be present in the Deployment.
Deployment This property is required. string
Required. Name of the Kubernetes Deployment whose traffic is managed by the specified Service.
Service This property is required. string
Required. Name of the Kubernetes Service.
DisablePodOverprovisioning bool
Optional. Whether to disable Pod overprovisioning. If Pod overprovisioning is disabled then Cloud Deploy will limit the number of total Pods used for the deployment strategy to the number of Pods the Deployment has on the cluster.
PodSelectorLabel string
Optional. The label to use when selecting Pods for the Deployment resource. This label must already be present in the Deployment.
deployment This property is required. String
Required. Name of the Kubernetes Deployment whose traffic is managed by the specified Service.
service This property is required. String
Required. Name of the Kubernetes Service.
disablePodOverprovisioning Boolean
Optional. Whether to disable Pod overprovisioning. If Pod overprovisioning is disabled then Cloud Deploy will limit the number of total Pods used for the deployment strategy to the number of Pods the Deployment has on the cluster.
podSelectorLabel String
Optional. The label to use when selecting Pods for the Deployment resource. This label must already be present in the Deployment.
deployment This property is required. string
Required. Name of the Kubernetes Deployment whose traffic is managed by the specified Service.
service This property is required. string
Required. Name of the Kubernetes Service.
disablePodOverprovisioning boolean
Optional. Whether to disable Pod overprovisioning. If Pod overprovisioning is disabled then Cloud Deploy will limit the number of total Pods used for the deployment strategy to the number of Pods the Deployment has on the cluster.
podSelectorLabel string
Optional. The label to use when selecting Pods for the Deployment resource. This label must already be present in the Deployment.
deployment This property is required. str
Required. Name of the Kubernetes Deployment whose traffic is managed by the specified Service.
service This property is required. str
Required. Name of the Kubernetes Service.
disable_pod_overprovisioning bool
Optional. Whether to disable Pod overprovisioning. If Pod overprovisioning is disabled then Cloud Deploy will limit the number of total Pods used for the deployment strategy to the number of Pods the Deployment has on the cluster.
pod_selector_label str
Optional. The label to use when selecting Pods for the Deployment resource. This label must already be present in the Deployment.
deployment This property is required. String
Required. Name of the Kubernetes Deployment whose traffic is managed by the specified Service.
service This property is required. String
Required. Name of the Kubernetes Service.
disablePodOverprovisioning Boolean
Optional. Whether to disable Pod overprovisioning. If Pod overprovisioning is disabled then Cloud Deploy will limit the number of total Pods used for the deployment strategy to the number of Pods the Deployment has on the cluster.
podSelectorLabel String
Optional. The label to use when selecting Pods for the Deployment resource. This label must already be present in the Deployment.

DeliveryPipelineSerialPipelineStageStrategyStandard
, DeliveryPipelineSerialPipelineStageStrategyStandardArgs

Postdeploy DeliveryPipelineSerialPipelineStageStrategyStandardPostdeploy
Optional. Configuration for the postdeploy job. If this is not configured, postdeploy job will not be present.
Predeploy DeliveryPipelineSerialPipelineStageStrategyStandardPredeploy
Optional. Configuration for the predeploy job. If this is not configured, predeploy job will not be present.
Verify bool
Whether to verify a deployment.
Postdeploy DeliveryPipelineSerialPipelineStageStrategyStandardPostdeploy
Optional. Configuration for the postdeploy job. If this is not configured, postdeploy job will not be present.
Predeploy DeliveryPipelineSerialPipelineStageStrategyStandardPredeploy
Optional. Configuration for the predeploy job. If this is not configured, predeploy job will not be present.
Verify bool
Whether to verify a deployment.
postdeploy DeliveryPipelineSerialPipelineStageStrategyStandardPostdeploy
Optional. Configuration for the postdeploy job. If this is not configured, postdeploy job will not be present.
predeploy DeliveryPipelineSerialPipelineStageStrategyStandardPredeploy
Optional. Configuration for the predeploy job. If this is not configured, predeploy job will not be present.
verify Boolean
Whether to verify a deployment.
postdeploy DeliveryPipelineSerialPipelineStageStrategyStandardPostdeploy
Optional. Configuration for the postdeploy job. If this is not configured, postdeploy job will not be present.
predeploy DeliveryPipelineSerialPipelineStageStrategyStandardPredeploy
Optional. Configuration for the predeploy job. If this is not configured, predeploy job will not be present.
verify boolean
Whether to verify a deployment.
postdeploy DeliveryPipelineSerialPipelineStageStrategyStandardPostdeploy
Optional. Configuration for the postdeploy job. If this is not configured, postdeploy job will not be present.
predeploy DeliveryPipelineSerialPipelineStageStrategyStandardPredeploy
Optional. Configuration for the predeploy job. If this is not configured, predeploy job will not be present.
verify bool
Whether to verify a deployment.
postdeploy Property Map
Optional. Configuration for the postdeploy job. If this is not configured, postdeploy job will not be present.
predeploy Property Map
Optional. Configuration for the predeploy job. If this is not configured, predeploy job will not be present.
verify Boolean
Whether to verify a deployment.

DeliveryPipelineSerialPipelineStageStrategyStandardPostdeploy
, DeliveryPipelineSerialPipelineStageStrategyStandardPostdeployArgs

Actions List<string>
Optional. A sequence of skaffold custom actions to invoke during execution of the postdeploy job.
Actions []string
Optional. A sequence of skaffold custom actions to invoke during execution of the postdeploy job.
actions List<String>
Optional. A sequence of skaffold custom actions to invoke during execution of the postdeploy job.
actions string[]
Optional. A sequence of skaffold custom actions to invoke during execution of the postdeploy job.
actions Sequence[str]
Optional. A sequence of skaffold custom actions to invoke during execution of the postdeploy job.
actions List<String>
Optional. A sequence of skaffold custom actions to invoke during execution of the postdeploy job.

DeliveryPipelineSerialPipelineStageStrategyStandardPredeploy
, DeliveryPipelineSerialPipelineStageStrategyStandardPredeployArgs

Actions List<string>
Optional. A sequence of skaffold custom actions to invoke during execution of the predeploy job.
Actions []string
Optional. A sequence of skaffold custom actions to invoke during execution of the predeploy job.
actions List<String>
Optional. A sequence of skaffold custom actions to invoke during execution of the predeploy job.
actions string[]
Optional. A sequence of skaffold custom actions to invoke during execution of the predeploy job.
actions Sequence[str]
Optional. A sequence of skaffold custom actions to invoke during execution of the predeploy job.
actions List<String>
Optional. A sequence of skaffold custom actions to invoke during execution of the predeploy job.

Import

DeliveryPipeline can be imported using any of these accepted formats:

  • projects/{{project}}/locations/{{location}}/deliveryPipelines/{{name}}

  • {{project}}/{{location}}/{{name}}

  • {{location}}/{{name}}

When using the pulumi import command, DeliveryPipeline can be imported using one of the formats above. For example:

$ pulumi import gcp:clouddeploy/deliveryPipeline:DeliveryPipeline default projects/{{project}}/locations/{{location}}/deliveryPipelines/{{name}}
Copy
$ pulumi import gcp:clouddeploy/deliveryPipeline:DeliveryPipeline default {{project}}/{{location}}/{{name}}
Copy
$ pulumi import gcp:clouddeploy/deliveryPipeline:DeliveryPipeline default {{location}}/{{name}}
Copy

To learn more about importing existing cloud resources, see Importing resources.

Package Details

Repository
Google Cloud (GCP) Classic pulumi/pulumi-gcp
License
Apache-2.0
Notes
This Pulumi package is based on the google-beta Terraform Provider.