## Resource: Rollout

A single rollout of a build for a backend.

| JSON representation |
|---|
| ``` { "name": string, "displayName": string, "state": enum (`https://firebase.google.com/docs/reference/apphosting/rest/v1beta/projects.locations.backends.rollouts#Rollout.State`), "error": { object (`https://firebase.google.com/docs/reference/apphosting/rest/v1/Status`) }, "build": string, "reconciling": boolean, "createTime": string, "updateTime": string, "deleteTime": string, "labels": { string: string, ... }, "annotations": { string: string, ... }, "uid": string, "etag": string } ``` |

| Fields ||
|---|---|
| `name` | `string` Identifier. The resource name of the rollout. Format: `projects/{project}/locations/{locationId}/backends/{backendId}/rollouts/{rolloutId}`. |
| `displayName` | `string` Optional. Human-readable name. 63 character limit. |
| `state` | ``enum (`https://firebase.google.com/docs/reference/apphosting/rest/v1beta/projects.locations.backends.rollouts#Rollout.State`)`` Output only. The state of the rollout. |
| `error` | ``object (`https://firebase.google.com/docs/reference/apphosting/rest/v1/Status`)`` Output only. A status and (human readable) error message for the rollout, if in a `FAILED` state. |
| `build` | `string` Required. Immutable. The name of a build that already exists. It doesn't have to be built; a rollout will wait for a build to be ready before updating traffic. |
| `reconciling` | `boolean` Output only. A field that, if true, indicates that the Rollout currently has an LRO. |
| `createTime` | ``string (`https://protobuf.dev/reference/protobuf/google.protobuf#timestamp` format)`` Output only. Time at which the rollout 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 (`https://protobuf.dev/reference/protobuf/google.protobuf#timestamp` format)`` Output only. Time at which the rollout 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"`. |
| `deleteTime` | ``string (`https://protobuf.dev/reference/protobuf/google.protobuf#timestamp` format)`` Output only. Time at which the rollout was deleted. 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"`. |
| `labels` | `map (key: string, value: string)` Optional. Unstructured key value map that can be used to organize and categorize objects. An object containing a list of `"key": value` pairs. Example: `{ "name": "wrench", "mass": "1.3kg", "count": "3" }`. |
| `annotations` | `map (key: string, value: string)` Optional. Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. An object containing a list of `"key": value` pairs. Example: `{ "name": "wrench", "mass": "1.3kg", "count": "3" }`. |
| `uid` | `string` Output only. System-assigned, unique identifier. |
| `etag` | `string` Output only. Server-computed checksum based on other values; may be sent on update or delete to ensure operation is done on expected resource. |

## Rollout.State

The state of the rollout.

| Enums ||
|---|---|
| `STATE_UNSPECIFIED` | The rollout is in an unknown state. |
| `QUEUED` | The rollout is waiting for actuation to begin. This may be because it is waiting on another rollout to complete. |
| `PENDING_BUILD` | The rollout is waiting for the build process to complete, which builds the code and sets up the underlying infrastructure. |
| `PROGRESSING` | The rollout has started and is actively modifying traffic. |
| `PAUSED` | The rollout has been paused due to either being manually paused or a PAUSED stage. This should be set while `paused = true`. |
| `SUCCEEDED` | The rollout has completed. |
| `FAILED` | The rollout has failed. See error for more information. |
| `CANCELLED` | The rollout has been cancelled. |
| `SKIPPED` | The rollout has been skipped. |

| ## Methods ||
|---|---|
| ### `https://firebase.google.com/docs/reference/apphosting/rest/v1beta/projects.locations.backends.rollouts/create` | Creates a new rollout for a backend. |
| ### `https://firebase.google.com/docs/reference/apphosting/rest/v1beta/projects.locations.backends.rollouts/get` | Gets information about a rollout. |
| ### `https://firebase.google.com/docs/reference/apphosting/rest/v1beta/projects.locations.backends.rollouts/list` | Lists rollouts for a backend. |