基本语法:
    ansible-playbook -v -i myhost  test.yml -e "name=xiaoming" 
 
// -v  是看运行细节。要更细节的信息,把-v换成 -vvv
// myhost 是我们自己写的host文件。也就是说,我们不一定要用/etc/ansible/hosts那个文件。
// -e 是传参到yml文件里面
ansible的渲染是依赖于jinja2的。
所以yml文件里面都是用花括号,表示待渲染的变量:{{  }}
 
vim  test.yml
- hosts: web
gather_facts: no tasks:
- ping:
- name: get S/N
shell: show version | grep S/N | cut -f2 -d":" $2'|sed 's/^[ \t]*//
register: the_SN
when: ("CPE") != (node.type)
run_once: true
- name: check S/N
command: /bin/false
register: result
when: the_SN["stdout"] is defined and the_SN["stdout"] != (node.serialNum)
ignore_errors: yes
run_once: true
- name: record the wrong S/N
copy:
content: '{"failed": true,"changed": false,"msg": "the sn given is not equal to system sn"}'
dest: __result.json
when: result is failed
connection: local
run_once: true
- name: is end
fail: msg='the sn given:{{node.serialNum}} is not equal to system sn:{{the_SN["stdout"]}}'
when: result is failed
- name: should goon
debug: msg="go on..............."
 
vim  myhost
[host1]
192.168.1.100 [host1:vars]
ansible_ssh_user="user"
ansible_ssh_port=22
ansible_ssh_pass="Password"

  

有了以上的数据,我们就可以对host1里面的机子用yml文件做配置了。但是参数-e,后面如果需要很多的参数,那就不方便了。比如这样:
ansible-playbook -i myhost test.yml -e '{"name":"xiaoming","age":18......}'
这样写起来就笼长。所以,其实还有一下写法:
先写一个json文件:test.json
 
vim test.json
{"name":"xiaoming","age":18}

  

 
然后这么去使用:
ansible-playbook -i myhost test.yml -e '@test.json'
是的,没错。就像微信聊天,扣扣聊天一样,艾特一下它,就可以了。这样,test.json里面的参数,就可以传到yml文件里面了。
 
 

ansible-playbook的简单传参方式的更多相关文章

  1. angularjs简单实现$http.post(CORS)跨域及$http.post传参方式模拟jQuery.post

    1.开启angularjs的CORS支持 .config(function($httpProvider) { // CORS post跨域配置 $httpProvider.defaults.useXD ...

  2. Web API中的传参方式

    在Restful风格的WebApi的里面,API服务的增删改查,分别对应着Http Method的Get / Post / Delete /Put,下面简单总结了Get / Post /Delete ...

  3. Vue Router路由导航及传参方式

    路由导航及传参方式 一.两种导航方式 ①:声明式导航 <router-link :to="..."> ②:编程式导航 router.push(...) 二.编程式导航参 ...

  4. react中的传参方式

    react是一个SPA模式,即组件嵌套租,在一个单页面的应用中组件间的数值传递是必不可少的,主要的传参方式大致有一下几种: 1,在挂载的地方给组件传参 ReactDOM.rander(<a na ...

  5. jQuery对象初始化的传参方式

    jQuery对象初始化的传参方式包括: 1.$(DOMElement) 2.$(' ... '), $('#id'), $('.class') 传入字符串, 这是最常见的形式, 这种传参数经常也传入第 ...

  6. Python函数定义及传参方式

    主要内容:     1.函数初识     2.函数传参方式        (1)位置参数        (2)默认参数        (3)关键参数        (4)非固定传参 一.函数初识 1. ...

  7. java 传参方式--值传递还是引用传递

    java 传参方式--值传递还是引用传递 参数是按值而不是按引用传递的说明 Java 应用程序有且仅有的一种参数传递机制,即按值传递.写它是为了揭穿普遍存在的一种神话,即认为 Java 应用程序按引用 ...

  8. mock和axios常见的传参方式

    第一次接手项目,传参方式还有些吃力,因此做一下总结. 首先我们需要会看swagger中的接口.里面写了某个接口需要接收什么样的值,前端怎么传递这个值 在mock中的传参方式: mock中传参的方式有两 ...

  9. $router和$route的区别,路由跳转方式name 、 path 和传参方式params 、query的区别

    一.$router和$route的区别 $router : 是路由操作对象,只写对象$route : 路由信息对象,只读对象 例子://$router操作 路由跳转 this.$router.push ...

随机推荐

  1. WinDbg常用命令系列---内存查看d*

    d*命令显示给定范围内的内存内容. d{a|b|c|d|D|f|p|q|u|w|W} [Options] [Range] dy{b|d} [Options] [Range] d [Options] [ ...

  2. 【CPLEX教程03】java调用cplex求解一个TSP问题模型

    00 前言 前面我们已经搭建好cplex的java环境了,相信大家已经跃跃欲试,想动手写几个模型了.今天就来拿一个TSP的问题模型来给大家演示一下吧~ CPLEX系列教程可以关注我们的公众号哦!获取更 ...

  3. 日期时间格式的工具DateUtils整理

    关于一些时间工具的处理 * 描述:此类用于取得当前日期相对应的月初,月末,季初,季末,年初,年末,返回值均为String字符串 * 1.得到当前日期 today() * 2.得到当前月份月初 this ...

  4. 使用IDEA查看变量调用链

    在开发中,我们有时需要查看某个变量是怎么来的,从哪个类的某个方法调用后进入另一个类的某个方法. 如果只有一两层的调用,那么还能直接通过方法跳转来观察. 但是,如果有七八层的调用链呢,在各个方法之间跳来 ...

  5. idea docker docker-compose发布springboot站点到tomcat

    允许docker被远程访问 见:https://www.cnblogs.com/wintersoft/p/10921396.html 教程:https://spring.io/guides/gs/sp ...

  6. SQLSERVER教师学生成绩课程四表联合各种SQL考题

    --CREATE DATABASE EXAM_1 --GO USE EXAM_1 --判断并删除表 IF OBJECT_ID('Scores') IS NOT NULL DROP TABLE Scor ...

  7. 快速激活Navicat Premium 12

    Navicat Premium 12是一套数据库开发管理工具,支持链家MySQL.Oracle.SQL server等多种数据库,快速便捷创建.管理和维护数据库 一.下载 https://www.na ...

  8. Devops(二):CentOS7(在线)安装Docker

    安装环境:Centos7.5 从 2017 年 3 月开始 docker 在原来的基础上分为两个分支版本: Docker CE 和 Docker EE.1)Docker CE 即社区免费版2)Dock ...

  9. Centos7安装PHP、安装MySQL、安装apache

    Centos7安装PHP.MySQL.apache 这里今天教大家如何在centos7安装PHP,apache,mysql. 首先我们需要先安装centos7,我们可以在我们的电脑上安装一个虚拟机,在 ...

  10. Wordpress 获取 custom post type 的当前文章 分类信息

    // knowledgebase_category 为 custom post type taxonomy $terms = get_the_terms( get_the_ID() , 'knowle ...