NAME
    gcloud memorystore instances create - create a Memorystore instance

SYNOPSIS
    gcloud memorystore instances create (INSTANCE : --location=LOCATION)
        --psc-auto-connections=[network=NETWORK],[projectId=PROJECTID]
        [--async] [--authorization-mode=AUTHORIZATION_MODE]
        [--deletion-protection-enabled] [--engine-configs=[ENGINE_CONFIGS,...]]
        [--engine-version=ENGINE_VERSION] [--labels=[LABELS,...]] [--mode=MODE]
        [--node-type=NODE_TYPE] [--replica-count=REPLICA_COUNT]
        [--request-id=REQUEST_ID] [--shard-count=SHARD_COUNT]
        [--transit-encryption-mode=TRANSIT_ENCRYPTION_MODE]
        [--aof-config-append-fsync=AOF_CONFIG_APPEND_FSYNC
          --persistence-config-mode=PERSISTENCE_CONFIG_MODE
          --rdb-config-snapshot-period=RDB_CONFIG_SNAPSHOT_PERIOD
          --rdb-config-snapshot-start-time=RDB_CONFIG_SNAPSHOT_START_TIME]
        [--zone-distribution-config=ZONE_DISTRIBUTION_CONFIG
          --zone-distribution-config-mode=ZONE_DISTRIBUTION_CONFIG_MODE]
        [GCLOUD_WIDE_FLAG ...]

DESCRIPTION
    Create a Memorystore instance.

    A service connection policy for service class gcp-memorystore must already
    exist for the location and network. Refer to creation prerequisites
    (https://cloud.google.com/memorystore/docs/valkey/networking#prerequisites_required_before_creating_an_instance)
    for more details.

EXAMPLES
    To create a three shard Memorystore instance my-instance in project
    my-project and location us-central1, run:

        $ gcloud memorystore instances create my-instance \
            --project=my-project --location=us-central1 --shard-count=3 \
            --psc-auto-connections="network=NETWORK,projectId=PROJECT_ID"

    To create a three shard Memorystore instance my-instance in project
    my-project, location us-central1, with one replica per shard, and TLS
    enabled, run:

        $ gcloud memorystore instances create my-instance \
            --project=my-project --location=us-central1 --shard-count=3 \
            --psc-auto-connections="network=NETWORK,projectId=PROJECT_ID" \
            --transit-encryption-mode=server-authentication \
            --replica-count=1

POSITIONAL ARGUMENTS
     Instance resource - Identifier. Unique name of the instance. Format:
     projects/{project}/locations/{location}/instances/{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
     --psc-auto-connections=[network=NETWORK],[projectId=PROJECTID]
        Required, User inputs and resource details of the auto-created PSC
        connections.

         network
            The consumer network where the IP address resides, in the form of
            projects/{project_id}/global/networks/{network_id}.

         projectId
            The consumer project_id where the forwarding rule is created from.

        Shorthand Example:

            --psc-auto-connections=network=string,projectId=string --psc-auto-connections=network=string,projectId=string

        JSON Example:

            --psc-auto-connections='[{"network": "string", "projectId": "string"}]'

        File Example:

            --psc-auto-connections=path_to_file.(yaml|json)

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

     --authorization-mode=AUTHORIZATION_MODE
        Authorization mode of the instance. AUTHORIZATION_MODE must be one of:

         auth-disabled
            Authorization disabled.
         iam-auth
            IAM basic authorization.

     Arguments for the deletion protection enabled.

       --deletion-protection-enabled
          If set to true deletion of the instance will fail.

     --engine-configs=[ENGINE_CONFIGS,...]
        User-provided engine configurations for the instance.

         KEY
            Sets KEY value.

         VALUE
            Sets VALUE value.

        Shorthand Example:

            --engine-configs=string=string

        JSON Example:

            --engine-configs='{"string": "string"}'

        File Example:

            --engine-configs=path_to_file.(yaml|json)

     --engine-version=ENGINE_VERSION
        Engine version of the instance.

     --labels=[LABELS,...]
        Labels to represent user-provided metadata.

         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)

     --mode=MODE
        The mode config for the instance. MODE must be one of:

         cluster
            Instance is in cluster mode.
         standalone
            Instance is in standalone mode.

     --node-type=NODE_TYPE
        Machine type for individual nodes of the instance. NODE_TYPE must be
        one of:

         highmem-medium
            High memory medium.
         highmem-xlarge
            High memory extra large.
         shared-core-nano
            Shared core nano.
         standard-small
            Standard small.

     Arguments for the replica count.

       --replica-count=REPLICA_COUNT
          Number of replica nodes per shard. If omitted the default is 0
          replicas.

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

     --shard-count=SHARD_COUNT
        Number of shards for the instance.

     --transit-encryption-mode=TRANSIT_ENCRYPTION_MODE
        In-transit encryption mode of the instance. TRANSIT_ENCRYPTION_MODE
        must be one of:

         server-authentication
            Server-managed encryption is used for in-transit encryption.
         transit-encryption-disabled
            In-transit encryption is disabled.

     Represents persistence configuration for a instance.

       Configuration for AOF based persistence.

         --aof-config-append-fsync=AOF_CONFIG_APPEND_FSYNC
            The fsync mode. AOF_CONFIG_APPEND_FSYNC must be one of:

             always
                Fsync every time new write commands are appended to the AOF.
                The best data loss protection at the cost of performance.
             every-sec
                Fsync every second. You may lose 1 second of data if there is a
                disaster.
             never
                Never fsync. Normally Linux will flush data every 30 seconds
                with this configuration, but it's up to the kernel's exact
                tuning.

       --persistence-config-mode=PERSISTENCE_CONFIG_MODE
          Current persistence mode. PERSISTENCE_CONFIG_MODE must be one of:

           aof
              AOF based persistence is enabled.
           disabled
              Persistence is disabled, and any snapshot data is deleted.
           rdb
              RDB based persistence is enabled.

       Configuration for RDB based persistence.

         --rdb-config-snapshot-period=RDB_CONFIG_SNAPSHOT_PERIOD
            Period between RDB snapshots. RDB_CONFIG_SNAPSHOT_PERIOD must be
            one of:

             one-hour
                One hour.
             six-hours
                Six hours.
             twelve-hours
                Twelve hours.
             twenty-four-hours
                Twenty four hours.

         --rdb-config-snapshot-start-time=RDB_CONFIG_SNAPSHOT_START_TIME
            Time that the first snapshot was/will be attempted, and to which
            future snapshots will be aligned. If not provided, the current time
            will be used.

     Zone distribution configuration for allocation of instance resources.

       --zone-distribution-config=ZONE_DISTRIBUTION_CONFIG
          Defines zone where all resources will be allocated with SINGLE_ZONE
          mode. Ignored for MULTI_ZONE mode.

       --zone-distribution-config-mode=ZONE_DISTRIBUTION_CONFIG_MODE
          Current zone distribution mode. Defaults to MULTI_ZONE.
          ZONE_DISTRIBUTION_CONFIG_MODE must be one of:

           multi-zone
              Distribute resources across 3 zones picked at random within the
              region.
           single-zone
              Provision resources in a single zone. Zone field must be
              specified.

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 memorystore/v1 API. The full documentation for this
    API can be found at: https://cloud.google.com/memorystore/

NOTES
    These variants are also available:

        $ gcloud alpha memorystore instances create

        $ gcloud beta memorystore instances create

