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,31 @@
# -*- 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.
#
# NOTE: This file is autogenerated and should not be edited by hand.
# AUTOGEN_CLI_VERSION: HEAD
"""Manage blockchain validator configuration."""
from googlecloudsdk.calliope import base
from surface.blockchain_validator import _init_extensions as extensions
@base.ReleaseTracks(base.ReleaseTrack.ALPHA)
@base.Autogenerated
class BlockchainValidatorAlpha(extensions.BlockchainValidatorAlpha):
"""Manage blockchain validator configurations.
Configurations can be deployed to blockchain nodes running under
Blockchain Node Engine.
"""

View File

@@ -0,0 +1,34 @@
# -*- coding: utf-8 -*- #
# Copyright 2024 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.
#
# NOTE: This file is autogenerated and should not be edited by hand.
# AUTOGEN_CLI_VERSION: HEAD
"""File to add optional custom code to extend __init__.py."""
from googlecloudsdk.calliope import base
class BlockchainValidatorAlpha(base.Group):
"""Optional no-auto-generated code for ALPHA."""
category = base.UNCATEGORIZED_CATEGORY
class BlockchainValidatorBeta(base.Group):
"""Optional no-auto-generated code for BETA."""
category = base.UNCATEGORIZED_CATEGORY
class BlockchainValidatorGa(base.Group):
"""Optional no-auto-generated code for GA."""
category = base.UNCATEGORIZED_CATEGORY

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.
#
# NOTE: This file is autogenerated and should not be edited by hand.
# AUTOGEN_CLI_VERSION: HEAD
"""Manage blockchain validator configurations."""
from googlecloudsdk.calliope import base
from surface.blockchain_validator.blockchain_validator_configs import _init_extensions as extensions
@base.ReleaseTracks(base.ReleaseTrack.ALPHA)
@base.Autogenerated
class BlockchainValidatorConfigsAlpha(
extensions.BlockchainValidatorConfigsAlpha
):
"""Manage blockchain validator configurations."""

View File

@@ -0,0 +1,31 @@
# -*- coding: utf-8 -*- #
# Copyright 2024 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.
#
# NOTE: This file is autogenerated and should not be edited by hand.
# AUTOGEN_CLI_VERSION: HEAD
"""File to add optional custom code to extend __init__.py."""
from googlecloudsdk.calliope import base
class BlockchainValidatorConfigsAlpha(base.Group):
"""Optional no-auto-generated code for ALPHA."""
class BlockchainValidatorConfigsBeta(base.Group):
"""Optional no-auto-generated code for BETA."""
class BlockchainValidatorConfigsGa(base.Group):
"""Optional no-auto-generated code for GA."""

View File

