DeliveryPipeline

class DeliveryPipeline : KotlinCustomResource

The Cloud Deploy DeliveryPipeline resource

Example Usage

Canary_delivery_pipeline

Creates a basic Cloud Deploy delivery pipeline

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 com.pulumi.resources.CustomResourceOptions;
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")
.annotations(Map.ofEntries(
Map.entry("my_first_annotation", "example-annotation-1"),
Map.entry("my_second_annotation", "example-annotation-2")
))
.description("basic description")
.labels(Map.ofEntries(
Map.entry("my_first_label", "example-label-1"),
Map.entry("my_second_label", "example-label-2")
))
.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())
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
}
}

Canary_service_networking_delivery_pipeline

Creates a basic Cloud Deploy delivery pipeline

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 com.pulumi.resources.CustomResourceOptions;
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")
.annotations(Map.ofEntries(
Map.entry("my_first_annotation", "example-annotation-1"),
Map.entry("my_second_annotation", "example-annotation-2")
))
.description("basic description")
.labels(Map.ofEntries(
Map.entry("my_first_label", "example-label-1"),
Map.entry("my_second_label", "example-label-2")
))
.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())
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
}
}

Canaryrun_delivery_pipeline

Creates a basic Cloud Deploy delivery pipeline

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 com.pulumi.resources.CustomResourceOptions;
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")
.annotations(Map.ofEntries(
Map.entry("my_first_annotation", "example-annotation-1"),
Map.entry("my_second_annotation", "example-annotation-2")
))
.description("basic description")
.labels(Map.ofEntries(
Map.entry("my_first_label", "example-label-1"),
Map.entry("my_second_label", "example-label-2")
))
.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())
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
}
}

Delivery_pipeline

Creates a basic Cloud Deploy delivery pipeline

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()
.annotations(Map.ofEntries(
Map.entry("my_first_annotation", "example-annotation-1"),
Map.entry("my_second_annotation", "example-annotation-2")
))
.description("basic description")
.labels(Map.ofEntries(
Map.entry("my_first_label", "example-label-1"),
Map.entry("my_second_label", "example-label-2")
))
.location("us-west1")
.project("my-project-name")
.serialPipeline(DeliveryPipelineSerialPipelineArgs.builder()
.stages(
DeliveryPipelineSerialPipelineStageArgs.builder()
.deployParameters(DeliveryPipelineSerialPipelineStageDeployParameterArgs.builder()
.matchTargetLabels()
.values(Map.of("deployParameterKey", "deployParameterValue"))
.build())
.profiles(
"example-profile-one",
"example-profile-two")
.targetId("example-target-one")
.build(),
DeliveryPipelineSerialPipelineStageArgs.builder()
.profiles()
.targetId("example-target-two")
.build())
.build())
.build());
}
}

Verify_delivery_pipeline

tests creating and updating a delivery pipeline with deployment verification strategy

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 com.pulumi.resources.CustomResourceOptions;
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")
.annotations(Map.ofEntries(
Map.entry("my_first_annotation", "example-annotation-1"),
Map.entry("my_second_annotation", "example-annotation-2")
))
.description("basic description")
.labels(Map.ofEntries(
Map.entry("my_first_label", "example-label-1"),
Map.entry("my_second_label", "example-label-2")
))
.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())
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
}
}

Import

DeliveryPipeline can be imported using any of these accepted formats

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

Properties

Link copied to clipboard
val annotations: Output<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.

Link copied to clipboard

Output only. Information around the state of the Delivery Pipeline.

Link copied to clipboard
val createTime: Output<String>

Output only. Time at which the pipeline was created.

Link copied to clipboard
val description: Output<String>?

Description of the DeliveryPipeline. Max length is 255 characters.

Link copied to clipboard
val etag: Output<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.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val labels: Output<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.

Link copied to clipboard
val location: Output<String>

The location for the resource

Link copied to clipboard
val name: Output<String>

Name of the DeliveryPipeline. Format is a-z0-9\-{0,62}.

Link copied to clipboard
val project: Output<String>

The project for the resource

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

SerialPipeline defines a sequential set of stages for a DeliveryPipeline.

Link copied to clipboard
val suspended: Output<Boolean>?

When suspended, no new releases or rollouts can be created, but in-progress ones will complete.

Link copied to clipboard
val uid: Output<String>

Output only. Unique identifier of the DeliveryPipeline.

Link copied to clipboard
val updateTime: Output<String>

Output only. Most recent time at which the pipeline was updated.

Link copied to clipboard
val urn: Output<String>