community.network.ce_ip_interface 模块 – 管理华为 CloudEngine 交换机上 IPv4 和 IPv6 接口的 L3 属性。

注意

此模块是 community.network 集合(版本 5.1.0)的一部分。

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

要安装它,请使用:ansible-galaxy collection install community.network

要在 playbook 中使用它,请指定:community.network.ce_ip_interface

注意

community.network 集合已被弃用,并将从 Ansible 12 中删除。有关更多信息,请参阅讨论帖

已弃用

在以下版本中移除:

版本 6.0.0

原因:

此集合及其中的所有内容都未维护且已弃用。

替代方案:

未知。

概要

  • 管理华为 CloudEngine 交换机上 IPv4 和 IPv6 接口的第 3 层属性。

别名:network.cloudengine.ce_ip_interface

参数

参数

注释

addr

字符串

IPv4 或 IPv6 地址。

interface

字符串 / 必需

接口的全名,即 40GE1/0/22、vlanif10。

ipv4_type

字符串

指定地址类型。该值是枚举类型。main,主 IP 地址。sub,辅助 IP 地址。

选择

  • "main" ← (默认)

  • "sub"

mask

字符串

IPv4 或 IPv6 地址的子网掩码(十进制格式)。

state

字符串

指定资源的所需状态。

选择

  • "present" ← (默认)

  • "absent"

version

字符串

IP 地址版本。

选择

  • "v4" ← (默认)

  • "v6"

注释

注意

  • 使用此模块时,接口必须已经是一个 L3 端口。

  • 必须先创建逻辑接口(环回、vlanif)。

  • mask 对于 IPv6 和 IPv4,都必须以十进制格式(即 24)插入。

  • 单个接口可以配置多个 IPv6。

  • 此模块要求在被管理的远程设备上启用 netconf 系统服务。

  • 建议使用 netconf 连接。

  • 此模块也适用于旧版 playbook 的 local 连接。

示例

- name: Ip_interface module test
  hosts: cloudengine
  connection: local
  gather_facts: false
  vars:
    cli:
      host: "{{ inventory_hostname }}"
      port: "{{ ansible_ssh_port }}"
      username: "{{ username }}"
      password: "{{ password }}"
      transport: cli

  tasks:
  - name: Ensure ipv4 address is configured on 10GE1/0/22
    community.network.ce_ip_interface:
      interface: 10GE1/0/22
      version: v4
      state: present
      addr: 20.20.20.20
      mask: 24
      provider: '{{ cli }}'

  - name: Ensure ipv4 secondary address is configured on 10GE1/0/22
    community.network.ce_ip_interface:
      interface: 10GE1/0/22
      version: v4
      state: present
      addr: 30.30.30.30
      mask: 24
      ipv4_type: sub
      provider: '{{ cli }}'

  - name: Ensure ipv6 is enabled on 10GE1/0/22
    community.network.ce_ip_interface:
      interface: 10GE1/0/22
      version: v6
      state: present
      provider: '{{ cli }}'

  - name: Ensure ipv6 address is configured on 10GE1/0/22
    community.network.ce_ip_interface:
      interface: 10GE1/0/22
      version: v6
      state: present
      addr: 2001::db8:800:200c:cccb
      mask: 64
      provider: '{{ cli }}'

返回值

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

描述

changed

布尔值

检查设备上是否进行了更改

返回: 总是

示例: true

end_state

字典

模块执行后的 IP 属性的键/值对

返回: 总是

示例: {"interface": "10GE1/0/22", "ipv4": [{"addrType": "main", "ifIpAddr": "20.20.20.20", "subnetMask": "255.255.255.0"}]}

existing

字典

接口上现有 IP 属性的键/值对

返回: 总是

示例: {"interface": "10GE1/0/22", "ipv4": [{"addrType": "main", "ifIpAddr": "11.11.11.11", "subnetMask": "255.255.0.0"}]}

proposed

字典

传递给模块的参数的键/值对

返回: 总是

示例: {"addr": "20.20.20.20", "interface": "10GE1/0/22", "mask": "24"}

更新

列表 / 元素=字符串

发送到设备的命令

返回: 总是

示例: ["interface 10GE1/0/22", "ip address 20.20.20.20 24"]

状态

  • 此模块将在 6.0.0 版本中移除。[已弃用]

  • 更多信息请参见 已弃用

作者

  • QijunPan (@QijunPan)