Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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

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 tflint

brew tap git-chglog/git-chglog
brew install git-chglog
```