博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ansible随笔8
阅读量:4359 次
发布时间:2019-06-07

本文共 1020 字,大约阅读时间需要 3 分钟。

自定义模块的开发模式

1、决定自定义模块的存放路径

编辑/etc/ansible/ansible.cfg文件,修改library = /usr/share/ansible/。

这样就告诉ansible,/usr/share/ansible/目录也是一个模块目录。

 

2、不带参数的模块 mymodule1

#!/usr/bin/pythonfrom ansible.module_utils.basic import *import osmodule = AnsibleModule(argument_spec=dict()))#args = module.params['args']os.system('echo pong')result = dict(echo='pong')module.exit_json(**result)

 

3、调用

ansible app -m mymodule1

 

4、带参数的模块 mymodule2

#!/usr/bin/pythonfrom ansible.module_utils.basic import *import osmodule = AnsibleModule(    argument_spec = dict(        args=dict(required=True)    ),)args = module.params['args']os.system('echo {0}'.format(args))result = dict(echo=args)module.exit_json(**result)

 

5、调用模块

ansible app -m mymodule2 -a "args='hello'"

 

6、其他变量类型

必填项:name=dict(required=True)

默认值:default=dict(default='present')

 

 

选择项:choices=dict(default='present', choices=['present', 'absent'])

布尔值:bools=dict(type='bool')

字符型:str=dict(type='str')

任选变量:name1=dict(aliases=['name2', 'name3'])

 

转载于:https://www.cnblogs.com/t-road/p/11475093.html

你可能感兴趣的文章
linux-nohup命令
查看>>
FetchAPI 的使用
查看>>
WPF框架MVVM简单例子
查看>>
bzoj 1996: [Hnoi2010]chorus 合唱队
查看>>
PHP加文字水印时报错 imagettftext() [function.imagettftext]: any2eucjp()
查看>>
c# 7.0 6.0 新语法
查看>>
[LeetCode OJ] Roman to Integer
查看>>
VIM vim/vi的文件内、跨文件复制粘贴操作、替换操作
查看>>
彻底解决eslint与webstorm针对vue的script标签缩进处理方式冲突问题
查看>>
默然回首繁忙而充实的2016
查看>>
浅谈this关键字
查看>>
jdbc驱动加载
查看>>
来了解一下Mysql索引的相关知识:基础概念、性能影响、索引类型、创建原则、注意事项...
查看>>
lecture15-自动编码器、语义哈希、图像检索
查看>>
PHP不能创建csv中文名文件
查看>>
Unity3d优化
查看>>
Git 常用命令
查看>>
POJ 3204 网络流的必须边
查看>>
看无可看 分治FFT+特征值方程
查看>>
NewTrain6 A (bzoj3631) 松鼠的新家 树剖/lca
查看>>