NAME
    gcloud beta memorystore instances create - create a Memorystore instance

SYNOPSIS
    gcloud beta memorystore instances create (INSTANCE : --location=LOCATION)
        [--async] [--async-instance-endpoints-deletion-enabled]
        [--authorization-mode=AUTHORIZATION_MODE]
        [--deletion-protection-enabled] [--endpoints=[connections=CONNECTIONS]]
        [--engine-configs=[ENGINE_CONFIGS,...]]
        [--engine-version=ENGINE_VERSION] [--labels=[LABELS,...]] [--mode=MODE]
        [--node-type=NODE_TYPE] [--ondemand-maintenance]
        [--psc-auto-connections=[network=NETWORK],
          [port=PORT],[projectId=PROJECTID]] [--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
    (BETA) 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 beta 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 beta 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.

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

     Arguments for the async instance endpoints deletion enabled.

       --async-instance-endpoints-deletion-enabled
          If true, instance endpoints that are created and registered by
          customers can be deleted asynchronously. That is, such an instance
          endpoint can be de-registered before the forwarding rules in the
          instance endpoint are deleted.

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

     --endpoints=[connections=CONNECTIONS]
        Endpoints for the instance.

         connections
            A group of PSC connections. They are created in the same VPC
            network, one for each service attachment in the cluster.

             pscAutoConnection
                Detailed information of a PSC connection that is created
                through service connectivity automation.

                 network
                    The network where the PSC endpoints are created, in the
                    form of projects/{project_id}/global/networks/{network_id}.

                 port
                    port will only be set for Primary/Reader or Discovery
                    endpoint.

                 projectId
                    The consumer project_id where PSC connections are
                    established. This should be the same project_id that the
                    instance is being created in.

        Shorthand Example:

            --endpoints=connections=[{pscAutoConnection={network=string,port=int,projectId=string}}] --endpoints=connections=[{pscAutoConnection={network=string,port=int,projectId=string}}]

        JSON Example:

            --endpoints='[{"connections": [{"pscAutoConnection": {"network": "string", "port": int, "projectId": "string"}}]}]'

        File Example:

            --endpoints=path_to_file.(yaml|json)

     --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.
         cluster-disabled
            Cluster mode is disabled for the instance.
         standalone
            Deprecated: Use CLUSTER_DISABLED instead.

     --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 ondemand maintenance.

       --ondemand-maintenance
          Ondemand maintenance for the instance.

     --psc-auto-connections=[network=NETWORK],[port=PORT],[projectId=PROJECTID]
        User inputs and resource details of the auto-created PSC connections.

         network
            The network where the PSC endpoints are created, in the form of
            projects/{project_id}/global/networks/{network_id}.

         port
            port will only be set for Primary/Reader or Discovery endpoint.

         projectId
            The consumer project_id where PSC connections are established. This
            should be the same project_id that the instance is being created
            in.

        Shorthand Example:

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

        JSON Example:

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

        File Example:

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

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

NOTES
    This command is currently in beta and might change without notice. These
    variants are also available:

        $ gcloud memorystore instances create

        $ gcloud alpha memorystore instances create

