- Resource: DeliveryPipeline
- JSON representation
- SerialPipeline
- Stage
- Strategy
- Standard
- Predeploy
- Postdeploy
- Canary
- RuntimeConfig
- KubernetesConfig
- GatewayServiceMesh
- ServiceNetworking
- CloudRunConfig
- CanaryDeployment
- CustomCanaryDeployment
- PhaseConfig
- DeployParameters
- PipelineCondition
- PipelineReadyCondition
- TargetsTypeCondition
- Methods
Resource: DeliveryPipeline
A DeliveryPipeline
resource in the 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 ( |
Fields | |
---|---|
name |
Optional. Name of the |
uid |
Output only. Unique identifier of the |
description |
Description of the |
annotations |
User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy. An object containing a list of |
labels |
Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints:
Both keys and values are additionally constrained to be <= 128 bytes. An object containing a list of |
createTime |
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: |
updateTime |
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: |
condition |
Output only. Information around the state of the Delivery Pipeline. |
etag |
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. |
suspended |
When suspended, no new releases or rollouts can be created, but in-progress ones will complete. |
Union field pipeline . The ordering configuration of the DeliveryPipeline . pipeline can be only one of the following: |
|
serialPipeline |
SerialPipeline defines a sequential set of stages for a |
SerialPipeline
SerialPipeline defines a sequential set of stages for a DeliveryPipeline
.
JSON representation |
---|
{
"stages": [
{
object ( |
Fields | |
---|---|
stages[] |
Each stage specifies configuration for a |
Stage
Stage specifies a location to which to deploy.
JSON representation |
---|
{ "targetId": string, "profiles": [ string ], "strategy": { object ( |
Fields | |
---|---|
targetId |
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 |
profiles[] |
Skaffold profiles to use when rendering the manifest for this stage's |
strategy |
Optional. The strategy to use for a |
deployParameters[] |
Optional. The deploy parameters to use for the target in this stage. |
Strategy
Strategy contains deployment strategy information.
JSON representation |
---|
{ // Union field |
Fields | |
---|---|
Union field deployment_strategy . Deployment strategy details. deployment_strategy can be only one of the following: |
|
standard |
Standard deployment strategy executes a single deploy and allows verifying the deployment. |
canary |
Canary deployment strategy provides progressive percentage based deployments to a Target. |
Standard
Standard represents the standard deployment strategy.
JSON representation |
---|
{ "verify": boolean, "predeploy": { object ( |
Fields | |
---|---|
verify |
Whether to verify a deployment. |
predeploy |
Optional. Configuration for the predeploy job. If this is not configured, predeploy job will not be present. |
postdeploy |
Optional. Configuration for the postdeploy job. If this is not configured, postdeploy job will not be present. |
Predeploy
Predeploy contains the predeploy job configuration information.
JSON representation |
---|
{ "actions": [ string ] } |
Fields | |
---|---|
actions[] |
Optional. A sequence of Skaffold custom actions to invoke during execution of the predeploy job. |
Postdeploy
Postdeploy contains the postdeploy job configuration information.
JSON representation |
---|
{ "actions": [ string ] } |
Fields | |
---|---|
actions[] |
Optional. A sequence of Skaffold custom actions to invoke during execution of the postdeploy job. |
Canary
Canary represents the canary deployment strategy.
JSON representation |
---|
{ "runtimeConfig": { object ( |
Fields | |
---|---|
runtimeConfig |
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. |
Union field mode . The mode to use for the canary deployment strategy. mode can be only one of the following: |
|
canaryDeployment |
Configures the progressive based deployment for a Target. |
customCanaryDeployment |
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
RuntimeConfig contains the runtime specific configurations for a deployment strategy.
JSON representation |
---|
{ // Union field |
Fields | |
---|---|
Union field runtime_config . The runtime configuration details. runtime_config can be only one of the following: |
|
kubernetes |
Kubernetes runtime configuration. |
cloudRun |
Cloud Run runtime configuration. |
KubernetesConfig
KubernetesConfig contains the Kubernetes runtime configuration.
JSON representation |
---|
{ // Union field |
Fields | |
---|---|
Union field service_definition . The service definition configuration. service_definition can be only one of the following: |
|
gatewayServiceMesh |
Kubernetes Gateway API service mesh configuration. |
serviceNetworking |
Kubernetes Service networking configuration. |
GatewayServiceMesh
Information about the Kubernetes Gateway API service mesh configuration.
JSON representation |
---|
{ "httpRoute": string, "service": string, "deployment": string, "routeUpdateWaitTime": string } |
Fields | |
---|---|
httpRoute |
Required. Name of the Gateway API HTTPRoute. |
service |
Required. Name of the Kubernetes Service. |
deployment |
Required. Name of the Kubernetes Deployment whose traffic is managed by the specified HTTPRoute and Service. |
routeUpdateWaitTime |
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. A duration in seconds with up to nine fractional digits, ending with ' |
ServiceNetworking
Information about the Kubernetes Service networking configuration.
JSON representation |
---|
{ "service": string, "deployment": string, "disablePodOverprovisioning": boolean } |
Fields | |
---|---|
service |
Required. Name of the Kubernetes Service. |
deployment |
Required. Name of the Kubernetes Deployment whose traffic is managed by the specified Service. |
disablePodOverprovisioning |
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. |
CloudRunConfig
CloudRunConfig contains the Cloud Run runtime configuration.
JSON representation |
---|
{ "automaticTrafficControl": boolean } |
Fields | |
---|---|
automaticTrafficControl |
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. |
CanaryDeployment
CanaryDeployment represents the canary deployment configuration
JSON representation |
---|
{ "percentages": [ integer ], "verify": boolean, "predeploy": { object ( |
Fields | |
---|---|
percentages[] |
Required. The percentage based deployments that will occur as a part of a |
verify |
Whether to run verify tests after each percentage deployment. |
predeploy |
Optional. Configuration for the predeploy job of the first phase. If this is not configured, there will be no predeploy job for this phase. |
postdeploy |
Optional. Configuration for the postdeploy job of the last phase. If this is not configured, there will be no postdeploy job for this phase. |
CustomCanaryDeployment
CustomCanaryDeployment represents the custom canary deployment configuration.
JSON representation |
---|
{
"phaseConfigs": [
{
object ( |
Fields | |
---|---|
phaseConfigs[] |
Required. Configuration for each phase in the canary deployment in the order executed. |
PhaseConfig
PhaseConfig represents the configuration for a phase in the custom canary deployment.
JSON representation |
---|
{ "phaseId": string, "percentage": integer, "profiles": [ string ], "verify": boolean, "predeploy": { object ( |
Fields | |
---|---|
phaseId |
Required. The ID to assign to the |
percentage |
Required. Percentage deployment for the phase. |
profiles[] |
Skaffold profiles to use when rendering the manifest for this phase. These are in addition to the profiles list specified in the |
verify |
Whether to run verify tests after the deployment. |
predeploy |
Optional. Configuration for the predeploy job of this phase. If this is not configured, there will be no predeploy job for this phase. |
postdeploy |
Optional. Configuration for the postdeploy job of this phase. If this is not configured, there will be no postdeploy job for this phase. |
DeployParameters
DeployParameters contains deploy parameters information.
JSON representation |
---|
{ "values": { string: string, ... }, "matchTargetLabels": { string: string, ... } } |
Fields | |
---|---|
values |
Required. Values are deploy parameters in key-value pairs. An object containing a list of |
matchTargetLabels |
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). An object containing a list of |
PipelineCondition
PipelineCondition contains all conditions relevant to a Delivery Pipeline.
JSON representation |
---|
{ "pipelineReadyCondition": { object ( |
Fields | |
---|---|
pipelineReadyCondition |
Details around the Pipeline's overall status. |
targetsPresentCondition |
Details around targets enumerated in the pipeline. |
targetsTypeCondition |
Details on the whether the targets enumerated in the pipeline are of the same type. |
PipelineReadyCondition
PipelineReadyCondition contains information around the status of the Pipeline.
JSON representation |
---|
{ "status": boolean, "updateTime": string } |
Fields | |
---|---|
status |
True if the Pipeline is in a valid state. Otherwise at least one condition in |
updateTime |
Last time the condition was updated. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: |
TargetsTypeCondition
TargetsTypeCondition contains information on whether the Targets defined in the Delivery Pipeline are of the same type.
JSON representation |
---|
{ "status": boolean, "errorDetails": string } |
Fields | |
---|---|
status |
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 |
Human readable error message. |
Methods |
|
---|---|
|
Creates a new DeliveryPipeline in a given project and location. |
|
Deletes a single DeliveryPipeline. |
|
Gets details of a single DeliveryPipeline. |
|
Gets the access control policy for a resource. |
|
Lists DeliveryPipelines in a given project and location. |
|
Updates the parameters of a single DeliveryPipeline. |
|
Creates a Rollout to roll back the specified target. |
|
Sets the access control policy on the specified resource. |
|
Returns permissions that a caller has on the specified resource. |