5.YAML介绍

news2024/11/28 12:34:26
  1. 什么是YAML
    YAML是一种存储数据的文件格式。类似jsonxml
    Ansible playbooks或者配置文件,以称为YAML的特定格式编写。如果您使用过其他数据结构格式(如XMLJSON),则应该能够轻松地使用它。
    在这里插入图片描述
    上图中就是以3种格式表示的一个server的定义

  2. 简单的数据格式

    1. 键值对: 键和值由冒号分隔, 冒号后面必须有空格。
    2. 数组: 数组名key后面加冒号,然后换行,每个数组元素前面加-,表示这是数组中的一个元素
    3. 字典(Map):字典是在一个项目下组合在一起的一组属性。字典名字后面加冒号;每个单一项目的属性前有相等数目的空格,每一项都对齐在一起。单一项目是key: value的形式。
      在这里插入图片描述
      YAML中的空格很关键,例如下面的例子,想将FatCarbs设置为Calories的值,就会报错。因为Calories已经有一个值105了。
      在这里插入图片描述
      数组(lists)可以包含字典。例如下面的例子,有个数组名字为Fruits,包含两个元素BananaGrape,这两个元素分别又是一个字典,字典里面包含了详细的信息。
      在这里插入图片描述
  3. 什么时候用数组?什么时候用字典?
    以汽车为例子。汽车是一个单一的对象, 它具有颜色、型号、 变速箱和价格等属性。为了存储单个对象的不同信息或属性,我们使用字典。
    在这里插入图片描述
    在这个简单的字典中,我以键值对定义了car的属性。可能不像这样简单, 例如, 如果我们需要将模型进一步拆分为model namemake year, 则可以将其表示为另一个字典中的字典。
    在这里插入图片描述
    在本例中, model的单个值现在被一个小字典替换,该字典包含两个属性:nameyear

    假设我们要存储六辆汽车的名称。名字是由汽车的颜色和型号来命名的。为了存储它, 我们将使用一个数组,因为它是同一类型对象的多个项。因为我们只存储名称, 所以我们有一个简单的字符串列表。如果我们想存储每辆车的所有信息。
    在这里插入图片描述
    我们之前列出的所有信息,如颜色、 型号、 变速器和价格, 该怎么办?我们将把数组从字符串列表修改为字典列表。因此, 我们展开数组中的每一项,并将名称替换为前面构建的字典。这样, 我们就可以使用字典列表在单个YAML文件中表示多辆汽车的所有信息。
    在这里插入图片描述

  4. 字典是无序集合, 而列表是有序集合
    您在这里看到的两个字典具有相同的banana属性。但是, 您可以看到, 脂肪和碳水化合物属性的顺序并不匹配。在第一本词典中, 脂肪的定义在碳水化合物之前,在第二本词典中, 碳水化合物排在脂肪之后, 但这并不重要。属性可以按任意顺序定义,但只要每个属性的值匹配,两个字典将仍然相同。
    在这里插入图片描述
    这对于数组是不同的。数组是有序集合,因此项的顺序很重要。所示的两个数组并不相同, 因为applebanana位于不同的位置。这是在使用数据结构时要记住的一点。
    在这里插入图片描述
    还请记住, 任何以#开头的行都将被自动忽略,并被视为注释。

    YAML例子: payslips是数组,包含三个对象,每个对象包含monthamount两个键值对。

    employee:
      name: john
      gender: male
      age: 24
      address:
        city: 'edison'
        state: 'new jersey'
        country: 'united states'
      payslips:
        - month: june
          amount: 1400
        - month: july
          amount: 2400
        - month: august
          amount: 3400
    

    更多关于Ansible的文章,请参考我的Ansible专栏:https://blog.csdn.net/u011069294/category_12331290.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/572839.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

找不到vcruntime140.dll,无法继续执行代码,vcruntime140.dll怎么修复

vcruntime140.dll是一个Microsoft Visual C Redistributable包的一部分,它是用于运行在Windows操作系统上使用Visual C开发的程序和应用程序的必备文件之一。它是Microsoft Visual C Redistributable的动态链接库文件,也就是所谓的DLL文件。如果这个文件…

nova 11系列可打断动画闪亮登场,带你领略极致丝滑体验

华为nova 11系列手机自发布以来就受到广大消费者的好评和青睐,尤其是全网热捧的丝滑流畅动效体验,更是让不少用户直呼——“一旦上手,就回不去了”,让我们先来欣赏一下nova 11系列上的动效吧! 从上面的视频演示&#x…

C++学习day--12 循环的应用,暴力破解密码和输出动图

第 1 节 职场修炼:程序员到底能干多久 现状: 很多程序员,过了 30 岁,纷纷转行。 原因: 1 )薪资过万后,很难进一步提升 2 )可替代性高,在新人面前,没有…

学习ChatGPT,从这几个中文提示词教程开始