@@ -0,0 +1,331 @@
# -*- 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.
#
# NOTE: This file is autogenerated and should not be edited by hand.
# AUTOGEN_CLI_VERSION: HEAD
- release_tracks:
- ALPHA
auto_generated: true
help_text:
brief: Create a blockchain validator configuration
description: |
Create a blockchain validator configuration on a blockchain node managed by Blockchain Node
Engine.
examples: |-
To create an Ethereum validator configuration `my-validator` in the project `my-project`
and location `us-central1`, using a new seed phrase which is exported to Secret Manager,
and deploy it to the blockchain node `my-node`, run:
$ {command} my-validator --location=us-central1 --project=my-project
--validation-work-enabled=false
--blockchain-type=ETHEREUM --key-source=SEED_PHRASE_REFERENCE
--seed-phrase-reference-secret=projects/my-project/secrets/my-seed-phrase
--seed-phrase-reference-export=true
--blockchain-node-id=projects/my-project/locations/us-central1/blockchainNodes/my-node
arguments:
params:
- group:
mutex: true
help_text: |-
Arguments for the blockchain node.
params:
- arg_name: blockchain-node-id
api_field: blockchainValidatorConfig.blockchainNodeId
required: false
repeated: false
help_text: |-
The fully qualified name of the blockchain node which carries out work
on behalf of the validator. If not set, the validator must either be
operated outside of Blockchain Validator Manager, or it will be offline
(no attestations or blocks will be produced).
If this node is offline or deleted, the validator will be offline.
- group:
mutex: true
help_text: |-
Arguments for the blockchain type details.
params:
- group:
api_field: blockchainValidatorConfig.ethereumProtocolDetails
required: false
help_text: |-
Blockchain validator configuration unique to Ethereum blockchains.
params:
- group:
mutex: true
help_text: |-
Arguments for the graffiti.
params:
- arg_name: ethereum-protocol-details-graffiti
api_field: blockchainValidatorConfig.ethereumProtocolDetails.graffiti
required: false
repeated: false
help_text: |-
Graffiti is a custom string published in blocks proposed by the
validator. This can only be written, as the current value cannot be read
back from the validator client API. See
https://lighthouse-book.sigmaprime.io/graffiti.html for an example of
how this is used.
If not set, the validator client's default is used.
If no blockchain node is specified, this has no effect as no validator
client is run.
- group:
mutex: true
help_text: |-
Arguments for the use block builder proposals.
params:
- arg_name: ethereum-protocol-details-use-block-builder-proposals
api_field: blockchainValidatorConfig.ethereumProtocolDetails.useBlockBuilderProposals
action: store_true
required: false
type: bool
help_text: |-
Enable use of the external block building services (MEV).
default: null
- group:
mutex: true
help_text: |-
Arguments for the gas limit.
params:
- arg_name: ethereum-protocol-details-gas-limit
api_field: blockchainValidatorConfig.ethereumProtocolDetails.gasLimit
required: false
repeated: false
type: long
help_text: |-
Optionally requested (not enforced) maximum gas per block. This is sent
to the block builder service, however whether it is followed depends on
the service. This field is only read if the field
use_block_builder_proposals is set to true. If not specified, the
validator client will use a default value.
- group:
mutex: true
help_text: |-
Arguments for the deposit gwei.
params:
- arg_name: ethereum-protocol-details-deposit-gwei
api_field: blockchainValidatorConfig.ethereumProtocolDetails.depositGwei
required: false
repeated: false
type: long
help_text: |-
The number of Gwei (Ethereum currency unit) initially deposited for the
validator. This is set when the deposit is made and cannot be changed.
- group:
mutex: true
help_text: |-
Arguments for the eth1 withdrawal address.
params:
- arg_name: ethereum-protocol-details-eth1-withdrawal-address
api_field: blockchainValidatorConfig.ethereumProtocolDetails.eth1WithdrawalAddress
required: false
repeated: false
help_text: |-
The Ethereum wallet address to which withdrawals are sent. Once set
this cannot be changed.
- arg_name: ethereum-protocol-details-suggested-fee-recipient
api_field: blockchainValidatorConfig.ethereumProtocolDetails.suggestedFeeRecipient
required: true
repeated: false
help_text: |-
The Ethereum address to which fee rewards should be sent. This can only
be set when creating the validator.
If no blockchain node is specified for the validator, this has no effect
as no validator client is run.
See also
https://lighthouse-book.sigmaprime.io/suggested-fee-recipient.html for
more context.
- group:
mutex: true
help_text: |-
Arguments for the key source config.
params:
- group:
api_field: blockchainValidatorConfig.remoteWeb3Signer
required: false
help_text: |-
Configuration to use an external key signing service, such as the service
endpoint. The external key signer is expected to be managed entirely by the
customer. For reference see
https://docs.web3signer.consensys.net/ for details on Web3Signer and
https://docs.web3signer.consensys.net/reference/api/json-rpc for the API
exposed by the external service.
params:
- group:
mutex: true
help_text: |-
Arguments for the timeout duration.
params:
- arg_name: remote-web3-signer-timeout-duration
api_field: blockchainValidatorConfig.remoteWeb3Signer.timeoutDuration
required: false
repeated: false
type: googlecloudsdk.core.util.times:ParseDuration
processor: googlecloudsdk.core.util.times:FormatDurationForJson
help_text: |-
Timeout for requests to the Web3Signer service. If not set, a default
timeout of 12 seconds is used.
- arg_name: remote-web3-signer-voting-public-key
api_field: blockchainValidatorConfig.remoteWeb3Signer.votingPublicKey
required: true
repeated: false
help_text: |-
The public key of the validator, as a hexadecimal string prefixed with
"0x". This is used as the identifier for the key when sending requests
to the Web3Signer service.
- arg_name: remote-web3-signer-web3signer-uri
api_field: blockchainValidatorConfig.remoteWeb3Signer.web3signerUri
required: true
repeated: false
help_text: |-
URI of the Web3Signer service the validator client connects to, to
request signing of attestations, blocks, etc.
- group:
api_field: blockchainValidatorConfig.seedPhraseReference
required: false
help_text: |-
Derivation path used to generate the voting key, and optionally Secret
Manager secret to backup the seed phrase to.
params:
- arg_name: seed-phrase-reference-secret
help_text: |-
Reference into Secret Manager for where the seed phrase is stored.
is_positional: false
is_primary_resource: false
resource_spec: !REF googlecloudsdk.command_lib.blockchain_validator.v1_resources:projects_locations_or_projects_secrets
resource_method_params:
blockchainValidatorConfig.seedPhraseReference.seedPhraseSecret: '{__relative_name__}'
required: true
- arg_name: seed-phrase-reference-export
api_field: blockchainValidatorConfig.seedPhraseReference.exportSeedPhrase
action: store_true
required: false
type: bool
help_text: |-
True to export the seed phrase to Secret Manager.
default: null
- group:
api_field: blockchainValidatorConfig.existingSeedPhraseReference
required: false
help_text: |-
Location of existing seed material, and derivation path used to generate
the voting key.
params:
- arg_name: existing-seed-phrase-reference-secret
help_text: |-
Reference into Secret Manager for where the seed phrase is stored.
is_positional: false
is_primary_resource: false
resource_spec: !REF googlecloudsdk.command_lib.blockchain_validator.v1_resources:projects_locations_or_projects_secrets
resource_method_params:
blockchainValidatorConfig.existingSeedPhraseReference.seedPhraseSecret: '{__relative_name__}'
required: true
- arg_name: existing-seed-phrase-reference-derivation-index
api_field: blockchainValidatorConfig.existingSeedPhraseReference.derivationIndex
required: false
repeated: false
type: int
help_text: |-
The index to derive the voting key at, used as part of a derivation path.
The derivation path is built from this as
"m/12381/3600/<derivation_index>/0/0"
See also https://eips.ethereum.org/EIPS/eip-2334#eth2-specific-parameters
- help_text: |-
Identifier. The name of the validator. It must have the format
`"projects/{project}/locations/{location}/blockchainValidatorConfigs/{validator}"`.
`{validator}` must contain only letters (`[A-Za-z]`), numbers (`[0-9]`),
dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or
percent signs (`%`). It must be between 3 and 255 characters in length, and
it must not start with `"goog"`.
is_positional: true
is_primary_resource: true
request_id_field: blockchainValidatorConfigId
resource_spec: !REF googlecloudsdk.command_lib.blockchain_validator.v1_resources:projects_locations_blockchain_validator_configs
required: true
- arg_name: labels
api_field: blockchainValidatorConfig.labels
required: false
repeated: true
help_text: |-
Labels as key value pairs
spec:
- api_field: key
- api_field: value
- arg_name: validation-work-enabled
api_field: blockchainValidatorConfig.validationWorkEnabled
action: store_true_false
required: true
type: bool
help_text: |-
True if the blockchain node requests and signs attestations and blocks on
behalf of this validator, false if not.
This does NOT define whether the blockchain expects work to occur, only
whether the blockchain node specified above is carrying out validation
tasks. This should be enabled under normal conditions, but may be useful
when migrating validators to/from Blockchain Node Engine, where the
validator may be paused during the migration.
- arg_name: blockchain-type
api_field: blockchainValidatorConfig.blockchainType
required: true
help_text: |-
The blockchain type of the validator.
choices:
- arg_value: ethereum
enum_value: ETHEREUM
help_text: |-
The blockchain type is Ethereum.
- arg_name: key-source
api_field: blockchainValidatorConfig.keySource
required: true
help_text: |-
The source of the voting key for the blockchain validator.
choices:
- arg_value: remote-web3-signer
enum_value: REMOTE_WEB3_SIGNER
help_text: |-
The voting key is stored in a remote signing service (Web3Signer) and
signing requests are delegated.
- arg_value: seed-phrase-reference
enum_value: SEED_PHRASE_REFERENCE
help_text: |-
Derive voting keys from new seed material.
- arg_value: existing-seed-phrase-reference
enum_value: EXISTING_SEED_PHRASE_REFERENCE
help_text: |-
Derive voting keys from existing seed material.
- arg_name: request-id
api_field: requestId
required: false
repeated: false
help_text: |-
An optional request ID to identify requests. Specify a unique request ID
so that if you must retry your request, the server will know to ignore
the request if it has already been completed. The server will guarantee
that for at least 60 minutes since the first request.
For example, consider a situation where you make an initial request and the
request times out. If you make the request again with the same request
ID, the server can check if original operation with the same request ID
was received, and if so, will ignore the second request. This prevents
clients from accidentally creating duplicate commitments.
The request ID must be a valid UUID with the exception that zero UUID is
not supported (00000000-0000-0000-0000-000000000000).
request:
api_version: v1
collection:
- blockchainvalidatormanager.projects.locations.blockchainValidatorConfigs
async:
collection:
- blockchainvalidatormanager.projects.locations.operations

