openstack.cloud.server_metadata 模块 – 从 OpenStack 添加/更新/删除计算实例中的元数据
注意
此模块是 openstack.cloud 集合(版本 2.3.0)的一部分。
如果您正在使用 ansible
包,您可能已经安装了此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install openstack.cloud
。您需要进一步的要求才能使用此模块,请参阅 要求 了解详细信息。
要在 playbook 中使用它,请指定:openstack.cloud.server_metadata
。
概要
从 OpenStack 添加、更新或删除计算实例中的元数据。
要求
执行此模块的主机需要满足以下要求。
python >= 3.6
openstacksdk >= 1.0.0
参数
参数 |
注释 |
---|---|
套接字层在 API 调用超时之前应等待多长时间。如果省略此项,则不会将任何内容传递给 requests 库。 |
|
包含云身份验证插件策略所需的身份验证信息的字典。对于默认的 *password* 插件,这将包含 *auth_url*、*username*、*password*、*project_name* 以及有关域的任何信息(例如,如果云支持,则为 *user_domain_name* 或 *project_domain_name*)。对于其他插件,此参数将需要包含该身份验证插件所需的任何参数。如果提供了命名的云或存在 OpenStack OS_* 环境变量,则不需要此参数。 |
|
要使用的身份验证插件的名称。如果云使用密码身份验证以外的身份验证,则应在此处指示插件的名称,并相应地更新 *auth* 参数的内容。 |
|
CA 证书捆绑包的路径,可用作验证 SSL API 请求的一部分。 |
|
要用作 SSL 事务一部分的客户端证书的路径。 |
|
要用作 SSL 事务一部分的客户端密钥的路径。 |
|
要操作的命名云或云配置。如果 *cloud* 是一个字符串,则它引用 OpenStack clouds.yaml 文件中定义的命名云配置。为 *auth* 和 *auth_type* 提供默认值。如果提供了 *auth* 或存在 OpenStack OS_* 环境变量,则不需要此参数。如果 *cloud* 是一个字典,则它包含完整的云配置,如 clouds.yaml 的一部分。 |
|
要从服务目录中获取的端点 URL 类型。 选择
|
|
应作为元数据提供给实例的键值对列表,或者包含键值对列表的字符串。例如:meta: “key1=value1,key2=value2” 请注意,当 *state* 为 |
|
要更新元数据的实例名称 |
|
区域名称。 |
|
OpenStackSDK 的日志级别 选择
|
|
OpenStackSDK 的日志文件路径。如果为空,则不写入日志 |
|
资源应该是存在还是不存在。 选择
|
|
Ansible 应该等待请求的资源多长时间。 默认值: |
|
是否应验证 SSL API 请求。 在 Ansible 2.3 之前,默认为 选择
|
|
Ansible 是否应等待到请求的资源完成。 选择
|
注意事项
注意
可以使用标准的 OpenStack 环境变量,例如
OS_USERNAME
,而不是提供显式值。认证信息由 openstacksdk 驱动,这意味着值可以来自 /etc/ansible/openstack.yaml、/etc/openstack/clouds.yaml 或 ~/.config/openstack/clouds.yaml 中的 YAML 配置文件,然后来自标准环境变量,最后来自 playbook 中的显式参数。 更多信息请参考 https://docs.openstack.org/openstacksdk/
示例
# Creates or updates hostname=test1 as metadata of the server instance vm1
# Note that existing keys will not be cleared
- name: add metadata to instance
openstack.cloud.server_metadata:
state: present
cloud: "{{ cloud }}"
name: vm1
metadata:
hostname: test1
group: group1
# Removes the keys under meta from the instance named vm1
- name: delete metadata from instance
openstack.cloud.server_metadata:
state: absent
cloud: "{{ cloud }}"
name: vm1
meta:
hostname:
group:
public_keys:
返回值
通用返回值请参考此处,以下是此模块独有的字段
键 |
描述 |
---|---|
描述已更新的服务器的字典。 返回:当 state 为 ‘present’ 时成功返回。 |
|
用于访问此服务器的 IPv4 地址。可能由提供商自动设置。 返回:成功 |
|
用于访问此服务器的 IPv6 地址。可能由提供商自动设置。 返回:成功 |
|
此服务器可以通过其访问的地址字典。该字典包含诸如 ‘private’ 和 ‘public’ 之类的键,每个键包含该类型地址的字典列表。地址包含在具有键 ‘addr’ 和 ‘version’ 的字典中,其中 version 根据 IP 地址的协议为 4 或 6。 返回:成功 |
|
首次创建服务器时,它会提供管理员密码。 返回:成功 |
|
附加卷的列表。列表中的每个项目至少包含一个 ‘id’ 键来标识特定卷。 返回:成功 |
|
此服务器所属的可用区名称。 返回:成功 |
|
允许对实例的块设备映射进行精细控制。这通常用于从卷启动服务器。 返回:成功 |
|
此实例正在运行的计算主机名称。仅在管理用户的响应中显示。 返回:成功 |
|
指示是否为此服务器使用了配置驱动器。 返回:成功 |
|
服务器创建的时间戳。 返回:成功 |
|
服务器的描述。在微版本 2.19 之前,这被设置为服务器名称。 返回:成功 |
|
磁盘配置。可以是 AUTO 或 MANUAL。 返回:成功 |
|
从服务器返回的风味属性。 返回:成功 |
|
要用于此服务器的风味的参考,可以是 ID 或完整 URL。 返回:成功 |
|
指示配置驱动器是否启用了元数据注入。并非所有云提供商都启用此功能。 返回:成功 |
|
表示此服务器主机的 ID。 返回:成功 |
|
主机状态。 返回:成功 |
|
实例启动时设置的主机名。默认情况下,它仅在管理用户的响应中显示。 返回:成功 |
|
虚拟机监控程序主机名。仅在管理用户的响应中显示。 返回:成功 |
|
服务器的 ID。 返回:成功 |
|
从服务器返回的镜像属性。 返回:成功 |
|
要用于此服务器的镜像的参考,可以是 ID 或完整 URL。 返回:成功 |
|
实例名称。Compute API 从实例名称模板生成实例名称。仅在管理用户的响应中显示。 返回:成功 |
|
服务器的锁定状态。 返回:成功 |
|
使用 AMI 时内核镜像的 UUID。如果未使用,则为 null。默认情况下,它仅在管理用户的响应中显示。 返回:成功 |
|
关联的密钥对的名称。 返回:成功 |
|
当通过多次创建启动服务器时,这是服务器启动的顺序。默认情况下,它仅在管理用户的响应中显示。 返回:成功 |
|
服务器启动的时间戳。 返回:成功 |
|
包含与此服务器相关的链接的字典列表。 返回:成功 |
|
要创建的最大服务器数量。 返回:成功 |
|
标签字符串列表。 返回:成功 |
|
要创建的最小服务器数量。 返回:成功 |
|
服务器的名称。 返回:成功 |
|
网络对象。当为租户定义了多个网络时,这是必需参数。当您未指定 networks 参数时,服务器会连接到为当前租户创建的唯一网络。 返回:成功 |
|
此服务器的电源状态。 返回:成功 |
|
当服务器正在构建时,此值表示完成百分比。完成后,它将为 100。 返回:成功 |
|
此服务器关联的项目的 ID。 返回:成功 |
|
使用 AMI 时 ramdisk 镜像的 UUID。如果未使用,则为 null。默认情况下,它仅在管理用户的响应中显示。 返回:成功 |
|
服务器的预留 ID。此 ID 可用于跟踪通过多次创建创建的服务器组,这些服务器都将具有相同的 reservation_id。默认情况下,它仅在管理用户的响应中显示。 返回:成功 |
|
实例的根设备名称。默认情况下,它仅在管理用户的响应中显示。 返回:成功 |
|
要发送到调度程序的数据字典。 返回:成功 |
|
适用的安全组列表。每个组都包含以下键:description、name、id 和 rules。 返回:成功 |
|
服务器所属的服务器组的 UUID。目前,它最多可以包含一个条目。 返回:成功 |
|
此服务器所处的状态。有效值包括 ‘ACTIVE’、‘BUILDING’、‘DELETED’、‘ERROR’、‘HARD_REBOOT’、‘PASSWORD’、‘PAUSED’、‘REBOOT’、‘REBUILD’、‘RESCUED’、‘RESIZED’、‘REVERT_RESIZE’、‘SHUTOFF’、‘SOFT_DELETED’、‘STOPPED’、‘SUSPENDED’、‘UNKNOWN’ 或 ‘VERIFY_RESIZE’。 返回:成功 |
|
关联的标签列表。 返回:成功 |
|
此服务器的任务状态。 返回:成功 |
|
服务器终止的时间戳(如果已终止)。 返回:成功 |
|
受信任证书 ID 的列表,这些证书在镜像签名验证期间用于验证签名证书。 返回:成功 |
|
此服务器上次更新的时间戳。 返回:成功 |
|
启动时要使用的配置信息或脚本。经过 Base64 编码。 返回:成功 |
|
此服务器的所有者的 ID。 返回:成功 |
|
此服务器的 VM 状态。 返回:成功 |
|
与 attached_volumes 相同。 返回:成功 |