0

ich auf Bluemix EC2-Instanz-Vorlage an dem vordefinierten LAMP-Stack für Amazon suchen und fand das folgende Stück Code:Bluemix Cloud-Automation Manager Referenzierung externe Dateien

"awsPHPInstance": { 
      "source": "git::https://github.com/camc-experimental/terraform-modules.git?ref=master//aws/ami_instance", 
      "aws_ami": "${module.find_ami.aws_ami}", 
      "aws_instance_type": "t2.micro", 
      "aws_subnet_id": "${module.awsNetwork.subnet_id}", 
      "aws_security_group_id": "${module.awsNetwork.application_security_group_id}", 
      "aws_cam_public_key_id": "${aws_key_pair.cam_lamp_public_key.id}", 
      "hostname": "${var.php_instance_name}", 
      "module_script": "files/createCAMUser.sh", 
      "module_script_name": "createCAMUser.sh", 
      "module_script_variable_1": "${var.cam_user}", 
      "module_script_variable_2": "${var.cam_pwd}" 
     } 

Ich bin nicht ganz klar über "module_script": "files/createCAMUser.sh". Wo ist der Ordner dieser Datei, in dem sich das Shell-Skript befindet? Von dem, was ich verstehe, können wir nur einzelne Seite Terraform Vorlage haben.

+0

Bitte geben Sie einen Link zu der Vorlage an, auf die Sie verweisen. –

+0

Es wird auch hier verwiesen https://cam-proxy-ng.ng.bluemix.net/cam/instances/#!/deployTemplateEditorWithNoParam/e7b40c0dca9bf7d4ef807bc0b8f0e56c '" module_script ":" files/installMongoDB.sh "' Ich habe verstanden, dass es kommt für den GitHub-Link, auf den in der Ressource verwiesen wird. Aber was, wenn ich eine .pem-Datei referenzieren möchte, die ich nicht auf GitHub hochladen kann? Wie kann ich eine externe Datei in der CAM-Terraform-Datei referenzieren? – aaj

Antwort

0

Für Ihre erste Frage befindet sich das Skript tatsächlich innerhalb der Modulstruktur im Git Repo. Wenn Terraforming von CAM ausgeführt wird, ist es ein „Terraforming bekommen“, die von „Quelle“ in allem zieht: „git :: https://github.com/camc-experimental/terraform-modules.git?ref=master//aws/ami_instance

Die Skriptdatei in einem Ordner innerhalb des Moduls tatsächlich verpackt Namen „Dateien“

Das Modul verwendet die folgende Syntax, um die Datei zu verweisen:

data "template_file" "default" { template = "$ {Datei (" $ {path.module}/$ {var.module_script}“)} "

Für Ihre zweite Frage ist eine mögliche Lösung, Base64 zu codieren die co ntents der pem-Datei und geben Sie sie als Eingabezeichenfolge in Ihre Vorlage ein, anstatt sie aus einer Datei zu lesen.