Skip to content

hazelops/terraform-aws-ssm-parameters

Repository files navigation

Terraform AWS SSM Parameters Module

Tests

The main goal of the module is to provide a consistent way to manage service SSM parameters. Suitable for use with External Secrets.

This module manages parameters in AWS SSM Parameter Store.

This module is capable of taking strings as a values. If you need to store something in a different format, please convert it to a string. Strings are stored as SecureString (Standard Tier) with maximum size 4 KB. See limitations on tiers in Managing parameter Tiers

For proper usage, refer to the example in this guide and the Examples folder.

Usage example:

module "krabby" {
  source = "hazelops/terraform-aws-ssm-parameters/aws"
  name   = "krabby"
  env    = "dev"

  parameters = {
    API_KEY = "api-XXXXXXXXXXXXXXXXXXXXX",
    S3_BUCKET_ARN = "arn:aws:s3:::dev-krabby",
    S3_BUCKET_NAME = "dev-krabby"
  }
}

Parameters in above example will be stored into the following paths:

/dev/krabby/API_KEY
/dev/krabby/S3_BUCKET_ARN
/dev/krabby/S3_BUCKET_NAME

Requirements

Name Version
terraform >=1.2.0
aws >=4.30.0

Providers

Name Version
aws >=4.30.0

Modules

No modules.

Resources

Name Type
aws_ssm_parameter.this resource

Inputs

Name Description Type Default Required
env Environment name string n/a yes
name Name of the service string n/a yes
parameters Map of SSM ParameterStore parameters to store - by default, /$var.env/$var.name/* map(string) n/a yes

Outputs

Name Description
ssm_parameter_paths A list of paths to created parameters