hetzner.hcloud.server 模块 – 在 Hetzner Cloud 上创建和管理云服务器。
注意
此模块是 hetzner.hcloud 集合(版本 4.2.2)的一部分。
如果您正在使用 ansible
包,您可能已经安装了此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install hetzner.hcloud
。您需要进一步的要求才能使用此模块,有关详细信息,请参阅要求。
要在 playbook 中使用它,请指定: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。服务器将在下次重启时启动到救援系统 返回: 始终 示例: |
|
服务器的服务器类型名称 返回: 始终 示例: |
|
服务器的状态 返回: 始终 示例: |