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,29 @@
# -*- 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.
"""Managed Service for Apache Kafka acls operations."""
from __future__ import absolute_import
from __future__ import division
from __future__ import unicode_literals
from googlecloudsdk.calliope import base
@base.DefaultUniverseOnly
@base.ReleaseTracks(
base.ReleaseTrack.GA, base.ReleaseTrack.ALPHA, base.ReleaseTrack.BETA
)
class Acls(base.Group):
"""Administer Managed Service for Apache Kafka acls."""
category = base.DATA_ANALYTICS_CATEGORY

View File

@@ -0,0 +1,55 @@
release_tracks: [GA, ALPHA, BETA]
help_text:
brief: |
Add an acl entry to a Managed Service for Apache Kafka acl.
description: |
Add an acl entry to a Managed Service for Apache Kafka acl.
examples: |
To add an acl entry for the Kafka cluster resource pattern (acl ID = cluster),
in a cluster named mycluster located in us-central1, run the following:
$ {command} cluster \
--cluster=mycluster \
--location=us-central1 \
--principal='User:admin@project.iam.gserviceaccount.com' --operation=ALL \
--permission-type=ALLOW --host='*'
request:
collection: managedkafka.projects.locations.clusters.acls
method: addAclEntry
arguments:
resource:
help_text: |
Identifies the acl that this command updates.
The structure of the acl ID defines the Resource Pattern for which the
acl entries apply in the Kafka cluster. The acl ID must be structured
like one of the following:
For acls on the cluster:
cluster
For acls on a single resource within the cluster:
topic/{resource_name}
consumerGroup/{resource_name}
transactionalId/{resource_name}
For acls on all resources that match a prefix:
topicPrefixed/{resource_name}
consumerGroupPrefixed/{resource_name}
transactionalIdPrefixed/{resource_name}
For acls on all resources of a given type (i.e. the wildcard literal "*"):
allTopics (represents topic/*)
allConsumerGroups (represents consumerGroup/*)
allTransactionalIds (represents transactionalId/*)
spec: !REF googlecloudsdk.command_lib.managed_kafka.resources:acl
params:
- _REF_: googlecloudsdk.command_lib.managed_kafka.flags:acl-entry-principal
- _REF_: googlecloudsdk.command_lib.managed_kafka.flags:acl-entry-operation
- _REF_: googlecloudsdk.command_lib.managed_kafka.flags:acl-entry-permission-type
- _REF_: googlecloudsdk.command_lib.managed_kafka.flags:acl-entry-host

View File

@@ -0,0 +1,63 @@
release_tracks: [GA, ALPHA, BETA]
help_text:
brief: |
Create a Managed Service for Apache Kafka acl.
description: |
Create a Managed Service for Apache Kafka acl.
examples: |
To create an acl for the Kafka cluster resource pattern (acl ID = cluster),
in a cluster named mycluster located in us-central1, run the following:
$ {command} cluster \
--cluster=mycluster --location=us-central1 \
--acl-entry=principal='User:admin@project.iam.gserviceaccount.com',\
operation=ALL,permission-type=ALLOW,host='*'
--acl-entry=principal='User:reader@project.iam.gserviceaccount.com',\
operation=DESCRIBE,permission-type=ALLOW,host='*'
--acl-entry=principal='User:reader@project.iam.gserviceaccount.com',\
operation=DESCRIBE_CONFIGS,permission-type=ALLOW,host='*'
This acl grants an "admin" service account access to ALL cluster-level
operations, and grants a "reader" service account access to cluster-level
DESCRIBE and DESCRIBE_CONFIGS operations.
request:
collection: managedkafka.projects.locations.clusters.acls
arguments:
resource:
help_text: |
Identifies the name of the acl that this command creates.
The structure of the acl ID defines the Resource Pattern for which the
acl entries apply in the Kafka cluster. The acl ID must be structured
like one of the following:
For acls on the cluster:
cluster
For acls on a single resource within the cluster:
topic/{resource_name}
consumerGroup/{resource_name}
transactionalId/{resource_name}
For acls on all resources that match a prefix:
topicPrefixed/{resource_name}
consumerGroupPrefixed/{resource_name}
transactionalIdPrefixed/{resource_name}
For acls on all resources of a given type (i.e. the wildcard literal "*"):
allTopics (represents topic/*)
allConsumerGroups (represents consumerGroup/*)
allTransactionalIds (represents transactionalId/*)
spec: !REF googlecloudsdk.command_lib.managed_kafka.resources:acl
params:
- group:
mutex: true
required: true
params:
- _REF_: googlecloudsdk.command_lib.managed_kafka.flags:acl-entry
- _REF_: googlecloudsdk.command_lib.managed_kafka.flags:acl-entries-from-file

View File

@@ -0,0 +1,47 @@
release_tracks: [GA, ALPHA, BETA]
help_text:
brief: |
Delete a Managed Service for Apache Kafka ACL.
description: |
Delete a Managed Service for Apache Kafka ACL.
examples: |
To delete an acl for all topics, in a cluster named mycluster located in us-central1,
run the following:
$ {command} allTopics \
--cluster=mycluster \
--location=us-central1
request:
collection: managedkafka.projects.locations.clusters.acls
arguments:
resource:
help_text: |
Identifies the acl for deletion.
The structure of the acl ID defines the Resource Pattern for which the
acl entries apply in the Kafka cluster. The acl ID must be structured
like one of the following:
For acls on the cluster:
cluster
For acls on a single resource within the cluster:
topic/{resource_name}
consumerGroup/{resource_name}
transactionalId/{resource_name}
For acls on all resources that match a prefix:
topicPrefixed/{resource_name}
consumerGroupPrefixed/{resource_name}
transactionalIdPrefixed/{resource_name}
For acls on all resources of a given type (i.e. the wildcard literal "*"):
allTopics (represents topic/*)
allConsumerGroups (represents consumerGroup/*)
allTransactionalIds (represents transactionalId/*)
spec: !REF googlecloudsdk.command_lib.managed_kafka.resources:acl

View File

@@ -0,0 +1,23 @@
release_tracks: [GA, ALPHA, BETA]
help_text:
brief: |
Describe a Managed Service for Apache Kafka acl.
description: |
Describe a Managed Service for Apache Kafka acl.
examples: |
To describe an acl for the consumer group mygroup, in a cluster named mycluster located in
us-central1, run the following:
$ {command} consumerGroup/mygroup \
--cluster=mycluster \
--location=us-central1
request:
collection: managedkafka.projects.locations.clusters.acls
arguments:
resource:
help_text: The describe command displays properties of the acl specified by this parameter.
spec: !REF googlecloudsdk.command_lib.managed_kafka.resources:acl

View File

@@ -0,0 +1,25 @@
release_tracks: [GA, ALPHA, BETA]
help_text:
brief: |
List all Managed Service for Apache Kafka acls in a given cluster.
description: |
List all Managed Service for Apache Kafka acls in a given cluster.
To specify the maximum number of acls to list, use the --limit flag.
examples: |
To list acls in a cluster named mycluster located in us-central1,
run the following:
$ {command} mycluster
--location=us-central1
request:
collection: managedkafka.projects.locations.clusters.acls
arguments:
resource:
is_positional: true
help_text: Identifies the cluster which contains all the acls to be listed.
spec: !REF googlecloudsdk.command_lib.managed_kafka.resources:cluster

View File

@@ -0,0 +1,32 @@
release_tracks: [GA, ALPHA, BETA]
help_text:
brief: |
Remove an acl entry from a Managed Service for Apache Kafka acl.
description: |
Remove an acl entry from a Managed Service for Apache Kafka acl.
examples: |
To remove an acl entry for the Kafka cluster resource pattern (acl_id=cluster),
in a cluster named `mycluster` located in `us-central1`, run the following:
$ {command} cluster \
--cluster=mycluster \
--location=us-central1 \
--principal='User:admin@project.iam.gserviceaccount.com' --operation=ALL \
--permission-type=ALLOW --host='*'
request:
collection: managedkafka.projects.locations.clusters.acls
method: removeAclEntry
arguments:
resource:
help_text: Identifies the name of the acl that this command updates.
spec: !REF googlecloudsdk.command_lib.managed_kafka.resources:acl
params:
- _REF_: googlecloudsdk.command_lib.managed_kafka.flags:acl-entry-principal
- _REF_: googlecloudsdk.command_lib.managed_kafka.flags:acl-entry-operation
- _REF_: googlecloudsdk.command_lib.managed_kafka.flags:acl-entry-permission-type
- _REF_: googlecloudsdk.command_lib.managed_kafka.flags:acl-entry-host

View File

@@ -0,0 +1,42 @@
release_tracks: [GA, ALPHA, BETA]
help_text:
brief: |
Update a Managed Service for Apache Kafka acl.
description: |
Update a Managed Service for Apache Kafka acl.
NOTE: update performs a FULL REPLACEMENT of acl entries. For incremental
updates, use add-acl-entry and remove-acl-entry commands.
examples: |
To update an acl for the Kafka cluster resource pattern, with etag W/XYZ123
returned from a previous create or describe command, in a cluster named
mycluster located in us-central1, run the following:
$ {command} cluster \
--cluster=mycluster \
--location=us-central1 \
--acl-entry=principal='User:admin@project.iam.gserviceaccount.com',operation=ALL,permission-type=ALLOW,host='*' \
--etag=W/XYZ123
request:
collection: managedkafka.projects.locations.clusters.acls
arguments:
resource:
help_text: Identifies the name of the acl that this command updates.
spec: !REF googlecloudsdk.command_lib.managed_kafka.resources:acl
params:
- group:
mutex: true
required: true
params:
- _REF_: googlecloudsdk.command_lib.managed_kafka.flags:acl-entry
- _REF_: googlecloudsdk.command_lib.managed_kafka.flags:acl-entries-from-file
- _REF_: googlecloudsdk.command_lib.managed_kafka.flags:etag
input:
confirmation_prompt: |-
WARNING: This update will replace all existing ACL entries. Any entries not included in this update will be deleted.