com.pulumi.gcp.clouddeploy.kotlin.DeliveryPipelineArgs.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-gcp-kotlin Show documentation
Show all versions of pulumi-gcp-kotlin Show documentation
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.gcp.clouddeploy.kotlin
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.clouddeploy.DeliveryPipelineArgs.builder
import com.pulumi.gcp.clouddeploy.kotlin.inputs.DeliveryPipelineSerialPipelineArgs
import com.pulumi.gcp.clouddeploy.kotlin.inputs.DeliveryPipelineSerialPipelineArgsBuilder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
* The Cloud Deploy `DeliveryPipeline` resource
* ## Example Usage
* ### Canary_delivery_pipeline
* Creates a basic Cloud Deploy delivery pipeline
*
* ```typescript
* 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",
* },
* });
* ```
* ```python
* 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=gcp.clouddeploy.DeliveryPipelineSerialPipelineArgs(
* stages=[
* gcp.clouddeploy.DeliveryPipelineSerialPipelineStageArgs(
* deploy_parameters=[gcp.clouddeploy.DeliveryPipelineSerialPipelineStageDeployParameterArgs(
* values={
* "deployParameterKey": "deployParameterValue",
* },
* match_target_labels={},
* )],
* profiles=[
* "example-profile-one",
* "example-profile-two",
* ],
* target_id="example-target-one",
* ),
* gcp.clouddeploy.DeliveryPipelineSerialPipelineStageArgs(
* 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",
* })
* ```
* ```csharp
* 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" },
* },
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-gcp/sdk/v7/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: nil,
* },
* },
* 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
* })
* }
* ```
* ```java
* 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());
* }
* }
* ```
* ```yaml
* 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
* ```
*
* ### Canary_service_networking_delivery_pipeline
* Creates a basic Cloud Deploy delivery pipeline
*
* ```typescript
* 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",
* },
* });
* ```
* ```python
* 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=gcp.clouddeploy.DeliveryPipelineSerialPipelineArgs(
* stages=[
* gcp.clouddeploy.DeliveryPipelineSerialPipelineStageArgs(
* deploy_parameters=[gcp.clouddeploy.DeliveryPipelineSerialPipelineStageDeployParameterArgs(
* values={
* "deployParameterKey": "deployParameterValue",
* },
* match_target_labels={},
* )],
* profiles=[
* "example-profile-one",
* "example-profile-two",
* ],
* target_id="example-target-one",
* ),
* gcp.clouddeploy.DeliveryPipelineSerialPipelineStageArgs(
* 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",
* })
* ```
* ```csharp
* 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" },
* },
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-gcp/sdk/v7/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: nil,
* },
* },
* 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
* })
* }
* ```
* ```java
* 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());
* }
* }
* ```
* ```yaml
* 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
* ```
*
* ### Canaryrun_delivery_pipeline
* Creates a basic Cloud Deploy delivery pipeline
*
* ```typescript
* 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",
* },
* });
* ```
* ```python
* 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=gcp.clouddeploy.DeliveryPipelineSerialPipelineArgs(
* stages=[
* gcp.clouddeploy.DeliveryPipelineSerialPipelineStageArgs(
* deploy_parameters=[gcp.clouddeploy.DeliveryPipelineSerialPipelineStageDeployParameterArgs(
* values={
* "deployParameterKey": "deployParameterValue",
* },
* match_target_labels={},
* )],
* profiles=[
* "example-profile-one",
* "example-profile-two",
* ],
* target_id="example-target-one",
* ),
* gcp.clouddeploy.DeliveryPipelineSerialPipelineStageArgs(
* 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",
* })
* ```
* ```csharp
* 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" },
* },
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-gcp/sdk/v7/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: nil,
* },
* },
* 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
* })
* }
* ```
* ```java
* 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());
* }
* }
* ```
* ```yaml
* 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
* ```
*
* ### Delivery_pipeline
* Creates a basic Cloud Deploy delivery pipeline
*
* ```typescript
* 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",
* },
* });
* ```
* ```python
* 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=gcp.clouddeploy.DeliveryPipelineSerialPipelineArgs(
* stages=[
* gcp.clouddeploy.DeliveryPipelineSerialPipelineStageArgs(
* deploy_parameters=[gcp.clouddeploy.DeliveryPipelineSerialPipelineStageDeployParameterArgs(
* values={
* "deployParameterKey": "deployParameterValue",
* },
* match_target_labels={},
* )],
* profiles=[
* "example-profile-one",
* "example-profile-two",
* ],
* target_id="example-target-one",
* ),
* gcp.clouddeploy.DeliveryPipelineSerialPipelineStageArgs(
* 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",
* })
* ```
* ```csharp
* 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" },
* },
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-gcp/sdk/v7/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: nil,
* },
* },
* 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
* })
* }
* ```
* ```java
* 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());
* }
* }
* ```
* ```yaml
* 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
* ```
*
* ### Verify_delivery_pipeline
* tests creating and updating a delivery pipeline with deployment verification strategy
*
* ```typescript
* 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",
* },
* });
* ```
* ```python
* 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=gcp.clouddeploy.DeliveryPipelineSerialPipelineArgs(
* stages=[
* gcp.clouddeploy.DeliveryPipelineSerialPipelineStageArgs(
* deploy_parameters=[gcp.clouddeploy.DeliveryPipelineSerialPipelineStageDeployParameterArgs(
* values={
* "deployParameterKey": "deployParameterValue",
* },
* match_target_labels={},
* )],
* profiles=[
* "example-profile-one",
* "example-profile-two",
* ],
* target_id="example-target-one",
* ),
* gcp.clouddeploy.DeliveryPipelineSerialPipelineStageArgs(
* 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",
* })
* ```
* ```csharp
* 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" },
* },
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-gcp/sdk/v7/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: nil,
* },
* },
* 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
* })
* }
* ```
* ```java
* 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());
* }
* }
* ```
* ```yaml
* 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
* ```
*
* ## 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:
* ```sh
* $ pulumi import gcp:clouddeploy/deliveryPipeline:DeliveryPipeline default projects/{{project}}/locations/{{location}}/deliveryPipelines/{{name}}
* ```
* ```sh
* $ pulumi import gcp:clouddeploy/deliveryPipeline:DeliveryPipeline default {{project}}/{{location}}/{{name}}
* ```
* ```sh
* $ pulumi import gcp:clouddeploy/deliveryPipeline:DeliveryPipeline default {{location}}/{{name}}
* ```
* @property annotations 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.
* @property description Description of the `DeliveryPipeline`. Max length is 255 characters.
* @property labels 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.
* @property location The location for the resource
* @property name Name of the `DeliveryPipeline`. Format is `a-z?`.
* @property project The project for the resource
* @property serialPipeline SerialPipeline defines a sequential set of stages for a `DeliveryPipeline`.
* @property suspended When suspended, no new releases or rollouts can be created, but in-progress ones will complete.
*/
public data class DeliveryPipelineArgs(
public val annotations: Output
© 2015 - 2024 Weber Informatics LLC | Privacy Policy