zoukankan      html  css  js  c++  java
  • Ansible之playbook,yaml文件详解

    要学好Ansible,Playbook是必须的,

    playbook是yaml文件格式,这令很多初次接触yaml文件的朋友痛苦不堪,什么时候会用到 "-" 什么时候不用到"-" 头大

    不废话,本文将结合python来问做yaml文件的详解

    首先我们写简单的yaml,此段yaml语言和playbook无关,但是对于认识yaml非常有帮助

     这是我写的一个简单的yaml,但是对认识yaml很有帮组,闲话不说我们看是解析,这个yaml

    运用python对yaml解析了以后

    看着是不是很眼熟,对是一个json字符串

    也就是key-value的形式,大部分编程语言都可以将json翻译成自己的数据类型

    首先我们来解析这串字符串

    app这个key所对应的值是另外一组json字符串,这个字符串,又包含了三组键值对

    (key-hostname,value-centos),(key-hosts,value-['10.0.0.1','10.0.0.2','10.0.0.3']),(key-name,value-'test dev prd')

    于是我们得知

    1.app对应的值是一个json字符串

    2. hostname对应的是一个字符串

    3.”-“  ip地址,表示的是一个列表,或者叫数组。

    4.而不加“-” 的解析出来是带空格的字符串

    那我们再看一个yaml:

     

    比上次那个稍稍复杂了一些

     这个我给排下版:

    {'app':

           '[{'hostname':.....},

           {’hostname‘:.....}]'

    }

    这个json字符串

    app 的value 是一个数组(列表),

    数组是由两个json字符串

    在json字符串中有一个特点,很重要的特点就是key不允许有重复。

    数组的特性,允许重复,但是实际工作中我们要用到重复的key怎么办,把它变成数组

    于是我们就可以需要在写yaml的时候在需要用重复的key前面加 “-” 至于值什么时候需要加 -,就看你希望以那种数据类型来解析这个值了

  • 相关阅读:
    意法半导体STM32MP157A MPU加持,米尔科技首款ST Linux开发板MYD-YA157C评测
    基于nxp i.mx8m mini的新一代高性价比核心板之王
    Spring IoC容器-ApplicationContext
    XML文档
    Spring资源访问
    Spring框架简介
    SpringBoot整合RabbitMQ
    发布订阅模式
    主题模式
    RabbitMQ Work Queues(工作队列)
  • 原文地址:https://www.cnblogs.com/juanNote/p/12327331.html
Copyright © 2011-2022 走看看