A Terraform module for creating a fully functional Google Memorystore (redis) instance.
It automatically generates the following labels:
- managed_by : terraform
- gl : memorystore
This module is meant for use with Terraform 0.13+ and tested using Terraform 1.0+. If you find incompatibilities using Terraform >=0.13, please open an issue. If you haven't upgraded and need a Terraform 0.12.x-compatible version of this module, the last released version intended for Terraform 0.12.x is v2.0.0.
Check the examples/ directory for more.
module "memorystore" {
source = "terraform-google-modules/memorystore/google"
version = "4.0.0"
name = "my-memorystore"
project = "my-gcp-project"
}
Name | Description | Type | Default | Required |
---|---|---|---|---|
alternative_location_id | The alternative zone where the instance will be provisioned. | string |
null |
no |
auth_enabled | Indicates whether OSS Redis AUTH is enabled for the instance. If set to true AUTH is enabled on the instance. | bool |
false |
no |
authorized_network | The full name of the Google Compute Engine network to which the instance is connected. If left unspecified, the default network will be used. | string |
null |
no |
connect_mode | The connection mode of the Redis instance. Can be either DIRECT_PEERING or PRIVATE_SERVICE_ACCESS. The default connect mode if not provided is DIRECT_PEERING. | string |
null |
no |
customer_managed_key | Default encryption key to apply to the Redis instance. Defaults to null (Google-managed). | string |
null |
no |
display_name | An arbitrary and optional user-provided name for the instance. | string |
null |
no |
labels | The resource labels to represent user provided metadata. | map(string) |
null |
no |
location_id | The zone where the instance will be provisioned. If not provided, the service will choose a zone for the instance. For STANDARD_HA tier, instances will be created across two zones for protection against zonal failures. If [alternativeLocationId] is also provided, it must be different from [locationId]. | string |
null |
no |
maintenance_policy | The maintenance policy for an instance. | object({ |
null |
no |
memory_size_gb | Redis memory size in GiB. Defaulted to 1 GiB | number |
1 |
no |
name | The ID of the instance or a fully qualified identifier for the instance. | string |
n/a | yes |
project | The ID of the project in which the resource belongs to. | string |
n/a | yes |
read_replicas_mode | Read replicas mode. https://cloud.google.com/memorystore/docs/redis/reference/rest/v1/projects.locations.instances#readreplicasmode | string |
"READ_REPLICAS_DISABLED" |
no |
redis_configs | The Redis configuration parameters. See more details | map(any) |
{} |
no |
redis_version | The version of Redis software. | string |
null |
no |
region | The GCP region to use. | string |
null |
no |
replica_count | The number of replicas. can | number |
null |
no |
reserved_ip_range | The CIDR range of internal addresses that are reserved for this instance. | string |
null |
no |
tier | The service tier of the instance. https://cloud.google.com/memorystore/docs/redis/reference/rest/v1/projects.locations.instances#Tier | string |
"STANDARD_HA" |
no |
transit_encryption_mode | The TLS mode of the Redis instance, If not provided, TLS is enabled for the instance. | string |
"SERVER_AUTHENTICATION" |
no |
Name | Description |
---|---|
auth_string | AUTH String set on the instance. This field will only be populated if auth_enabled is true. |
current_location_id | The current zone where the Redis endpoint is placed. |
host | The IP address of the instance. |
id | The memorystore instance ID. |
persistence_iam_identity | Cloud IAM identity used by import/export operations. Format is 'serviceAccount:'. May change over time |
port | The port number of the exposed Redis endpoint. |
region | The region the instance lives in. |
server_ca_certs | List of server CA certificates for the instance |
The project has the following folders and files:
- /: root folder
- /examples: examples for using this module
- /scripts: Scripts for specific tasks on module (see Infrastructure section on this file)
- /test: Folders with files for testing the module (see Testing section on this file)
- /helpers: Optional helper scripts for ease of use
- /main.tf: main file for this module, contains all the resources to create
- /variables.tf: all the variables for the module
- /output.tf: the outputs of the module
- /readme.md: this file