hetzner.hcloud.server 模块 – 在 Hetzner Cloud 上创建和管理云服务器。
注意
此模块是 hetzner.hcloud 集合 (版本 4.2.2) 的一部分。
如果您使用的是 ansible
包,则可能已经安装了此集合。它不包含在 ansible-core
中。要检查它是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install hetzner.hcloud
。您需要其他要求才能使用此模块,请参阅 需求 获取详细信息。
要在剧本中使用它,请指定:hetzner.hcloud.server
。
概要
在 Hetzner Cloud 上创建、更新和管理云服务器。
别名:hcloud_server
需求
执行此模块的主机需要以下需求。
python-dateutil >= 2.7.5
requests >=2.20
参数
参数 |
注释 |
---|---|
Hetzner Cloud 的 API 端点。 您也可以使用 默认值: |
|
Hetzner Cloud 的 API 令牌。 您也可以使用 |
|
启用或禁用给定服务器的备份。 选项
|
|
启用公共 ipv4 地址。 选项
|
|
启用公共 ipv6 地址。 选项
|
|
应附加到服务器的 Hetzner Cloud 防火墙(名称或 ID)列表。 |
|
强制更新服务器。 如果应用了更新,可能会关闭服务器。 选项
|
|
要管理的 Hetzner Cloud 服务器的 ID。 如果没有给出服务器 |
|
用于创建服务器的 Hetzner Cloud 镜像(名称或 ID)。 如果服务器不存在或当 |
|
允许使用已弃用的镜像创建服务器。 选项
|
|
要使用的 Hetzner Cloud 主 IPv4(名称或 ID)。 如果省略此参数且 |
|
要使用的 Hetzner Cloud 主 IPv6(名称或 ID)。 如果省略此参数且 |
|
用户定义的标签(键值对)。 |
|
要管理的 Hetzner Cloud 服务器的名称。 如果没有给出服务器 |
|
要在其中创建服务器的 Hetzner Cloud 部署组(名称或 ID)。 |
|
服务器应附加到的 Hetzner Cloud 网络(名称或 ID)列表。 如果为 None,则私有网络保持原样(例如,如果之前由 hcloud_server_network 添加),如果它有任何其他值(包括 []),则只有这些网络附加到服务器。 |
|
添加您希望服务器引导到其中的 Hetzner 救援系统类型。 |
|
服务器的 Hetzner Cloud 服务器类型(名称或 ID)。 如果服务器不存在,则需要此参数。 |
|
用于创建服务器的 Hetzner Cloud SSH 密钥(名称或 ID)列表。 仅在服务器创建期间使用。 |
|
服务器的状态。 选项
|
|
调整服务器大小时调整磁盘大小。 如果您以后想降级服务器,此值应为 False。 选项
|
|
创建时要传递给服务器的用户数据。 仅在服务器创建期间使用。 |
|
应附加到服务器的 Hetzner Cloud 卷(名称或 ID)列表。 仅在服务器创建期间使用。 |
参见
参见
- Hetzner Cloud API 文档
Hetzner Cloud API 的完整参考。
示例
- name: Create a basic server
hetzner.hcloud.server:
name: my-server
server_type: cx22
image: ubuntu-22.04
state: present
- name: Create a basic server with ssh key
hetzner.hcloud.server:
name: my-server
server_type: cx22
image: ubuntu-22.04
location: fsn1
ssh_keys:
- me@myorganisation
state: present
- name: Resize an existing server
hetzner.hcloud.server:
name: my-server
server_type: cx32
upgrade_disk: true
state: present
- name: Ensure the server is absent (remove if needed)
hetzner.hcloud.server:
name: my-server
state: absent
- name: Ensure the server is started
hetzner.hcloud.server:
name: my-server
state: started
- name: Ensure the server is stopped
hetzner.hcloud.server:
name: my-server
state: stopped
- name: Ensure the server is restarted
hetzner.hcloud.server:
name: my-server
state: restarted
- name: Ensure the server is will be booted in rescue mode and therefore restarted
hetzner.hcloud.server:
name: my-server
rescue_mode: linux64
state: restarted
- name: Ensure the server is rebuild
hetzner.hcloud.server:
name: my-server
image: ubuntu-22.04
state: rebuild
- name: Add server to placement group
hetzner.hcloud.server:
name: my-server
placement_group: my-placement-group
force: true
state: present
- name: Remove server from placement group
hetzner.hcloud.server:
name: my-server
placement_group:
state: present
- name: Add server with private network only
hetzner.hcloud.server:
name: my-server
enable_ipv4: false
enable_ipv6: false
private_networks:
- my-network
- 4711
state: present
返回值
常见的返回值已在 此处 记录,以下是此模块特有的字段
键 |
描述 |
---|---|
服务器实例 返回:始终 |
|
备份运行的时间窗口 (UTC),如果未启用备份,则为 null 返回:始终 示例: |
|
服务器创建的时间点 (ISO-8601 格式) 返回:始终 示例: |
|
服务器数据中心的名称 返回:始终 示例: |
|
如果服务器受保护以防止删除,则为 True 返回:始终 示例: |
|
服务器的数字标识符 返回:始终 示例: |
|
服务器的公共 IPv4 地址 返回:始终 示例: |
|
服务器的 IPv6 网络 返回:始终 示例: |
|
用户定义的标签 (键值对) 返回:始终 |
|
服务器位置的名称 返回:始终 示例: |
|
服务器的名称 返回:始终 示例: |
|
服务器的部署组 返回:始终 示例: |
|
服务器连接到的私有网络列表 (名称或 ID) 返回:始终 示例: |
|
服务器连接到的私有网络列表 (包含名称和 IP 的字典) 返回:始终 示例: |
|
如果服务器受保护以防止重建,则为 True 返回:始终 示例: |
|
如果启用救援模式,则为 True,服务器将在下次重新启动时启动到救援系统 返回:始终 示例: |
|
服务器的服务器类型的名称 返回:始终 示例: |
|
服务器的状态 返回:始终 示例: |