SaaS Runtime API . projects . locations . rollouts

Instance Methods

close()

Close httplib2 connections.

create(parent, body=None, requestId=None, rolloutId=None, validateOnly=None, x__xgafv=None)

Create a new rollout.

delete(name, etag=None, requestId=None, validateOnly=None, x__xgafv=None)

Delete a single rollout.

get(name, x__xgafv=None)

Retrieve a single rollout.

list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)

Retrieve a collection of rollouts.

list_next()

Retrieves the next page of results.

patch(name, body=None, requestId=None, updateMask=None, validateOnly=None, x__xgafv=None)

Update a single rollout.

Method Details

close()
Close httplib2 connections.
create(parent, body=None, requestId=None, rolloutId=None, validateOnly=None, x__xgafv=None)
Create a new rollout.

Args:
  parent: string, Required. The parent of the rollout. (required)
  body: object, The request body.
    The object takes the form of:

{ # Represents a single rollout execution and its results
  "annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations
    "a_key": "A String",
  },
  "control": { # RolloutControl provides a way to request a change to the execution of a Rollout by pausing or canceling it. # Optional. Requested change to the execution of this rollout. Default RolloutControl.action is ROLLOUT_ACTION_RUN meaning the rollout will be executed to completion while progressing through all natural Rollout States (such as RUNNING -> SUCCEEDED or RUNNING -> FAILED). Requests can only be made when the Rollout is in a non-terminal state.
    "action": "A String", # Required. Action to be performed on the Rollout. The default behavior is to run the rollout until it naturally reaches a terminal state.
    "runParams": { # Parameters for the RUN action controlling the behavior of the rollout when it is resumed from a PAUSED state. # Optional. Parameters for the RUN action. It is an error to specify this if the RolloutAction is not set to RUN. By default, the rollout will retry failed operations when resumed.
      "retryFailedOperations": True or False, # Required. If true, the rollout will retry failed operations when resumed. This is applicable only the current state of the Rollout is PAUSED and the requested action is RUN.
    },
  },
  "createTime": "A String", # Output only. The timestamp when the resource was created.
  "endTime": "A String", # Optional. Output only. The time when the rollout finished execution (regardless of success, failure, or cancellation). Will be empty if the rollout hasn't finished yet. Once set, the rollout is in terminal state and all the results are final.
  "etag": "A String", # Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.
  "labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.
    "a_key": "A String",
  },
  "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/rollout/{rollout_id}"
  "parentRollout": "A String", # Optional. Output only. The direct parent rollout that this rollout is stemming from. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/rollouts/{rollout_id}"
  "release": "A String", # Optional. Immutable. Name of the Release that gets rolled out to target Units. Required if no other type of release is specified.
  "rolloutKind": "A String", # Optional. Immutable. Name of the RolloutKind this rollout is stemming from and adhering to.
  "rolloutOrchestrationStrategy": "A String", # Optional. The strategy used for executing this Rollout. This strategy will override whatever strategy is specified in the RolloutKind. If not specified on creation, the strategy from RolloutKind will be used. There are two supported values strategies which are used to control - "Google.Cloud.Simple.AllAtOnce" - "Google.Cloud.Simple.OneLocationAtATime" A rollout with one of these simple strategies will rollout across all locations defined in the targeted UnitKind's Saas Locations.
  "rootRollout": "A String", # Optional. Output only. The root rollout that this rollout is stemming from. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/rollouts/{rollout_id}"
  "startTime": "A String", # Optional. Output only. The time when the rollout started executing. Will be empty if the rollout hasn't started yet.
  "state": "A String", # Output only. Current state of the rollout.
  "stateMessage": "A String", # Output only. Human readable message indicating details about the last state transition.
  "stateTransitionTime": "A String", # Optional. Output only. The time when the rollout transitioned into its current state.
  "stats": { # RolloutStats contains information about the progress of a rollout. # Optional. Output only. Details about the progress of the rollout.
    "operationsByState": [ # Output only. A breakdown of the progress of operations triggered by the rollout. Provides a count of Operations by their state. This can be used to determine the number of units which have been updated, or are scheduled to be updated. There will be at most one entry per group. Possible values for operation groups are: - "SCHEDULED" - "PENDING" - "RUNNING" - "SUCCEEDED" - "FAILED" - "CANCELLED"
      { # Represents the aggregation of a set of population of like records by a certain group. For example, a collection of unit counts can be aggregated and grouped by their state.
        "count": 42, # Required. Number of records in the group.
        "group": "A String", # Required. Group by which to aggregate.
      },
    ],
  },
  "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.
  "unitFilter": "A String", # Optional. CEL(https://github.com/google/cel-spec) formatted filter string against Unit. The filter will be applied to determine the eligible unit population. This filter can only reduce, but not expand the scope of the rollout. If not provided, the unit_filter from the RolloutKind will be used.
  "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.
}

  requestId: string, An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
  rolloutId: string, Required. The ID value for the new rollout.
  validateOnly: boolean, If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Represents a single rollout execution and its results
  "annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations
    "a_key": "A String",
  },
  "control": { # RolloutControl provides a way to request a change to the execution of a Rollout by pausing or canceling it. # Optional. Requested change to the execution of this rollout. Default RolloutControl.action is ROLLOUT_ACTION_RUN meaning the rollout will be executed to completion while progressing through all natural Rollout States (such as RUNNING -> SUCCEEDED or RUNNING -> FAILED). Requests can only be made when the Rollout is in a non-terminal state.
    "action": "A String", # Required. Action to be performed on the Rollout. The default behavior is to run the rollout until it naturally reaches a terminal state.
    "runParams": { # Parameters for the RUN action controlling the behavior of the rollout when it is resumed from a PAUSED state. # Optional. Parameters for the RUN action. It is an error to specify this if the RolloutAction is not set to RUN. By default, the rollout will retry failed operations when resumed.
      "retryFailedOperations": True or False, # Required. If true, the rollout will retry failed operations when resumed. This is applicable only the current state of the Rollout is PAUSED and the requested action is RUN.
    },
  },
  "createTime": "A String", # Output only. The timestamp when the resource was created.
  "endTime": "A String", # Optional. Output only. The time when the rollout finished execution (regardless of success, failure, or cancellation). Will be empty if the rollout hasn't finished yet. Once set, the rollout is in terminal state and all the results are final.
  "etag": "A String", # Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.
  "labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.
    "a_key": "A String",
  },
  "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/rollout/{rollout_id}"
  "parentRollout": "A String", # Optional. Output only. The direct parent rollout that this rollout is stemming from. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/rollouts/{rollout_id}"
  "release": "A String", # Optional. Immutable. Name of the Release that gets rolled out to target Units. Required if no other type of release is specified.
  "rolloutKind": "A String", # Optional. Immutable. Name of the RolloutKind this rollout is stemming from and adhering to.
  "rolloutOrchestrationStrategy": "A String", # Optional. The strategy used for executing this Rollout. This strategy will override whatever strategy is specified in the RolloutKind. If not specified on creation, the strategy from RolloutKind will be used. There are two supported values strategies which are used to control - "Google.Cloud.Simple.AllAtOnce" - "Google.Cloud.Simple.OneLocationAtATime" A rollout with one of these simple strategies will rollout across all locations defined in the targeted UnitKind's Saas Locations.
  "rootRollout": "A String", # Optional. Output only. The root rollout that this rollout is stemming from. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/rollouts/{rollout_id}"
  "startTime": "A String", # Optional. Output only. The time when the rollout started executing. Will be empty if the rollout hasn't started yet.
  "state": "A String", # Output only. Current state of the rollout.
  "stateMessage": "A String", # Output only. Human readable message indicating details about the last state transition.
  "stateTransitionTime": "A String", # Optional. Output only. The time when the rollout transitioned into its current state.
  "stats": { # RolloutStats contains information about the progress of a rollout. # Optional. Output only. Details about the progress of the rollout.
    "operationsByState": [ # Output only. A breakdown of the progress of operations triggered by the rollout. Provides a count of Operations by their state. This can be used to determine the number of units which have been updated, or are scheduled to be updated. There will be at most one entry per group. Possible values for operation groups are: - "SCHEDULED" - "PENDING" - "RUNNING" - "SUCCEEDED" - "FAILED" - "CANCELLED"
      { # Represents the aggregation of a set of population of like records by a certain group. For example, a collection of unit counts can be aggregated and grouped by their state.
        "count": 42, # Required. Number of records in the group.
        "group": "A String", # Required. Group by which to aggregate.
      },
    ],
  },
  "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.
  "unitFilter": "A String", # Optional. CEL(https://github.com/google/cel-spec) formatted filter string against Unit. The filter will be applied to determine the eligible unit population. This filter can only reduce, but not expand the scope of the rollout. If not provided, the unit_filter from the RolloutKind will be used.
  "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.
}
delete(name, etag=None, requestId=None, validateOnly=None, x__xgafv=None)
Delete a single rollout.

