community.digitalocean.digital_ocean_floating_ip 模块 – 管理 DigitalOcean 浮动 IP

注意

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

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

要安装它,请使用:ansible-galaxy collection install community.digitalocean。您需要其他需求才能使用此模块,请参阅 需求 了解详情。

要在 playbook 中使用它,请指定:community.digitalocean.digital_ocean_floating_ip

概要

  • 创建/删除/分配浮动 IP。

需求

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

  • python >= 2.6

参数

参数

注释

droplet_id

字符串

已分配浮动 IP 的 Droplet。

ip

别名:id

字符串

浮动 IP 的公共 IP 地址。用于移除 IP

oauth_token

字符串 / 必需

DigitalOcean OAuth 令牌。

project_name

别名:project

字符串

要将资源分配到的项目(项目名称,而不是 UUID)。

默认为帐户的默认项目(空字符串)。

目前仅在创建时支持。

默认值: ""

region

字符串

保留浮动 IP 的区域。

state

字符串

指示目标的所需状态。

如果 state=present 创建(并可选地附加)浮动 IP

如果 state=absent 删除浮动 IP

如果 state=attached 将浮动 IP 附加到 Droplet

如果 state=detached 将浮动 IP 从 Droplet 分离

选项

  • "present" ← (默认)

  • "absent"

  • "attached"

  • "detached"

timeout

整数

浮动 IP 创建超时。

默认值: 30

validate_certs

布尔值

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

这应该只在使用自签名证书的个人控制站点上设置为 no

选项

  • false

  • true ← (默认)

备注

注意

  • 使用 DigitalOcean API 版本 2。

示例

- name: "Create a Floating IP in region lon1"
  community.digitalocean.digital_ocean_floating_ip:
    state: present
    region: lon1

- name: Create a Floating IP in region lon1 (and assign to Project "test")
  community.digitalocean.digital_ocean_floating_ip:
    state: present
    region: lon1
    project: test

- name: "Create a Floating IP assigned to Droplet ID 123456"
  community.digitalocean.digital_ocean_floating_ip:
    state: present
    droplet_id: 123456

- name: "Attach an existing Floating IP of 1.2.3.4 to Droplet ID 123456"
  community.digitalocean.digital_ocean_floating_ip:
    state: attached
    ip: "1.2.3.4"
    droplet_id: 123456

- name: "Detach an existing Floating IP of 1.2.3.4 from its Droplet"
  community.digitalocean.digital_ocean_floating_ip:
    state: detached
    ip: "1.2.3.4"

- name: "Delete a Floating IP with ip 1.2.3.4"
  community.digitalocean.digital_ocean_floating_ip:
    state: absent
    ip: "1.2.3.4"

返回值

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

描述

assign_status

字符串

分配状态 (ok, not_found, assigned, already_assigned, service_down)

返回:已更改

示例: "assigned"

data

字典

DigitalOcean 浮动 IP 资源

返回:成功且无资源约束

示例: {"action": {"completed_at": null, "id": 68212728, "region": {"available": true, "features": ["private_networking", "backups", "ipv6", "metadata"], "name": "New York 3", "sizes": ["512mb,", "1gb,", "2gb,", "4gb,", "8gb,", "16gb,", "32gb,", "48gb,", "64gb"], "slug": "nyc3"}, "region_slug": "nyc3", "resource_id": 758603823, "resource_type": "floating_ip", "started_at": "2015-10-15T17:45:44Z", "status": "in-progress", "type": "assign_ip"}}

msg

字符串

执行过程中遇到的信息或错误消息

返回:已更改

示例: "No project named test2 found"

资源

字典

项目分配中涉及的资源分配

返回:已更改

示例: {"assigned_at": "2021-10-25T17:39:38Z", "links": {"self": "https://api.digitalocean.com/v2/floating_ips/157.230.64.107"}, "status": "assigned", "urn": "do:floatingip:157.230.64.107"}

作者

  • Patrick Marques (@pmarques)

  • Daniel George (@danxg87)