- Resource: DeliveryPipeline
- JSON representation
- SerialPipeline
- Stage
- Strategy
- Standard
- Predeploy
- Postdeploy
- Canary
- RuntimeConfig
- KubernetesConfig
- GatewayServiceMesh
- RouteDestinations
- 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 |
create |
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: |
update |
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: |
|
serial |
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 | |
---|---|
target |
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 |
deploy |
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 | |
---|---|
runtime |
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: |
|
canary |
Configures the progressive based deployment for a Target. |
custom |
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. |
cloud |
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: |
|
gateway |
Kubernetes Gateway API service mesh configuration. |
service |
Kubernetes Service networking configuration. |
GatewayServiceMesh
Information about the Kubernetes Gateway API service mesh configuration.
JSON representation |
---|
{
"httpRoute": string,
"service": string,
"deployment": string,
"routeUpdateWaitTime": string,
"stableCutbackDuration": string,
"podSelectorLabel": string,
"routeDestinations": {
object ( |
Fields | |
---|---|
http |
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. |
route |
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 ' |
stable |
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. A duration in seconds with up to nine fractional digits, ending with ' |
pod |
Optional. The label to use when selecting Pods for the Deployment and Service resources. This label must already be present in both resources. |
route |
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. |
RouteDestinations
Information about route destinations for the Gateway API service mesh.
JSON representation |
---|
{ "destinationIds": [ string ], "propagateService": boolean } |
Fields | |
---|---|
destination |
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 |
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. |
ServiceNetworking
Information about the Kubernetes Service networking configuration.
JSON representation |
---|
{ "service": string, "deployment": string, "disablePodOverprovisioning": boolean, "podSelectorLabel": string } |
Fields | |
---|---|
service |
Required. Name of the Kubernetes Service. |
deployment |
Required. Name of the Kubernetes Deployment whose traffic is managed by the specified Service. |
disable |
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 |
Optional. The label to use when selecting Pods for the Deployment resource. This label must already be present in the Deployment. |
CloudRunConfig
CloudRunConfig contains the Cloud Run runtime configuration.
JSON representation |
---|
{ "automaticTrafficControl": boolean, "canaryRevisionTags": [ string ], "priorRevisionTags": [ string ], "stableRevisionTags": [ string ] } |
Fields | |
---|---|
automatic |
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 |
Optional. A list of tags that are added to the canary revision while the canary phase is in progress. |
prior |
Optional. A list of tags that are added to the prior revision while the canary phase is in progress. |
stable |
Optional. A list of tags that are added to the final stable revision when the stable phase is applied. |
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 | |
---|---|
phase |
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 | |
---|---|
phase |
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 |
match |
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 | |
---|---|
pipeline |
Details around the Pipeline's overall status. |
targets |
Details around targets enumerated in the pipeline. |
targets |
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 |
update |
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. |
error |
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. |