File: //snap/google-cloud-cli/current/lib/googlecloudsdk/command_lib/compute/tpus/flags.yaml
# Copyright 2018 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.
accelerator_type:
api_field: node.acceleratorType
arg_name: accelerator-type
required: false
help_text: |
TPU accelerator type for the TPU.
If not specified, this defaults to `v2-8`.
For a list of available accelerator types run:
`{parent_command} accelerator-types list`
type: googlecloudsdk.command_lib.util.hooks.types:LowerCaseType
default: 'v2-8'
image:
arg_name: image
required: false
help_text: |
Specifies the full URI of the machine image to use for creating the TPU VM's boot disk.
If specified, this will override the boot image that would normally be used by the
specified `--runtime-version`.
description:
api_field: node.description
arg_name: description
required: false
help_text: |
Specifies a text description of the TPU.
network:
api_field: node.network
arg_name: network
required: false
help_text: |
Specifies the network that this TPU will be a part of.
default: 'default'
version:
api_field: node.tensorflowVersion
arg_name: version
required: true
help_text: |
TensorFlow version for the TPU, such as `1.14`. For a list of available
TensorFlow versions please see https://www.tensorflow.org/versions/.
range: &range
api_field: node.cidrBlock
arg_name: range
help_text: |
CIDR Range for the TPU.
The IP range that the TPU will select an IP address from.
Must be in CIDR notation and a `/29` range, for example
`192.168.0.0/29`. Errors will occur if the CIDR range has already been
used for a currently existing TPU, the CIDR range conflicts with any
networks in the user's provided network, or the provided network is
peered with another network that is using that CIDR range.
preemptible:
api_field: node.schedulingConfig.preemptible
arg_name: preemptible
type: bool
default: false
required: false
help_text: |
If provided, the TPU will be preemptible and time-limited. It may be
preempted to free up resources for standard TPUs, and will only be able
to run for a limited amount of time.
Preemptible TPUs cannot be restarted.
service_networking:
api_field: node.useServiceNetworking
arg_name: use-service-networking
type: bool
default: false
help_text: |-
If provided, the TPU will be configured via the Service Networking (SN) API instead of
using a CIDR range. The Service Networking API should be enabled on the project before
creating the TPU.
For more information on Service Networking see https://cloud.google.com/service-infrastructure/docs/service-networking/getting-started.
reserved:
api_field: node.schedulingConfig.reserved
arg_name: reserved
type: bool
default: false
required: false
help_text: |
When specified, will attempt to create the TPU node under reservations made in the current
project. The reservations can be made separately but used in aggregated form. i.e., the user can
make a reservation of 128 V2 TPUs and later on make another reservation of 128 V2 TPUs then
creates a v2-256 TPU instance. If there exists no reservation or not sufficient amount of
reserved cores under the project, the request will fail due to lack of capacity.
metadata:
arg_name: metadata
metavar: KEY=VALUE
type: "googlecloudsdk.calliope.arg_parsers:ArgDict:"
required: false
help_text: |
List of comma-separated metadata key-value pairs for the Cloud TPU VM node.
Example: `--metadata='key1=value1,key2=value2'`
metadata_from_file:
arg_name: metadata-from-file
metavar: KEY=VALUE
type: "googlecloudsdk.calliope.arg_parsers:ArgDict:"
required: false
help_text: |
Same as `--metadata` except the value for the entry will be read from a local file.
Example: `--metadata-from-file='key1=value1.txt'`
update_metadata:
arg_name: update-metadata
type: "googlecloudsdk.calliope.arg_parsers:ArgDict:"
required: false
metavar: KEY=VALUE
help_text: |
List of comma-separated metadata key-value pairs for the Cloud TPU VM node. If a key exists, its
value is modified. Otherwise, a new key-value pair is created.
clear_metadata:
arg_name: clear-metadata
type: bool
default: false
required: false
help_text: |
Remove all metadata. If `--update-metadata` is also specified then `--clear-metadata` is applied
first.
For example, to remove all metadata:
$ {command} --clear-metadata
To remove all existing metadata and create two new metadata key-value pairs, 'foo=bar' and
'baz=qux':
$ {command} --clear-metadata --update-metadata foo=bar,baz=qux
remove_metadata:
arg_name: remove-metadata
type: "googlecloudsdk.calliope.arg_parsers:ArgList:"
required: false
metavar: KEY
help_text: |
List of comma-separated metadata keys to remove. If a key does not exist it is silently ignored.
If `--update-metadata` is also specified then `--update-metadata` is applied first.
topology:
arg_name: topology
help_text: |
Chip topology for TPU.
type: googlecloudsdk.command_lib.util.hooks.types:LowerCaseType
type:
arg_name: type
help_text: |
Type of TPU.
choices:
- arg_value: v2
enum_value: V2
- arg_value: v3
enum_value: V3
- arg_value: v4
enum_value: V4
- arg_value: v5litepod
enum_value: V5LITE_POD
- arg_value: v5p
enum_value: V5P
- arg_value: v6e
enum_value: V6E
ga-type:
arg_name: type
help_text: |
Type of TPU.
choices:
- arg_value: v2
enum_value: V2
- arg_value: v3
enum_value: V3
- arg_value: v4
enum_value: V4