Args:
  name: string, Required. The resource name of the resource within a service. (required)
  etag: string, The etag known to the client for the expected state of the rollout. This is used with state-changing methods to prevent accidental overwrites when multiple user agents might be acting in parallel on the same resource. An etag wildcard provide optimistic concurrency based on the expected existence of the rollout. The Any wildcard (`*`) requires that the resource must already exists, and the Not Any wildcard (`!*`) requires that it must not.
  requestId: string, An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
  validateOnly: boolean, If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
}
get(name, x__xgafv=None)
Retrieve a single rollout.

Args:
  name: string, Required. The resource name of the resource within a service. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Represents a single rollout execution and its results
  "annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations
    "a_key": "A String",
  },
  "control": { # RolloutControl provides a way to request a change to the execution of a Rollout by pausing or canceling it. # Optional. Requested change to the execution of this rollout. Default RolloutControl.action is ROLLOUT_ACTION_RUN meaning the rollout will be executed to completion while progressing through all natural Rollout States (such as RUNNING -> SUCCEEDED or RUNNING -> FAILED). Requests can only be made when the Rollout is in a non-terminal state.
    "action": "A String", # Required. Action to be performed on the Rollout. The default behavior is to run the rollout until it naturally reaches a terminal state.
    "runParams": { # Parameters for the RUN action controlling the behavior of the rollout when it is resumed from a PAUSED state. # Optional. Parameters for the RUN action. It is an error to specify this if the RolloutAction is not set to RUN. By default, the rollout will retry failed operations when resumed.
      "retryFailedOperations": True or False, # Required. If true, the rollout will retry failed operations when resumed. This is applicable only the current state of the Rollout is PAUSED and the requested action is RUN.
    },
  },
  "createTime": "A String", # Output only. The timestamp when the resource was created.
  "endTime": "A String", # Optional. Output only. The time when the rollout finished execution (regardless of success, failure, or cancellation). Will be empty if the rollout hasn't finished yet. Once set, the rollout is in terminal state and all the results are final.
  "etag": "A String", # Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.
  "labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.
    "a_key": "A String",
  },
  "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/rollout/{rollout_id}"
  "parentRollout": "A String", # Optional. Output only. The direct parent rollout that this rollout is stemming from. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/rollouts/{rollout_id}"
  "release": "A String", # Optional. Immutable. Name of the Release that gets rolled out to target Units. Required if no other type of release is specified.
  "rolloutKind": "A String", # Optional. Immutable. Name of the RolloutKind this rollout is stemming from and adhering to.
  "rolloutOrchestrationStrategy": "A String", # Optional. The strategy used for executing this Rollout. This strategy will override whatever strategy is specified in the RolloutKind. If not specified on creation, the strategy from RolloutKind will be used. There are two supported values strategies which are used to control - "Google.Cloud.Simple.AllAtOnce" - "Google.Cloud.Simple.OneLocationAtATime" A rollout with one of these simple strategies will rollout across all locations defined in the targeted UnitKind's Saas Locations.
  "rootRollout": "A String", # Optional. Output only. The root rollout that this rollout is stemming from. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/rollouts/{rollout_id}"
  "startTime": "A String", # Optional. Output only. The time when the rollout started executing. Will be empty if the rollout hasn't started yet.
  "state": "A String", # Output only. Current state of the rollout.
  "stateMessage": "A String", # Output only. Human readable message indicating details about the last state transition.
  "stateTransitionTime": "A String", # Optional. Output only. The time when the rollout transitioned into its current state.
  "stats": { # RolloutStats contains information about the progress of a rollout. # Optional. Output only. Details about the progress of the rollout.
    "operationsByState": [ # Output only. A breakdown of the progress of operations triggered by the rollout. Provides a count of Operations by their state. This can be used to determine the number of units which have been updated, or are scheduled to be updated. There will be at most one entry per group. Possible values for operation groups are: - "SCHEDULED" - "PENDING" - "RUNNING" - "SUCCEEDED" - "FAILED" - "CANCELLED"
      { # Represents the aggregation of a set of population of like records by a certain group. For example, a collection of unit counts can be aggregated and grouped by their state.
        "count": 42, # Required. Number of records in the group.
        "group": "A String", # Required. Group by which to aggregate.
      },
    ],
  },
  "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.
  "unitFilter": "A String", # Optional. CEL(https://github.com/google/cel-spec) formatted filter string against Unit. The filter will be applied to determine the eligible unit population. This filter can only reduce, but not expand the scope of the rollout. If not provided, the unit_filter from the RolloutKind will be used.
  "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.
}
list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)
Retrieve a collection of rollouts.