View File

@@ -0,0 +1,62 @@
# -*- 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.
#
# NOTE: This file is autogenerated and should not be edited by hand.
# AUTOGEN_CLI_VERSION: HEAD
- release_tracks:
- ALPHA
auto_generated: true
help_text:
brief: Delete a single blockchain validator configuration
description: |
Delete a single blockchain validator configuration from a blockchain node.
examples: |-
To delete a blockchain validator configuration `my-validator` in
the project `my-project` and location `us-central1` run:
$ {command} my-validator --location=us-central1 --project=my-project
arguments:
params:
- help_text: |-
Name of the resource
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.blockchain_validator.v1_resources:projects_locations_blockchain_validator_configs
required: true
- arg_name: request-id
api_field: requestId
required: false
repeated: false
help_text: |-
An optional request ID to identify requests. Specify a unique request ID
so that if you must retry your request, the server will know to ignore
the request if it has already been completed. The server will guarantee
that for at least 60 minutes after the first request.
For example, consider a situation where you make an initial request and the
request times out. If you make the request again with the same request
ID, the server can check if original operation with the same request ID
was received, and if so, will ignore the second request. This prevents
clients from accidentally creating duplicate commitments.
The request ID must be a valid UUID with the exception that zero UUID is
not supported (00000000-0000-0000-0000-000000000000).
request:
api_version: v1
collection:
- blockchainvalidatormanager.projects.locations.blockchainValidatorConfigs
async:
collection:
- blockchainvalidatormanager.projects.locations.operations

View File

@@ -0,0 +1,45 @@
# -*- 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.
#
# NOTE: This file is autogenerated and should not be edited by hand.
# AUTOGEN_CLI_VERSION: HEAD
- release_tracks:
- ALPHA
auto_generated: true
help_text:
brief: Get details of a single blockchain validator configuration
description: |
Get details of a single blockchain validator configuration.
examples: |-
To get the details of a single validator `my-validator` in the project `my-project` and
location `us-central1` run:
$ {command} my-validator --location=us-central1 --project=my-project
arguments:
params:
- help_text: |-
The resource name of the validator config. This is derived from the public
key, however it is sensitive due to the inclusion of the project ID in the
resource name.
e.g.
`projects/my-project/locations/us-central1/blockchainValidatorConfigs/0xa75dbe920352d3e91d06bd8cfe8eb678677127f8748854a7a8894e3c121b63169259448a4b63e5cfb992da412ac91c30`.
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.blockchain_validator.v1_resources:projects_locations_blockchain_validator_configs
required: true
request:
api_version: v1
collection:
- blockchainvalidatormanager.projects.locations.blockchainValidatorConfigs

View File

