NAME
    gcloud lustre instances create - creates a Managed Lustre instance

SYNOPSIS
    gcloud lustre instances create (INSTANCE : --location=LOCATION)
        --capacity-gib=CAPACITY_GIB --filesystem=FILESYSTEM --network=NETWORK
        [--async] [--description=DESCRIPTION]
        [--dynamic-tier-options-mode=DYNAMIC_TIER_OPTIONS_MODE]
        [--gke-support-enabled] [--kms-key=KMS_KEY] [--labels=[LABELS,...]]
        [--per-unit-storage-throughput=PER_UNIT_STORAGE_THROUGHPUT]
        [--placement-policy=PLACEMENT_POLICY] [--request-id=REQUEST_ID]
        [[--default-squash-mode=DEFAULT_SQUASH_MODE
          : --access-rules=[ipAddressRanges=IPADDRESSRANGES],
          [name=NAME],[squashMode=SQUASHMODE]
          --default-squash-gid=DEFAULT_SQUASH_GID
          --default-squash-uid=DEFAULT_SQUASH_UID]]
        [[--maintenance-policy-weekly-windows=[dayOfWeek=DAYOFWEEK],
          [startTime=STARTTIME]
          : --maintenance-policy-exclusion-window=[endDate=ENDDATE],
          [startDate=STARTDATE],[time=TIME]]] [GCLOUD_WIDE_FLAG ...]

DESCRIPTION
    Creates a Managed Lustre instance.

EXAMPLES
    To create an instance my-instance in location us-central1-a with 18000 Gib
    capacity run:

        $ gcloud lustre instances create my-instance --capacity-gib=18000 \
            --location=us-central1-a \
            --network=projects/my-project/global/networks/default \
            --filesystem=lustrefs --per-unit-storage-throughput=1000

POSITIONAL ARGUMENTS
     Instance resource - Identifier. The name of the instance. The arguments in
     this group can be used to specify the attributes of this resource. (NOTE)
     Some attributes are not given arguments in this group but can be set in
     other ways.

     To set the project attribute:
      ◆ provide the argument instance on the command line with a fully
        specified name;
      ◆ provide the argument --project on the command line;
      ◆ set the property core/project.

     This must be specified.

       INSTANCE
          ID of the instance or fully qualified identifier for the instance.

          To set the instance attribute:
          ▸ provide the argument instance on the command line.

          This positional argument must be specified if any of the other
          arguments in this group are specified.

       --location=LOCATION
          The location id of the instance resource.

          To set the location attribute:
          ▸ provide the argument instance on the command line with a fully
            specified name;
          ▸ provide the argument --location on the command line.

REQUIRED FLAGS
     --capacity-gib=CAPACITY_GIB
        The storage capacity of the instance in gibibytes (GiB). Allowed values
        are from 9000 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.

     --filesystem=FILESYSTEM
        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.

     Network resource - 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}. This represents a
     Cloud resource. (NOTE) Some attributes are not given arguments in this
     group but can be set in other ways.

     To set the project attribute:
      ◆ provide the argument --network on the command line with a fully
        specified name;
      ◆ provide the argument --project on the command line;
      ◆ set the property core/project.

     This must be specified.

       --network=NETWORK
          ID of the network or fully qualified identifier for the network.

          To set the network attribute:
          ▸ provide the argument --network on the command line.

