Bluemix Cloud Automation Manager ссылается на внешние файлы

Я просматривал предопределенный стек LAMP для шаблона инстанса Amazon ec2 в Bluemix и нашел следующий фрагмент кода:

"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}"
        }

Я не очень понимаю "module_script": "files/createCAMUser.sh". Где находится папка этого файла, в которой находится сценарий оболочки? Насколько я понимаю, у нас может быть только одностраничный автономный шаблон terraform.


person codec    schedule 31.05.2017    source источник
comment
Пожалуйста, дайте ссылку на шаблон, на который вы ссылаетесь.   -  person William 'Bill' Wentworth    schedule 01.06.2017
comment
На него также ссылаются здесь cam-proxy-ng.ng .bluemix.net/cam/instances/#!/ "module_script": "files/installMongoDB.sh" Я так понял, что он идет по ссылке на гитхаб, указанной в ресурсе. Но что, если я хочу сослаться на файл .pem, который я не могу загрузить на github? Как я могу сослаться на внешний файл в файле CAM terraform?   -  person codec    schedule 01.06.2017


Ответы (1)


Что касается вашего первого вопроса, скрипт фактически находится в структуре модуля в репозитории git. Когда terraform запускается из CAM, он выполняет «terraform get», который извлекает все из «источника»: «git::https://github.com/camc-experimental/terraform-modules.git?ref=master//aws/ami_instance"

Файл скрипта фактически упакован внутри модуля в папке с именем «файлы».

Модуль использует следующий синтаксис для ссылки на файл:

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

Для вашего второго вопроса одним из возможных решений является кодирование base64 содержимого файла pem и передача его в ваш шаблон в качестве входной строки, а не попытка прочитать его из файла.

person Joe Huizenga    schedule 01.06.2017