ansible中的map
ansible中的filter: map ,其实是jinja2中的filter
python中 map(func, iter) 返回func与每个元素计算后的迭代器,iter是个可迭代对象
ansible中的map和python中的基本上用法相似。
1、value | map('func') : 没有仔细看代码,func可能是只能用jinja2的filter。举例来说,
---
- hosts: localhost
vars:
t1: ['abc','cde']
tasks:
- name: upper
debug: var=t1|map('upper')|list
###########################
ok: [localhost] => {
"t1|map('upper')|list": [
"ABC",
"CDE"
]
}
2、如果func需要多个参数,如替换 map('regex_replace','[0-9]+','foo') | list
---
- hosts: localhost
vars:
mylist:
- group_1
- group_2 tasks:
- debug:
msg: "{{ mylist | map('regex_replace', '([0-9]+)', 'foo') | list }}"
############################################
PLAY [localhost] *************************************************************** TASK [debug] *******************************************************************
ok: [localhost] => {} MSG: [u'group_foo', u'group_foo'] PLAY RECAP *********************************************************************
localhost : ok=1 changed=0 unreachable=0 failed=0
3、还有一种常用的方法,就是attribute=key的用法
---
- hosts: controller
tasks:
- name: get ifconfig
shell: ifconfig {{ item }} | awk '/inet/{print $2}'
register: ifout
with_items:
- 'br-ex'
- 'br-mgmt'
- debug: var=ifout.results|map(attribute='stdout')|list
#######################################
TASK [debug] *******************************************************************
ok: [192.168.10.3] => {
"ifout.results|map(attribute='stdout')|list": [
"172.16.20.3",
"192.168.10.3"
]
}
ok: [192.168.10.4] => {
"ifout.results|map(attribute='stdout')|list": [
"172.16.20.4",
"192.168.10.4"
]
}
ansible中的map的更多相关文章
- 【转】hive优化之--控制hive任务中的map数和reduce数
一. 控制hive任务中的map数: 1. 通常情况下,作业会通过input的目录产生一个或者多个map任务. 主要的决定因素有: input的文件总个数,input的文件大小,集群设置 ...
- Map java中的map 如何修改Map中的对应元素
Map java中的map 如何修改Map中的对应元素 Map以按键/数值对的形式存储数据,和数组非常相似,在数组中存在的索引,它们本身也是对象. Map的接口 Map ...
- Java中Set Map List 的区别
java中set map list的区别: 都是集合接口 简要说明 set --其中的值不允许重复,无序的数据结构 list --其中的值允许重复,因为其为有序的数据结构 map--成对的数据结构 ...
- Java中遍历Map集合的四种方法
在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有map都 ...
- java8中的map和reduce
java8中的map和reduce 标签: java8函数式mapreduce 2014-06-19 19:14 10330人阅读 评论(4) 收藏 举报 分类: java(47) FP(2) ...
- zk框架中利用map类型传值来创建window,并且传值
@Command @NotifyChange("accList") public void clear(@BindingParam("id") String a ...
- python 中的map 详解
python中的map函数应用于每一个可迭代的项,返回的是一个结果list.如果有其他的可迭代参数传进来,map函数则会把每一个参数都以相应的处理函数进行迭代处理.map()函数接收两个参数,一个是函 ...
- 由实现JavaScript中的Map想到的
项目中要用到JavaScript中的Map数据类型,它不像JDK那样有自带的,怎么办?搜了找到一个不错的(http://darkmasky.iteye.com/blog/454749).用这个可以满足 ...
- perl编程中的map函数示例
转自:http://www.jbxue.com/article/14854.html 发布:脚本学堂/Perl 编辑:JB01 2013-12-20 10:20:01 [大 中 小] 本文介绍 ...
随机推荐
- Redisson实现分布式锁
转: Redisson实现分布式锁 Redisson文档参考:https://github.com/redisson/redisson/wiki/%E7%9B%AE%E5%BD%95 redis是实现 ...
- Java第二次实训
package fsafsa; import java.util.Scanner; public class fafas { public static void main(String[] args ...
- python模拟蒙特·卡罗法计算圆周率
蒙特·卡罗方法是一种通过概率来得到问题近似解的方法,在很多领域都有重要的应用,其中就包括圆周率近似值的计问题. 假设有一块边长为2的正方形木板,上面画一个单位圆,然后随意往木板上扔飞镖,落点坐标(x, ...
- 随机逻辑回归random logistic regression-特征筛选
python信用评分卡(附代码,博主录制) https://study.163.com/course/introduction.htm?courseId=1005214003&utm_camp ...
- (六) 编写vivid
title: 编写vivid date: 2019/4/23 19:40:00 toc: true --- 编写vivid 新内核对video_buf的封装更好了,很多函数基本上套个名字就好了,这个可 ...
- 【C#】 List按指定字段的给出的自定义顺序进行排序
#引言 有一个集合,对其进行排序,排序规则为:按对象中某个字段的特定顺序进行排序,比如:对象属性id,按照[4,2,5,1]的顺序排序: #代码: public class Foo { public ...
- Java IO系列之四:NIO通信模型
分布式rpc框架有很多,比如dubbo,netty,还有很多其他的产品.但他们大部分都是基于nio的, nio是非阻塞的io,那么它的内部机制是怎么实现的呢. 1.由一个专门的线程处理所有IO事件,并 ...
- Java原子类中CAS的底层实现
Java原子类中CAS的底层实现 从Java到c++到汇编, 深入讲解cas的底层原理. 介绍原理前, 先来一个Demo 以AtomicBoolean类为例.先来一个调用cas的demo. 主线程在f ...
- JAVA的运算符和条件结构
一.JAVA的运算符. 1.赋值运算符 赋值就是把一个变量的值赋给另一个变量. 语法: 变量名=表达式 例如 n = m + 5 2.算术运算符 算术运算符是数学中常用的加.减.乘 ...
- Eclipse 开发设置编码格式--4个修改地方完美
背景:本人用这么久,因为大部分都是设定为UTF-8 就可以了,但是一些老项目居然是GBK格式,所以 工作空间.通常文件类型的编码都是UTF-8. 针对特殊项目设定特定格式,实际中本人对整个项目设定并不 ...