Как использовать объединение, чтобы добавить значение к указанному c место в dict? - PullRequest
0 голосов
/ 24 января 2020

У меня есть dict:

  credentionals:
  - person:
      login: Andrew
      password: pass123
      email: a@a.com
      dc:
        - dc_url: http://url-1.com
          roles:
            - read-only
        - dc_url: http://url-2.com
          roles:
            - admin

Я пытаюсь добавить новый ключ: значение в первый раздел dc_url:

 - name: Add new item
   set_fact:
     credentionals: "{{ credentionals[0].person.dc[0] | combine( { 'newitem': 'value'}  ) }}"

Итак, после этого мои учетные данные переписываются, и у меня есть только это:

ok: [localhost] => {
    "credentionals": {
        "newitem": "value",
        "dc_url": "http://url-1.com",
        "roles": [
            "read-only"
        ]
    }
}

Но я не хочу переписывать учетные данные, мне нужно получить все мои полномочия с добавлением {newitem:value}, например:

  credentionals:
  - person:
      login: Andrew
      password: pass123
      email: a@a.com
      dc:
        - dc_url: http://url-1.com
          newitem: value
          roles:
            - read-only
        - dc_url: http://url-2.com
          roles:
            - admin

Как я могу использовать комбайн, чтобы сделать это?

...