gpt4 book ai didi

ansible - 在ansible中使用连字符

转载 作者:行者123 更新时间:2023-12-04 11:35:15 29 4
gpt4 key购买 nike

我正在学习 Ansible,但我很困惑何时在剧本中使用连字符以及何时不使用连字符。据我所知,连字符用于 Ansible 中的列表。

例如,

--- # my first playbook
- hosts: webservers ( why did we use hyphen here it is not a list)
tasks:
- name: installing httpd
yum: name=httpd state=installed ( why we shouldn't use hyphen here).

从 Ansible 文档中可以看出,连字符用于列表,例如:
fruits:
- apple
- grapes
- orange

所以,我很困惑何时使用连字符,何时不使用。

最佳答案

连字符 -用于指定列表项,冒号:用于指定字典项或键值对。我认为与另一种语言(例如 Python)的可比示例将说明这一点。假设您有一个列表 my_list像这样:

my_list = ['foo', 'bar']

在 Ansible 中,您将使用连字符指定此列表项:
my_list:
- foo
- bar

现在假设你有一个这样的键值对或字典:
my_dict = {
'key_foo': 'value_foo',
'key_bar': 'value_bar'
}

在 Ansible 中,您将对键值对或字典使用冒号而不是连字符:
my_dict:
key_foo: value_foo
key_bar: value_bar

在剧本中,您有一个剧本列表,在每个剧本中,您都有一个任务列表。自 tasks是一个列表,每个任务项都以连字符开头,如下所示:
tasks:
- task_1

- task_2

现在每个任务本身就是一个字典或键值对。您的示例任务包含两个键, nameyum . yum本身是另一个带有键的字典 name , state等等。

因此要指定任务列表,您可以使用连字符,但由于每个任务都是字典,因此它们包含冒号。

关于ansible - 在ansible中使用连字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37893600/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com