Выражение Fn :: Sub не разрешается в строку - PullRequest
0 голосов
/ 28 мая 2018

Я создал параметр:

Parameters:
  ..
  list:
    Description: "Provide a list .." 
    Type: CommaDelimitedList
    Default: "test1, test2"

Теперь я хочу сослаться на этот список (который будет разрешен в "test1", "test2", ..) из файла в моей облачной информации, который выглядит какthis:

    configure_xx:
      files:        

        /etc/file.conf:
          content: !Sub |
            input {
              logs {
                log_group => [ "${list}" ]
                access_key_id => "${logstashUserKey}"
                secret_access_key => "${logstashUserKey.SecretAccessKey}"
                region => "eu-west-1"
                }
            }

Как я могу заставить это работать для списка параметров?(ключи работают).ошибка: Fn::Sub expression does not resolve to a string

1 Ответ

0 голосов
/ 28 мая 2018

Просто переключите тип параметра для «String»

Parameters:
  ..
  list:
    Description: "Provide a list .." 
    Type: String
    Default: "test1, test2"

Если по какой-то причине у вас нет контроля над этим типом параметра, вы можете использовать Fn::Join для преобразования списка в строку,Например:

configure_xx:
  files:        

    /etc/file.conf:
      content: 
        Fn::Sub:
        - |-
            input {
              logs {
                log_group => [ "${joinedlist}" ]
                access_key_id => "${logstashUserKey}"
                secret_access_key => "${logstashUserKey.SecretAccessKey}"
                region => "eu-west-1"
                }
            }
        - joinedlist:
            Fn::Join:
            - ', '
            - !Ref list
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...