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

Ваша проблема - просто отступы. В настоящее время Ansible анализирует ваш плей-лист и видит линию подключения в качестве параметра модуля route53, который затем жалуется, что connection не является допустимым параметром для модуля.

Вместо этого вам просто нужно отменить линию на том же уровне, что и хосты, чтобы Ansible анализировал его как параметр для общей игры, а не модуля:

---
- hosts: localhost
  connection: local
  tasks:
  - name: configure dns
    route53:
      command: create
      aws_access_key: 'XXXXXXXXXXXXXXXXXXXX'
      aws_secret_key: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
      zone: myzone.info
      record: test.myzone.info
      type: A
      ttl: 7200
      value: 1.1.1.1
      wait: yes
1
задан aryan 15 January 2019 в 17:21
поделиться

1 ответ

Вы можете попробовать что-то вроде этого:

new_m = []
bitcoin_usd_price = 5000

for obj in m:
        new_m.append(obj)
        if obj['currency_id'] == 2:
            new_m[-1]['usd_price'] = obj['price'] * bitcoin_usd_price
        else:
            new_m[-1]['bitcoin_price'] = obj['price'] / bitcoin_usd_price
m = new_m

Теперь просто назначьте bitcoin_usd_price фактический коэффициент конвертации валюты (стоимость биткойна в долларах США).

UPD: изменение списка m мухи было бы более точным решением:

bitcoin_usd_price = 5000

for i in range(len(m)):
        if m[i]['currency_id'] == 2:
            m[i]['usd_price'] = m[i]['price'] * bitcoin_usd_price
        else:
            m[i]['bitcoin_price'] = m[i]['price'] / bitcoin_usd_price
0
ответ дан Nikitin Roman 15 January 2019 в 17:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: