YAML: «Неподдерживаемые параметры для модуля ansible» - PullRequest
1 голос
/ 06 марта 2020

Я получаю приведенную ниже ошибку при попытке сделать это, как показано ниже:

"msg": "Неподдерживаемые параметры для модуля (vmware_vm_vm_drs_rule): делегат_to В число поддерживаемых параметров входят: affinity_rule, cluster_name, drs_rule_name, enabled, hostname , обязательно, пароль, порт, proxy_host, proxy_port, состояние, имя пользователя, validate_certs, vms ".

Я не хочу, чтобы мой модуль выполнялся, когда final_list пуст или меньше одного объекта. Только если его более 2 объектов в final_list, я бы хотел, чтобы он выполнялся. Может ли кто-нибудь помочь мне с правильным состоянием

    "ansible_facts": {"final_list": [ "NPSY7ADFS01"]}
    "ansible_facts": {"final_list": []}

    - name: Create DRS Anti Affinity Rule for VM-VM
       vmware_vm_vm_drs_rule:
         hostname: "{{ vcenter_hostname }}"
         username: "{{ vcenter_username }}"
         password: "{{ vcenter_password }}"
         cluster_name: "{{ datacenter_name }}-{{ cluster_name }}"
         validate_certs: no
         vms: "{{ final_list }}"
         drs_rule_name: "{{ rule_name }}"
         enabled: True
         mandatory: True
         affinity_rule: "{{ action_type }}" 
         delegate_to: localhost
       register: rule_creation
       when: final_list is defined

1 Ответ

2 голосов
/ 06 марта 2020

Q: "Неподдерживаемые параметры для модуля (vmware_vm_vm_drs_rule): Delegate_to ..."

A: Сообщение об ошибке сбрасывается: "Delegate_to не является параметром vmware_vm_vm_drs_rule ". Отступ delegate_to неверен. По этой причине delegate_to считается параметром модуля. Исправьте отступ delegate_to

     - name: Create DRS Anti Affinity Rule for VM-VM
       vmware_vm_vm_drs_rule:
         hostname: "{{ vcenter_hostname }}"
         username: "{{ vcenter_username }}"
         password: "{{ vcenter_password }}"
         cluster_name: "{{ datacenter_name }}-{{ cluster_name }}"
         validate_certs: no
         vms: "{{ final_list }}"
         drs_rule_name: "{{ rule_name }}"
         enabled: True
         mandatory: True
         affinity_rule: "{{ action_type }}" 
       delegate_to: localhost
       register: rule_creation
       when: final_list is defined

FWIW. Используйте ansible -lint для проверки синтаксиса.


Q: "Я не хочу, чтобы модуль выполнялся, когда final_list пуст. "

A: Попробуйте это

       when: final_list|default([])|length > 0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...