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,27 @@
# -*- 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 Schema Bundles command group for Bigtable."""
from __future__ import absolute_import
from __future__ import division
from __future__ import unicode_literals
from googlecloudsdk.calliope import base
@base.UniverseCompatible
class SchemaBundles(base.Group):
"""Manage Bigtable schema bundles."""

View File

@@ -0,0 +1,35 @@
- release_tracks: [GA, BETA, ALPHA]
help_text:
brief: Add an IAM policy binding to a Bigtable schema bundle.
description: |
Add an IAM policy binding to a Bigtable schema bundle. One binding consists of a member,
a role, and an optional condition.
examples: |
To add an IAM policy binding for the role of `roles/editor` for the user `222larabrown@gmail.com`
with schema bundle `my-schema-bundle` in instance `my-instance` and table `my-table`, run:
$ {command} my-schema-bundle --instance=`my-instance` --table=`my-table` --member=`user:222larabrown@gmail.com` --role=`roles/editor`
To add an IAM policy binding which expires at the end of the year 2025 for the role of
`roles/bigtable.admin` and the user `222larabrown@gmail.com` with schema bundle `my-schema-bundle`
in instance `my-instance` and table `my-table`, run:
$ {command} my-schema-bundle --instance=`my-instance` --table=`my-table` --member=`user:222larabrown@gmail.com` --role=`roles/bigtable.admin` --condition=`expression=request.time < timestamp("2021-01-01T00:00:00Z"),title=expires_end_of_2020,description=Expires at midnight on 2020-12-31`
See https://cloud.google.com/iam/docs/managing-policies for details of
policy role and member types.
iam:
enable_condition: true
policy_version: 3
get_iam_policy_version_path: getIamPolicyRequest.options.requestedPolicyVersion
request:
collection: bigtableadmin.projects.instances.tables.schemaBundles
arguments:
resource:
help_text: Bigtable schema bundle to add the IAM policy binding to.
spec: !REF googlecloudsdk.command_lib.bigtable.resources:schema_bundle

View File

@@ -0,0 +1,36 @@
- release_tracks: [GA, BETA, ALPHA]
help_text:
brief: Create a new Bigtable schema bundle.
description: Create a new Bigtable schema bundle.
examples: |
To create a schema bundle `my-schema-bundle` in instance `my-instance` and table
`my-table`, using the descriptor file `my-descriptor-file.pb`:
$ {command} my-schema-bundle --instance=test-instance --table=test-table --proto-descriptors-file=my-descriptor-file.pb
request:
collection: bigtableadmin.projects.instances.tables.schemaBundles
method: create
modify_request_hooks:
- googlecloudsdk.api_lib.bigtable.schema_bundles:ModifyCreateSchemaBundleRequest
arguments:
resource:
help_text: Bigtable schema bundle to create.
spec: !REF googlecloudsdk.command_lib.bigtable.resources:schema_bundle
params:
- arg_name: proto-descriptors-file
api_field: schemaBundle.protoSchema.protoDescriptors
required: true
help_text: |
Path of a file that contains a protobuf-serialized `google.protobuf.FileDescriptorSet` message. If specified, the schema bundle contains the protobuf schema.
To generate the file, install and run `protoc` with the following command:
protoc --proto_path=IMPORT_PATH --include_imports --descriptor_set_out=DESCRIPTOR_OUTPUT_LOCATION path/to/file.proto
where the --proto_path option specificies where to look for .proto files when resolving import directives (the current directory is used if you do not provide a value),
and the --descriptor_set_out option specifies where you want the generated FileDescriptorSet to be written.
async:
collection: bigtableadmin.operations

View File

@@ -0,0 +1,19 @@
- release_tracks: [GA, BETA, ALPHA]
help_text:
brief: Delete a Bigtable schema bundle.
description: Delete a Bigtable schema bundle.
examples: |
To delete the schema bundle `my-schema-bundle` in instance `my-instance` and table
`my-table`:
$ {command} my-schema-bundle --instance=test-instance --table=test-table
request:
collection: bigtableadmin.projects.instances.tables.schemaBundles
method: delete
arguments:
resource:
help_text: Bigtable schema bundle to delete.
spec: !REF googlecloudsdk.command_lib.bigtable.resources:schema_bundle

View File

@@ -0,0 +1,23 @@
- release_tracks: [GA, BETA, ALPHA]
help_text:
brief: Describe a Bigtable schema bundle.
description: Describe a Bigtable schema bundle.
examples: |
To describe the schema bundle `my-schema-bundle` in instance `my-instance` and table
`my-table`:
$ {command} my-schema-bundle --instance=test-instance --table=test-table
request:
collection: bigtableadmin.projects.instances.tables.schemaBundles
method: get
response:
modify_response_hooks:
- googlecloudsdk.api_lib.bigtable.schema_bundles:PrintParsedProtoDescriptorsInGetResponse
arguments:
resource:
help_text: Bigtable schema bundle to describe.
spec: !REF googlecloudsdk.command_lib.bigtable.resources:schema_bundle

View File

@@ -0,0 +1,25 @@
- release_tracks: [GA, BETA, ALPHA]
help_text:
brief: Get an IAM policy on a Bigtable schema bundle.
description: |
Get an IAM policy on a Bigtable schema bundle.
examples: |
To get the IAM policy on the schema bundle `my-schema-bundle` in instance `my-instance` and table `my-table`, run:
$ {command} my-schema-bundle --instance=`my-instance` --table=`my-table`
See https://cloud.google.com/iam/docs/managing-policies for more information.
request:
collection: bigtableadmin.projects.instances.tables.schemaBundles
arguments:
resource:
help_text: Bigtable schema bundle to get the IAM policy for.
spec: !REF googlecloudsdk.command_lib.bigtable.resources:schema_bundle
iam:
policy_version: 3
get_iam_policy_version_path: getIamPolicyRequest.options.requestedPolicyVersion

