cloudscale_ch.cloud.floating_ip 模块 – 管理 cloudscale.ch IaaS 服务上的浮动 IP

注意

此模块是 cloudscale_ch.cloud 集合(版本 2.4.0)的一部分。

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

要安装它,请使用:ansible-galaxy collection install cloudscale_ch.cloud

要在 playbook 中使用它,请指定:cloudscale_ch.cloud.floating_ip

cloudscale_ch.cloud 1.0.0 中的新增功能

概要

  • 在 cloudscale.ch IaaS 服务上创建、分配和删除浮动 IP。

别名:cloudscale_floating_ip

参数

参数

注释

api_timeout

整数

调用 cloudscale.ch API 的超时时间(以秒为单位)。

也可以在 CLOUDSCALE_API_TIMEOUT 环境变量中传递此值。

默认值: 45

api_token

字符串 / 必需

cloudscale.ch API 令牌。

也可以在 CLOUDSCALE_API_TOKEN 环境变量中传递此值。

api_url

字符串

在 cloudscale_ch.cloud 1.3.0 中添加

cloudscale.ch API URL。

也可以在 CLOUDSCALE_API_URL 环境变量中传递此值。

默认值: "https://api.cloudscale.ch/v1"

ip_version

整数

浮动 IP 的 IP 协议版本。

分配新的浮动 IP 时需要。

选择

  • 4

  • 6

名称

字符串

在 cloudscale_ch.cloud 1.3.0 中添加

用于识别浮动 IP 地址以实现幂等性的名称。

需要 networkname 之一来识别浮动 IP。

分配新的浮动 IP 时需要。

network

别名:ip

字符串

要更改的浮动 IP 地址。

需要 networkname 之一来识别浮动 IP。

prefix_length

整数

仅当 ip_version 为 6 时有效。

IPv6 网络的前缀长度。目前只能请求 /56 的前缀。如果没有 prefix_length,则会创建一个单独的地址。

选择

  • 56

region

字符串

浮动 IP 所在的区域(例如 lpgrma)。如果省略,则使用项目默认区域的区域。如果 type 设置为 global,则必须省略此参数。

reverse_ptr

字符串

此地址的 PTR 反向条目。

您不能为 IPv6 浮动网络设置反向 PTR 条目。反向 PTR 条目仅允许用于单个地址。

server

字符串

分配给此浮动 IP 的服务器的 UUID。

state

字符串

浮动 IP 的状态。

选择

  • "present" ← (默认)

  • "absent"

tags

字典

在 cloudscale_ch.cloud 1.1.0 中添加

与浮动 IP 关联的标签。将其设置为 {} 以清除任何标签。

type

字符串

浮动 IP 的类型。

选择

  • "regional" ← (默认)

  • "global"

注意

注意

  • 创建 floating_ip 后,除了 serverreverse_ptrtags 之外的所有参数都是只读的。

  • 所有操作均使用 cloudscale.ch 公共 API v1 执行。

  • 有关详细信息,请参阅完整的 API 文档:https://www.cloudscale.ch/en/api/v1

  • 所有操作都需要有效的 API 令牌。您可以使用 https://control.cloudscale.ch 上的 cloudscale.ch 控制面板创建任意数量的令牌。

示例

# Request a new floating IP without assignment to a server
- name: Request a floating IP
  cloudscale_ch.cloud.floating_ip:
    name: IP to my server
    ip_version: 4
    reverse_ptr: my-server.example.com
    api_token: xxxxxx

# Request a new floating IP with assignment
- name: Request a floating IP
  cloudscale_ch.cloud.floating_ip:
    name: web
    ip_version: 4
    server: 47cec963-fcd2-482f-bdb6-24461b2d47b1
    reverse_ptr: my-server.example.com
    api_token: xxxxxx

# Assign an existing floating IP to a different server by its IP address
- name: Move floating IP to backup server
  cloudscale_ch.cloud.floating_ip:
    ip: 192.0.2.123
    server: ea3b39a3-77a8-4d0b-881d-0bb00a1e7f48
    api_token: xxxxxx

# Assign an existing floating IP to a different server by name
- name: Move floating IP to backup server
  cloudscale_ch.cloud.floating_ip:
    name: IP to my server
    server: ea3b39a3-77a8-4d0b-881d-0bb00a1e7f48
    api_token: xxxxxx

# Request a new floating IPv6 network
- name: Request a floating IP
  cloudscale_ch.cloud.floating_ip:
    name: IPv6 to my server
    ip_version: 6
    prefix_length: 56
    server: 47cec963-fcd2-482f-bdb6-24461b2d47b1
    api_token: xxxxxx
    region: lpg1

# Assign an existing floating network to a different server
- name: Move floating IP to backup server
  cloudscale_ch.cloud.floating_ip:
    ip: '{{ floating_ip.ip }}'
    server: ea3b39a3-77a8-4d0b-881d-0bb00a1e7f48
    api_token: xxxxxx

# Remove a floating IP
- name: Release floating IP
  cloudscale_ch.cloud.floating_ip:
    ip: 192.0.2.123
    state: absent
    api_token: xxxxxx

# Remove a floating IP by name
- name: Release floating IP
  cloudscale_ch.cloud.floating_ip:
    name: IP to my server
    state: absent
    api_token: xxxxxx

返回值

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

描述

href

字符串

用于获取有关此浮动 IP 详细信息的 API URL。

返回: 当 state == present 时成功

示例: "https://api.cloudscale.ch/v1/floating-ips/2001:db8::cafe"

ip

字符串

浮动 IP 地址。

返回: 当 state == present 时成功

示例: "185.98.122.176"

名称

字符串

在 cloudscale_ch.cloud 1.3.0 中添加

浮动 IP 的名称。

返回: 成功

示例: "我的浮动 IP"

网络

字符串

路由到您服务器的网络 CIDR 表示法。

返回: 成功

示例: "2001:db8::cafe/128"

下一跳

字符串

您的浮动 IP 路由到此 IP 地址。

返回: 当 state == present 时成功

示例: "2001:db8:dead:beef::42"

region

字典

浮动 IP 的区域。

返回: 当 state == present 时成功

示例: {"slug": "lpg"}

reverse_ptr

字符串

此浮动 IP 地址的反向指针。

返回: 当 state == present 时成功

示例: "185-98-122-176.cust.cloudscale.ch"

server

字符串

浮动 IP 路由到此服务器。

返回: 当 state == present 时成功

示例: "47cec963-fcd2-482f-bdb6-24461b2d47b1"

state

字符串

浮动 IP 的当前状态。

返回: 成功

示例: "present"

tags

字典

在 cloudscale_ch.cloud 1.1.0 中添加

与浮动 IP 关联的标签。

返回: 成功

示例: {"project": "我的 项目"}

作者

  • Gaudenz Steinlin (@gaudenz)

  • Denis Krienbühl (@href)

  • René Moser (@resmo)