vultr.cloud.vultr 库存 – 通过 Vultr v2 API 获取实例列表
注意
此库存插件是 vultr.cloud 集合(版本 1.13.0)的一部分。
如果您正在使用 ansible
包,您可能已经安装了此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install vultr.cloud
。
要在 playbook 中使用它,请指定: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 条件将主机添加到组。 默认值: |
|
实例类型。 选项
|
|
根据变量的值将主机添加到组。 默认值: |
|
当主机变量的值为空字符串时的默认值。 此选项与 |
|
用于生成组的输入字典中的键 |
|
键控组的父组 |
|
键控组名称将以此前缀开头 默认值: |
|
用于构建键控组名称的分隔符 默认值: |
|
将此选项设置为 此选项与 选项
|
|
与 keyed_groups 结合使用。 默认情况下,没有提供前缀或分隔符的键控组的名称将以下划线开头。 这是因为默认前缀为“”,默认分隔符为“_”。 如果没有给出前缀,请将此选项设置为 False 以省略前导下划线(或其他分隔符)。 如果组名称是从映射派生的,则分隔符仍然用于连接项。 要完全不在组名称中使用分隔符,请将键控组的分隔符设置为空字符串。 选项
|
|
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