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 |