REST Resource: projects.locations.deliveryPipelines.releases

Resource: Release

A Release resource in the Cloud Deploy API.

A Release defines a specific Skaffold configuration instance that can be deployed.

JSON representation
{
  "name": string,
  "uid": string,
  "description": string,
  "annotations": {
    string: string,
    ...
  },
  "labels": {
    string: string,
    ...
  },
  "abandoned": boolean,
  "createTime": string,
  "renderStartTime": string,
  "renderEndTime": string,
  "skaffoldConfigUri": string,
  "skaffoldConfigPath": string,
  "buildArtifacts": [
    {
      object (BuildArtifact)
    }
  ],
  "deliveryPipelineSnapshot": {
    object (DeliveryPipeline)
  },
  "targetSnapshots": [
    {
      object (Target)
    }
  ],
  "customTargetTypeSnapshots": [
    {
      object (CustomTargetType)
    }
  ],
  "renderState": enum (RenderState),
  "etag": string,
  "skaffoldVersion": string,
  "targetArtifacts": {
    string: {
      object (TargetArtifact)
    },
    ...
  },
  "targetRenders": {
    string: {
      object (TargetRender)
    },
    ...
  },
  "condition": {
    object (ReleaseCondition)
  },
  "deployParameters": {
    string: string,
    ...
  }
}
Fields
name

string

Optional. Name of the Release. Format is projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/releases/{release}. The release component must match [a-z]([a-z0-9-]{0,61}[a-z0-9])?

uid

string

Output only. Unique identifier of the Release.

description

string

Description of the Release. 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 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 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.

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

abandoned

boolean

Output only. Indicates whether this is an abandoned release.

createTime

string (Timestamp format)

Output only. Time at which the Release 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".

renderStartTime

string (Timestamp format)

Output only. Time at which the render began.

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".

renderEndTime

string (Timestamp format)

Output only. Time at which the render completed.

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".

skaffoldConfigUri

string

Cloud Storage URI of tar.gz archive containing Skaffold configuration.

skaffoldConfigPath

string

Filepath of the Skaffold config inside of the config URI.

buildArtifacts[]

object (BuildArtifact)

List of artifacts to pass through to Skaffold command.

deliveryPipelineSnapshot

object (DeliveryPipeline)

Output only. Snapshot of the parent pipeline taken at release creation time.

targetSnapshots[]

object (Target)

Output only. Snapshot of the targets taken at release creation time.

customTargetTypeSnapshots[]

object (CustomTargetType)

Output only. Snapshot of the custom target types referenced by the targets taken at release creation time.

renderState

enum (RenderState)

Output only. Current state of the render operation.

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.

skaffoldVersion

string

The Skaffold version to use when operating on this release, such as "1.20.0". Not all versions are valid; Cloud Deploy supports a specific set of versions.

If unset, the most recent supported Skaffold version will be used.

targetArtifacts

map (key: string, value: object (TargetArtifact))

Output only. Map from target ID to the target artifacts created during the render operation.

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

targetRenders

map (key: string, value: object (TargetRender))

Output only. Map from target ID to details of the render operation for that target.

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

condition

object (ReleaseCondition)

Output only. Information around the state of the Release.

deployParameters

map (key: string, value: string)

Optional. The deploy parameters to use for all targets in this release.

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

BuildArtifact

Description of an a image to use during Skaffold rendering.

JSON representation
{
  "image": string,
  "tag": string
}
Fields
image

string

Image name in Skaffold configuration.

tag

string

Image tag to use. This will generally be the full path to an image, such as "gcr.io/my-project/busybox:1.2.3" or "gcr.io/my-project/busybox@sha256:abc123".

RenderState

Valid states of the render operation.

Enums
RENDER_STATE_UNSPECIFIED The render state is unspecified.
SUCCEEDED All rendering operations have completed successfully.
FAILED All rendering operations have completed, and one or more have failed.
IN_PROGRESS Rendering has started and is not complete.

TargetArtifact

The artifacts produced by a target render operation.

JSON representation
{
  "skaffoldConfigPath": string,
  "manifestPath": string,
  "phaseArtifacts": {
    string: {
      object (PhaseArtifact)
    },
    ...
  },

  // Union field uri can be only one of the following:
  "artifactUri": string
  // End of list of possible types for union field uri.
}
Fields
skaffoldConfigPath

string

Output only. File path of the resolved Skaffold configuration relative to the URI.

manifestPath

string

Output only. File path of the rendered manifest relative to the URI.

phaseArtifacts

map (key: string, value: object (PhaseArtifact))

Output only. Map from the phase ID to the phase artifacts for the Target.

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

Union field uri.

uri can be only one of the following:

artifactUri

string

Output only. URI of a directory containing the artifacts. This contains deployment configuration used by Skaffold during a rollout, and all paths are relative to this location.

PhaseArtifact

Contains the paths to the artifacts, relative to the URI, for a phase.

JSON representation
{
  "skaffoldConfigPath": string,
  "manifestPath": string,
  "jobManifestsPath": string
}
Fields
skaffoldConfigPath

string

Output only. File path of the resolved Skaffold configuration relative to the URI.

manifestPath

string

Output only. File path of the rendered manifest relative to the URI.

jobManifestsPath

