2015-04-01 55 views
-1

我知道这是真的很基本的问题,但我真的想这样的解释:需要此基本ansible变量的解释

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' 

喜欢的是“回购”,我认为这是清单?但是什么是“名称”,“网址”和“钥匙”?为什么只有“名”具有“ - ”的前面呢?

在此先感谢

+2

http://docs.ansible.com/YAMLSyntax.html – 2015-04-01 17:28:49

+0

@MarcB感谢,我没有得到它那里,这就是为什么我提出这个问题。 – 2015-04-01 17:39:44

回答

1

也许它帮助,如果你在pythondictlist方面看待它:

$ 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是一个元素(钥匙) a dict
  • 键值reposdicts

一个list为什么只有 “名” 有 “ - ” 它的盈?

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

O和作为马克所说的读:ansible YAML Syntax

+0

感谢您的出色解释,只要您提出改进建议,没有什么是“无效问题”。 – 2015-04-01 18:44:37