Проверьте путь yaml в шаблоне Ansible Jinja2 - PullRequest
0 голосов
/ 02 июля 2018

У меня есть шаблон Cloudformation в формате yaml. Шаблон предоставлен Ansible Jinja2.

Мне нужно найти способ добавить проверку некоторых элементов внутри шаблона. Примерно так (оператор if - это псевдокод того, что я хочу получить):

Parameters:
  EnvironmentType:
    Default: {{profile}}

    Mappings:
        Environments:
            dev:
                DbSnapshotArn: ""
            test:
                DbSnapshotArn: "AAA"

           Type: AWS::RDS::DBInstance
            Properties:
             {% if Mappings.Environments.{{profile}}.DbInstanceClass %}
                    DBSnapshotIdentifier: !FindInMap [Environments, !Ref 'EnvironmentType', DbSnapshotArn]
            {% endif %}

Возможно ли это?

1 Ответ

0 голосов
/ 02 июля 2018

Нет, если Mappings.Environments.{{profile}}.DbInstanceClass ссылается на что-то внутри шаблона.

Но если вы определите переменную следующим образом:

Mappings:
  Environments:
    Dev:
      DbInstanceClass: "..."

И еще одна переменная, которая содержит значение profile, тогда внутри вашего шаблона вы можете создать оператор if, например:

{% if Mappings.Environments[profile].DbInstanceClass is defined %}
...
{% endif %}

Смотри также:

...