string

Output only. File path of the directory of rendered job manifests relative to the URI. This is only set if it is applicable.

TargetRender

Details of rendering for a single target.

JSON representation
{
  "renderingBuild": string,
  "renderingState": enum (TargetRenderState),
  "metadata": {
    object (RenderMetadata)
  },
  "failureCause": enum (FailureCause),
  "failureMessage": string
}
Fields
renderingBuild

string

Output only. The resource name of the Cloud Build Build object that is used to render the manifest for this target. Format is projects/{project}/locations/{location}/builds/{build}.

renderingState

enum (TargetRenderState)

Output only. Current state of the render operation for this Target.

metadata

object (RenderMetadata)

Output only. Metadata related to the Release render for this Target.

failureCause

enum (FailureCause)

Output only. Reason this render failed. This will always be unspecified while the render in progress.

failureMessage

string

Output only. Additional information about the render failure, if available.

TargetRenderState

Valid states of the render operation.

Enums
TARGET_RENDER_STATE_UNSPECIFIED The render operation state is unspecified.
SUCCEEDED The render operation has completed successfully.
FAILED The render operation has failed.
IN_PROGRESS The render operation is in progress.

RenderMetadata

RenderMetadata includes information associated with a Release render.

JSON representation
{
  "cloudRun": {
    object (CloudRunRenderMetadata)
  },
  "custom": {
    object (CustomMetadata)
  }
}
Fields
cloudRun

object (CloudRunRenderMetadata)

Output only. Metadata associated with rendering for Cloud Run.

custom

object (CustomMetadata)

Output only. Custom metadata provided by user-defined render operation.

CloudRunRenderMetadata

CloudRunRenderMetadata contains Cloud Run information associated with a Release render.

JSON representation
{
  "service": string
}
Fields
service

string

Output only. The name of the Cloud Run Service in the rendered manifest. Format is projects/{project}/locations/{location}/services/{service}.

FailureCause

Well-known rendering failures.

Enums
FAILURE_CAUSE_UNSPECIFIED No reason for failure is specified.
CLOUD_BUILD_UNAVAILABLE Cloud Build is not available, either because it is not enabled or because Cloud Deploy has insufficient permissions. See required permission.
EXECUTION_FAILED The render operation did not complete successfully; check Cloud Build logs.
CLOUD_BUILD_REQUEST_FAILED Cloud Build failed to fulfill Cloud Deploy's request. See failureMessage for additional details.
VERIFICATION_CONFIG_NOT_FOUND The render operation did not complete successfully because the verification stanza required for verify was not found on the Skaffold configuration.
CUSTOM_ACTION_NOT_FOUND The render operation did not complete successfully because the custom action required for predeploy or postdeploy was not found in the Skaffold configuration. See failureMessage for additional details.
DEPLOYMENT_STRATEGY_NOT_SUPPORTED Release failed during rendering because the release configuration is not supported with the specified deployment strategy.
RENDER_FEATURE_NOT_SUPPORTED The render operation had a feature configured that is not supported.

ReleaseCondition

ReleaseCondition contains all conditions relevant to a Release.

JSON representation
{
  "releaseReadyCondition": {
    object (ReleaseReadyCondition)
  },
  "skaffoldSupportedCondition": {
    object (SkaffoldSupportedCondition)
  }
}
Fields
releaseReadyCondition

object (ReleaseReadyCondition)

Details around the Releases's overall status.

skaffoldSupportedCondition

object (SkaffoldSupportedCondition)

Details around the support state of the release's Skaffold version.

ReleaseReadyCondition

ReleaseReadyCondition contains information around the status of the Release. If a release is not ready, you cannot create a rollout with the release.

JSON representation
{
  "status": boolean
}
Fields
status

boolean

True if the Release is in a valid state. Otherwise at least one condition in ReleaseCondition 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 Release.

SkaffoldSupportedCondition

SkaffoldSupportedCondition contains information about when support for the release's version of Skaffold ends.

JSON representation
{
  "status": boolean,
  "skaffoldSupportState": enum (SkaffoldSupportState),
  "maintenanceModeTime": string,
  "supportExpirationTime": string
}
Fields
status

boolean

True if the version of Skaffold used by this release is supported.

skaffoldSupportState

enum (SkaffoldSupportState)

The Skaffold support state for this release's version of Skaffold.

maintenanceModeTime

string (Timestamp format)

The time at which this release's version of Skaffold will enter maintenance mode.

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".

supportExpirationTime

string (Timestamp format)

The time at which this release's version of Skaffold will no longer be supported.

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".

SkaffoldSupportState

The support state of a specific Skaffold version.

Enums
SKAFFOLD_SUPPORT_STATE_UNSPECIFIED Default value. This value is unused.
SKAFFOLD_SUPPORT_STATE_SUPPORTED This Skaffold version is currently supported.
SKAFFOLD_SUPPORT_STATE_MAINTENANCE_MODE This Skaffold version is in maintenance mode.
SKAFFOLD_SUPPORT_STATE_UNSUPPORTED This Skaffold version is no longer supported.

Methods

abandon

Abandons a Release in the Delivery Pipeline.

create

Creates a new Release in a given project and location.

get

Gets details of a single Release.

list

Lists Releases in a given project and location.