community.general.infinity 模块 – 使用 Rest API 管理 Infinity IPAM

注意

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

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

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

要在剧本中使用它,请指定:community.general.infinity

概要

  • 使用 REST API 管理 Infinity IPAM。

参数

参数

注释

action

字符串 / 必需

要执行的操作

选择

  • "add_network"

  • "delete_network"

  • "get_network"

  • "get_network_id"

  • "release_ip"

  • "release_network"

  • "reserve_network"

  • "reserve_next_available_ip"

ip_address

字符串

用于预留或释放的 IP 地址。

network_address

字符串

具有 CIDR 格式的网络地址(例如,192.168.310.0)。

network_family

字符串

由 Infinity 定义的网络系列,例如 IPv4、IPv6 和双栈

选择

  • "4" ← (默认)

  • "6"

  • "dual"

network_id

字符串

网络 ID。

network_location

整数

给定网络的父网络 ID。

默认值: -1

network_name

字符串

网络的名称。

network_size

字符串

网络位掩码(例如 255.255.255.220)或 CIDR 格式(例如,/26)。

network_type

字符串

由 Infinity 定义的网络类型

选择

  • "lan" ← (默认)

  • "shared_lan"

  • "supernet"

password

字符串 / 必需

Infinity 密码。

server_ip

字符串 / 必需

具有 IP 地址的 Infinity server_ip。

username

字符串 / 必需

用于访问 Infinity 的用户名。

该用户必须具有 REST API 权限。

属性

属性

支持

描述

check_mode

支持:

可以在 check_mode 中运行,并返回已更改的状态预测,而无需修改目标。

diff_mode

支持:

在 diff 模式下,将返回有关已更改(或可能需要在 check_mode 中更改)的详细信息。

示例

---
- hosts: localhost
  connection: local
  strategy: debug
  tasks:
    - name: Reserve network into Infinity IPAM
      community.general.infinity:
        server_ip: 80.75.107.12
        username: username
        password: password
        action: reserve_network
        network_name: reserve_new_ansible_network
        network_family: 4
        network_type: lan
        network_id: 1201
        network_size: /28
      register: infinity

返回值

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

描述

ip_info

字符串

当从网络中预留下一个可用 IP 地址时,将返回 IP 地址信息。

返回: 成功

示例: "{\"address\": \"192.168.10.3\", \"hostname\": \"\", \"FQDN\": \"\", \"domainname\": \"\", \"id\": 3229}"

network_id

字符串

给定网络的 ID

返回: 成功

示例: "1501"

network_info

字符串

当通过提供 network_size 从 Infinity 超网预留 LAN 网络时,将返回有关预留网络的信息。

返回: 成功

示例: "{'description': None, 'network_address': '192.168.10.32/28', 'network_family': '4', 'network_id': 3102, 'network_location': '3085', 'network_name': \"'reserve_new_ansible_network'\", 'network_size': None, 'network_type': 'lan', 'ranges': {'first_ip': None, 'id': 0, 'last_ip': None, 'name': None, 'type': None}}"

作者

  • Meirong Liu (@MeganLiu)