Ansible 需要这个基本的解释吗

Ansible 需要这个基本的解释吗,ansible,ansible-playbook,Ansible,Ansible Playbook,我知道这是一个非常基本的问题,但我想解释一下: repos: - name: 'EPEL' url: 'http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm' key: 'http://ftp.riken.jp/Linux/fedora/epel/RPM-GPG-KEY-EPEL-6' - name: 'RPMForge' url: 'http://pkgs.

我知道这是一个非常基本的问题,但我想解释一下:

repos:
  - name: 'EPEL'
    url: 'http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm'
    key: 'http://ftp.riken.jp/Linux/fedora/epel/RPM-GPG-KEY-EPEL-6'
  - name: 'RPMForge'
    url: 'http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm'
    key: 'http://apt.sw.be/RPM-GPG-KEY.dag.txt'
  - name: 'Remi'
    url: 'http://rpms.famillecollet.com/enterprise/remi-release-6.rpm'
    key: 'http://rpms.famillecollet.com/RPM-GPG-KEY-remi'
  - name: 'Webtatic'
    url: 'http://mirror.webtatic.com/yum/el6/latest.rpm'
    key: 'http://mirror.webtatic.com/yum/RPM-GPG-KEY-webtatic-andy'
就像什么是“回购协议”,我想是列表?但是“名称”、“url”和“键”是什么?为什么只有“名字”前面有“-”呢


提前感谢

如果您从
python
dict
列表
的角度来看它,可能会有所帮助:

$ python -c "

import yaml
import pprint

pp = pprint.PrettyPrinter(indent=3);
x = yaml.load('''repos:
  - name: 'EPEL'
    url: 'http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm'
    key: 'http://ftp.riken.jp/Linux/fedora/epel/RPM-GPG-KEY-EPEL-6'
  - name: 'RPMForge'
    url: 'http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm'
    key: 'http://apt.sw.be/RPM-GPG-KEY.dag.txt'
  - name: 'Remi'
    url: 'http://rpms.famillecollet.com/enterprise/remi-release-6.rpm'
    key: 'http://rpms.famillecollet.com/RPM-GPG-KEY-remi'
  - name: 'Webtatic'
    url: 'http://mirror.webtatic.com/yum/el6/latest.rpm'
    key: 'http://mirror.webtatic.com/yum/RPM-GPG-KEY-webtatic-andy'
''');
pp.pprint( x );"

{  'repos': [  {  'key': 'http://ftp.riken.jp/Linux/fedora/epel/RPM-GPG-KEY-EPEL-6',
                  'name': 'EPEL',
                  'url': 'http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm'},
               {  'key': 'http://apt.sw.be/RPM-GPG-KEY.dag.txt',
                  'name': 'RPMForge',
                  'url': 'http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm'},
               {  'key': 'http://rpms.famillecollet.com/RPM-GPG-KEY-remi',
                  'name': 'Remi',
                  'url': 'http://rpms.famillecollet.com/enterprise/remi-release-6.rpm'},
               {  'key': 'http://mirror.webtatic.com/yum/RPM-GPG-KEY-webtatic-andy',
                  'name': 'Webtatic',
                  'url': 'http://mirror.webtatic.com/yum/el6/latest.rpm'}]}
$
因此:

  • repos
    dict
  • repos
    的值是
    dicts的
    列表
为什么只有“名字”前面有“-”呢

无效的问题。这就是YAML语法,当您想要声明一个
dict
时,就是这样做的


O正如马克所说的那样:

@MarcB谢谢,我没有理解它,这就是我提出这个问题的原因。谢谢你的精彩解释,只要你为了更好而问,没有什么是“无效的问题”。