hetzner.hcloud.hcloud 库存 – 用于 Hetzner Cloud 的 Ansible 动态库存插件。
注意
此库存插件是 hetzner.hcloud 集合(版本 4.2.2)的一部分。
如果您正在使用 ansible
包,您可能已经安装了此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用: ansible-galaxy collection install hetzner.hcloud
。您需要其他要求才能使用此库存插件,请参阅 要求 了解详细信息。
要在剧本中使用它,请指定: hetzner.hcloud.hcloud
。
概要
从 Hetzner Cloud API 读取库存。
使用以
hcloud.yml
或hcloud.yaml
结尾的 YAML 配置文件。
要求
本地控制器节点上需要以下要求来执行此库存。
python-dateutil >= 2.7.5
requests >=2.20
参数
参数 |
注释 |
---|---|
切换以启用/禁用库存源数据的缓存,需要设置缓存插件才能工作。 选项
配置
|
|
缓存连接数据或路径,请阅读缓存插件文档以了解具体信息。 配置
|
|
用于库存源数据的缓存插件。 默认值: 配置
|
|
用于缓存插件文件/表的前缀 默认值: 配置
|
|
缓存持续时间(秒) 默认值: 配置
|
|
从 jinja2 表达式创建变量。 默认值: |
|
使用此字段中的值连接到服务器。如果该值可用,这会将 选项
|
|
所有服务器自动添加到的组。 默认值: |
|
根据 Jinja2 条件将主机添加到组。 默认值: |
|
实例主机名的模板,如果未提供,将使用 Hetzner Cloud 服务器名称。 可用变量是 Hetzner Cloud 主机变量。 可用变量名称通过 |
|
来自 Hetzner Cloud 的主机变量名称的前缀。 |
|
来自 Hetzner Cloud 的主机变量名称的后缀。 |
|
使用此镜像名称填充清单中的实例,仅适用于系统镜像。 默认值: |
|
根据变量的值将主机添加到组。 默认值: |
|
当主机变量的值为空字符串时的默认值。 此选项与 |
|
用于生成组的输入字典中的键 |
|
键控组的父组 |
|
键控组名称将以此前缀开头 默认值: |
|
用于构建键控组名称的分隔符 默认值: |
|
将此选项设置为 此选项与 选项
|
|
使用此标签填充清单中的实例。 默认值: |
|
与 keyed_groups 结合使用。 默认情况下,没有提供前缀或分隔符的键控组的名称将以下划线开头。 这是因为默认前缀是 "",默认分隔符是 "_"。 如果没有给出前缀,请将此选项设置为 False 以省略前导下划线(或其他分隔符)。 如果组名称是从映射派生的,则仍然使用分隔符来连接项目。 要完全不在组名称中使用分隔符,请将键控组的分隔符设置为空字符串。 选项
|
|
使用此位置中的实例填充清单。 默认值: |
|
使用附加到此网络名称或 ID 的实例填充清单。 默认值: |
|
使用此状态的实例填充清单。 默认值: |
|
如果 由于可以在表达式中使用事实,它们可能并非总是可用,我们默认会忽略这些错误。 选项
|
|
使用此类型的实例填充清单。 默认值: |
|
将额外的变量合并到可用于组合的变量中(优先级最高)。 选项
配置
|
示例
# Minimal example. 'HCLOUD_TOKEN' is exposed in environment.
plugin: hetzner.hcloud.hcloud
---
# Example with templated token, e.g. provided through extra vars.
plugin: hetzner.hcloud.hcloud
api_token: "{{ _vault_hetzner_cloud_token }}"
---
# Example with locations, types, status
plugin: hetzner.hcloud.hcloud
locations:
- nbg1
types:
- cx22
status:
- running
---
# Group by a location with prefix e.g. "hcloud_location_nbg1"
# and image_os_flavor without prefix and separator e.g. "ubuntu"
# and status with prefix e.g. "server_status_running"
plugin: hetzner.hcloud.hcloud
keyed_groups:
- key: location
prefix: hcloud_location
- key: image_os_flavor
separator: ""
- key: status
prefix: server_status
---
# Use a custom hostname template.
plugin: hetzner.hcloud.hcloud
# Available variables are for example:
## Server
# id: 42984895
# name: "my-server"
# labels:
# foo: "bar"
# status: "running"
## Server Type
# type: "cx22"
# server_type: "cx22"
# architecture: "x86"
## Image
# image_id: 114690387
# image_name: "debian-12"
# image_os_flavor: "debian"
## Datacenter
# datacenter: "hel1-dc2"
# location: "hel1"
## Network
# ipv4: "65.109.140.95" # Value is optional!
# ipv6: "2a01:4f9:c011:b83f::1" # Value is optional!
# ipv6_network: 2a01:4f9:c011:b83f::" # Value is optional!
# ipv6_network_mask: "64" # Value is optional!
# private_ipv4: "10.0.0.3" # Value is optional!
# private_networks:
# - id: 114690387
# name: "my-private-network"
# ip: "10.0.0.3"
#
hostname: "my-prefix-{{ datacenter }}-{{ name }}-{{ server_type }}"