Args:
  parent: string, Required. The parent of the rollout. (required)
  filter: string, Filter the list as specified in https://google.aip.dev/160.
  orderBy: string, Order results as specified in https://google.aip.dev/132.
  pageSize: integer, The maximum number of rollouts to send per page.
  pageToken: string, The page token: If the next_page_token from a previous response is provided, this request will send the subsequent page.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # The response structure for the ListRollouts method.
  "nextPageToken": "A String", # If present, the next page token can be provided to a subsequent ListRollouts call to list the next page. If empty, there are no more pages.
  "rollouts": [ # The resulting rollouts.
    { # Represents a single rollout execution and its results
      "annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations
        "a_key": "A String",
      },
      "control": { # RolloutControl provides a way to request a change to the execution of a Rollout by pausing or canceling it. # Optional. Requested change to the execution of this rollout. Default RolloutControl.action is ROLLOUT_ACTION_RUN meaning the rollout will be executed to completion while progressing through all natural Rollout States (such as RUNNING -> SUCCEEDED or RUNNING -> FAILED). Requests can only be made when the Rollout is in a non-terminal state.
        "action": "A String", # Required. Action to be performed on the Rollout. The default behavior is to run the rollout until it naturally reaches a terminal state.
        "runParams": { # Parameters for the RUN action controlling the behavior of the rollout when it is resumed from a PAUSED state. # Optional. Parameters for the RUN action. It is an error to specify this if the RolloutAction is not set to RUN. By default, the rollout will retry failed operations when resumed.
          "retryFailedOperations": True or False, # Required. If true, the rollout will retry failed operations when resumed. This is applicable only the current state of the Rollout is PAUSED and the requested action is RUN.
        },
      },
      "createTime": "A String", # Output only. The timestamp when the resource was created.
      "endTime": "A String", # Optional. Output only. The time when the rollout finished execution (regardless of success, failure, or cancellation). Will be empty if the rollout hasn't finished yet. Once set, the rollout is in terminal state and all the results are final.
      "etag": "A String", # Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.
      "labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.
        "a_key": "A String",
      },
      "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/rollout/{rollout_id}"
      "parentRollout": "A String", # Optional. Output only. The direct parent rollout that this rollout is stemming from. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/rollouts/{rollout_id}"
      "release": "A String", # Optional. Immutable. Name of the Release that gets rolled out to target Units. Required if no other type of release is specified.
      "rolloutKind": "A String", # Optional. Immutable. Name of the RolloutKind this rollout is stemming from and adhering to.
      "rolloutOrchestrationStrategy": "A String", # Optional. The strategy used for executing this Rollout. This strategy will override whatever strategy is specified in the RolloutKind. If not specified on creation, the strategy from RolloutKind will be used. There are two supported values strategies which are used to control - "Google.Cloud.Simple.AllAtOnce" - "Google.Cloud.Simple.OneLocationAtATime" A rollout with one of these simple strategies will rollout across all locations defined in the targeted UnitKind's Saas Locations.
      "rootRollout": "A String", # Optional. Output only. The root rollout that this rollout is stemming from. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/rollouts/{rollout_id}"
      "startTime": "A String", # Optional. Output only. The time when the rollout started executing. Will be empty if the rollout hasn't started yet.
      "state": "A String", # Output only. Current state of the rollout.
      "stateMessage": "A String", # Output only. Human readable message indicating details about the last state transition.
      "stateTransitionTime": "A String", # Optional. Output only. The time when the rollout transitioned into its current state.
      "stats": { # RolloutStats contains information about the progress of a rollout. # Optional. Output only. Details about the progress of the rollout.
        "operationsByState": [ # Output only. A breakdown of the progress of operations triggered by the rollout. Provides a count of Operations by their state. This can be used to determine the number of units which have been updated, or are scheduled to be updated. There will be at most one entry per group. Possible values for operation groups are: - "SCHEDULED" - "PENDING" - "RUNNING" - "SUCCEEDED" - "FAILED" - "CANCELLED"
          { # Represents the aggregation of a set of population of like records by a certain group. For example, a collection of unit counts can be aggregated and grouped by their state.
            "count": 42, # Required. Number of records in the group.
            "group": "A String", # Required. Group by which to aggregate.
          },
        ],
      },
      "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.
      "unitFilter": "A String", # Optional. CEL(https://github.com/google/cel-spec) formatted filter string against Unit. The filter will be applied to determine the eligible unit population. This filter can only reduce, but not expand the scope of the rollout. If not provided, the unit_filter from the RolloutKind will be used.
      "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.
    },
  ],
  "unreachable": [ # Locations that could not be reached.
    "A String",
  ],
}
list_next()
Retrieves the next page of results.

        Args:
          previous_request: The request for the previous page. (required)
          previous_response: The response from the request for the previous page. (required)

        Returns:
          A request object that you can call 'execute()' on to request the next
          page. Returns None if there are no more items in the collection.
        
