|
| 1 | +# AWS ElastiCache - User Group Terraform module |
| 2 | + |
| 3 | +Terraform module which creates AWS ElastiCache users & group resources. |
| 4 | + |
| 5 | +[](https://github.com/vshymanskyy/StandWithUkraine/blob/main/docs/README.md) |
| 6 | + |
| 7 | +## Usage |
| 8 | + |
| 9 | +See [`examples`](https://github.com/clowdhaus/terraform-aws-elasticache/tree/main/examples) directory for working examples to reference: |
| 10 | + |
| 11 | +```hcl |
| 12 | +module "elasticache" { |
| 13 | + source = "clowdhaus/elasticache/aws//modules/user-group" |
| 14 | +
|
| 15 | + user_group_id = "example" |
| 16 | + users = { |
| 17 | + Moe = { |
| 18 | + access_string = "on ~* +@all" |
| 19 | + passwords = ["password123456789"] |
| 20 | + } |
| 21 | +
|
| 22 | + Larry = { |
| 23 | + access_string = "on ~* +@all" |
| 24 | +
|
| 25 | + authentication_mode = { |
| 26 | + type = "iam" |
| 27 | + } |
| 28 | + } |
| 29 | +
|
| 30 | + Curly = { |
| 31 | + access_string = "on ~* +@all" |
| 32 | +
|
| 33 | + authentication_mode = { |
| 34 | + type = "password" |
| 35 | + passwords = ["password1", "password2"] |
| 36 | + } |
| 37 | + } |
| 38 | + } |
| 39 | +
|
| 40 | + tags = { |
| 41 | + Terraform = "true" |
| 42 | + Environment = "dev" |
| 43 | + } |
| 44 | +} |
| 45 | +``` |
| 46 | + |
| 47 | +## Examples |
| 48 | + |
| 49 | +Examples codified under the [`examples`](https://github.com/clowdhaus/terraform-aws-elasticache/tree/main/examples) are intended to give users references for how to use the module(s) as well as testing/validating changes to the source code of the module. If contributing to the project, please be sure to make any appropriate updates to the relevant examples to allow maintainers to test your changes and to keep the examples up to date for users. Thank you! |
| 50 | + |
| 51 | +- [Complete](https://github.com/clowdhaus/terraform-aws-elasticache/tree/main/examples/complete) |
| 52 | + |
| 53 | +<!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK --> |
| 54 | +## Requirements |
| 55 | + |
| 56 | +| Name | Version | |
| 57 | +|------|---------| |
| 58 | +| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.0 | |
| 59 | +| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.23 | |
| 60 | + |
| 61 | +## Providers |
| 62 | + |
| 63 | +| Name | Version | |
| 64 | +|------|---------| |
| 65 | +| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.23 | |
| 66 | + |
| 67 | +## Modules |
| 68 | + |
| 69 | +No modules. |
| 70 | + |
| 71 | +## Resources |
| 72 | + |
| 73 | +| Name | Type | |
| 74 | +|------|------| |
| 75 | +| [aws_elasticache_user.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/elasticache_user) | resource | |
| 76 | +| [aws_elasticache_user_group.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/elasticache_user_group) | resource | |
| 77 | +| [aws_elasticache_user_group_association.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/elasticache_user_group_association) | resource | |
| 78 | + |
| 79 | +## Inputs |
| 80 | + |
| 81 | +| Name | Description | Type | Default | Required | |
| 82 | +|------|-------------|------|---------|:--------:| |
| 83 | +| <a name="input_create"></a> [create](#input\_create) | Determines whether resources will be created (affects all resources) | `bool` | `true` | no | |
| 84 | +| <a name="input_create_group"></a> [create\_group](#input\_create\_group) | Determines whether a user group will be created | `bool` | `true` | no | |
| 85 | +| <a name="input_engine"></a> [engine](#input\_engine) | The current supported value is `REDIS` | `string` | `"REDIS"` | no | |
| 86 | +| <a name="input_tags"></a> [tags](#input\_tags) | A map of tags to add to all resources | `map(string)` | `{}` | no | |
| 87 | +| <a name="input_user_group_id"></a> [user\_group\_id](#input\_user\_group\_id) | The ID of the user group | `string` | `""` | no | |
| 88 | +| <a name="input_users"></a> [users](#input\_users) | A map of users to create | `any` | `{}` | no | |
| 89 | + |
| 90 | +## Outputs |
| 91 | + |
| 92 | +| Name | Description | |
| 93 | +|------|-------------| |
| 94 | +| <a name="output_group_arn"></a> [group\_arn](#output\_group\_arn) | The ARN that identifies the user group | |
| 95 | +| <a name="output_group_id"></a> [group\_id](#output\_group\_id) | The user group identifier | |
| 96 | +| <a name="output_users"></a> [users](#output\_users) | A map of users created and their attributes | |
| 97 | +<!-- END OF PRE-COMMIT-TERRAFORM DOCS HOOK --> |
| 98 | + |
| 99 | +## License |
| 100 | + |
| 101 | +Apache-2.0 Licensed. See [LICENSE](https://github.com/clowdhaus/terraform-aws-elasticache/blob/main/LICENSE). |
0 commit comments