在尝试以下操作时,我会得到以下错误:
"msg":“不支持(vmware_vm_vm_drs_rule)模块的参数: delegate_to支持的参数包括: affinity_rule、cluster_name、drs_rule_name、已启用、主机名、强制性、密码、端口、proxy_host、proxy_port、状态、用户名、validate_certs、vms”。
当final_list为空或少于一个对象时,我不希望我的模块执行。只有在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发布于 2020-03-06 14:43:24
Q:“(vmware_vm_vm_drs_rule)模块的不支持参数: delegate_to .”
答:错误信息很清楚:"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 definedFWIW使用麻布验证语法。
问:“当final_list为空时,我不希望模块执行。”
A:试试这个
when: final_list|default([])|length > 0https://stackoverflow.com/questions/60564238
复制相似问题