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

原文地址:https://www.cnblogs.com/lisenlin/p/10744983.html

时间: 2024-11-07 12:20:39

ansible模块介绍之ios_facts的相关文章

ansible模块介绍

命令模块: 1:command模块在远程节点上执行命令: command模块后面紧跟要执行的命令,命令的参数以空格隔开.指定的命令会在所选的节点上执行.命令并不是通过shell执行的,所以并不能使用$HOME等环境变量和一些操作符(<,>,|,&).shell模块可以使用. 1>chdir 在运行命令之前,先切换到指定的目录. [[email protected] ansible]# ansible testhosts -m command -a "ls -l chdi

Ansible 常用模块介绍

ansible提供了众多模块,我们可以在ansible主机上运行ansible-doc -l命令查看ansible所有支持的模块.通过ansible-doc -s MODULE_NAME  命令可以查看指定模块的所有参数 查看所有模块 [email protected]:/etc/ansible/roles/tomcat8_install/tasks# ansible-doc  -l less 436 Copyright (C) 1984-2009 Mark Nudelman less come

Ansible 自动化运维工具之inventory和常用模块介绍

一.inventory介绍 前面我们介绍过ansible的hosts文件是存放被管理主机的,被管理主机比较少的情况下,直接在hosts中定义即可,但是以后很定会管理多台主机,而ansible可管理的主机集合就叫做inventory.在ansible中,描述你主机的默认方法是将它们列在一个文本文件中,这个文件叫inventory文件. 一个简单的inventory文件可能只包含一组主机名的列表,如下: ftp.testansible.com samba.testansible.com mail.t

Ansible 之 概念和常用模块介绍

1  概述 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能. ansible是基于模块工作的,本身没有批量部署的能力.真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架.主要包括如下的特性: (1).连接插件connection plugins:负责和被监控端实现通信: (2).host inventory:

Ansible的安装、配置及常用模块介绍

Ansible的安装.配置及常用模块介绍 ansible安装方式 1. ansible安装常用两种方式,yum安装和pip程序安装 这里提供二种安装方式,任选一种即可: 1.使用yum安装 yum install epel-release -y yum install ansible –y 2. 使用pip(python的包管理模块)安装 pip install ansible   #如果没pip,需先安装pip.yum可直接安装: yum install python-pip pip inst

自动化运维工具ansible详细介绍

在学习批量管理软件时,首先要明确的知道自己需要什么,网上大神很多,他们都研究到源码上了,写了很多介绍绚丽功能的文档,但其实那些功能基本上我们都用不到,经常被各种文档弄得头脑发晕,此文就是为了简单直白的告诉大家ansible的功能,满足大家的基本需求. 首先确认批量管理我们需要什么:无外乎主机分组管理.实时批量执行命令或脚本.实时批量分发文件或目录.定时同步文件等. 目录 1.      ansible与saltstack对比... 2.      ansible安装... 3.      ans

Ansible基础介绍

Ansible是一种基于python编写的自动化批量部署工具.主要应用于批量部署应用和结合Git.Jenkins进行自动化配置管理. Ansible结构: Ansible(核心程序) 就是ansible的心脏大脑,进行各部分的协调调用. Host Invertory(主机群组) 定义了被管理的Client,例如Client的IP.域名或ssh端口等信息. Playbooks(剧本) 用于给Client执行的任务配置文件 Modules(模块) ansible的内置功能模块,例如yum模块,she

自动化运维工具ansible简单介绍

一.Ansible介绍Ansible 简单的说是一个配置管理系统(configuration management system).你只需要可以使用 ssh 访问你的服务器或设备就行.它也不同于其他工具,因为它使用推送的方式,而不是像 puppet 等 那样使用拉取安装agent的方式.ansible可以帮助我们完成一些批量任务,或者完成一些需要经常重复的工作.? 模块化:调用特定的模块,完成特定任务? 有Paramiko,PyYAML,Jinja2(模板语言)三个关键模块? 支持自定义模块?

Ansible基本介绍

一.基础知识: 1. 简介 ansible基于python开发,集合了众多运维工具的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能.ansible是基于模块工作的,本身没有批量部署的能力.        真正具有批量部署的是ansible运行的模块,ansible只是一个框架 (1) 连接插件connection plugins: 负责和被监控端实现通信:        (2) host inventory: 指定操作的主机,是一个配置文件里面定义监控的主机        (3) 各