如何在 null-resource 中使用 count?

huangapple go评论115阅读模式
英文:

How to use count with null-resource?

问题

我已经定义了一个名为null_resource的资源,如下所示:

  1. resource "null_resource" "mynull-resource" {
  2. triggers = {
  3. always-update = timestamp()
  4. }
  5. # Connection Block for Provisioners to connect to EC2 Instance
  6. connection {
  7. type = "ssh"
  8. host = aws_instance.web[count.index].public_ip #Giving error
  9. user = "ec2-user"
  10. password = ""
  11. private_key = file("ec2keypair.pem")
  12. }
  13. }

错误信息:

  1. The "count" object can only be used in "module", "resource", and "data" blocks, and only when the "count" argument is set.

我该如何更新connection block以连接到多个主机?

我尝试使用spat operator,但是host = aws_instance.web.*.public_ip不起作用。

英文:

I have defined a null resource which looks as below:

  1. resource "null_resource" "mynull-resource" {
  2. triggers = {
  3. always-update = timestamp()
  4. }
  5. # Connection Block for Provisioners to connect to EC2 Instance
  6. connection {
  7. type = "ssh"
  8. host = aws_instance.web[count.index].public_ip #Giving error
  9. user = "ec2-user"
  10. password = ""
  11. private_key = file("ec2keypair.pem")
  12. }

Error:

  1. The "count" object can only be used in "module", "resource", and "data" blocks, and only when the "count" argument is set.

How can I update the connection block to connect to multiple hosts?

I have tried using spat operator but it is not working host = aws_instance.web.*.public_ip

答案1

得分: 1

resource下使用count

  1. resource "null_resource" "mynull-resource" {
  2. count = length(aws_instance.web)
  3. triggers = {
  4. always-update = timestamp()
  5. }
  6. # Provisioners连接到EC2实例的连接块
  7. connection {
  8. type = "ssh"
  9. host = aws_instance.web[count.index].public_ip #出现错误
  10. user = "ec2-user"
  11. password = ""
  12. private_key = file("ec2keypair.pem")
  13. }
  14. }

请注意,我只提供了代码的翻译部分,不包括其他内容。

英文:

Use count under resource:

  1. resource "null_resource" "mynull-resource" {
  2. count = length(aws_instance.web)
  3. triggers = {
  4. always-update = timestamp()
  5. }
  6. # Connection Block for Provisioners to connect to EC2 Instance
  7. connection {
  8. type = "ssh"
  9. host = aws_instance.web[count.index].public_ip #Giving error
  10. user = "ec2-user"
  11. password = ""
  12. private_key = file("ec2keypair.pem")
  13. }

huangapple
  • 本文由 发表于 2023年8月9日 12:50:32
  • 转载请务必保留本文链接:https://go.coder-hub.com/76864666.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定