zoukankan      html  css  js  c++  java
  • Ansible随笔8

    自定义模块的开发模式

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

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

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

    2、不带参数的模块 mymodule1

    #!/usr/bin/python
    from ansible.module_utils.basic import *
    import os
    
    module = 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/python
    from ansible.module_utils.basic import *
    import os
    
    module = 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'])

  • 相关阅读:
    hadoop下生成echarts关系图
    MongoDB实现增删查方法
    Hadoop中配置环境后重启失效解决方法
    Ubuntu中linux虚拟机全屏
    第二周第三天
    构建之法阅读笔记02
    第二周第二天
    第二周第一天
    学习进度条第五周
    第一周第七天
  • 原文地址:https://www.cnblogs.com/t-road/p/11475093.html
Copyright © 2011-2022 走看看