HEX
Server: Apache/2.4.65 (Ubuntu)
System: Linux ielts-store-v2 6.8.0-1036-gcp #38~22.04.1-Ubuntu SMP Thu Aug 14 01:19:18 UTC 2025 x86_64
User: root (0)
PHP: 7.2.34-54+ubuntu20.04.1+deb.sury.org+1
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
Upload Files
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