diff --git a/README.md b/README.md index 2c7e27c..0a11828 100644 --- a/README.md +++ b/README.md @@ -69,6 +69,7 @@ No requirements. | [aws_iam_user_policy.user_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_user_policy) | resource | | [aws_iam_user_policy_attachment.user_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_user_policy_attachment) | resource | | [aws_ses_email_identity.user_send_mail](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ses_email_identity) | resource | +| [local_file.access_key_file](https://registry.terraform.io/providers/hashicorp/local/latest/docs/resources/file) | resource | | [local_file.rotate_keys_tfvars](https://registry.terraform.io/providers/hashicorp/local/latest/docs/resources/file) | resource | | [null_resource.rotate_keys_tfvars](https://registry.terraform.io/providers/hashicorp/null/latest/docs/resources/resource) | resource | | [time_sleep.wait_iam_access_key_v1](https://registry.terraform.io/providers/hashicorp/time/latest/docs/resources/sleep) | resource | diff --git a/access_keys.tf b/access_keys.tf index d8c1738..72fa550 100644 --- a/access_keys.tf +++ b/access_keys.tf @@ -22,6 +22,15 @@ locals { profile = var.profile == null ? "" : var.profile pgp_key_file = fileexists(var.pgp_key_file) ? var.pgp_key_file : "" }) + access_key_file = templatefile("${path.module}/templates/access-key.tpl", + { + username = aws_iam_user.user.name + profile = var.profile == null ? "" : var.profile + account_id = local.account_id + create_date = var.create_access_keys ? aws_iam_access_key.iam_access_key_v1[0].create_date : "" + access_key_id = var.create_access_keys ? aws_iam_access_key.iam_access_key_v1[0].id : "" + encrypted_secret = var.create_access_keys ? aws_iam_access_key.iam_access_key_v1[0].encrypted_secret : "" + }) } resource "null_resource" "rotate_keys_tfvars" { @@ -50,3 +59,11 @@ resource "local_file" "rotate_keys_tfvars" { depends_on = [null_resource.rotate_keys_tfvars] } + +resource "local_file" "access_key_file" { + count = var.create_access_keys ? 1 : 0 + content = local.access_key_file + filename = var.create_access_keys ? format("%v/%v/access_key.yml", path.root, null_resource.rotate_keys_tfvars[0].triggers.access_keys_directory) : "empty.txt" + + depends_on = [null_resource.rotate_keys_tfvars] +} diff --git a/templates/access_key.tpl b/templates/access_key.tpl new file mode 100644 index 0000000..ef4acd1 --- /dev/null +++ b/templates/access_key.tpl @@ -0,0 +1,7 @@ +account: ${account_id} +profile: ${profile} +create_date: ${create_date} +username: ${username} +access_key_id: ${access_key_id} +access_secret_key_encrypted: ${encrypted_secret} +access_secret_key_encrypted: