在 Ansible 脚本中区分 Amazon Linux 2 和 Amazon Linux AMI 2018.03.0
Differentiate Amazon Linux 2 and Amazon Linux AMI 2018.03.0 in Ansible Script
在 ansible 脚本中,我想区分 Amazon Linux 2 和 Amazon Linux AMI 2018.03.0 使用条件。就像我们使用 ansible_os_family 条件一样,ansible 中是否有任何条件函数可以用来区分这两者。
我的 Objective 是根据 os 的差异 运行 不同的命令(使用 ansible 脚本)( 尤其是亚马逊 Linux 2和亚马逊 Linux 2018.03.0).
您可以为此使用以下可靠的事实,
{{ hostvars[inventory_hostname].ansible_distribution }}
对于运行基于条件的不同任务,这样做
- name: <Task name goes here>
import_tasks: yourtask.yml
when: hostvars[inventory_hostname].ansible_distribution | lower == 'amazon linux 2'
Amazon Linux 2 与 2018.03.0 的 ansible_distribution_major_version
事实分别设置为 "2"
和 "2018"
,因此您可以将其用于您的条件,如下所示:
when: ansible_distribution_major_version == "2018"
在 ansible 脚本中,我想区分 Amazon Linux 2 和 Amazon Linux AMI 2018.03.0 使用条件。就像我们使用 ansible_os_family 条件一样,ansible 中是否有任何条件函数可以用来区分这两者。
我的 Objective 是根据 os 的差异 运行 不同的命令(使用 ansible 脚本)( 尤其是亚马逊 Linux 2和亚马逊 Linux 2018.03.0).
您可以为此使用以下可靠的事实,
{{ hostvars[inventory_hostname].ansible_distribution }}
对于运行基于条件的不同任务,这样做
- name: <Task name goes here>
import_tasks: yourtask.yml
when: hostvars[inventory_hostname].ansible_distribution | lower == 'amazon linux 2'
Amazon Linux 2 与 2018.03.0 的 ansible_distribution_major_version
事实分别设置为 "2"
和 "2018"
,因此您可以将其用于您的条件,如下所示:
when: ansible_distribution_major_version == "2018"