Я работаю над сценарием, который потребовал бы передачи профиля Innance arn. Я использую куколку, чтобы получить некоторую информацию, используя ее возможности. Ниже приведен (сниппет) пример вывода фактера, найденного в сети, полный вывод можно найти здесь (https://gist.github.com/cliff-wakefield/b232ef51799908a0264eb7e95af09092). То, что я хотел бы получить, это "InstanceProfileArn"
ec2_metadata => {
ami-id => "ami-34281c57",
ami-launch-index => "0",
ami-manifest-path => "(unknown)",
block-device-mapping => {
ami => "/dev/sda1",
root => "/dev/sda1"
},
hostname => "ip-10-180-0-40.ap-southeast-2.compute.internal",
iam => {
info => "{
"Code" : "Success",
"LastUpdated" : "2016-08-28T23:12:36Z",
"InstanceProfileArn" : "arn:aws:iam::750105279227:instance-profile/AnexPrereqs-AnexIAMInstanceProfile-11O8QJAS4XO7S",
"InstanceProfileId" : "AIPAI6YKKPRVVX2XD6LCK"
}"
Запустив facter ec2_metadata.iam.info
, я получаю:
{
"Code" : "Success",
"LastUpdated" : "2016-08-28T23:12:36Z",
"InstanceProfileArn" : "arn:aws:iam::750105279227:instance-profile/AnexPrereqs-AnexIAMInstanceProfile-11O8QJAS4XO7S",
"InstanceProfileId" : "AIPAI6YKKPRVVX2XD6LCK"
}
Однако я изо всех сил пытаюсь получить "InstanceProfileArn" напечатано на консоли.
Итак, две вещи, которые я хочу достичь:
- Запустив
facter ec2_metadata.iam.info.<InstanceProfileArn>
из своего экземпляра, я хочу иметь возможность видеть экземпляр профиль arn напечатан в консоли. - Во-вторых, я понимаю, что способ передачи вышеприведенной команды в puppet будет немного другим и будет выглядеть примерно так:
$facts[ec2_metadata][iam][info][InstanceProfileArn]
. Какой будет правильный синтаксис для передачи в манифест марионетки?