Giter Site home page Giter Site logo

ivankennethwang / terraform-google-memorystore Goto Github PK

View Code? Open in Web Editor NEW

This project forked from terraform-google-modules/terraform-google-memorystore

0.0 0.0 0.0 467 KB

Creates a fully functional Google Memorystore (redis) instance

Home Page: https://registry.terraform.io/modules/terraform-google-modules/memorystore/google

License: Apache License 2.0

Go 17.77% Makefile 7.61% HCL 74.62%

terraform-google-memorystore's Introduction

A Terraform module for creating a fully functional Google Memorystore Redis instance. For Memcache and Redis Cluster see sub-modules

Compatibility

This module is meant for use with Terraform 1.3+ and tested using Terraform 1.3+. If you find incompatibilities using Terraform >=1.3, 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.

Version

Current version is 8.0. Upgrade guides:

Usage

Check the examples/ directory for more.

module "memorystore" {
  source  = "terraform-google-modules/memorystore/google"
  version = "~> 8.0"

  name           = "memorystore"
  project        = "memorystore"
  memory_size_gb = "1"
  enable_apis    = "true"
}

Inputs

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
enable_apis Flag for enabling redis.googleapis.com in your project bool true 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({
day = string
start_time = object({
hours = number
minutes = number
seconds = number
nanos = number
})
})
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
persistence_config The Redis persistence configuration parameters. https://cloud.google.com/memorystore/docs/redis/reference/rest/v1/projects.locations.instances#persistenceconfig
object({
persistence_mode = string
rdb_snapshot_period = string
})
null no
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
secondary_ip_range Optional. Additional IP range for node placement. Required when enabling read replicas on an existing 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

Outputs

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.
read_endpoint The IP address of the exposed readonly Redis endpoint.
region The region the instance lives in.
server_ca_certs List of server CA certificates for the instance

Requirements

These sections describe requirements for using this module.

Software

The following dependencies must be available:

  • [Terraform][terraform] v1.3+
  • [Terraform Provider for GCP][terraform-provider-gcp] plugin v4.74+

Service Account

Following roles contain permissions to deploy resource.

  • Cloud Memorystore Redis Admin: roles/redis.admin

Enable API's

In order to operate with the Service Account you must activate the following API on the project where the Service Account was created:

  • Compute Engine API - redis.googleapis.com

Contributing

Refer to the contribution guidelines for information on contributing to this module.

terraform-google-memorystore's People

Contributors

renovate[bot] avatar cloud-foundation-bot avatar release-please[bot] avatar nstogner avatar morgante avatar dependabot[bot] avatar aaron-lane avatar jmymy avatar trotttrotttrott avatar bharathkkb avatar g-awmalik avatar pkatsovich avatar alexandarp avatar kobejn-jb avatar jamiezieziula avatar jacek-jablonski avatar dijit avatar jfmrm avatar julienbreux avatar mensaah avatar r4rohan avatar sumeetoc avatar zealws avatar mehdicopter avatar ramneekkh avatar rs1986x avatar ivankorn avatar imrannayer avatar erjohnso avatar dferramosi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.