REST Resource: projects.locations.apps.deployments

Resource: Deployment

A deployment represents an immutable, queryable version of the app. It is used to deploy an app version with a specific channel profile.

JSON representation
{
  "name": string,
  "displayName": string,
  "appVersion": string,
  "channelProfile": {
    object (ChannelProfile)
  },
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "experimentConfig": {
    object (ExperimentConfig)
  }
}
Fields
name

string

Identifier. The resource name of the deployment. Format: projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}

displayName

string

Required. Display name of the deployment.

appVersion

string

Optional. The resource name of the app version to deploy. Format: projects/{project}/locations/{location}/apps/{app}/versions/{version} Use projects/{project}/locations/{location}/apps/{app}/versions/- to use the draft app.

channelProfile

object (ChannelProfile)

Required. The channel profile used in the deployment.

createTime

string (Timestamp format)

Output only. Timestamp when this deployment was created.

Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Output only. Timestamp when this deployment was last updated.

Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

etag

string

Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes.

experimentConfig

object (ExperimentConfig)

Optional. Experiment configuration for the deployment.

ExperimentConfig

Experiment for the deployment.

JSON representation
{
  "versionRelease": {
    object (ExperimentConfig.VersionRelease)
  }
}
Fields
versionRelease

object (ExperimentConfig.VersionRelease)

Optional. Version release for the experiment.

ExperimentConfig.VersionRelease

Version release for the experiment.

JSON representation
{
  "state": enum (ExperimentConfig.State),
  "trafficAllocations": [
    {
      object (ExperimentConfig.VersionRelease.TrafficAllocation)
    }
  ]
}
Fields
state

enum (ExperimentConfig.State)

Optional. State of the version release.

trafficAllocations[]

object (ExperimentConfig.VersionRelease.TrafficAllocation)

Optional. Traffic allocations for the version release.

ExperimentConfig.State

State of the experiment.

Enums
STATE_UNSPECIFIED Unspecified state.
PENDING Pending state. Experiment is pending and not valid.
RUNNING Running state. Experiment is running and valid.
DONE Done state. Experiment is done and no longer valid.
EXPIRED Expired state. Experiment is expired and no longer valid.

ExperimentConfig.VersionRelease.TrafficAllocation

Traffic allocation for the version release.

JSON representation
{
  "id": string,
  "trafficPercentage": integer,
  "appVersion": string
}
Fields
id

string

Optional. Id of the traffic allocation. Free format string, up to 128 characters.

trafficPercentage

integer

Optional. Traffic percentage of the traffic allocation. Must be between 0 and 100.

appVersion

string

Optional. App version of the traffic allocation. Format: projects/{project}/locations/{location}/apps/{app}/versions/{version}

Methods

create

Creates a new deployment in the given app.

delete

Deletes the specified deployment.

get

Gets details of the specified deployment.

list

Lists deployments in the given app.

patch

Updates the specified deployment.