Я использую 'terraform apply' в сценарии оболочки для создания нескольких экземпляров EC2.Мне нужно вывести список сгенерированных IP-адресов в переменную сценария и использовать этот список в другом подпрограмме.Я определил выходные переменные для ips в файле конфигурации terraform - ' instance_ips '
output "instance_ips" {
value = [
"${aws_instance.gocd_master.private_ip}",
"${aws_instance.gocd_agent.*.private_ip}"
]
}
Однако команда применения terraform применяет вывод всего вывода поколения EC2, кроме выходных переменных.
terraform init \
-backend-config="region=$AWS_DEFAULT_REGION" \
-backend-config="bucket=$TERRAFORM_STATE_BUCKET_NAME" \
-backend-config="role_arn=$PROVISIONING_ROLE" \
-reconfigure \
"$TERRAFORM_DIR"
OUTPUT = $( terraform apply <input variables e.g -
var="aws_region=$AWS_DEFAULT_REGION">
-auto-approve \
-input=false \
"$TERRAFORM_DIR"
)
terraform output instance_ips
Таким образом, содержимое переменной сценария 'OUTPUT' равно
Terraform command: apply Initialising the backend... Successfully
configured the backend "s3"! Terraform will automatically use this
backend unless the backend configuration changes. Initialising provider
plugins... Terraform has been successfully initialised!
.
.
.
aws_route53_record.gocd_agent_dns_entry[2]: Creation complete after 52s
(ID:<zone ............................)
aws_route53_record.gocd_master_dns_entry: Creation complete after 52s
(ID:<zone ............................)
aws_route53_record.gocd_agent_dns_entry[1]: Creation complete after 53s
(ID:<zone ............................)
Apply complete! Resources: 9 added, 0 changed, 0 destroyed. Outputs:
instance_ips = [ 10.39.209.155, 10.39.208.44, 10.39.208.251,
10.39.209.227 ]
вместо просто ips EC2.
Запускает 'terraform output instance_ips' выдает 'Требуется инициализация' Ошибка, которую я понимаю, означает, что требуется 'terraform init'.
Есть ли способ подавить генерацию ec2 и просто напечатать выходные переменные.если нет, то как получить IP-адреса с помощью команды terraform output без необходимости инициализации terraform?