Ваша проблема - просто отступы. В настоящее время 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
Вы можете попробовать что-то вроде этого:
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