@@ -0,0 +1,403 @@
# -*- coding: utf-8 -*- #
# Copyright 2024 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.
#
# NOTE: This file is autogenerated and should not be edited by hand.
# AUTOGEN_CLI_VERSION: HEAD
- release_tracks:
- ALPHA
auto_generated: true
hidden: true
help_text:
brief: Generate one or more blockchain validator configurations
description: |
Generate one or more blockchain validator configurations, optionally with a new managed
blockchain node.
examples: |-
To create an Ethereum validator configuration `my-validator` in the project `my-project`
and location `us-central1`, using a new seed phrase which is exported to Secret Manager,
and deploy it to the blockchain node `my-node`, run:
$ {command} my-validator --location=us-central1 --project=my-project \
--blockchain-validator-config-template-validation-work-enabled=false \
--blockchain-validator-config-template-blockchain-type=ETHEREUM \
--blockchain-validator-config-template-key-source=SEED_PHRASE_REFERENCE \
--blockchain-validator-config-template-seed-phrase-reference-template-seed-phrase-secret=projects/my-project/secrets/my-seed-phrase \
--blockchain-validator-config-template-seed-phrase-reference-template-export-seed-phrase=true \
--blockchain-validator-config-template-blockchain-node-source=USE_EXISTING_NODE \
--blockchain-validator-config-template-blockchain-node-id=projects/my-project/locations/us-central1/blockchainNodes/my-node
arguments:
params:
- help_text: |-
The parent location to create validator configurations under.
Format: projects/{project_number}/locations/{location}.
is_positional: false
is_parent_resource: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.blockchain_validator.v1alpha_resources:project_location
required: true
- group:
mutex: true
help_text: |-
Arguments for the blockchain type details.
params:
- group:
required: false
help_text: |-
Blockchain validator configuration unique to Ethereum blockchains.
params:
- group:
mutex: true
help_text: |-
Arguments for the graffiti.
params:
- arg_name: ethereum-protocol-details-graffiti
api_field: generateBlockchainValidatorConfigsRequest.blockchainValidatorConfigTemplate.ethereumProtocolDetails.graffiti
required: false
repeated: false
help_text: |-
Graffiti is a custom string published in blocks proposed by the
validator. This can only be written, as the current value cannot be read
back from the validator client API. See
https://lighthouse-book.sigmaprime.io/graffiti.html for an example of
how this is used.
If not set, the validator client's default is used.
If no blockchain node is specified, this has no effect as no validator
client is run.
- group:
mutex: true
help_text: |-
Arguments for the use block builder proposals.
params:
- arg_name: ethereum-protocol-details-use-block-builder-proposals
api_field: generateBlockchainValidatorConfigsRequest.blockchainValidatorConfigTemplate.ethereumProtocolDetails.useBlockBuilderProposals
action: store_true
required: false
type: bool
help_text: |-
Enable use of the external block building services (MEV).
- group:
mutex: true
help_text: |-
Arguments for the gas limit.
params:
- arg_name: ethereum-protocol-details-gas-limit
api_field: generateBlockchainValidatorConfigsRequest.blockchainValidatorConfigTemplate.ethereumProtocolDetails.gasLimit
required: false
repeated: false
type: long
help_text: |-
Optionally requested (not enforced) maximum gas per block. This is sent
to the block builder service, however whether it is followed depends on
the service. This field is only read if the field
use_block_builder_proposals is set to true. If not specified, the
validator client will use a default value.
- arg_name: ethereum-protocol-details-suggested-fee-recipient
api_field: generateBlockchainValidatorConfigsRequest.blockchainValidatorConfigTemplate.ethereumProtocolDetails.suggestedFeeRecipient
required: false
repeated: false
help_text: |-
The Ethereum address to which fee rewards should be sent. This can only
be set when creating the validator.
If no blockchain node is specified for the validator, this has no effect
as no validator client is run.
See also
https://lighthouse-book.sigmaprime.io/suggested-fee-recipient.html for
more context.
- group:
mutex: true
help_text: |-
Arguments for the key source config.
params:
- group:
required: false
help_text: |-
Configuration to use an external key signing service, such as the service
endpoint. The external key signer is expected to be managed entirely by the
customer. For reference see
https://docs.web3signer.consensys.net/ for details on Web3Signer and
https://docs.web3signer.consensys.net/reference/api/json-rpc for the API
exposed by the external service.
params:
- group:
mutex: true
help_text: |-
Arguments for the root certificate.
params:
- arg_name: remote-web3-signer-root-certificate
api_field: generateBlockchainValidatorConfigsRequest.blockchainValidatorConfigTemplate.remoteWeb3Signer.rootCertificate
required: false
repeated: false
help_text: |
PEM-format X.509 certificate corresponding to the URI of the Web3Signer.
An example of this can be found on
https://www.ssl.com/guide/pem-der-crt-and-cer-x-509-encodings-and-conversions/
When not set, the validator client will only accept TLS certificates
signed by well known certificate authorities (as in, the set configured
by default in the OS Docker image).
- arg_name: remote-web3-signer-web3signer-uri
api_field: generateBlockchainValidatorConfigsRequest.blockchainValidatorConfigTemplate.remoteWeb3Signer.web3signerUri
required: true
repeated: false
help_text: |-
URI of the Web3Signer service the validator client connects to, to
request signing of attestations, blocks, etc.
- arg_name: remote-web3-signer-timeout-duration
api_field: generateBlockchainValidatorConfigsRequest.blockchainValidatorConfigTemplate.remoteWeb3Signer.timeoutDuration
required: false
repeated: false
type: googlecloudsdk.core.util.times:ParseDuration
processor: googlecloudsdk.core.util.times:FormatDurationForJson
help_text: |-
Timeout for requests to the Web3Signer service.
- arg_name: remote-web3-signer-voting-public-keys
api_field: generateBlockchainValidatorConfigsRequest.blockchainValidatorConfigTemplate.remoteWeb3Signer.votingPublicKeys
required: true
repeated: true
help_text: |-
The public key of the validator, as a hexadecimal string prefixed with
"0x". This is used as the identifier for the key when sending requests
to the Web3Signer service.
- group:
required: false
help_text: |-
Configuration for creating voting keys from a new seed phrase, and
optionally location to back it up to, in Secret Manager.
params:
- arg_name: seed-phrase-reference-secret
help_text: |-
Reference into Secret Manager for where the seed phrase is stored.
is_positional: false
resource_spec: !REF googlecloudsdk.command_lib.blockchain_validator.v1alpha_resources:project_location_or_project_secret
resource_method_params:
generateBlockchainValidatorConfigsRequest.blockchainValidatorConfigTemplate.seedPhraseReference.seedPhraseSecret: '{__relative_name__}'
required: true
- arg_name: seed-phrase-reference-export
api_field: generateBlockchainValidatorConfigsRequest.blockchainValidatorConfigTemplate.seedPhraseReference.exportSeedPhrase
action: store_true
required: false
type: bool
help_text: |-
True to export the seed phrase to Secret Manager.
- arg_name: seed-phrase-reference-key-count
api_field: generateBlockchainValidatorConfigsRequest.blockchainValidatorConfigTemplate.seedPhraseReference.keyCount
required: true
repeated: false
type: int
help_text: |-
Number of keys (and therefore validators) to derive from the seed phrase.
Must be between 1 and 1,000.
- group:
required: false
help_text: |-
Location of the seed material, and derivation path used to generate the
voting key.
params:
- group:
mutex: true
help_text: |-
Arguments for the derivation base.
params:
- arg_name: existing-seed-phrase-reference-derivation-base
api_field: generateBlockchainValidatorConfigsRequest.blockchainValidatorConfigTemplate.existingSeedPhraseReference.derivationBase
required: false
repeated: false
type: int
help_text: |-
The first derivation index to use when deriving keys. Must be 0
or greater.
- arg_name: existing-seed-phrase-reference-secret
help_text: |-
Reference into Secret Manager for where the seed phrase is stored.
is_positional: false
resource_spec: !REF googlecloudsdk.command_lib.blockchain_validator.v1alpha_resources:project_location_or_project_secret
resource_method_params:
generateBlockchainValidatorConfigsRequest.blockchainValidatorConfigTemplate.existingSeedPhraseReference.seedPhraseSecret: '{__relative_name__}'
required: true
- arg_name: existing-seed-phrase-reference-key-count
api_field: generateBlockchainValidatorConfigsRequest.blockchainValidatorConfigTemplate.existingSeedPhraseReference.keyCount
required: true
repeated: false
type: int
help_text: |-
Number of keys (and therefore validators) to derive from the seed phrase.
Must be between 1 and 1,000.
- group:
mutex: true
help_text: |-
Arguments for the blockchain node source config.
params:
- group:
required: false
help_text: |-
Configuration for creating a new blockchain node to deploy the blockchain
validator(s) to.
params:
- group:
mutex: true
help_text: |-
Arguments for the blockchain node details.
params:
- group:
required: false
help_text: |-
Ethereum-specific blockchain node details.
params:
- group:
mutex: true
help_text: |-
Arguments for the network.
params:
- arg_name: new-blockchain-node-source-ethereum-details-network
api_field: generateBlockchainValidatorConfigsRequest.blockchainValidatorConfigTemplate.newBlockchainNodeSource.ethereumDetails.network
required: true
help_text: |-
The Ethereum environment being accessed.
choices:
- arg_value: mainnet
enum_value: MAINNET
help_text: |-
The Ethereum Mainnet.
- arg_value: testnet-goerli-prater
enum_value: TESTNET_GOERLI_PRATER
help_text: |-
Deprecated: The Ethereum Testnet based on Goerli protocol. Holesky
(TESTNET_HOLESKY) is the recommended testnet to replace Goerli.
- arg_value: testnet-sepolia
enum_value: TESTNET_SEPOLIA
help_text: |-
The Ethereum Testnet based on Sepolia/Bepolia protocol.
See https://github.com/eth-clients/sepolia.
- arg_value: testnet-holesky
enum_value: TESTNET_HOLESKY
help_text: |-
The Ethereum Testnet based on Holesky specification.
See https://github.com/eth-clients/holesky.
- group:
mutex: true
help_text: |-
Arguments for the execution client.
params:
- arg_name: new-blockchain-node-source-ethereum-details-execution-client
api_field: generateBlockchainValidatorConfigsRequest.blockchainValidatorConfigTemplate.newBlockchainNodeSource.ethereumDetails.executionClient
required: true
help_text: |-
The execution client
choices:
- arg_value: geth
enum_value: GETH
help_text: |-
Official Go implementation of the Ethereum protocol.
See [go-ethereum](https://geth.ethereum.org/) for details.
- group:
mutex: true
help_text: |-
Arguments for the consensus client.
params:
- arg_name: new-blockchain-node-source-ethereum-details-consensus-client
api_field: generateBlockchainValidatorConfigsRequest.blockchainValidatorConfigTemplate.newBlockchainNodeSource.ethereumDetails.consensusClient
required: true
help_text: |-
The consensus client.
choices:
- arg_value: lighthouse
enum_value: LIGHTHOUSE
help_text: |-
Consensus client implementation written in Rust, maintained by Sigma
Prime. See [Lighthouse - Sigma
Prime](https://lighthouse.sigmaprime.io/) for details.
- arg_name: new-blockchain-node-source-ethereum-details-mev-relay-urls
api_field: generateBlockchainValidatorConfigsRequest.blockchainValidatorConfigTemplate.newBlockchainNodeSource.ethereumDetails.mevRelayUrls
required: false
repeated: true
help_text: |-
URLs for MEV-relay services to use for block building. When set, a
Google Cloud managed MEV-boost service is configured on the beacon
client.
- group:
required: false
help_text: |-
Configuration for deploying blockchain validators to an existing blockchain
node.
params:
- arg_name: existing-blockchain-node-source-id
api_field: generateBlockchainValidatorConfigsRequest.blockchainValidatorConfigTemplate.existingBlockchainNodeSource.blockchainNodeId
required: false
repeated: false
help_text: |-
Name of the blockchain node to deploy the validators to. If not set,
the validators are not deployed.
- arg_name: blockchain-validator-config-template-validation-work-enabled
api_field: generateBlockchainValidatorConfigsRequest.blockchainValidatorConfigTemplate.validationWorkEnabled
action: store_true
required: true
type: bool
help_text: |-
True if the blockchain node requests and signs attestations and blocks on
behalf of this validator, false if not. This does NOT define whether the
blockchain expects work to occur, only whether the blockchain node
specified above is carrying out validation tasks.
- arg_name: blockchain-validator-config-template-type
api_field: generateBlockchainValidatorConfigsRequest.blockchainValidatorConfigTemplate.blockchainType
required: true
help_text: |-
The blockchain type of the validator.
choices:
- arg_value: ethereum
enum_value: ETHEREUM
help_text: |-
The blockchain type is Ethereum.
- arg_name: blockchain-validator-config-template-key-source
api_field: generateBlockchainValidatorConfigsRequest.blockchainValidatorConfigTemplate.keySource
required: true
help_text: |-
The source of the voting key for the blockchain validator.
choices:
- arg_value: remote-web3-signer
enum_value: REMOTE_WEB3_SIGNER
help_text: |-
The voting key is stored in a remote signing service (Web3Signer) and
signing requests are delegated.
- arg_value: seed-phrase-reference
enum_value: SEED_PHRASE_REFERENCE
help_text: |-
Derive voting keys from new seed material.
- arg_value: existing-seed-phrase-reference
enum_value: EXISTING_SEED_PHRASE_REFERENCE
help_text: |-
Derive voting keys from existing seed material.
- arg_name: blockchain-validator-config-template-node-source
api_field: generateBlockchainValidatorConfigsRequest.blockchainValidatorConfigTemplate.blockchainNodeSource
required: true
help_text: |-
The source of the blockchain node for the validator configurations to be
deployed to.
choices:
- arg_value: new-blockchain-node
enum_value: NEW_BLOCKCHAIN_NODE
help_text: |-
Create a new blockchain node to deploy the validators to.
- arg_value: existing-blockchain-node
enum_value: EXISTING_BLOCKCHAIN_NODE
help_text: |-
Deploying blockchain validators to an existing blockchain node,
or to no node.
request:
api_version: v1alpha
collection:
- blockchainvalidatormanager.projects.locations.blockchainValidatorConfigs
method: generate
async:
collection:
- blockchainvalidatormanager.projects.locations.operations

View File

@@ -0,0 +1,50 @@
# -*- 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.
#
# NOTE: This file is autogenerated and should not be edited by hand.
# AUTOGEN_CLI_VERSION: HEAD
- release_tracks:
- ALPHA
auto_generated: true
help_text:
brief: List blockchain validator configs
description: |
List blockchain validator configs.
examples: |-
To list all blockchain validators in the project `my-project` and location `us-central1` run:
$ {command} --location=us-central1 --project=my-project
arguments:
params:
- help_text: |-
The location to list blockchain validator configurations within.
is_positional: false
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.blockchain_validator.v1_resources:projects_locations
required: true
request:
api_version: v1
collection:
- blockchainvalidatormanager.projects.locations.blockchainValidatorConfigs
response:
id_field: name
output:
format: |-
table(name,
blockchainType:label=Network,
blockchainNodeId:label='Node ID',
validationWorkEnabled:label=Enabled,
createTime,
updateTime)

View File

@@ -0,0 +1,178 @@
# -*- 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.
#
# NOTE: This file is autogenerated and should not be edited by hand.
# AUTOGEN_CLI_VERSION: HEAD
- release_tracks:
- ALPHA
auto_generated: true
help_text:
brief: Update the configuration of a single blockchain validator
description: |
Update the configuration of a single blockchain validator.
examples: |-
To enable validation work on a previously disabled blockchain validator `my-validator` in
the project `my-project` and location `us-central1` run:
$ {command} my-validator --location=us-central1 --project=my-project \
--validation-work-enabled=true
arguments:
params:
- group:
mutex: true
help_text: |-
Arguments for the blockchain node.
params:
- arg_name: blockchain-node-id
api_field: blockchainValidatorConfig.blockchainNodeId
required: false
repeated: false
help_text: |-
The fully qualified name of the blockchain node which carries out work
on behalf of the validator. If not set, the validator must either be
operated outside of Blockchain Validator Manager, or it will be offline
(no attestations or blocks will be produced).
If this node is offline or deleted, the validator will be offline.
- group:
mutex: true
help_text: |-
Arguments for the blockchain type details.
params:
- group:
api_field: blockchainValidatorConfig.ethereumProtocolDetails
arg_name: ethereum-protocol-details
clearable: true
required: false
help_text: |-
Blockchain validator configuration unique to Ethereum blockchains.
params:
- group:
mutex: true
help_text: |-
Arguments for the graffiti.
params:
- arg_name: ethereum-protocol-details-graffiti
api_field: blockchainValidatorConfig.ethereumProtocolDetails.graffiti
required: false
repeated: false
help_text: |-
Graffiti is a custom string published in blocks proposed by the
validator. This can only be written, as the current value cannot be read
back from the validator client API. See
https://lighthouse-book.sigmaprime.io/graffiti.html for an example of
how this is used.
If not set, the validator client's default is used.
If no blockchain node is specified, this has no effect as no validator
client is run.
- group:
mutex: true
help_text: |-
Arguments for the key source config.
params:
- group:
api_field: blockchainValidatorConfig.remoteWeb3Signer
arg_name: remote-web3-signer
clearable: true
required: false
help_text: |-
Configuration to use an external key signing service, such as the service
endpoint. The external key signer is expected to be managed entirely by the
customer. For reference see
https://docs.web3signer.consensys.net/ for details on Web3Signer and
https://docs.web3signer.consensys.net/reference/api/json-rpc for the API
exposed by the external service.
params:
- group:
mutex: true
help_text: |-
Arguments for the timeout duration.
params:
- arg_name: remote-web3-signer-timeout-duration
api_field: blockchainValidatorConfig.remoteWeb3Signer.timeoutDuration
required: false
repeated: false
type: googlecloudsdk.core.util.times:ParseDuration
processor: googlecloudsdk.core.util.times:FormatDurationForJson
help_text: |-
Timeout for requests to the Web3Signer service. If not set, a default
timeout of 12 seconds is used.
- arg_name: remote-web3-signer-web3signer-uri
api_field: blockchainValidatorConfig.remoteWeb3Signer.web3signerUri
required: false
repeated: false
help_text: |-
URI of the Web3Signer service the validator client connects to, to
request signing of attestations, blocks, etc.
- help_text: |-
Identifier. The name of the validator. It must have the format
`"projects/{project}/locations/{location}/blockchainValidatorConfigs/{validator}"`.
`{validator}` must contain only letters (`[A-Za-z]`), numbers (`[0-9]`),
dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or
percent signs (`%`). It must be between 3 and 255 characters in length, and
it must not start with `"goog"`.
is_positional: true
is_primary_resource: true
resource_spec: !REF googlecloudsdk.command_lib.blockchain_validator.v1_resources:projects_locations_blockchain_validator_configs
required: true
- arg_name: labels
api_field: blockchainValidatorConfig.labels
required: false
repeated: true
help_text: |-
Labels as key value pairs
clearable: true
spec:
- api_field: key
- api_field: value
- arg_name: validation-work-enabled
api_field: blockchainValidatorConfig.validationWorkEnabled
action: store_true_false
required: false
type: bool
help_text: |-
True if the blockchain node requests and signs attestations and blocks on
behalf of this validator, false if not.
This does NOT define whether the blockchain expects work to occur, only
whether the blockchain node specified above is carrying out validation
tasks. This should be enabled under normal conditions, but may be useful
when migrating validators to/from Blockchain Node Engine, where the
validator may be paused during the migration.
- arg_name: request-id
api_field: requestId
required: false
repeated: false
help_text: |-
An optional request ID to identify requests. Specify a unique request ID
so that if you must retry your request, the server will know to ignore
the request if it has already been completed. The server will guarantee
that for at least 60 minutes since the first request.
For example, consider a situation where you make an initial request and the
request times out. If you make the request again with the same request
ID, the server can check if original operation with the same request ID
was received, and if so, will ignore the second request. This prevents
clients from accidentally creating duplicate commitments.
The request ID must be a valid UUID with the exception that zero UUID is
not supported (00000000-0000-0000-0000-000000000000).
request:
api_version: v1
collection:
- blockchainvalidatormanager.projects.locations.blockchainValidatorConfigs
async:
collection:
- blockchainvalidatormanager.projects.locations.operations
update:
read_modify_update: true

View File

@@ -0,0 +1,18 @@
# -*- 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.
#
# NOTE: This file is autogenerated and should not be edited by hand.
# AUTOGEN_CLI_VERSION: HEAD
_PARTIALS_: true

View File

@@ -0,0 +1,18 @@
# -*- 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.
#
# NOTE: This file is autogenerated and should not be edited by hand.
# AUTOGEN_CLI_VERSION: HEAD
_PARTIALS_: true

View File

@@ -0,0 +1,18 @@
# -*- 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.
#
# NOTE: This file is autogenerated and should not be edited by hand.
# AUTOGEN_CLI_VERSION: HEAD
_PARTIALS_: true

View File

@@ -0,0 +1,18 @@
# -*- 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.
#
# NOTE: This file is autogenerated and should not be edited by hand.
# AUTOGEN_CLI_VERSION: HEAD
_PARTIALS_: true

View File

@@ -0,0 +1,18 @@
# -*- 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.
#
# NOTE: This file is autogenerated and should not be edited by hand.
# AUTOGEN_CLI_VERSION: HEAD
_PARTIALS_: true

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.
#
# NOTE: This file is autogenerated and should not be edited by hand.
# AUTOGEN_CLI_VERSION: HEAD
"""Manage Operation resources."""
from googlecloudsdk.calliope import base
from surface.blockchain_validator.operations import _init_extensions as extensions
@base.ReleaseTracks(base.ReleaseTrack.ALPHA)
@base.Autogenerated
class OperationsAlpha(extensions.OperationsAlpha):
"""Manage Operation resources."""

View File

@@ -0,0 +1,31 @@
# -*- coding: utf-8 -*- #
# Copyright 2024 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.
#
# NOTE: This file is autogenerated and should not be edited by hand.
# AUTOGEN_CLI_VERSION: HEAD
"""File to add optional custom code to extend __init__.py."""
from googlecloudsdk.calliope import base
class OperationsAlpha(base.Group):
"""Optional no-auto-generated code for ALPHA."""
class OperationsBeta(base.Group):
"""Optional no-auto-generated code for BETA."""
class OperationsGa(base.Group):
"""Optional no-auto-generated code for GA."""

View File

@@ -0,0 +1,39 @@
# -*- 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.
#
# NOTE: This file is autogenerated and should not be edited by hand.
# AUTOGEN_CLI_VERSION: HEAD
- release_tracks:
- ALPHA
auto_generated: true
help_text:
brief: Cancel operations
description: Cancel an operation
examples: |-
To cancel the operation, run:
$ {command}
arguments:
params:
- help_text: |-
The name of the operation resource to be cancelled.
is_positional: true
resource_spec: !REF googlecloudsdk.command_lib.blockchain_validator.default_resources:projects_locations_operations
required: true
request:
api_version: v1
collection:
- blockchainvalidatormanager.projects.locations.operations
method: cancel

View File

@@ -0,0 +1,38 @@
# -*- 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.
#
# NOTE: This file is autogenerated and should not be edited by hand.
# AUTOGEN_CLI_VERSION: HEAD
- release_tracks:
- ALPHA
auto_generated: true
help_text:
brief: Delete operations
description: Delete an operation
examples: |-
To delete the operation, run:
$ {command}
arguments:
params:
- help_text: |-
The name of the operation resource to be deleted.
is_positional: true
resource_spec: !REF googlecloudsdk.command_lib.blockchain_validator.default_resources:projects_locations_operations
required: true
request:
api_version: v1
collection:
- blockchainvalidatormanager.projects.locations.operations

View File

@@ -0,0 +1,38 @@
# -*- 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.
#
# NOTE: This file is autogenerated and should not be edited by hand.
# AUTOGEN_CLI_VERSION: HEAD
- release_tracks:
- ALPHA
auto_generated: true
help_text:
brief: Describe operations
description: Describe an operation
examples: |-
To describe the operation, run:
$ {command}
arguments:
params:
- help_text: |-
The name of the operation resource.
is_positional: true
resource_spec: !REF googlecloudsdk.command_lib.blockchain_validator.default_resources:projects_locations_operations
required: true
request:
api_version: v1
collection:
- blockchainvalidatormanager.projects.locations.operations

View File

@@ -0,0 +1,40 @@
# -*- 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.
#
# NOTE: This file is autogenerated and should not be edited by hand.
# AUTOGEN_CLI_VERSION: HEAD
- release_tracks:
- ALPHA
auto_generated: true
help_text:
brief: List operations
description: List operations
examples: |-
To list all operations, run:
$ {command}
arguments:
params:
- help_text: |-
The name of the operation's parent resource.
is_positional: false
resource_spec: !REF googlecloudsdk.command_lib.blockchain_validator.default_resources:projects_locations
required: true
request:
api_version: v1
collection:
- blockchainvalidatormanager.projects.locations.operations
response:
id_field: name

View File

@@ -0,0 +1,41 @@
# -*- 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.
#
# NOTE: This file is autogenerated and should not be edited by hand.
# AUTOGEN_CLI_VERSION: HEAD
- release_tracks:
- ALPHA
auto_generated: true
help_text:
brief: Wait operations
description: Wait an operation
examples: |-
To wait the operation, run:
$ {command}
arguments:
params:
- help_text: |-
The name of the operation resource to wait on.
is_positional: true
resource_spec: !REF googlecloudsdk.command_lib.blockchain_validator.default_resources:projects_locations_operations
required: true
request:
api_version: v1
collection:
- blockchainvalidatormanager.projects.locations.operations
async:
collection:
- blockchainvalidatormanager.projects.locations.operations

View File

@@ -0,0 +1,18 @@
# -*- 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.
#
# NOTE: This file is autogenerated and should not be edited by hand.
# AUTOGEN_CLI_VERSION: HEAD
_PARTIALS_: true

View File

@@ -0,0 +1,18 @@
# -*- 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.
#
# NOTE: This file is autogenerated and should not be edited by hand.
# AUTOGEN_CLI_VERSION: HEAD
_PARTIALS_: true

View File

@@ -0,0 +1,18 @@
# -*- 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.
#
# NOTE: This file is autogenerated and should not be edited by hand.
# AUTOGEN_CLI_VERSION: HEAD
_PARTIALS_: true

View File

@@ -0,0 +1,18 @@
# -*- 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.
#
# NOTE: This file is autogenerated and should not be edited by hand.
# AUTOGEN_CLI_VERSION: HEAD
_PARTIALS_: true

View File

@@ -0,0 +1,18 @@
# -*- 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.
#
# NOTE: This file is autogenerated and should not be edited by hand.
# AUTOGEN_CLI_VERSION: HEAD
_PARTIALS_: true