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 [大 中 小] 本文介绍 ...
随机推荐
- jira,Confluence 的JVM内存优化
个人喜好,可能不是很适合大众 JIRA 修改setenv.sh,调整JVM为4096m [root@jira_confluence ~]# cd /app/atlassian/jira/bin/ [r ...
- Django中ORM介绍
Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据 ...
- 将CSV文件存为HTML文件形式
# -*- coding: utf-8 -*- """ Created on Mon Apr 29 09:24:04 2019 @author: history &quo ...
- 升级AndroidStudio3.4问题汇总
1.Could not get unknown property 'bootClasspath' for object of type org.gradle.api.tasks.compile.Com ...
- CTF--web 攻防世界web题 robots backup
攻防世界web题 robots https://adworld.xctf.org.cn/task/answer?type=web&number=3&grade=0&id=506 ...
- 移动开发day1_过渡_2d转换_3d立体
今天是就业班开班的第一天,上完了一天的课,做点总结. 什么叫做移动web 专门在手机或者 平板电脑 浏览器网页 为什么要学习移动web 工资高 1. 人拥有的手机数 大于 电脑的个数 2. 微信 1. ...
- JDK常用命令行工具(基于JDK10)
虽然我是在jdk10环境下, 但是大体上和jdk8是差不多的. 总共有这么多 本来想着一口气把所有命令都边学边总结一下的, 结果发现....有些还真的不是很常用....或者说我这个水平还接触不到那么多 ...
- HDU 1228(字符串处理)
题意是将所给算式求出结果. 用的方法非常麻烦,开始没考虑到零也需要处理,以为遇上零直接跳过即可,知道发现零可以占位,比如 one zero 值为 10 而不是 1…… 代码如下: #include & ...
- 面向对象学习(python)
面向对象总结 一.面向对象与面向过程的区别 面向过程:根据业务逻辑从上到下写垒代码 面向对象:对函数进行分类和封装,让开发“更快更好更强...” 1.面向过程编程: 概念:发过程中最常见的操作就是粘贴 ...
- C#代码使用Process类调用SWFTools工具
一.Process类调用SWFTools工具将PDF文档转为swf文档 1 string cmdStr = "D:\\SWFTools\\pdf2swf.exe"; string ...