如何解决Terraform-本地供应商提示输入-bash脚本
我正在尝试使用bash脚本作为terraform的本地供应商。特别是bouncer项目,用于在自动缩放组中循环实例。该脚本在terraform之外按预期工作,但是脚本的一部分正在提示输入,并且在运行时terraform不会提示,而是选择了第一个数组选项并继续前进,这对我而言是不利的。
地形部分:
resource "null_resource" "server_bouncer_vault_cluster" {
triggers {
trigger = "${module.vault_cluster.launch_config_name}"
}
provisioner "local-exec" {
command = "../../../bouncerw canary -a '${module.vault_cluster.asg_name}:${var.vault_cluster_size}'"
}
}
脚本:
PROFILES=($(cat ~/.aws/config | grep '\[profile' | sed -n 's/\[profile \(.*\).*\]/\1/p' | sort))
echo "Which account are you trying to rebuild? Mayhaps one of these?"
for i in "${!PROFILES[@]}"; do
printf "%s\t%s\n" "$i" "${PROFILES[$i]}"
done
read -p "Please select the number of the profile you wish to rebuild: " profilenumber
printf '%s\n' "${PROFILES[$profilenumber]} is your selection"
. awsume ${PROFILES[$profilenumber]} && ./bouncer "$@"
我有一个回合4个配置文件,当Terraform运行它时,它总是在数组中选择选项0
,而不是要求用户输入。
谢谢
编辑:这是已编辑一些信息的terraform输出:
null_resource.server_bouncer_consul_cluster: Provisioning with 'local-exec'...
null_resource.server_bouncer_consul_cluster (local-exec): Executing: ["/bin/sh" "-c" "../../../bouncerw canary -a 'consul-us-east-1-staging20191023203410784500000005:5'"]
null_resource.server_bouncer_consul_cluster (local-exec): Bouncer already installed,using local copy
null_resource.server_bouncer_consul_cluster (local-exec): Which account are you trying to rebuild? Mayhaps one of these?
null_resource.server_bouncer_consul_cluster (local-exec): 0 production
null_resource.server_bouncer_consul_cluster (local-exec): 1 staging
null_resource.server_bouncer_consul_cluster (local-exec): 2 SFTP
null_resource.server_bouncer_consul_cluster (local-exec): 3 datascience
null_resource.server_bouncer_consul_cluster (local-exec): 4 master
null_resource.server_bouncer_consul_cluster (local-exec): production is your selection
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。