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,26 @@
# -*- coding: utf-8 -*- #
# Copyright 2022 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 command group for the subnet resource."""
from __future__ import absolute_import
from __future__ import division
from __future__ import unicode_literals
from googlecloudsdk.calliope import base
@base.ReleaseTracks(base.ReleaseTrack.ALPHA, base.ReleaseTrack.GA)
class Subnets(base.Group):
"""Manage Distributed Cloud Edge Network subnets."""

View File

@@ -0,0 +1,62 @@
- release_tracks: [ALPHA, GA]
help_text:
brief: Create a Distributed Cloud Edge Network subnet.
description: |
Create a new Distributed Cloud Edge Network subnet.
examples: |
To create a Distributed Cloud Edge Network subnet called `my-subnet` with VLAN ID and owned ip ranges specified in the edge zone 'us-central1-edge-den1', run:
$ {command} my-subnet --network=my-network --location=us-central1 --zone=us-central1-edge-den1 --ipv4-range=192.168.1.1/24,172.10.10.1/24 --ipv6-range=2001:db8::1/64,4001:230::1/64 --vlan-id=100 --bonding-type=bonded
request:
collection: edgenetwork.projects.locations.zones.subnets
ALPHA:
api_version: v1alpha1
GA:
api_version: v1
modify_request_hooks:
- googlecloudsdk.command_lib.edge_cloud.networking.resources:SetResourcesPathForSubnet
arguments:
resource:
help_text: Distributed Cloud Edge Network subnet to create.
# The following should point to the resource argument definition under
# your surface's command_lib directory.:
spec: !REF googlecloudsdk.command_lib.edge_cloud.networking.resources:subnet
params:
- arg_name: description
api_field: subnet.description
help_text: |
An optional, textual description for the subnet.
- arg_name: ipv4-range
api_field: subnet.ipv4Cidr
type: "googlecloudsdk.calliope.arg_parsers:ArgList:"
help_text: |
The ranges of ipv4 addresses that are owned by this subnetwork in CIDR format.
- arg_name: ipv6-range
api_field: subnet.ipv6Cidr
type: "googlecloudsdk.calliope.arg_parsers:ArgList:"
help_text: |
The ranges of ipv6 addresses that are owned by this subnetwork in CIDR format.
- arg_name: network
api_field: subnet.network
required: true
help_text: |
The network that this subnetwork belongs to.
- arg_name: vlan-id
api_field: subnet.vlanId
type: int
help_text: |
The ID of the VLAN to tag the subnetwork. If not specified we assign one automatically.
- arg_name: bonding-type
api_field: subnet.bondingType
help_text: |
Whether or not the VLAN being created will be present on bonded or non-bonded port types. If not specified, the VLAN will be created on both port types by default.
release_tracks: [ALPHA]
labels:
api_field: subnet.labels
async:
collection: edgenetwork.projects.locations.operations

View File

@@ -0,0 +1,27 @@
- release_tracks: [ALPHA, GA]
help_text:
brief: Delete a Distributed Cloud Edge Network subnet.
description: |
Delete a Distributed Cloud Edge Network subnet.
examples: |
To delete a subnet called 'my-subnet' in the edge zone 'us-central1-edge-den1', run:
$ {command} my-subnet --location=us-central1 --zone=us-central1-edge-den1
request:
collection: edgenetwork.projects.locations.zones.subnets
ALPHA:
api_version: v1alpha1
GA:
api_version: v1
arguments:
resource:
help_text: Distributed Cloud Edge Network subnet to delete.
# The following should point to the resource argument definition under your
# surface's command_lib directory.:
spec: !REF googlecloudsdk.command_lib.edge_cloud.networking.resources:subnet
async:
collection: edgenetwork.projects.locations.operations

View File

@@ -0,0 +1,24 @@
release_tracks: [ALPHA, GA]
help_text:
brief: Show details about the Distributed Cloud Edge Network subnet.
description: |
Show details about the Distributed Cloud Edge Network subnet.
examples: |
To show details about a subnet named 'my-subnet' in the edge zone 'us-central1-edge-den1', run:
$ {command} my-subnet --location=us-central1 --zone=us-central1-edge-den1
request:
collection: edgenetwork.projects.locations.zones.subnets
ALPHA:
api_version: v1alpha1
GA:
api_version: v1
arguments:
resource:
help_text: The subnet you want to describe.
# The following should point to the resource argument definition under your
# surface's command_lib directory.:
spec: !REF googlecloudsdk.command_lib.edge_cloud.networking.resources:subnet

View File

@@ -0,0 +1,38 @@
- release_tracks: [ALPHA, GA]
help_text:
brief: List Distributed Cloud Edge Network subnets.
description: |
List Distributed Cloud Edge Network subnets.
examples: |
To list the subnets in the edge zone 'us-central1-edge-den1', run:
$ {command} --location=us-central1 --zone=us-central1-edge-den1
request:
collection: edgenetwork.projects.locations.zones.subnets
ALPHA:
api_version: v1alpha1
GA:
api_version: v1
response:
id_field: name
arguments:
resource:
help_text: Parent Distributed Cloud Edge Network zone to list all contained Distributed Cloud Edge Network subnets.
# The following should point to the parent resource argument definition
# under your surface's command_lib directory.:
spec: !REF googlecloudsdk.command_lib.edge_cloud.networking.resources:zone
output:
format: |
table(
name.basename():label=NAME,
network.basename():label=NETWORK,
vlanId:label=VLANID,
ipv4Cidr.list():label=IPV4CIDR,
ipv6Cidr.list():label=IPV6CIDR,
state.sub("STATE_", ""):label=STATE
)