Может ли динамическая ссылка SSM облачной информации с типом StringList разрешить список?

В шаблонах облачной информации поддерживаются динамические ссылки на параметры SSM.

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html

В документации указано, что вы можете Use the ssm dynamic reference to include values stored in the Systems Manager Parameter Store of type String or StringList in your templates.

Мы пытаемся сослаться на параметр типа StringList в нашем шаблоне, используя синтаксис {{resolve:ssm:parameter-name:version}}, и разрешить ему преобразование в список строк в шаблоне (точнее, список SecurityGroupIds для экземпляра EC2). Это не сработало, и в документации не указано, как это сделать и поддерживается ли это. Мы пробовали использовать Fn::Split, но похоже, что это вызывается до того, как будет разрешено динамическое значение. Мы не можем использовать значения SSM в разделе параметров шаблона, где это задокументировано. Кто-нибудь знает, можно ли добавить {{resolve ... в список строк?


person ekcrisp    schedule 05.04.2019    source источник
comment
Вы можете поделиться своим шаблоном CF? Есть сообщения об ошибках?   -  person jogold    schedule 14.04.2019


Ответы (2)


AWS Support ответила на мой запрос по этой проблеме и объяснила, что ответ на мой вопрос - нет, в настоящее время он не поддерживается. Полный текст их ответа приведен ниже.

В настоящее время CFN может принимать тип StringList, но такой StringList возвращается в виде строковых значений, разделенных запятыми, в результате чего получается одна длинная строка. Поэтому в случаях, когда нам нужно, чтобы он стал несколькими значениями, такими как массив или список строк, например, список идентификаторов SecurityGroup для экземпляра EC2, в настоящее время он не поддерживается.

С учетом сказанного, я копал дальше и обнаружил, что у нас внутри есть это как существующий запрос функции, к которому я добавил ваш голос, чтобы помочь получить больше поддержки для этой функции. У меня нет расчетного времени прибытия, чтобы поделиться, так как сервисная группа не скрывает своего графика / рабочего журнала. Однако, если / когда функция станет доступной, об этом будет публично объявлено в следующих местах:

person ekcrisp    schedule 15.04.2019

Ожидая, пока AWS реализует ожидающий запрос функции для {{resolve: ... динамических ссылок для разрешения на тип «Список строк», вы можете обойти это в настоящее время, используя тип параметра SSM AWS::SSM::Parameter::Value<List<String>> со значением по умолчанию, соответствующим параметру SSM, на который вы хотите сослаться. :

Parameters:
  SecurityGroups:
    Type: AWS::SSM::Parameter::Value<List<String>>
    Default: security-groups
Resources:
  Type: AWS::EC2::Instance
  Properties:
    SecurityGroupIds: !Ref SecurityGroups
person wjordan    schedule 25.07.2019