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

  1. 【转】hive优化之--控制hive任务中的map数和reduce数

    一.    控制hive任务中的map数:  1.    通常情况下,作业会通过input的目录产生一个或者多个map任务. 主要的决定因素有: input的文件总个数,input的文件大小,集群设置 ...

  2. Map java中的map 如何修改Map中的对应元素

    Map java中的map 如何修改Map中的对应元素 Map以按键/数值对的形式存储数据,和数组非常相似,在数组中存在的索引,它们本身也是对象.         Map的接口         Map ...

  3. Java中Set Map List 的区别

    java中set map list的区别: 都是集合接口 简要说明 set --其中的值不允许重复,无序的数据结构 list   --其中的值允许重复,因为其为有序的数据结构 map--成对的数据结构 ...

  4. Java中遍历Map集合的四种方法

    在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有map都 ...

  5. java8中的map和reduce

    java8中的map和reduce 标签: java8函数式mapreduce 2014-06-19 19:14 10330人阅读 评论(4) 收藏 举报  分类: java(47)  FP(2)  ...

  6. zk框架中利用map类型传值来创建window,并且传值

    @Command @NotifyChange("accList") public void clear(@BindingParam("id") String a ...

  7. python 中的map 详解

    python中的map函数应用于每一个可迭代的项,返回的是一个结果list.如果有其他的可迭代参数传进来,map函数则会把每一个参数都以相应的处理函数进行迭代处理.map()函数接收两个参数,一个是函 ...

  8. 由实现JavaScript中的Map想到的

    项目中要用到JavaScript中的Map数据类型,它不像JDK那样有自带的,怎么办?搜了找到一个不错的(http://darkmasky.iteye.com/blog/454749).用这个可以满足 ...

  9. perl编程中的map函数示例

    转自:http://www.jbxue.com/article/14854.html 发布:脚本学堂/Perl  编辑:JB01   2013-12-20 10:20:01  [大 中 小] 本文介绍 ...

随机推荐

  1. jmeter笔记(8)--关联

    关联是jmeter中比较重要的一个点,在测试过程中有些数据是经常发生变化的,要获取这些数据,就需要使用关联,Jmeter可以通过“后置处理器”中的“正则表达式提取器”来处理关联.. 正则表达式提取器 ...

  2. 【Linux】Jenkins安装

    安装环境准备 操作系统:Linux(CentOS7) 软件:jdk,安装及配置步骤见Linux安装jdk 软件:tomcat,安装及配置见Linux安装tomcat Jenkins安装 由于Jenki ...

  3. ReactNative开发笔记(持续更新...)

    本文均为RN开发过程中遇到的问题.坑点的分析及解决方案,各问题点之间无关联,希望能帮助读者少走弯路,持续更新中... (2019年3月29日更新) 原文链接:http://www.kovli.com/ ...

  4. HAOI2019+十二省联考 游记

    Day1 T1 考前还奶了一口不会考01Trie的,也就没有学,然后60分BOOM T2 不会SAM,告辞,30分滚粗 T3 传统实现题答?2p,2u,2g分别对应素数,莫比乌斯函数,原根?没看出来, ...

  5. Css(常用的特殊效果)

    一.前言 不得不说css真强大,总结了几个常用的css特殊效果 二.主要内容 1.几个特殊效果 $green = #02a774; $yellow = #F5A100; $bc = #e4e4e4; ...

  6. java 源码编译

    Java语言的“编译期”其实是一段“不确定”的操作过程,因为它可能是指一个前端编译器(叫“编译器的前段”更准确)——把*.java文件转变成*.class文件的过程:也可能是虚拟机的后端运行期编译器( ...

  7. Person Transfer GAN to Bridge Domain Gap for Person Re-identification

    目录 相关背景 主要内容 MSMT17 Person Transfer GAN(PTGAN) 总结 注:原创不易,转载请务必注明原作者和出处,感谢支持! 相关背景 行人再识别(Person Re-id ...

  8. PMP知识点(二)——三点估算的两种方法对活动持续时间估算的影响和如何取舍

    一.准备工作 活动持续时间的估算属于PMBOK中第六章项目时间管理中第五节6.6估算活动持续时间的内容. 三点估算是6.5和7.2(估算成本)中应用到的一种工具和技术.数据流向图参考如下: 其应用到的 ...

  9. Linux下批量杀掉 包含某个关键字的 程序进程

    有时候因为一些情况,需要把 linux 下符合某一项条件的所有进程 kill 掉,又不能用 killall 直接杀掉某一进程名称包含的所有运行中进程(我们可能只需要杀掉其中的某一类或运行指定参数命令的 ...

  10. jquery弹出窗口选择回写值

    $(document).ready(function(){ $('.sel').dblclick(function(){ var nowid=$(this).attr('id'); window.op ...