feat: Add new gcloud commands, API clients, and third-party libraries across various services.

This commit is contained in:
2026-01-01 20:26:35 +01:00
parent 5e23cbece0
commit a19e592eb7
25221 changed files with 8324611 additions and 0 deletions

View File

@@ -0,0 +1,24 @@
# -*- coding: utf-8 -*- #
# Copyright 2025 Google LLC. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""The rollout-kinds command group for the SaaS Runtime CLI."""
from googlecloudsdk.calliope import base
@base.UniverseCompatible
@base.ReleaseTracks(base.ReleaseTrack.ALPHA, base.ReleaseTrack.BETA)
class Saas(base.Group):
category = base.SAAS_CATEGORY
detailed_help = {'brief': 'Manage SaaS Runtime rollout-kinds.'}

View File

@@ -0,0 +1,101 @@
- release_tracks: [ALPHA, BETA]
help_text:
brief: Create a Rollout Kind
description: Create a Rollout Kind
examples: |-
To create the Rollout Kind, run:
$ {command}
arguments:
params:
- group:
mutex: true
help_text: |-
Arguments for the error budget.
params:
- group:
api_field: rolloutKind.errorBudget
required: false
help_text: |-
The configuration for error budget. If the number of failed units exceeds
max(allowed_count, allowed_ratio * total_units), the rollout will be paused.
params:
- arg_name: error-budget-allowed-count
api_field: rolloutKind.errorBudget.allowedCount
required: false
repeated: false
type: int
help_text: |-
The maximum number of failed units allowed in a location without pausing
the rollout.
- arg_name: error-budget-allowed-percentage
api_field: rolloutKind.errorBudget.allowedPercentage
required: false
repeated: false
type: int
help_text: |-
The maximum percentage of units allowed to fail (0, 100] within a location
without pausing the rollout.
- help_text: |-
Identifier. The resource name (full URI of the resource) following the standard naming
scheme:
"projects/{project}/locations/{location}/rolloutKinds/{rollout_kind_id}"
is_positional: true
is_primary_resource: true
request_id_field: rolloutKindId
resource_spec: !REF googlecloudsdk.command_lib.saas_runtime.resources:rollout_kind
required: true
- arg_name: unit-kind
required: true
repeated: false
resource_spec: !REF googlecloudsdk.command_lib.saas_runtime.resources:unit_kind
resource_method_params:
rolloutKind.unitKind: '{__relative_name__}'
help_text: |-
UnitKind that this rollout kind corresponds to. Rollouts stemming from this
rollout kind will target the units of this unit kind. In other words, this
defines the population of target units to be upgraded by rollouts.
- arg_name: rollout-orchestration-strategy
api_field: rolloutKind.rolloutOrchestrationStrategy
required: false
repeated: false
help_text: |-
The strategy to use for executing rollouts.
- arg_name: unit-filter
api_field: rolloutKind.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.
- arg_name: update-unit-kind-strategy
api_field: rolloutKind.updateUnitKindStrategy
required: false
help_text: |-
The config for updating the unit kind. By default, the unit kind will be
updated on the rollout start.
choices:
- arg_value: on-start
enum_value: UPDATE_UNIT_KIND_STRATEGY_ON_START
help_text: |-
Update the unit kind strategy on the rollout start.
- arg_value: never
enum_value: UPDATE_UNIT_KIND_STRATEGY_NEVER
help_text: |-
Never update the unit kind.
- arg_name: labels
api_field: rolloutKind.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.rolloutKinds

View File

@@ -0,0 +1,19 @@
- release_tracks: [ALPHA, BETA]
help_text:
brief: Delete a Rollout Kind
description: Delete a Rollout Kind
examples: |-
To delete the Rollout Kind, run:
$ {command}
arguments:
params:
- help_text: |-
Name of the resource
is_positional: true
resource_spec: !REF googlecloudsdk.command_lib.saas_runtime.resources:rollout_kind
required: true
request:
api_version: v1beta1
collection:
- saasservicemgmt.projects.locations.rolloutKinds

View File

@@ -0,0 +1,19 @@
- release_tracks: [ALPHA, BETA]
help_text:
brief: Describe Rollout Kind
description: Describe a Rollout Kind
examples: |-
To describe the Rollout Kind, run:
$ {command}
arguments:
params:
- help_text: |-
Name of the resource
is_positional: true
resource_spec: !REF googlecloudsdk.command_lib.saas_runtime.resources:rollout_kind
required: true
request:
api_version: v1beta1
collection:
- saasservicemgmt.projects.locations.rolloutKinds

View File

@@ -0,0 +1,19 @@
- release_tracks: [ALPHA, BETA]
help_text:
brief: List Rollout Kinds
description: List Rollout Kinds
examples: |-
To list all Rollout Kinds, run:
$ {command}
arguments:
resource:
help_text: |-
Parent value for ListRolloutKindsRequest
spec: !REF googlecloudsdk.command_lib.saas_runtime.resources:project_location_with_default
request:
api_version: v1beta1
collection:
- saasservicemgmt.projects.locations.rolloutKinds
response:
id_field: name

View File

@@ -0,0 +1,94 @@
- release_tracks: [ALPHA, BETA]
help_text:
brief: Update a Rollout Kind
description: Update a Rollout Kind
examples: |-
To update the Rollout Kind, run:
$ {command}
arguments:
params:
- group:
mutex: true
help_text: |-
Arguments for the error budget.
params:
- group:
api_field: rolloutKind.errorBudget
arg_name: error-budget
clearable: true
required: false
help_text: |-
The configuration for error budget. If the number of failed units exceeds
max(allowed_count, allowed_ratio * total_units), the rollout will be paused.
params:
- arg_name: error-budget-allowed-count
api_field: rolloutKind.errorBudget.allowedCount
required: false
repeated: false
type: int
help_text: |-
The maximum number of failed units allowed in a location without pausing
the rollout.
- arg_name: error-budget-allowed-percentage
api_field: rolloutKind.errorBudget.allowedPercentage
required: false
repeated: false
type: int
help_text: |-
The maximum percentage of units allowed to fail (0, 100] within a location
without pausing the rollout.
- help_text: |-
Identifier. The resource name (full URI of the resource) following the standard naming
scheme:
"projects/{project}/locations/{location}/rolloutKinds/{rollout_kind_id}"
is_positional: true
resource_spec: !REF googlecloudsdk.command_lib.saas_runtime.resources:rollout_kind
required: true
- arg_name: rollout-orchestration-strategy
api_field: rolloutKind.rolloutOrchestrationStrategy
required: false
repeated: false
help_text: |-
The strategy to use for executing rollouts.
- arg_name: unit-filter
api_field: rolloutKind.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.
- arg_name: update-unit-kind-strategy
api_field: rolloutKind.updateUnitKindStrategy
required: false
help_text: |-
The config for updating the unit kind. By default, the unit kind will be
updated on the rollout start.
choices:
- arg_value: on-start
enum_value: UPDATE_UNIT_KIND_STRATEGY_ON_START
help_text: |-
Update the unit kind strategy on the rollout start.
- arg_value: never
enum_value: UPDATE_UNIT_KIND_STRATEGY_NEVER
help_text: |-
Never update the unit kind.
- arg_name: labels
api_field: rolloutKind.labels
required: false
repeated: true
help_text: |-
The labels on the resource, which can be used for categorization.
similar to Kubernetes resource labels.
clearable: true
spec:
- api_field: key
- api_field: value
request:
api_version: v1beta1
collection:
- saasservicemgmt.projects.locations.rolloutKinds
update:
read_modify_update: true