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字符串