community.general.packet_ip_subnet 模块 – 将 IP 子网分配给裸金属服务器
注意
此模块是 community.general 集合(版本 10.1.0)的一部分。
如果您正在使用 ansible
包,您可能已经安装了这个集合。 它不包含在 ansible-core
中。要检查它是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install community.general
。您需要进一步的要求才能使用此模块,请参阅 要求 了解详细信息。
要在 playbook 中使用它,请指定:community.general.packet_ip_subnet
。
community.general 0.2.0 中的新增功能
概要
将 IPv4 或 IPv6 子网分配给 Packet 主机中的设备或从设备取消分配。
IPv4 子网必须来自已保留的块。
IPv6 子网必须来自您的项目的可公开路由的 /56 块。
有关 IP 块保留的更多信息,请参阅 https://support.packet.com/kb/articles/elastic-ips。
要求
以下要求需要在执行此模块的主机上满足。
packet-python >= 1.35
参数
参数 |
注释 |
---|---|
Packet API 令牌。您也可以在环境变量 |
|
您要管理的 IPv4 或 IPv6 子网。 它必须来自 Packet Host 中为您的项目保留的块。 |
|
要从项目中检索的设备数量。允许的最大值为 1000。 有关更多信息,请参阅 https://www.packet.com/developers/api/#retrieve-all-devices-of-a-project。 默认值: |
|
要向其分配/删除子网的设备的 UUID。 |
|
要向其分配/删除子网的设备的主机名。 |
|
要向其分配/删除子网的设备的项目的 UUID。 |
|
指定设备上 IP 子网的所需状态。 对于 对于 如果您将 选项
|
属性
属性 |
支持 |
描述 |
---|---|---|
支持:完整 |
可以在 |
|
支持:无 |
在 diff 模式下,将返回已更改的内容(或在 |
示例
# All the examples assume that you have your Packet API token in env var PACKET_API_TOKEN.
# You can also pass it to the auth_token parameter of the module instead.
- name: Create 1 device and assign an arbitrary public IPv4 subnet to it
hosts: localhost
tasks:
- packet_device:
project_id: 89b497ee-5afc-420a-8fb5-56984898f4df
hostnames: myserver
operating_system: ubuntu_16_04
plan: baremetal_0
facility: sjc1
state: active
# Pick an IPv4 address from a block allocated to your project.
- community.general.packet_ip_subnet:
project_id: 89b497ee-5afc-420a-8fb5-56984898f4df
hostname: myserver
cidr: "147.75.201.78/32"
# Release IP address 147.75.201.78
- name: Unassign IP address from any device in your project
hosts: localhost
tasks:
- community.general.packet_ip_subnet:
project_id: 89b497ee-5afc-420a-8fb5-56984898f4df
cidr: "147.75.201.78/32"
state: absent
返回值
常见的返回值记录在此处:此处,以下是此模块特有的字段
键 |
描述 |
---|---|
如果 IP 地址分配以任何方式被更改(创建或删除),则为 True。 返回:成功 示例: |
|
与指定 IP 地址关联的设备的 UUID。 返回:成功 |
|
包含有关处理的 IP 子网数据的字典。 返回:成功 示例: |