3

Я учусь, но я запутался, когда использовать дефис и когда не использовать дефис в плейбуке. Как я знаю, дефис используется для списка в 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). 

Из анзибль документации говорится, что дефис в списке, например:

fruits: 
    - apple 
    - grapes 
    - orange 

Итак, я запутался, когда использовать дефис и когда не использовать.

+0

_why мы использовали дефис здесь, это не список_ Да, это список. Список пьес (только одна игра в этом списке). –

+0

Точно. В книжке может быть несколько пьес. Но даже если у вас только одна игра определена, она по-прежнему представляет собой список пьес. – udondan

ответ

5

Hyphen - используется для указания элементов списка, а двоеточие : используется для указания позиций словаря или пары ключ-значение. Я думаю, что сопоставимый пример с другим языком (например, Python) сделает это понятным. Скажем, у вас есть список my_list вроде этого:

my_list = ['foo', 'bar'] 

В анзибль вы зададите этот список пунктов с дефисом:

my_list: 
    - foo 
    - bar 

Теперь, скажем, у вас есть пара ключ-значение или словарь, как это:

my_dict = { 
    'key_foo': 'value_foo', 
    'key_bar': 'value_bar' 
} 

В анзибле, вы будете использовать двоеточие вместо дефиса для ключей паров значений или словаря:

my_dict: 
    key_foo: value_foo 
    key_bar: value_bar 

Внутри учебника есть список пьес, и внутри каждой игры у вас есть список задач. Поскольку tasks список, каждый элемент задачи начинается с дефисом, как это:

tasks: 
    - task_1 

    - task_2 

Теперь сам каждая задача представляет собой словарь или пару ключей значения. Ваша примерная задача содержит два ключа: name и yum. yum сам по себе - это еще один словарь с ключами name, state и т. Д.

+1

Небольшая поправка: пьесы состоят из одной или нескольких пьес, а не заданий, в списке. –

+0

@PasiH спасибо за исправление. Я немного отредактировал ответ, чтобы отразить вашу точку зрения. – taskinoor

Смежные вопросы