Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/umotif-public/terraform-aws-ssm-parameters
Terraform module creating encrypted and non-encrypted AWS SSM parameters
https://github.com/umotif-public/terraform-aws-ssm-parameters
aws aws-kms aws-ssm kms ssm terraform
Last synced: 15 days ago
JSON representation
Terraform module creating encrypted and non-encrypted AWS SSM parameters
- Host: GitHub
- URL: https://github.com/umotif-public/terraform-aws-ssm-parameters
- Owner: umotif-public
- License: other
- Created: 2020-05-04T12:08:11.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-09-20T11:48:49.000Z (over 1 year ago)
- Last Synced: 2023-09-21T00:17:36.495Z (over 1 year ago)
- Topics: aws, aws-kms, aws-ssm, kms, ssm, terraform
- Language: HCL
- Homepage: https://registry.terraform.io/modules/umotif-public/ssm-parameters/aws
- Size: 15.6 KB
- Stars: 3
- Watchers: 3
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/umotif-public/terraform-aws-ssm-parameters?style=social)
# terraform-aws-ssm-parameters
Terraform module creating encrypted and non-encrypted AWS SSM parameters## Terraform versions
Terraform 0.14.5. Pin module version to `~> v2.0`.
Terraform 0.12 - 0.14.4. Pin module version to `~> v1.0`.
Submit pull-requests to `master` branch.## Usage
```hcl
module "ssm-parameters" {
source = "umotif-public/ssm-parameters/aws"
version = "~> 3.0.0"name_prefix = "test/example-path"
parameters = {
"audit" = "cloudwatch"
}secure_parameters = {
"secure-audit" = "cloudwatch"
}advanced_tier = [
"secure-audit"
]prevent_overwrite = [
"audit"
]kms_key_id = module.kms.key_id
tags = {
"Environment" = "test"
}
}
```## Assumptions
Module v1.0 is to be used with Terraform > 0.12.
Module v2.0 is to be used with Terraform > 0.14.5.
Module v3.0+ is to be used with Terraform > 1.0.11.## Examples
* [SSM Parameters](https://github.com/umotif-public/terraform-aws-ssm-parameters/tree/master/examples/core)
## Authors
- [uMotif](https://github.com/umotif-public)
## Requirements
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.0.11 |
| [aws](#requirement\_aws) | >= 3.53 |## Providers
| Name | Version |
|------|---------|
| [aws](#provider\_aws) | >= 3.53 |## Modules
No modules.
## Resources
| Name | Type |
|------|------|
| [aws_ssm_parameter.parameters](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ssm_parameter) | resource |
| [aws_ssm_parameter.secure_parameters](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ssm_parameter) | resource |## Inputs
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [advanced\_tier](#input\_advanced\_tier) | List of parameter names that should have tier set to Advanced | `list(string)` | `[]` | no |
| [kms\_key\_id](#input\_kms\_key\_id) | The KMS key to use for encryption | `string` | `""` | no |
| [name\_prefix](#input\_name\_prefix) | Path used for each SSM parameter created by the module | `string` | n/a | yes |
| [parameters](#input\_parameters) | Non-encrypted parameters | `map(any)` | `{}` | no |
| [prevent\_overwrite](#input\_prevent\_overwrite) | [Deprecated - will be removed properly in 6.x] List of parameter names to prevent overwrite for | `list(string)` | `[]` | no |
| [secure\_parameters](#input\_secure\_parameters) | Secure parameters | `map(any)` | `{}` | no |
| [tags](#input\_tags) | n/a | `map(any)` | `{}` | no |## Outputs
| Name | Description |
|------|-------------|
| [parameter\_path](#output\_parameter\_path) | n/a |
| [parameters](#output\_parameters) | n/a |
| [secure\_parameters](#output\_secure\_parameters) | n/a |## License
See LICENSE for full details.
## Pre-commit hooks
### Install dependencies
* [`pre-commit`](https://pre-commit.com/#install)
* [`terraform-docs`](https://github.com/segmentio/terraform-docs) required for `terraform_docs` hooks.
* [`TFLint`](https://github.com/terraform-linters/tflint) required for `terraform_tflint` hook.#### MacOS
```bash
brew install pre-commit terraform-docs tflintbrew tap git-chglog/git-chglog
brew install git-chglog
```