.. | ||
main.tf | ||
README.md | ||
run_awscli.sh | ||
variables.tf |
awscli module
This module executes awscli and returns the output.
input variables
Set the temp credentials if role switching is needed. Otherwise, leave them alone.
variable | type | required | description |
---|---|---|---|
access_key | string | no | for role switching |
secret_key | string | no | for role switching |
session_token | string | no | for role switching |
aws_cli_commands | string | yes | command and parameters after aws |
output variable
Normally terraform only produces a simple map of string in output. To work around this, awscli outout are base64 encoded. The output variable is then base64decoded back to the original text.
variable | type | description |
---|---|---|
awscli_output | string | output from awscli |
Usage example
module "awscli_exec" {
source = "../../modules/util/awscli"
access_key = module.as_role.temp_credential.AccessKeyId
secret_key = module.as_role.temp_credential.SecretAccessKey
session_token = module.as_role.temp_credential.SessionToken
aws_cli_commands = "ec2 describe-instances --query Reservations[].Instances[].InstanceId"
}
output awscli_output {
value = module.awscli_exec.awscliout
}
Output
Outputs:
awscli_output = [
"i-0cd5e682bc68dbcd2",
"i-050d4adeafaa53cd0",
"i-008328e9dfb56b883",
"i-0634c5ef3528a7b6f",
"i-0dc9009c249f3e3bd",
"i-08034d509751ff058",
"i-0bdd375df2b78a620",
"i-0655d2b3716b1383e",
]
References
This module is based on https://registry.terraform.io/modules/digitickets/cli/aws/latest