vultr.cloud.vultr 清单 – 通过 Vultr v2 API 检索实例列表
注意
此清单插件是 vultr.cloud 集合(版本 1.13.0)的一部分。
如果您正在使用 ansible
包,您可能已经安装了这个集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install vultr.cloud
。
要在剧本中使用它,请指定:vultr.cloud.vultr
。
vultr.cloud 1.4.0 中的新增功能
概要
Vultr 清单插件。
通过 Vultr v2 API 检索实例列表。
此插件的配置使用以‘(vultr|vultr_hosts|vultr_instances).(yaml|yml)’结尾的文件完成
参数
参数 |
注释 |
---|---|
API 端点 URL(不带尾部斜杠)。 回退环境变量 默认值: 配置
|
|
当接收大量实例时,指定每次 API 调用应返回的实例数量。 这不决定返回多少结果;所有实例都会根据其他过滤器返回。 Vultr API 最大值为 500。 回退环境变量 默认值: 配置 |
|
要作为主机变量添加到添加到清单的每个主机的实例属性。 有关有效值,请参阅 https://www.vultr.com/api/#operation/list-instances。 internal_ip 属性在 1.10.0 版本中添加。 默认值: |
|
切换以启用/禁用清单源数据的缓存,需要设置缓存插件才能工作。 选择
配置
|
|
缓存连接数据或路径,请阅读缓存插件文档以获取详细信息。 配置
|
|
用于清单源数据的缓存插件。 默认值: 配置
|
|
用于缓存插件文件/表的前缀。 默认值: 配置
|
|
缓存持续时间,以秒为单位。 默认值: 配置
|
|
从 Jinja2 表达式创建变量。 默认值: |
|
使用 Jinja2 模板过滤主机。 如果未提供,则所有主机都将添加到清单中。 默认值: |
|
根据 Jinja2 条件将主机添加到组。 默认值: |
|
实例类型。 选择
|
|
根据变量的值将主机添加到组。 默认值: |
|
当主机变量的值为空字符串时的默认值。 此选项与 |
|
用于生成组的输入字典中的键。 |
|
键组的父组。 |
|
键组名称将以此前缀开头。 默认值: |
|
用于构建键组名称的分隔符。 默认值: |
|
将此选项设置为 此选项与 选择
|
|
与 默认情况下,没有提供前缀或分隔符的键组的名称将以下划线开头。 这是因为默认前缀是 将此选项设置为 如果组名称派生自映射,则分隔符仍用于连接项目。 要在组名称中完全不使用分隔符,请将键组的分隔符设置为空字符串。 选择
|
|
Vultr 清单插件的名称。 这应始终为 选择
|
|
如果为 由于可以在表达式中使用事实,它们可能并非始终可用,因此我们默认忽略这些错误。 选择
|
|
将额外的变量合并到可用于组合的变量中(优先级最高)。 选择
配置
|
|
验证 Vultr API 的 SSL 证书。 选择
|
|
生成的变量的前缀(例如, 默认值: |
备注
注意
另请参阅有关 https://www.vultr.com/api/ 的 API 文档。
示例
---
# File endings vultr{,_{hosts,instances}}.y{,a}ml
# All configuration done via environment variables:
plugin: vultr.cloud.vultr
# Grouping and filtering configuration in inventory file
plugin: vultr.cloud.vultr
api_key: '{{ lookup("pipe"), "./get_vultr_api_key.sh" }}'
keyed_groups:
- key: vultr_tags | lower
prefix: ''
separator: ''
filters:
- '"vpc" in vultr_tags'
- 'vultr_plan == "vc2-2c-4gb"'
# Unless you can connect to your servers via it's vultr label,
# we suggest setting ansible_host with compose:
plugin: vultr.cloud.vultr
compose:
ansible_host: vultr_main_ip
# Respectively for IPv6:
plugin: vultr.cloud.vultr
compose:
ansible_host: vultr_v6_main_ip
# Prioritize IPv6 over IPv4 if available.
plugin: vultr.cloud.vultr
compose:
ansible_host: vultr_v6_main_ip or vultr_main_ip
# Use the internal IP
plugin: vultr.cloud.vultr
compose:
ansible_host: vultr_internal_ip
# Querying the bare metal instances
plugin: vultr.cloud.vultr
instance_type: bare_metal