{"id":19165331,"url":"https://github.com/skyscrapers/terraform-elasticache","last_synced_at":"2025-05-07T12:23:44.538Z","repository":{"id":71000160,"uuid":"76840390","full_name":"skyscrapers/terraform-elasticache","owner":"skyscrapers","description":"Terraform module for ElastiCache","archived":false,"fork":false,"pushed_at":"2023-08-09T06:58:53.000Z","size":46,"stargazers_count":7,"open_issues_count":1,"forks_count":9,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-19T22:02:32.716Z","etag":null,"topics":["aws","aws-elasticache","elasticache","terraform","terraform-module","terraform-modules"],"latest_commit_sha":null,"homepage":null,"language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/skyscrapers.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-12-19T07:50:47.000Z","updated_at":"2023-01-25T15:13:47.000Z","dependencies_parsed_at":"2024-11-09T09:28:01.260Z","dependency_job_id":"83c31b95-d960-4277-a82e-fdfff2d8a82d","html_url":"https://github.com/skyscrapers/terraform-elasticache","commit_stats":null,"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skyscrapers%2Fterraform-elasticache","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skyscrapers%2Fterraform-elasticache/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skyscrapers%2Fterraform-elasticache/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skyscrapers%2Fterraform-elasticache/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/skyscrapers","download_url":"https://codeload.github.com/skyscrapers/terraform-elasticache/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252874776,"owners_count":21817904,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","aws-elasticache","elasticache","terraform","terraform-module","terraform-modules"],"created_at":"2024-11-09T09:27:27.896Z","updated_at":"2025-05-07T12:23:44.515Z","avatar_url":"https://github.com/skyscrapers.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# terraform-elasticache\nTerraform modules to set up redis and memcache.\n\n## redis\nThis creates a redis cluster with some default values and creates a security group for the cluster that allows a specific security group to access the redis cluster\n\n### Available variables:\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| \u003ca name=\"input_allowed_sgs\"\u003e\u003c/a\u003e [allowed\\_sgs](#input\\_allowed\\_sgs) | The security group that can access the redis cluster | `list(string)` | n/a | yes |\n| \u003ca name=\"input_at_rest_encryption_enabled\"\u003e\u003c/a\u003e [at\\_rest\\_encryption\\_enabled](#input\\_at\\_rest\\_encryption\\_enabled) | (Optional) Whether to enable encryption at rest | `bool` | `true` | no |\n| \u003ca name=\"input_auth_token\"\u003e\u003c/a\u003e [auth\\_token](#input\\_auth\\_token) | (Optional) The password used to access a password protected server. Can be specified only if `transit_encryption_enabled = true` | `string` | `null` | no |\n| \u003ca name=\"input_automatic_failover_enabled\"\u003e\u003c/a\u003e [automatic\\_failover\\_enabled](#input\\_automatic\\_failover\\_enabled) | n/a | `bool` | `false` | no |\n| \u003ca name=\"input_availability_zones\"\u003e\u003c/a\u003e [availability\\_zones](#input\\_availability\\_zones) | the list of AZs where you want your cluster to be deployed in | `list(string)` | n/a | yes |\n| \u003ca name=\"input_cloudwatch_logging_enabled\"\u003e\u003c/a\u003e [cloudwatch\\_logging\\_enabled](#input\\_cloudwatch\\_logging\\_enabled) | (Optional) Whether to enable cloudwatch logging | `bool` | `false` | no |\n| \u003ca name=\"input_cloudwatch_logging_retention_in_days\"\u003e\u003c/a\u003e [cloudwatch\\_logging\\_retention\\_in\\_days](#input\\_cloudwatch\\_logging\\_retention\\_in\\_days) | Retention period for the logs in CloudWatch. Default is 7d. | `number` | `7` | no |\n| \u003ca name=\"input_engine_version\"\u003e\u003c/a\u003e [engine\\_version](#input\\_engine\\_version) | The redis engine version | `string` | `\"3.2.6\"` | no |\n| \u003ca name=\"input_environment\"\u003e\u003c/a\u003e [environment](#input\\_environment) | How do you want to call your environment | `string` | n/a | yes |\n| \u003ca name=\"input_multi_az_enabled\"\u003e\u003c/a\u003e [multi\\_az\\_enabled](#input\\_multi\\_az\\_enabled) | n/a | `bool` | `false` | no |\n| \u003ca name=\"input_name\"\u003e\u003c/a\u003e [name](#input\\_name) | The name of the redis cluster | `string` | n/a | yes |\n| \u003ca name=\"input_node_type\"\u003e\u003c/a\u003e [node\\_type](#input\\_node\\_type) | The instance size of the redis cluster | `string` | n/a | yes |\n| \u003ca name=\"input_notification_topic_arn\"\u003e\u003c/a\u003e [notification\\_topic\\_arn](#input\\_notification\\_topic\\_arn) | (Optional) ARN of an SNS topic to send ElastiCache notifications | `string` | `null` | no |\n| \u003ca name=\"input_num_cache_nodes\"\u003e\u003c/a\u003e [num\\_cache\\_nodes](#input\\_num\\_cache\\_nodes) | The number of cache nodes | `number` | n/a | yes |\n| \u003ca name=\"input_parameter_group_name\"\u003e\u003c/a\u003e [parameter\\_group\\_name](#input\\_parameter\\_group\\_name) | The parameter group name | `string` | `\"default.redis3.2\"` | no |\n| \u003ca name=\"input_port\"\u003e\u003c/a\u003e [port](#input\\_port) | The redis port | `number` | `6379` | no |\n| \u003ca name=\"input_project\"\u003e\u003c/a\u003e [project](#input\\_project) | The project this redis cluster belongs to | `string` | n/a | yes |\n| \u003ca name=\"input_snapshot_arns\"\u003e\u003c/a\u003e [snapshot\\_arns](#input\\_snapshot\\_arns) | (Optional) A single-element string list containing an Amazon Resource Name (ARN) of a Redis RDB snapshot file stored in Amazon S3. Example: arn:aws:s3:::my\\_bucket/snapshot1.rdb | `list(string)` | `[]` | no |\n| \u003ca name=\"input_snapshot_retention_limit\"\u003e\u003c/a\u003e [snapshot\\_retention\\_limit](#input\\_snapshot\\_retention\\_limit) | The number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted. If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off. Please note that setting a snapshot\\_retention\\_limit is not supported on cache.t1.micro or cache.t2.* cache nodes | `number` | `0` | no |\n| \u003ca name=\"input_snapshot_window\"\u003e\u003c/a\u003e [snapshot\\_window](#input\\_snapshot\\_window) | The daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. The minimum maintenance window is a 60 minute period. Example: 05:00-09:00 | `string` | `\"03:00-05:00\"` | no |\n| \u003ca name=\"input_subnets\"\u003e\u003c/a\u003e [subnets](#input\\_subnets) | The subnets where the redis cluster is deployed | `list(string)` | n/a | yes |\n| \u003ca name=\"input_transit_encryption_enabled\"\u003e\u003c/a\u003e [transit\\_encryption\\_enabled](#input\\_transit\\_encryption\\_enabled) | (Optional) Whether to enable encryption in transit | `bool` | `true` | no |\n| \u003ca name=\"input_vpc_id\"\u003e\u003c/a\u003e [vpc\\_id](#input\\_vpc\\_id) | The vpc where we will put the redis cluster | `string` | n/a | yes |\n\n\n### Output\n| Name | Description |\n|------|-------------|\n| \u003ca name=\"output_configuration_endpoint_address\"\u003e\u003c/a\u003e [configuration\\_endpoint\\_address](#output\\_configuration\\_endpoint\\_address) | n/a |\n| \u003ca name=\"output_primary_endpoint_address\"\u003e\u003c/a\u003e [primary\\_endpoint\\_address](#output\\_primary\\_endpoint\\_address) | n/a |\n| \u003ca name=\"output_redis_sg\"\u003e\u003c/a\u003e [redis\\_sg](#output\\_redis\\_sg) | n/a |\n\n### Example\n\n```terraform\nmodule \"redis\" {\n  source          = \"github.com/skyscrapers/terraform-elasticache//redis\"\n  name            = \"redis\"\n  project         = var.project\n  environment     = terraform.workspace\n  node_type       = \"cache.t3.small\"\n  num_cache_nodes = \"1\"\n  subnets         = module.vpc.private_db_subnets\n  allowed_sgs     = [module.app.sg_id]\n  vpc_id          = module.vpc.vpc_id\n}\n```\n\n## memcache\n\n\n### Available variables \n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| allowed_sgs | The security group that can access the memcache cluster | `list(string)` | n/a | yes |\n| environment | How do you want to call your environment | `string` | n/a | yes |\n| name | The name of the memcache cluster | `string` | n/a | yes |\n| node_type | The instance size of the memcache cluster | `string` | n/a | yes |\n| num_cache_nodes | The number of cache nodes | `number` | n/a | yes |\n| project | The project this memcache cluster belongs to | `string` | n/a | yes |\n| subnets | The subnets where the memcache cluster is deployed | `list(string)` | n/a | yes |\n| vpc_id | The vpc where we will put the memcache cluster | `string` | n/a | yes |\n| engine_version | The memcache engine version | `string` | `\"1.4.5\"` | no |\n| parameter_group_name | The parameter group name | `string` | `\"default.memcached1.4\"` | no |\n| port | The memcache port | `number` | `11211` | no |\n\n### Output\n| Name | Description |\n|------|-------------|\n| memcache_endpoint | The DNS name of the memcache cluster  |\n| memcache_sg | The security group ID of the memcache cluster. |\n\n### Example\n\n```terraform\nmodule \"memcache\" {\n  source          = \"github.com/skyscrapers/terraform-elasticache//memcache\"\n  name            = \"memcache\"\n  project         = var.project\n  environment     = terraform.workspace\n  node_type       = \"cache.t3.small\"\n  num_cache_nodes = \"1\"\n  subnets         = module.vpc.private_db_subnets\n  vpc_id          = module.vpc.vpc_id\n  allowed_sgs     = [module.app.sg_id]\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskyscrapers%2Fterraform-elasticache","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fskyscrapers%2Fterraform-elasticache","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskyscrapers%2Fterraform-elasticache/lists"}