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,35 @@
# -*- 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.
"""Commands for viewing and manipulating blockchain nodes."""
from __future__ import absolute_import
from __future__ import division
from __future__ import unicode_literals
from googlecloudsdk.calliope import base
@base.ReleaseTracks(base.ReleaseTrack.ALPHA)
class BlockchainNodes(base.Group):
"""Commands for viewing and manipulating blockchain nodes."""
BlockchainNodes.category = base.WEB3_CATEGORY
BlockchainNodes.detailed_help = {
'DESCRIPTION': """
Commands for viewing and manipulating blockchain nodes.
""",
}

View File

@@ -0,0 +1,98 @@
- release_tracks: [ALPHA]
help_text:
brief: |
Create a Blockchain Node Engine node.
description: |
Create a new Blockchain Node Engine node with the given name and configurations.
If run asynchronously with `--async`, exits after printing
one operation name that can be used to poll the status of the
creation via:
{top_command} operations describe
examples: |
To create a Blockchain Node Engine node with the name `my-node` in location
`us-central`, run:
$ {command} my-node --location=us-central1
request:
ALPHA:
api_version: v1
collection: blockchainnodeengine.projects.locations.blockchainNodes
arguments:
resource:
help_text: |
Arguments and flags that specify the Blockchain Node Engine node
you want to create.
spec: !REF googlecloudsdk.command_lib.blockchain_node_engine.resources:node
params:
- arg_name: blockchain-type
api_field: blockchainNode.blockchainType
default: ETHEREUM
help_text: |
Blockchain type the node will connect run on.
choices:
- arg_value: ethereum
enum_value: ETHEREUM
help_text: |
Ethereum blockchain.
- arg_name: network
api_field: blockchainNode.ethereumDetails.network
default: MAINNET
help_text: |
Blockchain network the node will connect to.
choices:
- arg_value: mainnet
enum_value: MAINNET
help_text: |
Primary Ethereum network, often referred to as mainnet.
- arg_value: goerli
enum_value: TESTNET_GOERLI_PRATER
help_text: |
Goerli & Prater Ethereum test network.
- arg_value: holesky
enum_value: TESTNET_HOLESKY
help_text: |
Holesky Ethereum test network.
- arg_value: sepolia
enum_value: TESTNET_SEPOLIA
help_text: |
Sepolia Ethereum test network.
- arg_name: node-type
api_field: blockchainNode.ethereumDetails.nodeType
default: FULL
help_text: |
Node type - defines whether the node retains only recent data or an archival history.
choices:
- arg_value: full
enum_value: FULL
help_text: |
Node retains full history required for consensus validation, however does not retain
archival data beyond that.
- arg_name: consensus-client
api_field: blockchainNode.ethereumDetails.consensusClient
default: LIGHTHOUSE
help_text: |
Consensus client for Ethereum nodes.
choices:
- arg_value: lighthouse
enum_value: LIGHTHOUSE
help_text: |
Lighthouse execution client.
- arg_name: execution-client
api_field: blockchainNode.ethereumDetails.executionClient
default: GETH
help_text: |
Execution client for Ethereum nodes.
choices:
- arg_value: geth
enum_value: GETH
help_text: |
Geth execution client.
async:
collection: blockchainnodeengine.projects.locations.operations
request_issued_message: |-
Create request issued for blockchain node [{__name__}].

View File

@@ -0,0 +1,37 @@
- release_tracks: [ALPHA]
help_text:
brief: |
Delete a Blockchain Node Engine node.
description: |
Delete a Blockchain Node Engine node.
This command can fail for the following reasons:
* The blockchain node specified does not exist.
* The active account does not have permission to delete the given
blockchain node.
examples: |
To delete a blockchain node with the name `my-node` in your default region,
run:
$ {command} my-node
request:
collection: blockchainnodeengine.projects.locations.blockchainNodes
ALPHA:
api_version: v1
arguments:
resource:
spec: !REF googlecloudsdk.command_lib.blockchain_node_engine.resources:node
help_text: |
Name of the blockchain node you want to delete.
async:
collection: blockchainnodeengine.projects.locations.operations
request_issued_message: |-
Delete request issued for blockchain node [{__name__}].
input:
confirmation_prompt: |
You are about to delete blockchain node [{__name__}] in [{locationsId}].

View File

@@ -0,0 +1,34 @@
- release_tracks: [ALPHA]
help_text:
brief: Describe a Blockchain Node Engine node.
description: Describe a Blockchain Node Engine node configuration and state.
examples: |
To describe a blockchain node with id `my-node`, run:
$ {command} my-node
request:
collection: blockchainnodeengine.projects.locations.blockchainNodes
ALPHA:
api_version: v1
arguments:
resource:
spec: !REF googlecloudsdk.command_lib.blockchain_node_engine.resources:node
help_text: |
Arguments and flags that specify the Blockchain Node Engine node you want
to describe.
output:
format: |
table(
name.basename(),
name.segment(-3):label=ZONE,
blockchainType:label=NETWORK,
ethereumDetails.network:label=CHAIN,
ethereumDetails.nodeType:label=TYPE,
ethereumDetails.executionClient:label=EXECUTION,
ethereumDetails.consensusClient:label=CONSENSUS,
connectionInfo.endpointInfo.jsonRpcApiEndpoint:label=JSON-RPC,
state:label=STATUS
)

View File

@@ -0,0 +1,40 @@
- release_tracks: [ALPHA]
help_text:
brief: List Blockchain Node Engine nodes
description: List Blockchain Node Engine nodes
examples: |
The following command lists the status of blockchain nodes in location `us-central1-b`:
$ {command} --location=us-central1-b
request:
collection: blockchainnodeengine.projects.locations.blockchainNodes
api_version: v1
response:
id_field: name
arguments:
resource:
help_text: |
Location from which to list blockchain nodes.
To find a list of compute zones available for Blockchain Node Engine nodes
in your project, run `{parent_command} locations list`.
spec: !REF googlecloudsdk.command_lib.blockchain_node_engine.resources:location
is_positional: false
output:
format: |
table(
name.basename(),
name.segment(-3):label=ZONE,
blockchainType:label=NETWORK,
ethereumDetails.network:label=CHAIN,
ethereumDetails.nodeType:label=TYPE,
ethereumDetails.executionClient:label=EXECUTION,
ethereumDetails.consensusClient:label=CONSENSUS,
connectionInfo.endpointInfo.jsonRpcApiEndpoint:label=JSON-RPC,
state:label=STATUS
)