File: //snap/google-cloud-cli/current/lib/surface/saas_runtime/rollouts/create.yaml
- release_tracks: [ALPHA, BETA]
help_text:
brief: Create a Rollout
description: Create a Rollout
examples: |-
To create the Rollout, run:
$ {command}
arguments:
params:
- help_text: |-
Identifier. The resource name (full URI of the resource) following the standard naming
scheme:
"projects/{project}/locations/{location}/rollout/{rollout_id}"
is_positional: true
is_primary_resource: true
request_id_field: rolloutId
resource_spec: !REF googlecloudsdk.command_lib.saas_runtime.resources:rollout
required: true
- group:
mutex: true
required: true
params:
- arg_name: release
help_text: |-
Name of the Release that gets rolled out to target Units.
Required if no other type of release is specified.
is_positional: false
is_primary_resource: false
resource_spec: !REF googlecloudsdk.command_lib.saas_runtime.resources:release
resource_method_params:
rollout.release: '{__relative_name__}'
required: false
- arg_name: flag-release
help_text: |-
Name of the Flag Release that gets rolled out to target Units.
Required if no other type of release is specified.
is_positional: false
is_primary_resource: false
release_tracks: [ALPHA]
resource_spec: !REF googlecloudsdk.command_lib.saas_runtime.resources:flag_release
resource_method_params:
rollout.flagRelease: '{__relative_name__}'
required: false
- arg_name: rollout-orchestration-strategy
api_field: rollout.rolloutOrchestrationStrategy
required: false
repeated: false
help_text: |-
The strategy to use for executing this rollout. If not provided, the
strategy from Rollout Type will be used.
- arg_name: unit-filter
api_field: rollout.unitFilter
required: false
repeated: false
help_text: |-
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 RolloutType will be used.
- arg_name: rollout-kind
help_text: |-
Name of the RolloutKind this rollout is stemming from and adhering to.
is_positional: false
is_primary_resource: false
resource_spec: !REF googlecloudsdk.command_lib.saas_runtime.resources:rollout_kind
resource_method_params:
rollout.rolloutKind: '{__relative_name__}'
required: false
- group:
api_field: rollout.control
required: false
help_text: |-
RolloutControl provides a way to request a change to the execution of a
Rollout by pausing or canceling it.
params:
- group:
mutex: true
help_text: |-
Arguments for the action params.
params:
- group:
api_field: rollout.control.runParams
required: false
help_text: |-
Parameters for the RUN action controlling the behavior of the rollout
when it is resumed from a PAUSED state.
params:
- arg_name: retry-failed-operations
api_field: rollout.control.runParams.retryFailedOperations
action: store_true_false
required: true
type: bool
help_text: |-
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.
- arg_name: control-action
api_field: rollout.control.action
required: true
help_text: |-
Action to be performed on the Rollout.
The default behavior is to run the rollout until it naturally reaches a
terminal state.
choices:
- arg_value: run
enum_value: ROLLOUT_ACTION_RUN
help_text: |-
Run the Rollout until it naturally reaches a terminal state.
A rollout requested to run will progress through all natural Rollout
States (such as RUNNING -> SUCCEEDED or RUNNING -> FAILED).
If retriable errors are encountered during the rollout, the rollout
will paused by default and can be resumed by re-requesting this RUN
action.
- arg_value: pause
enum_value: ROLLOUT_ACTION_PAUSE
help_text: |-
Pause the Rollout until it is resumed (i.e. RUN is requested).
- arg_value: cancel
enum_value: ROLLOUT_ACTION_CANCEL
help_text: |-
Cancel the Rollout permanently.
- arg_name: labels
api_field: rollout.labels
required: false
repeated: true
help_text: |-
The labels on the resource, which can be used for categorization.
similar to Kubernetes resource labels.
spec:
- api_field: key
- api_field: value
request:
api_version: v1beta1
collection:
- saasservicemgmt.projects.locations.rollouts