REST Resource: projects.locations.deliveryPipelines

Resource: DeliveryPipeline

A DeliveryPipeline resource in the Google Cloud Deploy API.

A DeliveryPipeline defines a pipeline through which a Skaffold configuration can progress.

JSON representation
{
  "name": string,
  "uid": string,
  "description": string,
  "annotations": {
    string: string,
    ...
  },
  "labels": {
    string: string,
    ...
  },
  "createTime": string,
  "updateTime": string,
  "condition": {
    object (PipelineCondition)
  },
  "etag": string,
  "serialPipeline": {
    object (SerialPipeline)
  }
}
Fields
name

string

Optional. Name of the DeliveryPipeline. Format is projects/{project}/ locations/{location}/deliveryPipelines/[a-z][a-z0-9-]{0,62}.

uid

string

Output only. Unique identifier of the DeliveryPipeline.

description

string

Description of the DeliveryPipeline. Max length is 255 characters.

annotations

map (key: string, value: 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.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

labels

map (key: string, value: 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: Each resource is limited to 64 labels. Keys must conform to the regexp: [a-zA-Z][a-zA-Z0-9_-]{0,62}. Values must conform to the regexp: [a-zA-Z0-9_-]{0,63}. Both keys and values are additionally constrained to be <= 128 bytes in size.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

createTime

string (Timestamp format)

Output only. Time at which the pipeline was created.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

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

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

condition

object (PipelineCondition)

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

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.

serialPipeline

object (SerialPipeline)

SerialPipeline defines a sequential set of stages for a DeliveryPipeline.

SerialPipeline

SerialPipeline defines a sequential set of stages for a DeliveryPipeline.

JSON representation
{
  "stages": [
    {
      object (Stage)
    }
  ]
}
Fields
stages[]

object (Stage)

Each stage specifies configuration for a Target. The ordering of this list defines the promotion flow.

Stage

Stage specifies a location to which to deploy.

JSON representation
{
  "targetId": string,
  "profiles": [
    string
  ]
}
Fields
targetId

string

The targetId 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/deliveryPipelines/pipeline/targets/my-target). The parent DeliveryPipeline of the Target is inferred to be the parent DeliveryPipeline of the Release in which this Stage lives.

profiles[]

string

Skaffold profiles to use when rendering the manifest for this stage's Target.

PipelineCondition

PipelineCondition contains all conditions relevant to a Delivery Pipeline.

JSON representation
{
  "pipelineReadyCondition": {
    object (PipelineReadyCondition)
  },
  "targetsPresentCondition": {
    object (TargetsPresentCondition)
  }
}
Fields
pipelineReadyCondition

object (PipelineReadyCondition)

Details around the Pipeline's overall status.

targetsPresentCondition

object (TargetsPresentCondition)

Detalis around targets enumerated in the pipeline.

PipelineReadyCondition

PipelineReadyCondition contains information around the status of the Pipeline.

JSON representation
{
  "status": boolean,
  "updateTime": string
}
Fields
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 (Timestamp format)

Last time the condition was updated.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

TargetsPresentCondition

TargetsPresentCondition contains information on any Targets defined in the Delivery Pipeline that do not actually exist.

JSON representation
{
  "status": boolean,
  "missingTargets": [
    string
  ],
  "updateTime": string
}
Fields
status

boolean

True if there aren't any missing Targets.

missingTargets[]

string

The list of Target names that are missing. For example, projects/{projectId}/locations/{location_name}/targets/{target_name}.

updateTime

string (Timestamp format)

Last time the condition was updated.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

Methods

create

Creates a new DeliveryPipeline in a given project and location.

delete

Deletes a single DeliveryPipeline.

get

Gets details of a single DeliveryPipeline.

getIamPolicy

Gets the access control policy for a resource.

list

Lists DeliveryPipelines in a given project and location.

patch

Updates the parameters of a single DeliveryPipeline.

setIamPolicy

Sets the access control policy on the specified resource.

testIamPermissions

Returns permissions that a caller has on the specified resource.