arista.eos.eos_eapi 模块 – 管理和配置 Arista EOS eAPI。

注意

此模块是 arista.eos 集合 (版本 10.0.1) 的一部分。

如果您正在使用 ansible 包,则可能已安装此集合。它不包含在 ansible-core 中。要检查是否已安装它,请运行 ansible-galaxy collection list

要安装它,请使用: ansible-galaxy collection install arista.eos。您需要其他要求才能使用此模块,请参阅 要求 获取详细信息。

要在剧本中使用它,请指定: arista.eos.eos_eapi

arista.eos 1.0.0 中的新增功能

概要

  • 用于启用或禁用 eAPI 访问,并设置 http、https、local_http 和 unix-socket 服务器的端口和状态。

  • 启用 eAPI 访问时,默认情况下会在端口 80 上启用 HTTP,在端口 443 上启用 HTTPS,禁用本地 HTTP 和 Unix 套接字服务器。使用下面列出的选项可以覆盖默认配置。

  • 需要 EOS v4.12 或更高版本。

要求

执行此模块的主机需要以下要求。

  • EOS v4.12 或更高版本

参数

参数

注释

config

字符串

默认情况下,此模块将连接到远程设备并检索当前运行配置,将其用作与源内容进行比较的基准。有时,不希望任务为剧本中的每个任务获取当前运行配置。config 参数允许实现者传入用作比较基准配置的配置。

http

别名:enable_http

布尔值

http 参数控制运行配置中存在 eAPI 时 HTTP 传输协议的操作状态。当值为 True 时,启用 HTTP 协议;当值为 False 时,禁用 HTTP 协议。默认情况下,首次配置 eAPI 时,HTTP 协议处于禁用状态。

选项

  • false

  • true

http_port

整数

配置在启用 HTTP 传输协议时侦听连接的 HTTP 端口。此参数接受有效范围为 1 到 65535 的整数值。

https

别名:enable_https

布尔值

https 参数控制运行配置中存在 eAPI 时 HTTPS 传输协议的操作状态。当值为 True 时,启用 HTTPS 协议;当值为 False 时,禁用 HTTPS 协议。默认情况下,首次配置 eAPI 时,HTTPS 协议处于启用状态。

选项

  • false

  • true

https_port

整数

配置在启用 HTTP 传输协议时侦听连接的 HTTP 端口。此参数接受有效范围为 1 到 65535 的整数值。

local_http

别名:enable_local_http

布尔值

local_http 参数控制运行配置中存在 eAPI 时本地 HTTP 传输协议的操作状态。当值为 True 时,启用 HTTP 协议并仅限于来自 localhost 的连接。当值为 False 时,禁用 HTTP 本地协议。

注意:此值独立于 http 参数

选项

  • false

  • true

local_http_port

整数

配置在启用 HTTP 传输协议时侦听连接的 HTTP 端口。此参数接受有效范围为 1 到 65535 的整数值。

socket

别名:enable_socket

布尔值

socket 参数控制用于接收 eAPI 请求的 UNIX 域套接字的操作状态。当此参数的值设置为 True 时,UDS 将侦听 eAPI 请求。当设置为 False 时,UDS 将无法处理请求。默认情况下,首次配置 eAPI 时,UDS 处于禁用状态。

选项

  • false

  • true

state

字符串

state 参数控制远程设备上 eAPI 的操作状态。当此参数设置为 started 时,启用 eAPI 以接收请求;当此参数设置为 stopped 时,禁用 eAPI 并且将不会接收请求。

选项

  • "started" ← (默认)

  • "stopped"

timeout

整数

等待 eAPI 配置反映在运行配置中的时间(以秒为单位)。

默认值: 30

vrf

字符串

vrf 参数将配置 eAPI 以在指定的 VRF 中侦听连接。默认情况下,eAPI 传输将在全局表中侦听连接。此值要求 VRF 已经创建,否则任务将失败。

默认值: "default"

示例

- name: Enable eAPI access with default configuration
  arista.eos.eos_eapi:
    state: started

- name: Enable eAPI with no HTTP, HTTPS at port 9443, local HTTP at port 80, and socket
    enabled
  arista.eos.eos_eapi:
    state: started
    http: false
    https_port: 9443
    local_http: true
    local_http_port: 80
    socket: true

- name: Shutdown eAPI access
  arista.eos.eos_eapi:
    state: stopped

返回值

常见的返回值已在 此处 记录,以下是此模块特有的字段

描述

commands

列表 / 元素=字符串

要发送到设备的配置模式命令列表

返回:始终

示例: ["management api http-commands", "protocol http port 81", "no protocol https"]

session_name

字符串

用于加载配置的 EOS 配置会话名称

返回:当 changed 为 True 时

示例: "ansible_1479315771"

urls

字典

每个接口上 eAPI 正在侦听的 URL 端点哈希表

返回:当 eAPI 启动时

示例: {"Management1": ["http://172.26.10.1:80"]}

作者

  • Peter Sprygada (@privateip)