Может ли облачная информация SSM динамическая ссылка с типом StringList разрешить список? - PullRequest
0 голосов
/ 05 апреля 2019

Динамические ссылки на параметры 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 ... в списке строк?

Ответы [ 2 ]

1 голос
/ 16 апреля 2019

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

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

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

0 голосов
/ 25 июля 2019

Ожидая, пока AWS выполнит ожидающий запрос функции для {{resolve: ... динамических ссылок для разрешения типа «Список строк», вы можете обойти это в настоящее время, используя тип параметра SSM *1003* из 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
...