patch(name, body=None, requestId=None, updateMask=None, validateOnly=None, x__xgafv=None)
Update a single rollout.

Args:
  name: string, Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/rollout/{rollout_id}" (required)
  body: object, The request body.
    The object takes the form of:

{ # Represents a single rollout execution and its results
  "annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations
    "a_key": "A String",
  },
  "control": { # RolloutControl provides a way to request a change to the execution of a Rollout by pausing or canceling it. # Optional. Requested change to the execution of this rollout. Default RolloutControl.action is ROLLOUT_ACTION_RUN meaning the rollout will be executed to completion while progressing through all natural Rollout States (such as RUNNING -> SUCCEEDED or RUNNING -> FAILED). Requests can only be made when the Rollout is in a non-terminal state.
    "action": "A String", # Required. Action to be performed on the Rollout. The default behavior is to run the rollout until it naturally reaches a terminal state.
    "runParams": { # Parameters for the RUN action controlling the behavior of the rollout when it is resumed from a PAUSED state. # Optional. Parameters for the RUN action. It is an error to specify this if the RolloutAction is not set to RUN. By default, the rollout will retry failed operations when resumed.
      "retryFailedOperations": True or False, # Required. If true, the rollout will retry failed operations when resumed. This is applicable only the current state of the Rollout is PAUSED and the requested action is RUN.
    },
  },
  "createTime": "A String", # Output only. The timestamp when the resource was created.
  "endTime": "A String", # Optional. Output only. The time when the rollout finished execution (regardless of success, failure, or cancellation). Will be empty if the rollout hasn't finished yet. Once set, the rollout is in terminal state and all the results are final.
  "etag": "A String", # Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.
  "labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.
    "a_key": "A String",
  },
  "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/rollout/{rollout_id}"
  "parentRollout": "A String", # Optional. Output only. The direct parent rollout that this rollout is stemming from. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/rollouts/{rollout_id}"
  "release": "A String", # Optional. Immutable. Name of the Release that gets rolled out to target Units. Required if no other type of release is specified.
  "rolloutKind": "A String", # Optional. Immutable. Name of the RolloutKind this rollout is stemming from and adhering to.
  "rolloutOrchestrationStrategy": "A String", # Optional. The strategy used for executing this Rollout. This strategy will override whatever strategy is specified in the RolloutKind. If not specified on creation, the strategy from RolloutKind will be used. There are two supported values strategies which are used to control - "Google.Cloud.Simple.AllAtOnce" - "Google.Cloud.Simple.OneLocationAtATime" A rollout with one of these simple strategies will rollout across all locations defined in the targeted UnitKind's Saas Locations.
  "rootRollout": "A String", # Optional. Output only. The root rollout that this rollout is stemming from. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/rollouts/{rollout_id}"
  "startTime": "A String", # Optional. Output only. The time when the rollout started executing. Will be empty if the rollout hasn't started yet.
  "state": "A String", # Output only. Current state of the rollout.
  "stateMessage": "A String", # Output only. Human readable message indicating details about the last state transition.
  "stateTransitionTime": "A String", # Optional. Output only. The time when the rollout transitioned into its current state.
  "stats": { # RolloutStats contains information about the progress of a rollout. # Optional. Output only. Details about the progress of the rollout.
    "operationsByState": [ # Output only. A breakdown of the progress of operations triggered by the rollout. Provides a count of Operations by their state. This can be used to determine the number of units which have been updated, or are scheduled to be updated. There will be at most one entry per group. Possible values for operation groups are: - "SCHEDULED" - "PENDING" - "RUNNING" - "SUCCEEDED" - "FAILED" - "CANCELLED"
      { # Represents the aggregation of a set of population of like records by a certain group. For example, a collection of unit counts can be aggregated and grouped by their state.
        "count": 42, # Required. Number of records in the group.
        "group": "A String", # Required. Group by which to aggregate.
      },
    ],
  },
  "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.
  "unitFilter": "A String", # Optional. CEL(https://github.com/google/cel-spec) formatted filter string against Unit. The filter will be applied to determine the eligible unit population. This filter can only reduce, but not expand the scope of the rollout. If not provided, the unit_filter from the RolloutKind will be used.
  "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.
}

  requestId: string, An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
  updateMask: string, Field mask is used to specify the fields to be overwritten in the Rollout resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields in the Rollout will be overwritten.
  validateOnly: boolean, If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Represents a single rollout execution and its results
  "annotations": { # Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations
    "a_key": "A String",
  },
  "control": { # RolloutControl provides a way to request a change to the execution of a Rollout by pausing or canceling it. # Optional. Requested change to the execution of this rollout. Default RolloutControl.action is ROLLOUT_ACTION_RUN meaning the rollout will be executed to completion while progressing through all natural Rollout States (such as RUNNING -> SUCCEEDED or RUNNING -> FAILED). Requests can only be made when the Rollout is in a non-terminal state.
    "action": "A String", # Required. Action to be performed on the Rollout. The default behavior is to run the rollout until it naturally reaches a terminal state.
    "runParams": { # Parameters for the RUN action controlling the behavior of the rollout when it is resumed from a PAUSED state. # Optional. Parameters for the RUN action. It is an error to specify this if the RolloutAction is not set to RUN. By default, the rollout will retry failed operations when resumed.
      "retryFailedOperations": True or False, # Required. If true, the rollout will retry failed operations when resumed. This is applicable only the current state of the Rollout is PAUSED and the requested action is RUN.
    },
  },
  "createTime": "A String", # Output only. The timestamp when the resource was created.
  "endTime": "A String", # Optional. Output only. The time when the rollout finished execution (regardless of success, failure, or cancellation). Will be empty if the rollout hasn't finished yet. Once set, the rollout is in terminal state and all the results are final.
  "etag": "A String", # Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.
  "labels": { # Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.
    "a_key": "A String",
  },
  "name": "A String", # Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/rollout/{rollout_id}"
  "parentRollout": "A String", # Optional. Output only. The direct parent rollout that this rollout is stemming from. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/rollouts/{rollout_id}"
  "release": "A String", # Optional. Immutable. Name of the Release that gets rolled out to target Units. Required if no other type of release is specified.
  "rolloutKind": "A String", # Optional. Immutable. Name of the RolloutKind this rollout is stemming from and adhering to.
  "rolloutOrchestrationStrategy": "A String", # Optional. The strategy used for executing this Rollout. This strategy will override whatever strategy is specified in the RolloutKind. If not specified on creation, the strategy from RolloutKind will be used. There are two supported values strategies which are used to control - "Google.Cloud.Simple.AllAtOnce" - "Google.Cloud.Simple.OneLocationAtATime" A rollout with one of these simple strategies will rollout across all locations defined in the targeted UnitKind's Saas Locations.
  "rootRollout": "A String", # Optional. Output only. The root rollout that this rollout is stemming from. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project}/locations/{location}/rollouts/{rollout_id}"
  "startTime": "A String", # Optional. Output only. The time when the rollout started executing. Will be empty if the rollout hasn't started yet.
  "state": "A String", # Output only. Current state of the rollout.
  "stateMessage": "A String", # Output only. Human readable message indicating details about the last state transition.
  "stateTransitionTime": "A String", # Optional. Output only. The time when the rollout transitioned into its current state.
  "stats": { # RolloutStats contains information about the progress of a rollout. # Optional. Output only. Details about the progress of the rollout.
    "operationsByState": [ # Output only. A breakdown of the progress of operations triggered by the rollout. Provides a count of Operations by their state. This can be used to determine the number of units which have been updated, or are scheduled to be updated. There will be at most one entry per group. Possible values for operation groups are: - "SCHEDULED" - "PENDING" - "RUNNING" - "SUCCEEDED" - "FAILED" - "CANCELLED"
      { # Represents the aggregation of a set of population of like records by a certain group. For example, a collection of unit counts can be aggregated and grouped by their state.
        "count": 42, # Required. Number of records in the group.
        "group": "A String", # Required. Group by which to aggregate.
      },
    ],
  },
  "uid": "A String", # Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.
  "unitFilter": "A String", # Optional. CEL(https://github.com/google/cel-spec) formatted filter string against Unit. The filter will be applied to determine the eligible unit population. This filter can only reduce, but not expand the scope of the rollout. If not provided, the unit_filter from the RolloutKind will be used.
  "updateTime": "A String", # Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.
}