ChatGPT已经火爆了一段时间了,很多用户也体验了ChatGPT,他的回答非常的强大。但有些人能够得到很好地回答,有些人得到的答案,并不是非常的完美,其实这个短时间内,和一个叫做提示工程(Prompt Eng…

在城市之间“闪送”,同城即时速递的正确解法

从5月14日母亲节到“520”网络情人节,鲜花店、餐饮店和蛋糕店里,满是闪送骑手师傅进进出出的身影。 在成都,一位闪送师傅通过抖音展示了自己忙碌的一天:“了不起的母亲节,凌晨就开始预约单,(系…

SSM框架学习-REST内容、案例及快速开发

1. REST简介 当访问行为不同时(例如insert、delete等等),REST风格描述形式的路径是相同的,那如何区分? 所以,通过路径请求方式,我们就可以区分对资源进行了何种操作; 而REST风格对资…

[PyTorch][chapter 35][经典卷积神经网络-1 ]

前言: ILSVRC(ImageNet Large Scale Visual Recognition Challenge)是近年来机器视觉领域最受追捧也是最具权威的学术竞赛之一,代表了图像领域的最高水平。 ImageNet数据集是ILSVRC竞赛使用的是数据集,由斯坦福大学李…

太强啦!!!ChatGPT 能上传文件了,能执行 Python 代码啦!

ChatGPT又出试验型新模式,不少网友陆续收到代码解释器Alpha测试资格。 ​ 简单来说,这个模式提供两个功能:执行Python代码,接受文件上传下载。 为什么是这两个功能的组合? 可以看目前最火的一条测试结果&#xff0c…

MySQL——锁:概述、全局锁、表级锁、表锁(读锁、写锁)、元数据锁、意向锁、行级锁、行锁、间隙锁临键锁

5.锁 5.1 概述 ​ **锁是计算机协调多个进程或线程并发访问某一资源的机制。**在数据库中,除传统的计算资源(CPU、 RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必…

Linux---用户切换命令(su命令、sudo命令、exit命令)

1. su命令 root用户拥有最大的系统操作权限,而普通用户在许多地方的权限是受限的。 普通用户的权限,一般在其HOME目录内是不受限的。 一旦出了HOME目录,大多数地方,普通用户仅有只读和执行权限,无修改权限。 su 是…

chatgpt国内镜像有什么优势?Gpt有什么强大的功能

chatgpt国内镜像有什么优势?其实这个是很多人都想知道的问题,小编觉得有必要给大家说一下,毕竟这个东西有优点也有缺点,下面我们一起来看看吧。 一.chatgpt国内镜像的优势 1.网络延迟更低 使用国内的ChatGPT镜像,可…

多目标遗传算法NSGA-II改进策略

上篇写道了关于多目标遗传算法NSGA-II原理详解及算法代码实现,本文将继续在这篇文章的基础上更深一步的向前探索,探索方向为: 基于NSGA-II算法的固有缺点,着重对其算法提出改进策略,并予以代码实现。同样,本…

医药公司药品品种分析

分析一家医药公司药品管线品种首先要罗列出该制药企业的上市品种及在研品种,然后再逐一分析之。 一般医药公司药品管线品种分析需要从多个角度进行解析,如:市场规模,市场占有率、政策法规、基药目录、国家/省市医保目录、新农合目…

【智慧排水】智慧排水监测系统助力城市抗洪排涝建设

随着城市的发展和生活水平的提高,城市排水系统面临着各种挑战和难题。虽然国家已经大力建设和改造雨污分流系统,以解决城市排水问题,但在实际应用中仍然存在着诸多难题,如雨污混接、偷排漏排、管道堵塞淤积、管道溢流和内涝等问题…

一文看懂GPT风口,都有哪些创业机会?

新时代的淘金者,低附加价值的创业要谨慎,高附加价值、低技术门槛创业也要谨慎,主干道边上的创业也要谨慎。不少朋友看完不淡定了,干什么都谨慎,回家躺平好了,我有个朋友,靠ChatGPT,半…

功率信号源的使用方法有哪些

功率信号源是一种常见的电子设备,主要用于产生各种功率信号,例如直流信号、正弦信号等。功率信号源广泛应用于工业、科研、医疗等领域,例如电机驱动、电子仪器仪表、医疗设备等。本文将详细介绍功率信号源的使用方法和注意事项。 图&#xff…

【Java基础篇】逻辑控制

作者简介: 辭七七,目前大一,正在学习C/C,Java,Python等 作者主页: 七七的个人主页 文章收录专栏:Java.SE,本专栏主要讲解运算符,程序逻辑控制,方法的使用&…

springcloud-alibaba (04)GatewayFilter 自定义全局过滤器-认证和授权

GatewayFilter 自定义全局过滤器 内置的过滤器已经可以完成大部分的功能,但是对于企业开发的一些业务功能处理,还是需要我们自己编写过滤器来实现的,那么我们一起通过代码的形式自定义一个过滤器,去完成统一的权限校验。 开发中的…

这 30 多种免费和开源的 Kubernetes 监控工具,性能和可靠性尽在掌控之中!

Kubernetes 是当今最受欢迎和广泛使用的容器编排和管理平台之一。它提供了高度可扩展的架构,使得在分布式环境中部署、管理和扩展应用程序变得更加容易。然而,随着应用程序数量和规模的增长,对于有效监控和管理 Kubernetes 环境变得至关重要。…

Cenots7安装Docker centos安装Docker centos7安装Docker

Cenots7安装Docker centos安装Docker centos7安装Docker 在CentOS 7上安装Docker,可以按照以下步骤进行操作:1、(可选)更新系统软件包2、安装Docker依赖3、添加Docker稳定版仓库4、安装Docker5、启动Docker服务6、设置Docker开机自启7、验证Docker安装是…