OPTIONAL FLAGS
     --async
        Return immediately, without waiting for the operation in progress to
        complete.

     --description=DESCRIPTION
        A user-readable description of the instance.

     Dynamic tier options for a Managed Lustre instance.

     --dynamic-tier-options-mode=DYNAMIC_TIER_OPTIONS_MODE
        The dynamic tier mode of the instance. DYNAMIC_TIER_OPTIONS_MODE must
        be one of:

         default-cache
            The dynamic tier is enabled.
         disabled
            The dynamic tier is explicitly disabled.

     --gke-support-enabled
        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.

     --kms-key=KMS_KEY
        The Cloud KMS key name to use for data encryption. If not set, the
        instance will use Google-managed encryption keys. If set, the instance
        will use customer-managed encryption keys. The key must be in the same
        region as the instance. The key format is:
        projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{key}

     --labels=[LABELS,...]
        Labels as key value pairs.

         KEY
            Keys must start with a lowercase character and contain only hyphens
            (-), underscores (_), lowercase characters, and numbers.

         VALUE
            Values must contain only hyphens (-), underscores (_), lowercase
            characters, and numbers.

        Shorthand Example:

            --labels=string=string

        JSON Example:

            --labels='{"string": "string"}'

        File Example:

            --labels=path_to_file.(yaml|json)

     --per-unit-storage-throughput=PER_UNIT_STORAGE_THROUGHPUT
        The throughput of the instance in MBps per 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.

        If the instance is using the Dynamic tier, this field must not be set
        or must be set to zero.

     --placement-policy=PLACEMENT_POLICY
        The placement policy name for the instance in the format of
        projects/{project}/locations/{location}/resourcePolicies/{resource_policy}

     --request-id=REQUEST_ID
        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).

     IP-based access rules for the Managed Lustre instance. These options
     define the root user squash configuration.

     --default-squash-mode=DEFAULT_SQUASH_MODE
        The squash mode for the default access rule. DEFAULT_SQUASH_MODE must
        be one of:

         no-squash
            Squash is disabled.

            If set inside an
            [AccessRule][google.cloud.lustre.v1.AccessRulesOptions.AccessRule],
            root users matching the [ip_ranges][AccessRule.ip_ranges] are not
            squashed.

            If set as the
            [default_squash_mode][google.cloud.lustre.v1.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.v1.AccessRulesOptions.default_squash_uid]
            or
            [default_squash_gid][google.cloud.lustre.v1.AccessRulesOptions.default_squash_gid],
            or an invalid argument error is returned.
         root-squash
            Root user squash is enabled.

            Not supported inside an
            [AccessRule][google.cloud.lustre.v1.AccessRulesOptions.AccessRule].

            If set as the
            [default_squash_mode][google.cloud.lustre.v1.AccessRulesOptions.default_squash_mode],
            root users not matching any of the
            [access_rules][google.cloud.lustre.v1.AccessRulesOptions.access_rules]
            are squashed to the
            [default_squash_uid][google.cloud.lustre.v1.AccessRulesOptions.default_squash_uid]
            and
            [default_squash_gid][google.cloud.lustre.v1.AccessRulesOptions.default_squash_gid].

        This flag argument must be specified if any of the other arguments in
        this group are specified.

     --access-rules=[ipAddressRanges=IPADDRESSRANGES],[name=NAME],[squashMode=SQUASHMODE]
        The access rules for the instance.

         ipAddressRanges
            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).

         name
            The name of the access rule policy group. Must be 16 characters or
            less and include only alphanumeric characters or ''.

         squashMode
            Squash mode for the access rule.

        Shorthand Example:

            --access-rules=ipAddressRanges=[string],name=string,squashMode=string --access-rules=ipAddressRanges=[string],name=string,squashMode=string

        JSON Example:

            --access-rules='[{"ipAddressRanges": ["string"], "name": "string", "squashMode": "string"}]'

        File Example:

            --access-rules=path_to_file.(yaml|json)

     --default-squash-gid=DEFAULT_SQUASH_GID
        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).

     --default-squash-uid=DEFAULT_SQUASH_UID
        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).

     Defines a maintenance policy for a resource.

     --maintenance-policy-weekly-windows=[dayOfWeek=DAYOFWEEK],[startTime=STARTTIME]
        Required, The weekly maintenance windows for the instance. Currently
        limited to 1 window.

         dayOfWeek
            Day of the week for the maintenance window.

         startTime
            Start time of the maintenance window in UTC time zone.

             hours
                Hours of a day in 24 hour format. Must be greater than or equal
                to 0 and typically must be less than or equal to 23. An API may
                choose to allow the value "24:00:00" for scenarios like
                business closing time.

             minutes
                Minutes of an hour. Must be greater than or equal to 0 and less
                than or equal to 59.

             nanos
                Fractions of seconds, in nanoseconds. Must be greater than or
                equal to 0 and less than or equal to 999,999,999.

             seconds
                Seconds of a minute. Must be greater than or equal to 0 and
                typically must be less than or equal to 59. An API may allow
                the value 60 if it allows leap-seconds.

        Shorthand Example:

            --maintenance-policy-weekly-windows=dayOfWeek=string,startTime={hours=int,minutes=int,nanos=int,seconds=int} --maintenance-policy-weekly-windows=dayOfWeek=string,startTime={hours=int,minutes=int,nanos=int,seconds=int}

        JSON Example:

            --maintenance-policy-weekly-windows='[{"dayOfWeek": "string", "startTime": {"hours": int, "minutes": int, "nanos": int, "seconds": int}}]'

        File Example:

            --maintenance-policy-weekly-windows=path_to_file.(yaml|json)

        This flag argument must be specified if any of the other arguments in
        this group are specified.

     --maintenance-policy-exclusion-window=[endDate=ENDDATE],[startDate=STARTDATE],[time=TIME]
        The exclusion windows for the instance. Currently limited to 1 window.

         endDate
            End date of the exclusion period in UTC time zone. This date is
            inclusive.

             day
                Day of a month. Must be from 1 to 31 and valid for the year and
                month, or 0 to specify a year by itself or a year and month
                where the day isn't significant.

             month
                Month of a year. Must be from 1 to 12, or 0 to specify a year
                without a month and day.

             year
                Year of the date. Must be from 1 to 9999, or 0 to specify a
                date without a year.

         startDate
            Start date of the exclusion period in UTC time zone. This date is
            inclusive.

             day
                Day of a month. Must be from 1 to 31 and valid for the year and
                month, or 0 to specify a year by itself or a year and month
                where the day isn't significant.

             month
                Month of a year. Must be from 1 to 12, or 0 to specify a year
                without a month and day.

             year
                Year of the date. Must be from 1 to 9999, or 0 to specify a
                date without a year.

         time
            Time in UTC when the exclusion window starts on start_date and ends
            on end_date. This can be:
            ▸ Full time OR
            ▸ All zeros for 00:00:00 UTC.

             hours
                Hours of a day in 24 hour format. Must be greater than or equal
                to 0 and typically must be less than or equal to 23. An API may
                choose to allow the value "24:00:00" for scenarios like
                business closing time.

             minutes
                Minutes of an hour. Must be greater than or equal to 0 and less
                than or equal to 59.

             nanos
                Fractions of seconds, in nanoseconds. Must be greater than or
                equal to 0 and less than or equal to 999,999,999.

             seconds
                Seconds of a minute. Must be greater than or equal to 0 and
                typically must be less than or equal to 59. An API may allow
                the value 60 if it allows leap-seconds.

        Shorthand Example:

            --maintenance-policy-exclusion-window=endDate={day=int,month=int,year=int},startDate={day=int,month=int,year=int},time={hours=int,minutes=int,nanos=int,seconds=int} --maintenance-policy-exclusion-window=endDate={day=int,month=int,year=int},startDate={day=int,month=int,year=int},time={hours=int,minutes=int,nanos=int,seconds=int}

        JSON Example:

            --maintenance-policy-exclusion-window='[{"endDate": {"day": int, "month": int, "year": int}, "startDate": {"day": int, "month": int, "year": int}, "time": {"hours": int, "minutes": int, "nanos": int, "seconds": int}}]'

        File Example:

            --maintenance-policy-exclusion-window=path_to_file.(yaml|json)

GCLOUD WIDE FLAGS
    These flags are available to all commands: --access-token-file, --account,
    --billing-project, --configuration, --flags-file, --flatten, --format,
    --help, --impersonate-service-account, --log-http, --project, --quiet,
    --trace-token, --user-output-enabled, --verbosity.

    Run $ gcloud help for details.

API REFERENCE
    This command uses the lustre/v1 API. The full documentation for this API
    can be found at: https://cloud.google.com/managed-lustre/docs

NOTES
    This variant is also available:

        $ gcloud alpha lustre instances create

