netbox.netbox.netbox_device_interface 模块 – 从 NetBox 创建或删除设备上的接口

注意

此模块是 netbox.netbox 集合 (版本 3.20.0) 的一部分。

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

要安装它,请使用:ansible-galaxy collection install netbox.netbox。您需要进一步的要求才能使用此模块,请参阅 要求 获取详细信息。

要在 Playbook 中使用它,请指定:netbox.netbox.netbox_device_interface

netbox.netbox 0.1.0 中的新增功能

概要

  • 从 NetBox 创建或删除接口

要求

在执行此模块的主机上需要满足以下要求。

  • pynetbox

参数

参数

注释

cert

任何

证书路径

data

字典 / 必需

定义接口配置

bridge

任何

在 netbox.netbox 3.6.0 中添加

接口将连接到的桥接器

custom_fields

字典

必须存在于 NetBox 中

description

字符串

接口的描述

device

任何

接口将关联的设备的名称(区分大小写)

duplex

字符串

在 netbox.netbox 3.7.0 中添加

接口的双工模式

选择

  • "half"

  • "full"

  • "auto"

enabled

布尔值

设置接口是否显示为启用或禁用

选择

  • false

  • true

form_factor

任何

接口的外形尺寸:例如 1000Base-T (1GE)、Virtual、10GBASE-T (10GE)。这必须与 UI 中找到的完全一致

label

字符串

接口的物理标签

lag

任何

父 LAG 接口将成为其成员

mac_address

字符串

接口的 MAC 地址

mark_connected

布尔值

将接口标记为已连接,无需连接电缆(需要 netbox >= 2.11)

选择

  • false

  • true

mgmt_only

布尔值

此接口仅用于带外管理

选择

  • false

  • true

mode

任何

接口的模式

mtu

整数

接口的 MTU

name

字符串 / 必需

要创建的接口的名称

parent_interface

任何

在 netbox.netbox 3.2.0 中添加

设备的父接口

poe_mode

任何

在 netbox.netbox 3.8.0 中添加

此接口具有 PoE 能力(NetBox 3.3 及更高版本)

poe_type

任何

在 netbox.netbox 3.8.0 中添加

此接口的电源类型(NetBox 3.3 及更高版本)

speed

整数

在 netbox.netbox 3.7.0 中添加

接口的速度

tagged_vlans

任何

要分配给接口的已标记 VLAN 列表。模式必须设置为 TaggedTagged All

tags

列表 / 元素=任何

接口可能需要关联的任何标签

tx_power

整数

在 netbox.netbox 3.14.0 中添加

接口的配置输出功率,以 dBm 为单位

type

字符串

接口的外形尺寸:例如 1000Base-T (1GE)、Virtual、10GBASE-T (10GE)。这必须与 UI 中找到的完全一致

untagged_vlan

任何

要分配给接口的未标记 VLAN

vrf

任何

在 netbox.netbox 3.7.0 中添加

接口的 VRF

wwn

字符串

在 netbox.netbox 3.14.0 中添加

接口的 WWN

netbox_token

字符串 / 必需

NetBox API 令牌。

netbox_url

字符串 / 必需

NetBox 实例的 URL。

Ansible 控制主机必须可访问。

query_params

列表 / 元素=字符串

这可以用来覆盖在 plugins/module_utils/netbox_utils.py 中定义的 ALLOWED_QUERY_PARAMS 中的指定值,并为用户提供在其环境中使对象唯一的控制权。

在 plugins/module_utils/netbox_utils.py 中定义的 ALLOWED_QUERY_PARAMS 中指定的值。

在插件/模块_utils/netbox_utils.py 中定义,并为用户提供在其环境中使对象唯一的控制权。

state

字符串

对象的状态。

选择

  • "present" ← (默认)

  • "absent"

update_vc_child

布尔值

当为 device 指定主设备,并且指定接口存在于子设备上且需要更新时使用

选择

  • false ← (默认)

  • true

validate_certs

任何

如果为 no,则不会验证 SSL 证书。

这应该只用于使用自签名证书的个人控制站点。

默认值: true

注释

注意

  • 标签应定义为 YAML 列表

  • 这应该使用连接 local 和主机 localhost 运行

示例

- name: "Test NetBox interface module"
  connection: local
  hosts: localhost
  gather_facts: false
  tasks:
    - name: Create interface within NetBox with only required information
      netbox.netbox.netbox_device_interface:
        netbox_url: http://netbox.local
        netbox_token: thisIsMyToken
        data:
          device: test100
          name: GigabitEthernet1
        state: present

    - name: Delete interface within netbox
      netbox.netbox.netbox_device_interface:
        netbox_url: http://netbox.local
        netbox_token: thisIsMyToken
        data:
          device: test100
          name: GigabitEthernet1
        state: absent

    - name: Create LAG with several specified options
      netbox.netbox.netbox_device_interface:
        netbox_url: http://netbox.local
        netbox_token: thisIsMyToken
        data:
          device: test100
          name: port-channel1
          type: Link Aggregation Group (LAG)
          mtu: 1600
          mgmt_only: false
          mode: Access
        state: present

    - name: Create interface and assign it to parent LAG
      netbox.netbox.netbox_device_interface:
        netbox_url: http://netbox.local
        netbox_token: thisIsMyToken
        data:
          device: test100
          name: GigabitEthernet1
          enabled: false
          type: 1000Base-t (1GE)
          lag:
            name: port-channel1
          mtu: 1600
          mgmt_only: false
          mode: Access
        state: present

    - name: Create interface as a trunk port
      netbox.netbox.netbox_device_interface:
        netbox_url: http://netbox.local
        netbox_token: thisIsMyToken
        data:
          device: test100
          name: GigabitEthernet25
          enabled: false
          type: 1000Base-t (1GE)
          untagged_vlan:
            name: Wireless
            site: Test Site
          tagged_vlans:
            - name: Data
              site: Test Site
            - name: VoIP
              site: Test Site
          mtu: 1600
          mgmt_only: true
          mode: Tagged
        state: present

    - name: Update interface on child device on virtual chassis
      netbox.netbox.netbox_device_interface:
        netbox_url: http://netbox.local
        netbox_token: thisIsMyToken
        data:
          device: test100
          name: GigabitEthernet2/0/1
          enabled: false
        update_vc_child: true

    - name: Mark interface as connected without a cable (netbox >= 2.11 required)
      netbox.netbox.netbox_device_interface:
        netbox_url: http://netbox.local
        netbox_token: thisIsMyToken
        data:
          device: test100
          name: GigabitEthernet1
          mark_connected: true
        state: present

返回值

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

描述

接口

字典

序列化对象,如在 NetBox 中创建或已存在

返回: 创建时

消息

字符串

指示失败或有关已实现内容的消息

返回: 总是

作者

  • Mikhail Yohman (@FragmentedPacket)