File: //snap/google-cloud-cli/current/lib/surface/lustre/instances/_partials/_create_alpha.yaml
# -*- 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: Creates a Managed Lustre instance
description: |
Creates a Managed Lustre instance.
examples: |-
To create an instance `my-instance` in location `us-central1-a` with 18000 Gib capacity run:
$ {command} my-instance --capacity-gib=18000 --location=us-central1-a --network=projects/my-project/global/networks/default --filesystem=lustrefs --per-unit-storage-throughput=1000
arguments:
params:
- help_text: |-
Identifier.
The name of the instance.
is_positional: true
is_primary_resource: true
request_id_field: instanceId
resource_spec: !REF googlecloudsdk.command_lib.lustre.v1alpha_resources:projects_locations_instances
required: true
- arg_name: filesystem
api_field: instance.filesystem
required: true
repeated: false
help_text: |-
The filesystem name for this instance. This name is used by client-side
tools, including when mounting the instance. Must be eight characters or
less and can only contain letters and numbers.
- arg_name: capacity-gib
api_field: instance.capacityGib
required: true
repeated: false
type: long
help_text: |-
The storage capacity of the instance in gibibytes (GiB). Allowed values
are from `18000` to `7632000`, depending on the `perUnitStorageThroughput`.
See [Performance tiers and maximum storage
capacities](https://cloud.google.com/managed-lustre/docs/create-instance#performance-tiers)
for specific minimums, maximums, and step sizes for each performance tier.
- arg_name: network
help_text: |-
The full name of the VPC network to which the instance is connected.
Must be in the format
`projects/{project_id}/global/networks/{network_name}`.
is_positional: false
is_primary_resource: false
resource_spec: !REF googlecloudsdk.command_lib.lustre.v1alpha_resources:projects_none_networks
resource_method_params:
instance.network: '{__relative_name__}'
required: true
- arg_name: description
api_field: instance.description
required: false
repeated: false
help_text: |-
A user-readable description of the instance.
- arg_name: labels
api_field: instance.labels
required: false
repeated: true
help_text: |-
Labels as key value pairs.
spec:
- api_field: key
- api_field: value
- arg_name: per-unit-storage-throughput
api_field: instance.perUnitStorageThroughput
required: true
repeated: false
type: long
help_text: |-
The throughput of the instance in MB/s/TiB. Valid values are 125, 250,
500, 1000.
See [Performance tiers and maximum storage
capacities](https://cloud.google.com/managed-lustre/docs/create-instance#performance-tiers)
for more information.
- arg_name: gke-support-enabled
api_field: instance.gkeSupportEnabled
action: store_true
required: false
type: bool
help_text: |-
Indicates whether you want to enable support for GKE clients. By default,
GKE clients are not supported.
Deprecated. No longer required for GKE instance creation.
default: null
- group:
api_field: instance.accessRulesOptions
required: false
hidden: true
help_text: |-
IP-based access rules for the Managed Lustre instance. These options
define the root user squash configuration.
params:
- arg_name: access-rules
api_field: instance.accessRulesOptions.accessRules
required: false
repeated: true
help_text: |-
The access rules for the instance.
spec:
- api_field: name
help_text: |-
The name of the access rule policy group.
Must be 16 characters or less and include only alphanumeric characters
or '_'.
- api_field: ipAddressRanges
help_text: |-
The IP address ranges to which to apply this access rule. Accepts
non-overlapping CIDR ranges (e.g., `192.168.1.0/24`) and IP addresses
(e.g., `192.168.1.0`).
- api_field: accessMode
help_text: |-
The access mode for the access rule nodemap.
Default is [READ_WRITE][google.cloud.lustre.v1alpha.AccessRulesOptions.AccessRule.AccessMode.READ_WRITE].
- api_field: squashMode
help_text: |-
Squash mode for the access rule.
- api_field: squashUid
help_text: |-
Squash UID for the access rule. If the squash mode for this rule is
[ROOT_SQUASH][google.cloud.lustre.v1alpha.AccessRulesOptions.SquashMode.ROOT_SQUASH], root users matching the
[ip_ranges][AccessRule.ip_ranges] are squashed to this UID.
Defaults to 0 (no root squash).
- api_field: squashGid
help_text: |-
Squash GID for the access rule. If the squash mode for this rule is
[ROOT_SQUASH][google.cloud.lustre.v1alpha.AccessRulesOptions.SquashMode.ROOT_SQUASH], root users matching the
[ip_ranges][AccessRule.ip_ranges] are squashed to this GID.
Defaults to 0 (no root squash).
- api_field: mountableSubdirectories
help_text: |-
The list of non-root directories that can be mounted from
clients in this NID range subset. Currently, there can be only a single
directory at most. If no directory is mentioned, then the root directory
will be accessible.
- arg_name: default-squash-mode
api_field: instance.accessRulesOptions.defaultSquashMode
required: true
help_text: |-
The squash mode for the default access rule.
choices:
- arg_value: no-squash
enum_value: NO_SQUASH
help_text: |-
Squash is disabled.
If set inside an [AccessRule][google.cloud.lustre.v1alpha.AccessRulesOptions.AccessRule], root users matching the
[ip_ranges][AccessRule.ip_ranges] are not squashed.
If set as the [default_squash_mode][google.cloud.lustre.v1alpha.AccessRulesOptions.default_squash_mode], root squash is
disabled for this instance.
If the default squash mode is `NO_SQUASH`, do not set the
[default_squash_uid][google.cloud.lustre.v1alpha.AccessRulesOptions.default_squash_uid] or
[default_squash_gid][google.cloud.lustre.v1alpha.AccessRulesOptions.default_squash_gid], or an `invalid argument` error
is returned.
- arg_value: root-squash
enum_value: ROOT_SQUASH
help_text: |-
Root user squash is enabled.
Not supported inside an [AccessRule][google.cloud.lustre.v1alpha.AccessRulesOptions.AccessRule].
If set as the [default_squash_mode][google.cloud.lustre.v1alpha.AccessRulesOptions.default_squash_mode],
root users not matching any of the [access_rules][google.cloud.lustre.v1alpha.AccessRulesOptions.access_rules] are
squashed to the [default_squash_uid][google.cloud.lustre.v1alpha.AccessRulesOptions.default_squash_uid] and
[default_squash_gid][google.cloud.lustre.v1alpha.AccessRulesOptions.default_squash_gid].
- arg_value: all-users-squash
enum_value: ALL_USERS_SQUASH
help_text: |-
All users squashed to the [squash_uid][google.cloud.lustre.v1alpha.AccessRulesOptions.AccessRule.squash_uid] and
[squash_gid][google.cloud.lustre.v1alpha.AccessRulesOptions.AccessRule.squash_gid] for the access rule.
If this is for the [default_squash_mode][google.cloud.lustre.v1alpha.AccessRulesOptions.default_squash_mode], then the
[default_squash_uid][google.cloud.lustre.v1alpha.AccessRulesOptions.default_squash_uid] and
[default_squash_gid][google.cloud.lustre.v1alpha.AccessRulesOptions.default_squash_gid] will be squashed.
- arg_name: default-squash-uid
api_field: instance.accessRulesOptions.defaultSquashUid
required: false
repeated: false
type: int
help_text: |-
The user squash UID for the default access rule.
This user squash UID applies to all root users connecting from clients
that are not matched by any of the access rules. If not set, the default
is 0 (no UID squash).
- arg_name: default-squash-gid
api_field: instance.accessRulesOptions.defaultSquashGid
required: false
repeated: false
type: int
help_text: |-
The user squash GID for the default access rule.
This user squash GID applies to all root users connecting from clients
that are not matched by any of the access rules. If not set, the default
is 0 (no GID squash).
- 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: v1alpha
collection:
- lustre.projects.locations.instances
async:
collection:
- lustre.projects.locations.operations