2017-09-21 6 views

Répondre

0

Si vous utilisez le fichier de configuration au format JSON, vous pouvez le faire comme ça

{ 
    "variable": { 
     "user_data": { 
      "type": "map", 
      "default": { 
      "status":"0", 
      "serial":"0" 
      } 
     } 
    }, 
    "resource": { 
     "aws_instance": { 
      "web": { 
      "user_data":"${var.user_data}" 
      } 
     } 
    } 
} 
+0

@ КонстантинШестаков J'ai effectué réponse. – songxunzhao

+1

Terraform renverse une erreur 'user_data doit être une valeur unique, pas une carte' –

2

vous pouvez utiliser heredoc syntaxe

(ci-dessous les codes ne fonctionnent pas dans une véritable instance EC2, juste vous montrer comment utiliser heredoc dans le fichier de configuration terrafrom.)

resource "aws_instance" "web" { 
    ami   = "${data.aws_ami.ubuntu.id}" 
    instance_type = "t2.micro" 

    user_data = <<EOF 
{"status":"0","serial":"0"} 
EOF 
} 
    tags { 
    Name = "HelloWorld" 
    } 
} 
+0

Il retourne {\" status \ ": \" 0 \ ", \" serial \ ": \" 0 \ "} et je peux l'implémenter droit sans heredoc, bu merci quand même. –