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的更多相关文章

  1. flutter 交互提示方式

    交互提示方式dialog和snackbar 首先看看dialog的方式 new PopupMenuButton( icon: new Icon(Icons.phone_iphone, color: C ...

  2. android ——悬浮按钮及可交互提示

    一.悬浮按钮 FloatingActionButton是Design Support中的一个控件,它会默认colorAccent作为按钮的颜色,还可以给按钮一个图标. 这是没有图标的,这是有图标的. ...

  3. ActiveQt框架 禁止弹出ActiveX控件交互提示

    重点重写QAxBindable的createAggregate() 参考Qt例子: qtactiveqt\activeqt\opengl\glbox.cpp

  4. Ansible3: ansible.cfg配置说明

    常用配置 Ansible默认安装好后有一个配置文件/etc/ansible/ansible.cfg,该配置文件中定义了ansible的主机的默认配置部分,如默认是否需要输入密码.是否开启sudo认证. ...

  5. 从零開始制作H5应用(2)——V2.0版,多页单张图片滑动,透明过渡及交互指示

    上一次.我们制作了我们第一个H5场景应用的V1.0版,这次我们趁热打铁.在上一版的基础上对层序进行改动和扩展. 任务 1.页面数量由3张增加至9张: 2.每张页面中放入一张全屏自适应的图片. 3.修复 ...

  6. 《Ansible自动化运维:技术与佳实践》第二章读书笔记

    Ansible 安装与配置 本章主要讲的是 Ansible 安装与基本配置,主要包含以下内容: Ansible 环境准备 安装 Ansible 配置运行环境 Ansible 环境准备 从 GitHub ...

  7. Flask Bug记录之The innermost block that needs to be closed is 'block'.

    源码 <!DOCTYPE html> <title>{% block title %}{% endblock title %} - Flask</title> &l ...

  8. 简单聊一聊Ansible自动化运维

    一.Ansible概述 Ansible是今年来越来越火的一款开源运维自动化工具,通过Ansible可以实现运维自动化,提高运维工程师的工作效率,减少人为失误.Ansible通过本身集成的非常丰富的模块 ...

  9. 003.Ansible配置文件管理

    一 配置文件的优先级 ansible的配置文件名为ansible.cfg,它一般会存在于四个地方: ANSIBLE_CONFIG:首先,Ansible命令会检查该环境变量,及这个环境变量将指向的配置文 ...

随机推荐

  1. RabbitMQ的应用场景

    进入正题. 一.异步处理 场景:发送手机验证码,邮件 传统古老处理方式如下图 这个流程,全部在主线程完成,注册->入库->发送邮件->发送短信,由于都在主线程,所以要等待每一步完成才 ...

  2. 测试winform程序到树莓派运行

    啥也不说了,都在下图中了.winform可以在树莓派上跑了

  3. 多进程,多线程,使用sqlalchemy 创建引擎(单例模式),闭包装饰器承载数据库会话,装饰模型类的类方法

    python 多进程,多线程,使用 sqlalchemy 对数据库进行操作 创建引擎 & 获取数据库会话: 使用类的方式,然后在对象方法中去创建数据库引擎(使用单例,确保只创建一个对象,方法里 ...

  4. 微信开发者工具 关于no such file or directory

    在新建页面中,保存后弹出 “ no such file or directory ” 错误 原因是打开了一个文件,然后在目录树中删除了它,但是这个被删除的页面依旧在打开状态,开发者工具在编译保存时由于 ...

  5. mysql把A表数据插入到B表数据的几种方法

    web开发中,我们经常需要将一个表的数据插入到另外一个表,有时还需要指定导入字段,设置只需要导入目标表中不存在的记录,虽然这些都可以在程序中拆分成简单sql来实现,但是用一个sql的话,会节省大量代码 ...

  6. [iOS]UIButton内、外边距设置

    - (void)viewDidLoad {        [super viewDidLoad];        /*         UIButton设置对应的边距image跟title的边距属性  ...

  7. Shiro安全框架入门使用方法

    详见:https://blog.csdn.net/qq_32651225/article/details/77199464 框架介绍Apache Shiro是一个强大且易用的Java安全框架,执行身份 ...

  8. 【JUC】2.synchronized

    synchronized关键字的用法也不做太多笔记了,简单回顾一下: synchronized三种使用方式: 修饰实例方法: 线程获取的是当前调用此方法的对象的对象头:即:锁是当前对象: public ...

  9. NumPy 百题大冲关,冲鸭!

    角色名称:NumPy 角色描述:NumPy是一个NASA都在用的扩展库. NumPy提供了许多高级的数值编程技能,如:矩阵数据类型.矢量处理,以及精密的运算库.专为进行严格的数字处理而战斗.是很多大型 ...

  10. java - day012 - 异常 , throws, throw , IO ,RandomAccessFile

    异常 封装错误信息的对象 错误信息 类型        例如: NullPointerExce 空指针 提示消息  出错的行号 异常的继承结构 Throwable | - Error 系统级错误 | ...