ansible 交互提示、tags和block
1、交互提示:使用关键字:vars_prompt
例:使用ansible的交互式功能创建用户和给定一个密码。
---
- hosts: test50
remote_user: root
vars_prompt:
- name: user_name
prompt: Enter Username
private: no
- name: user_passwd
prompt: Enter Password
encrypt: "sha512_crypt"
confirm: yes
tasks:
- name: create user
user:
name: "{{user_name}}"
password: "{{user_passwd}}"
关键字vars_prompt常用选项说明:
private:用户输入的值是否可见,当值为yes时,表示不可见,常用于密码,为no时,可见。
default:设置默认值,当不输入任何值时,使用该默认值。
confirm:再次确认,适合密码。
2、tags标签
默认情况下,ansible在执行一个playbook的时候,会执行playbook中定义的所以任务。ansible的标签功能可以给角色,文件,任务或者整个playbook打上标签,然后利用这些标签来指定要运行playbook的个别任务。使用关键字tags,如下:
---
- hosts: hadoop
remote_user: root
gather_facts: no
tags: t0 tasks:
- name: test1
debug:
msg: "echo t1"
tags: t1
- name: test2
debug:
msg: "echo t2"
tags: t2,always
当想执行某个任务的时候,指定对应的标签就行,
如:ansible-playbook --tags t1 tags.yml 执行t1这个标签的任务
当想跳过某个任务的时候,使用--skip-tags选项,
如:ansible-playbook --skip-tags t2 tags.yml 跳过t2
在定义标签时的语法如下:
语法1:
tags:
- t1
- t2
语法2:
tags: t1,t2
语法3:
tags: ['t1', 't2']
ansible内置的五个标签:
always #总是执行
never #总是不执行
tagged #带标签的
untagged #不带标签的
all #全部,默认就是all。
3、block
将多个任务组合成一个块,并且可以对这个块做条件判断,以及当块里面的任务失败时,进行失败处理。
如:
---
- hosts: hadoop
remote_user: root
gather_facts: no
tags: t0 tasks:
- name: block1
block: #定义块
- shell: ls /
rescue: #当上面的块失败时,该关键字下面的任务将被执行
- debug:
msg: "echo block 1"
always: #always关键字,不管block块是否执行成功,该关键字定义的任务都要被执行。
- debug:
msg: "echo done"
ansible 交互提示、tags和block的更多相关文章
- flutter 交互提示方式
交互提示方式dialog和snackbar 首先看看dialog的方式 new PopupMenuButton( icon: new Icon(Icons.phone_iphone, color: C ...
- android ——悬浮按钮及可交互提示
一.悬浮按钮 FloatingActionButton是Design Support中的一个控件,它会默认colorAccent作为按钮的颜色,还可以给按钮一个图标. 这是没有图标的,这是有图标的. ...
- ActiveQt框架 禁止弹出ActiveX控件交互提示
重点重写QAxBindable的createAggregate() 参考Qt例子: qtactiveqt\activeqt\opengl\glbox.cpp
- Ansible3: ansible.cfg配置说明
常用配置 Ansible默认安装好后有一个配置文件/etc/ansible/ansible.cfg,该配置文件中定义了ansible的主机的默认配置部分,如默认是否需要输入密码.是否开启sudo认证. ...
- 从零開始制作H5应用(2)——V2.0版,多页单张图片滑动,透明过渡及交互指示
上一次.我们制作了我们第一个H5场景应用的V1.0版,这次我们趁热打铁.在上一版的基础上对层序进行改动和扩展. 任务 1.页面数量由3张增加至9张: 2.每张页面中放入一张全屏自适应的图片. 3.修复 ...
- 《Ansible自动化运维:技术与佳实践》第二章读书笔记
Ansible 安装与配置 本章主要讲的是 Ansible 安装与基本配置,主要包含以下内容: Ansible 环境准备 安装 Ansible 配置运行环境 Ansible 环境准备 从 GitHub ...
- Flask Bug记录之The innermost block that needs to be closed is 'block'.
源码 <!DOCTYPE html> <title>{% block title %}{% endblock title %} - Flask</title> &l ...
- 简单聊一聊Ansible自动化运维
一.Ansible概述 Ansible是今年来越来越火的一款开源运维自动化工具,通过Ansible可以实现运维自动化,提高运维工程师的工作效率,减少人为失误.Ansible通过本身集成的非常丰富的模块 ...
- 003.Ansible配置文件管理
一 配置文件的优先级 ansible的配置文件名为ansible.cfg,它一般会存在于四个地方: ANSIBLE_CONFIG:首先,Ansible命令会检查该环境变量,及这个环境变量将指向的配置文 ...
随机推荐
- .net core 3.0更改默认身份认证的的表。
public class ApplicationDbContext : IdentityDbContext<WebUser, WebRole, Guid, WebUserClaim, WebUs ...
- mac下卸载android studio
Execute these commands from the terminal rm -Rf /Applications/Android\ Studio.app rm -Rf ~/Library/P ...
- nginx热加载、热升级、回滚
修改完配置文件后使用 nginx -s reload 命令进行热加载 编译好新的 nginx 二进制文件后,运行nginx 开启nginx服务,然后使用 kill -USR2 新的nginx_mast ...
- ECMAScript5面向对象技术(2)--函数
在JavaScript中,函数其实就是对象.使函数不同于其他对象的决定性特点是函数存在一个被称为[[Call]]的内部属性.内部属性无法通过代码访问而是定义了代码执行时的行为.ECMAScript为J ...
- 如何:确定已安装的 .NET Framework 版本
用户可在他们的计算机上安装和运行 .NET Framework 的多个版本. 当你开发或部署应用时,你可能需要知道用户的计算机上安装了哪些 .NET Framework 版本. .NET Framew ...
- @Transactional 同一个类中无事务方法a()内部调用有事务方法b()的问题
https://blog.csdn.net/u010235716/article/details/90171802 1. 事务的4种特性 序号 参数 含义1 原子性(Atomicity) ...
- Linux命令——expr
前言 有时,在处理命令行时(特别是在处理shell脚本时),您可能会发现自己处于必须执行搜索字符串中的子字符串,查找其索引以及其他内容,或者执行比较和算术运算等情况.上述问题expr都能帮我们解决. ...
- 《Python编程:从入门到实践》第二章 变量和简单数据类型 习题答案
#2.1 print("Hello world!"); #2.2 message="Hello,Python!"; print(message); #2.3 n ...
- python函数式编程-装饰器
在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator). 由于函数也是一个对象,而且函数对象可以赋值给变量,所以通过变量也能调用该函数. >>> def now() ...
- Codeforces Round #499(Div2) C. Fly (二分精度)
http://codeforces.com/contest/1011/problem/C 题目 这是一道大水题! 仅以此题解作为我这个蒟蒻掉分的见证 #include<iostream> ...