247 lines
9.6 KiB
YAML
247 lines
9.6 KiB
YAML
- release_tracks: [ALPHA, BETA, GA]
|
|
|
|
help_text:
|
|
brief: |
|
|
Create a Memorystore Redis instance.
|
|
description: |
|
|
Create a new Redis instance.
|
|
|
|
This command can fail for the following reasons:
|
|
* An instance with the same name already exists.
|
|
* The active account does not have permission to create instances.
|
|
examples: |
|
|
To create a basic tier instance with the name `my-redis-instance` in region `us-central-1`
|
|
with memory size of 5 GiB, run:
|
|
|
|
$ {command} my-redis-instance --region=us-central1 --size=5
|
|
|
|
arguments:
|
|
resource:
|
|
spec: !REF googlecloudsdk.command_lib.redis.resources:instance
|
|
help_text: |
|
|
Arguments and flags that specify the Memorystore Redis instance you want
|
|
to create.
|
|
params:
|
|
- arg_name: zone
|
|
api_field: instance.locationId
|
|
help_text: |
|
|
The zone of the Redis instance. If not provided the service
|
|
will pick a random zone in the region. For the standard tier, instances
|
|
will be created across two zones for protection against zonal
|
|
failures. So if --alternative-zone is also provided, it must be
|
|
different from --zone.
|
|
- arg_name: alternative-zone
|
|
api_field: instance.alternativeLocationId
|
|
help_text: |
|
|
A secondary zone for the Redis instance. Only applicable to
|
|
the standard tier. This protects the instance against zonal failures
|
|
by provisioning it across two zones. If provided, alternative zone
|
|
must be a different zone from the one provided through `--zone`.
|
|
- arg_name: network
|
|
api_field: instance.authorizedNetwork
|
|
help_text: |
|
|
The name of the Google Compute Engine network to which the instance
|
|
will be connected. If left unspecified, the default network will be
|
|
used.
|
|
default: default
|
|
processor: googlecloudsdk.command_lib.redis.instances_create_util:ParseInstanceNetworkArg
|
|
- arg_name: tier
|
|
api_field: instance.tier
|
|
help_text: |
|
|
The service tier of the instance.
|
|
choices:
|
|
- enum_value: BASIC
|
|
arg_value: basic
|
|
help_text: Basic Redis instance with no replication
|
|
- enum_value: STANDARD_HA
|
|
arg_value: standard
|
|
help_text: Standard high-availability Redis instance with replication
|
|
default: basic
|
|
- arg_name: connect-mode
|
|
api_field: instance.connectMode
|
|
help_text: |
|
|
Network connection mode used by instances.
|
|
- arg_name: transit-encryption-mode
|
|
api_field: instance.transitEncryptionMode
|
|
help_text: |
|
|
Transit encryption mode used by the instance.
|
|
choices: # Enum is mapped to keep TRANSIT-ENCRYPTION-MODE-UNSPECIFIED invisible from users.
|
|
- arg_value: DISABLED
|
|
enum_value: DISABLED
|
|
help_text: Transit encryption is disabled for the instance.
|
|
- arg_value: SERVER-AUTHENTICATION
|
|
enum_value: SERVER-AUTHENTICATION
|
|
help_text: Client to Server traffic encryption enabled with server authentication.
|
|
- arg_name: display-name
|
|
api_field: instance.displayName
|
|
help_text: |
|
|
A human-readable name for the instance.
|
|
- api_field: instance.redisConfigs.additionalProperties
|
|
metavar: KEY=VALUE
|
|
arg_name: redis-config
|
|
help_text: |
|
|
A list of Redis config KEY=VALUE pairs to set on the instance
|
|
according to http://redis.io/topics/config. Currently, the only
|
|
supported parameters are:
|
|
|
|
Redis version 3.2 and newer: maxmemory-policy, notify-keyspace-events, timeout, databases.
|
|
|
|
Redis version 4.0 and newer: activedefrag, lfu-decay-time, lfu-log-factor, maxmemory-gb.
|
|
|
|
Redis version 5.0 and newer: stream-node-max-bytes, stream-node-max-entries.
|
|
type:
|
|
arg_dict:
|
|
flatten: true
|
|
spec:
|
|
- api_field: key
|
|
- api_field: value
|
|
- arg_name: maintenance-window-day
|
|
api_field: instance.maintenancePolicy.weeklyMaintenanceWindow.day
|
|
help_text: |
|
|
Day of week for maintenance window, in UTC time zone.
|
|
MAINTENANCE_WINDOW_DAY must be one of: SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY.
|
|
- arg_name: maintenance-window-hour
|
|
api_field: instance.maintenancePolicy.weeklyMaintenanceWindow.startTime.hours
|
|
help_text: |
|
|
Hour of day (0 to 23) for maintenance window, in UTC time zone.
|
|
- arg_name: persistence-mode
|
|
api_field: instance.persistenceConfig.persistenceMode
|
|
help_text: |
|
|
Operation mode for automated persistence.
|
|
choices:
|
|
- enum_value: DISABLED
|
|
arg_value: disabled
|
|
help_text: RDB mode is disabled
|
|
- enum_value: RDB
|
|
arg_value: RDB
|
|
help_text: Automatic RDB persistence
|
|
- arg_name: rdb-snapshot-period
|
|
api_field: instance.persistenceConfig.rdbSnapshotPeriod
|
|
help_text: |
|
|
Attempted period between RDB snapshots.
|
|
choices:
|
|
- enum_value: ONE_HOUR
|
|
arg_value: 1h
|
|
help_text: 1 hour
|
|
- enum_value: SIX_HOURS
|
|
arg_value: 6h
|
|
help_text: 6 hours
|
|
- enum_value: TWELVE_HOURS
|
|
arg_value: 12h
|
|
help_text: 12 hours
|
|
- enum_value: TWENTY_FOUR_HOURS
|
|
arg_value: 24h
|
|
help_text: 24 hours
|
|
- arg_name: rdb-snapshot-start-time
|
|
api_field: instance.persistenceConfig.rdbSnapshotStartTime
|
|
help_text: |
|
|
Date and time of the first snapshot in the ISO 1801 format, and alignment time for future snapshots. For example, 2022-11-02T03:00:00Z.
|
|
- arg_name: read-replicas-mode
|
|
api_field: instance.readReplicasMode
|
|
help_text: |
|
|
Read replicas mode used by the instance. Only works against standard tier instances with 5GB
|
|
and above provisioned capacity.
|
|
choices: # Enum is mapped to keep READ-REPLICAS-MODE-UNSPECIFIED invisible from users.
|
|
- enum_value: READ-REPLICAS-DISABLED
|
|
arg_value: READ-REPLICAS-DISABLED
|
|
help_text: |
|
|
Read replica is disabled for the instance. Read endpoint will not
|
|
be provided and the instance cannot scale up or down the number of
|
|
replicas.
|
|
- enum_value: READ-REPLICAS-ENABLED
|
|
arg_value: READ-REPLICAS-ENABLED
|
|
help_text: |
|
|
Read replica is enabled for the instance. Read endpoint will be
|
|
provided and the instance can scale up and down the number of
|
|
replicas.
|
|
- arg_name: replica-count
|
|
api_field: instance.replicaCount
|
|
type: long
|
|
help_text: |
|
|
The replica count of the instance.
|
|
- arg_name: redis-version
|
|
api_field: instance.redisVersion
|
|
metavar: VERSION
|
|
help_text: The version of Redis software.
|
|
choices:
|
|
- enum_value: REDIS_3_2
|
|
arg_value: redis_3_2
|
|
help_text: Redis 3.2 compatibility
|
|
- enum_value: REDIS_4_0
|
|
arg_value: redis_4_0
|
|
help_text: Redis 4.0 compatibility
|
|
- enum_value: REDIS_5_0
|
|
arg_value: redis_5_0
|
|
help_text: Redis 5.0 compatibility
|
|
- enum_value: REDIS_6_X
|
|
arg_value: redis_6_x
|
|
help_text: Redis 6.x compatibility
|
|
- enum_value: REDIS_7_0
|
|
arg_value: redis_7_0
|
|
help_text: Redis 7.0 compatibility
|
|
- enum_value: REDIS_7_2
|
|
arg_value: redis_7_2
|
|
help_text: Redis 7.2 compatibility
|
|
- arg_name: reserved-ip-range
|
|
api_field: instance.reservedIpRange
|
|
help_text: |
|
|
For DIRECT_PEERING mode, the CIDR range of internal addresses that are reserved for this
|
|
instance. Range must be unique and non-overlapping with existing subnets in an authorized
|
|
network. For PRIVATE_SERVICE_ACCESS mode, the name of an IP address range allocated for the
|
|
private service access connection. If not provided, the service will choose an unused /29
|
|
block, for example, 10.0.0.0/29 or 192.168.0.0/29. If READ_REPLICAS_ENABLED is used for the
|
|
--read-replicas-mode flag, then the block size required for this flag is /28.
|
|
- arg_name: customer-managed-key
|
|
api_field: instance.customerManagedKey
|
|
help_text: |
|
|
The KMS key reference that you want to use to encrypt the data at rest for this Redis
|
|
instance. If this is provided, CMEK is enabled.
|
|
- arg_name: size
|
|
api_field: instance.memorySizeGb
|
|
help_text: |
|
|
The memory size of the instance in GiB. If not provided, size of 1 GiB
|
|
will be used.
|
|
type: long
|
|
default: 1
|
|
- arg_name: enable-auth
|
|
api_field: instance.authEnabled
|
|
type: bool
|
|
action: store_true
|
|
processor: googlecloudsdk.command_lib.redis.util:WarnOnAuthEnabled
|
|
help_text: |
|
|
Enables Redis AUTH for the instance. If omitted AUTH is disabled.
|
|
- arg_name: tags
|
|
release_tracks: [GA]
|
|
api_field: instance.tags.additionalProperties
|
|
# TODO(b/348137430): Remove hidden as part of GA launch.
|
|
hidden: true
|
|
metavar: KEY=VALUE
|
|
help_text: |
|
|
List of tag KEY=VALUE pairs to add.
|
|
type:
|
|
arg_dict:
|
|
flatten: true
|
|
spec:
|
|
- api_field: key
|
|
- api_field: value
|
|
labels:
|
|
api_field: instance.labels
|
|
|
|
async:
|
|
collection: redis.projects.locations.operations
|
|
|
|
request:
|
|
ALPHA:
|
|
api_version: v1alpha1
|
|
modify_request_hooks:
|
|
- googlecloudsdk.command_lib.redis.instances_create_util:AddDefaultReplicaCount
|
|
BETA:
|
|
api_version: v1beta1
|
|
modify_request_hooks:
|
|
- googlecloudsdk.command_lib.redis.instances_create_util:AddDefaultReplicaCount
|
|
GA:
|
|
api_version: v1
|
|
modify_request_hooks:
|
|
- googlecloudsdk.command_lib.redis.instances_create_util:AddDefaultReplicaCount
|
|
collection: redis.projects.locations.instances
|