Я редактирую имена переменных здесь для облегчения понимания. Моя проблема касается Ansible playbook, который использует пользовательский модуль Ansible. Выполнение playbook приводит к следующей ошибке:
TASK [ansiblecustommodulename.service_scale] ******************************************************************************************************************************************************
fatal: [myenv.mydomain]: FAILED! => {"changed": false, "msg": "Unsupported parameters for (ansiblecustommodulename) module: param3 Supported parameters include: param1, param2"}
Playbook включает следующее (пропуская первую часть playbook для краткости)
- name: ansiblecustommodulename.service_scale
ansiblecustommodulename:
action: service.scale
param1: "{{ otherapp_param1 }}"
param2: "{{ otherapp_param2 }}"
param3: "{{ otherapp_param3 }}"
В custom_module.py Файл, AnsibleModule был использован:
def main():
"""
Manage mydomain services.
"""
module = AnsibleModule(
argument_spec={
'param1': {'required': None},
'param2': {'default': None},
'param3': {'default': None},
'action': {'required': True, 'choices': [
'service.scale',
]}
}
Я вставил опцию отладчика в конце книги воспроизведения. Запуск p task_vars
показывает, что переменная param3 была правильно инициализирована:
'param1': 'ec2',
'param2': 'default',
'param3': '3',
'param1': 'ec2',
'param2': 'default',
'param3': '3',
Но я все еще получаю ошибку "Unsupported ..". Есть идеи по этому поводу?