• ansible模块介绍之ios_facts


    一、模块简介

      收集运行IOS系统的(此处指思科的ios)的远端设备信息

    二、模块参数

    auth_pass   #特权密码,如果参数authorize=no,则不会检索此密码,如果任务task不指定,则默认使用环境变量ANSIBLE_NET_AUTH_PASS代替
    authorize   #是否进入特权模式,yes是;no不是。如果任务task不指定,则默认使用环境变量ANSIBLE_NET_AUTHORIZE 代替
    gather_subset   #限定取的子集范围,可跟范围:all(所有设备信息),config(配置信息),hardware(硬件信息),interfaces(接口信息),默认是!config不收集配置信息
    provider    #包含连接详情的对象,此处称它位母参数,可接如下子参数
        auth_pass   #与上面效果一致
        authorize   #与上面效果一致
        host        #【必填】指定远程设备的ip地址或名字,用于传输的目的地址
        username    #远程设备登录用户名
        password    #远程设备登录密码
        port        #ssh的端口,默认22
        ssh_keyfile #指定用于与远程设备认证用的ssh密钥,填写的是密钥存放在本地路径,如果任务task不指定,则默认使用环境变量ANSIBLE_NET_SSH_KEYFILE代替
        timeout     #超时时间,默认10s

    三、模块使用注意事项

       暂无

    四、模块使用实例

      需求1:收集远端设备硬件信息(使用ad-hoc方式)

      命令:ansible 192.168.62.41 -c local -m ios_facts -a "auth_pass=cisco authorize=yes gather_subset=hardware" -u cisco -k

      结果:

     

      需求2:收集远端设备硬件信息(使用playbook方式)

      步骤1:创建ios_facts_info.yaml文件

      步骤2:编辑vim ios_facts_info.yaml文件(此处使用vim是因为他可以对yaml的关键字高亮显示,对于排除格式错误有很大帮助),并保存

    ---
      - hosts: 192.168.62.41
        connection: local
    
        tasks:
          - name: use ios_facts to gather info
            ios_facts:
                gather_subset: hardware
                authorize: yes
                auth_pass: cisco
                provider:
                  username: cisco
                  password: cisco
                  host: 192.168.62.41
            register: facts_output
            
          - name: debug the result
            debug:
                msg: "{{facts_output}}"

      步骤3:执行剧本  ansible-playbook ios_facts_info.yaml

    五、模块返回内容字段介绍

    ansible_net_all_ipv4_addresses  # 设备上所有ipv4的地址,返回值list列表形式
    ansible_net_all_ipv6_addresses  # 设备上所有ipv6的地址,返回值list列表形式
    ansible_net_config  # 设备上的配置信息,返回值是string字符串
    ansible_net_filesystems # 设备上的文件系统,返回值是list列表形式,如,unix系统
    ansible_net_filesystems_info  #设备上的文件信息的哈希值,返回值是dict字典形式,如空闲和总空间
    ansible_net_gather_subset   #收集设备上的子集范围,返回值list列表形式,eg:["hardware", "default", "interfaces", "config"]
    ansible_net_hostname      #显示设备主机名,返回值string字符串
    ansible_net_image         #设备正在运行的镜像文件全路径,返回值是string字符串
    ansible_net_interfaces    #设备上的接口配置信息,返回值是dict字典
    ansible_net_memfree_mb    #设备的可用存储空间,单位Mb,返回值integer数值形式
    ansible_net_memtotal_mb   #设备的总共存储空间,单位Mb,返回值integer数值形式
    ansible_net_model         #设备型号,返回值string字符串
    ansible_net_serialnum     #设备序列号,返回值string字符串
    ansible_net_stacked_models  #每台设备的堆叠产品型号,返回值list列表
    ansible_net_stacked_serialnums  #堆叠设备的每一台序列号,返回值list列表
    ansible_net_version     #设备系统版本,返回值string字符串
  • 相关阅读:
    代码高亮测试
    自定义Edit控件控制输入范围
    多字节字符与界面 manifest
    实现类成员函数回调
    [VIM插件]fedora22编译vim7.4对perl组件支持的问题
    火车头Ecshop2.7文章采集发布模块
    js 创建对象
    js 属性类型
    JS函数的属性
    JS 函数中返回另一个函数
  • 原文地址:https://www.cnblogs.com/lisenlin/p/10744983.html
Copyright © 2020-2023  润新知