View File

@@ -0,0 +1,25 @@
- release_tracks: [GA, BETA, ALPHA]
help_text:
brief: List all schema bundles of a Bigtable table.
description: List all schema bundles of a Bigtable table.
examples: |
To list the schema bundles in instance `my-instance` and table `my-table`:
$ {command} --instance=my-instance --table=my-table
To list all schema bundles that match the given filter:
$ {command} --instance=my-instance --table=my-table --filter="name=( `NAME` ... )"
request:
collection: bigtableadmin.projects.instances.tables.schemaBundles
method: list
response:
id_field: name
arguments:
resource:
help_text: Bigtable table for which to list all schema bundles.
spec: !REF googlecloudsdk.command_lib.bigtable.resources:table

View File

@@ -0,0 +1,35 @@
- release_tracks: [GA, BETA, ALPHA]
help_text:
brief: Remove an IAM policy binding from a Bigtable schema bundle.
description: |
Remove an IAM policy binding from a Bigtable schema bundle. One binding consists of a member,
a role, and an optional condition.
examples: |
To remove an IAM policy binding for the role of `roles/editor` for the user `222larabrown@gmail.com`
with schema bundle `my-schema-bundle` in instance `my-instance` and table `my-table`, run:
$ {command} my-schema-bundle --instance=`my-instance` --table=`my-table` --member=`user:222larabrown@gmail.com` --role=`roles/editor`
To remove an IAM policy binding which expires at the end of the year 2025 for the role of
`roles/bigtable.admin` and the user `222larabrown@gmail.com` with schema bundle `my-schema-bundle`
in instance `my-instance` and table `my-table`, run:
$ {command} my-schema-bundle --instance=`my-instance` --table=`my-table` --member=`user:222larabrown@gmail.com` --role=`roles/bigtable.admin` --condition=`expression=request.time < timestamp("2021-01-01T00:00:00Z"),title=expires_end_of_2020,description=Expires at midnight on 2020-12-31`
See https://cloud.google.com/iam/docs/managing-policies for details of
policy role and member types.
iam:
enable_condition: true
policy_version: 3
get_iam_policy_version_path: getIamPolicyRequest.options.requestedPolicyVersion
request:
collection: bigtableadmin.projects.instances.tables.schemaBundles
arguments:
resource:
help_text: Bigtable schema bundle to remove the IAM policy binding from.
spec: !REF googlecloudsdk.command_lib.bigtable.resources:schema_bundle

View File

@@ -0,0 +1,28 @@
- release_tracks: [GA, BETA, ALPHA]
help_text:
brief: Set an IAM policy on a Bigtable schema bundle.
description: |
Set an IAM policy on a Bigtable schema bundle.
examples: |
To set the IAM policy from file `my-policy` on the schema bundle `my-schema-bundle` in
instance `my-instance` and table `my-table`, run:
$ {command} my-schema-bundle --instance=`my-instance` --table=`my-table` my-policy
See https://cloud.google.com/iam/docs/managing-policies for more information.
request:
collection: bigtableadmin.projects.instances.tables.schemaBundles
modify_request_hooks:
- googlecloudsdk.command_lib.iam.hooks:UseMaxRequestedPolicyVersion:api_field=setIamPolicyRequest.policy.version
- googlecloudsdk.command_lib.iam.hooks:AddVersionToUpdateMaskIfNotPresent:update_mask_path=setIamPolicyRequest.updateMask
arguments:
resource:
help_text: Bigtable schema bundle to set the IAM policy on.
spec: !REF googlecloudsdk.command_lib.bigtable.resources:schema_bundle
iam:
policy_version: 3

View File

@@ -0,0 +1,41 @@
- release_tracks: [GA, BETA, ALPHA]
help_text:
brief: Update an existing Bigtable schema bundle.
description: Update an existing Bigtable schema bundle.
examples: |
To update a schema bundle `my-schema-bundle` in instance `my-instance` and table
`my-table`, using the descriptor file `my-descriptor-file.pb`:
$ {command} my-schema-bundle --instance=my-instance --table=my-table --proto-descriptors-file=my-descriptor-file.pb
request:
collection: bigtableadmin.projects.instances.tables.schemaBundles
method: patch
modify_request_hooks:
- googlecloudsdk.api_lib.bigtable.schema_bundles:ModifyUpdateSchemaBundleRequest
arguments:
resource:
help_text: Bigtable schema bundle to update.
spec: !REF googlecloudsdk.command_lib.bigtable.resources:schema_bundle
params:
- arg_name: proto-descriptors-file
api_field: schemaBundle.protoSchema.protoDescriptors
required: true
help_text: |
Path of a file that contains a protobuf-serialized `google.protobuf.FileDescriptorSet` message. If specified, the schema bundle contains the protobuf schema.
To generate the file, install and run `protoc` with the following command:
protoc --proto_path=IMPORT_PATH --include_imports --descriptor_set_out=DESCRIPTOR_OUTPUT_LOCATION path/to/file.proto
where the --proto_path option specificies where to look for .proto files when resolving import directives (the current directory is used if you do not provide a value),
and the --descriptor_set_out option specifies where you want the generated FileDescriptorSet to be written.
- arg_name: ignore-warnings
type: bool
default: false
help_text: |
If true, backwards incompatible changes will be allowed.
async:
collection: bigtableadmin.operations