Creates a password with a Lambda data source and saves it in a secrets manager secret, allowing the creation of passwords without saving them in state
Here's what using the module will look like
module "secure_password" {
source = "rhythmictech/secure-password/aws"
version = "~> 1.0.0-rc1"
name = "my-secure-pass"
length = 24
}
output "secret_name" {
value = module.secure_password.secret_name
}
Creates a password with a Lambda data source and saves it in a secrets manager secret, allowing the creation of passwords without saving them in state
Name | Version |
---|---|
terraform | >= 0.12.28 |
aws | >= 2.45 |
external | >= 1.2 |
null | >= 2.1 |
random | >= 2.3 |
Name | Version |
---|---|
aws | >= 2.45 |
external | >= 1.2 |
null | >= 2.1 |
random | >= 2.3 |
Name | Source | Version |
---|---|---|
lambda_invocation | matti/resource/shell | ~>1.0.7 |
lambda_invocation_result | matti/resource/shell | ~>1.0.7 |
lambda_version | rhythmictech/find-release-by-semver/github | ~> 1.0 |
Name | Type |
---|---|
aws_iam_role.this | resource |
aws_iam_role_policy.secret_write | resource |
aws_iam_role_policy_attachment.lambda_basic_execution | resource |
aws_lambda_function.this | resource |
aws_secretsmanager_secret.this | resource |
null_resource.lambda_zip | resource |
random_string.trigger | resource |
aws_iam_policy_document.assume | data source |
aws_iam_policy_document.secret_write | data source |
external_external.sha | data source |
Name | Description | Type | Default | Required |
---|---|---|---|---|
length | Length of the password to be created | number |
n/a | yes |
name | Moniker to apply to all resources in the module | string |
n/a | yes |
keepers | Arbitrary map of values that when changed will force a new password | map(string) |
{} |
no |
lambda_version_constraint | NPM-style version constraint for the version of the lambda code you want to use | string |
"^1.0.3" |
no |
lower | Whether to use lower case characters | bool |
true |
no |
min_lower | Minimum number of lowercase letters | number |
0 |
no |
min_numeric | Minimum number of numeric characters to use. Must be at least 1 | number |
1 |
no |
min_special | Minimum number of special characters to use. Must be at least 1 | number |
1 |
no |
min_upper | Minimum number of uppercase characters to use. Must be at least 1 | number |
1 |
no |
number | Whether to use numbers | bool |
true |
no |
override_special | Supply your own list of special characters to use for string generation | string |
"!@#$%&*()-_=+[]{}<>:?" |
no |
secret_description | Set a description for the secret | string |
"A password created by Terraform" |
no |
special | Whether to use special characters | bool |
true |
no |
tags | User-Defined tags | map(string) |
{} |
no |
upper | Whether to use uppercase characters | bool |
true |
no |
Name | Description |
---|---|
lambda_version | The selected version of the Lambda code |
lambda_version_info | all information about the selected version of the Lambda code |
result | String result of Lambda execution |
secret_arn | ARN of the secret containing the password |
secret_name | Name of the secret containing the password |