Ansible шаблонного ямла внутри задачи - PullRequest
0 голосов
/ 15 октября 2018

Я использую модуль lxd_container для создания некоторых контейнеров lxd.Один из этих контейнеров должен включать в свою конфигурацию строку security.nesting: "true" .Я не могу шаблонировать эту конфигурацию, так как она контролируется инструментом lxc.Мне нужно что-то вроде:

{% if item.0 == "gitlab"%} security.nesting: true {% endif%}

- name: Creating  containers
  lxd_container:
    name: "{{item.0}}"
    state: started
    source:
      type: image
      mode: pull
      server: https://cloud-images.ubuntu.com/releases
      protocol: simplestreams
      alias: 18.04/amd64
    profiles: ["default"]
    config:
      security.nesting: true // only if item.0 == gitlab
      user.network-config: |-
        version: 1
        config:
          - type: physical
            name: eth0
            subnets:
              - type: static
                ipv4: true
                address: "{{ item.1 }}"
                netmask: 255.255.255.0
                gateway: "{{ CONT_GATEWAY }}"
                control: auto
    timeout: 7000
  with_together: 
  - "{{ CONT_NAME }}"
  - "{{ CONT_IP_ADRESS }}"

какМогу ли я достичь этого в одной задаче?

Ответы [ 2 ]

0 голосов
/ 16 октября 2018

Можете ли вы просто сделать: security.nesting: "{{item.0 == gitlab}}"

0 голосов
/ 15 октября 2018

Поможет ли вам троичный ?

- set_fact:
    nesting: "{{ (item0 == 'gitlab') | ternary(true, omit) }}"
- debug:
    msg: "{{ nesting|default('NOT SET') }}"
...