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”,根据 IP 地址的协议,值为 4 或 6。 返回:成功 |
|
首次创建服务器时,会提供管理员密码。 返回:成功 |
|
已连接卷的列表。列表中的每个项目至少包含一个“id”键来标识特定的卷。 返回:成功 |
|
此服务器所属的可用区的名称。 返回:成功 |
|
启用对实例的块设备映射的细粒度控制。这通常用于从卷启动服务器。 返回:成功 |
|
此实例运行所在的计算主机的名称。仅对管理员用户显示在响应中。 返回:成功 |
|
指示此服务器是否使用了配置驱动器。 返回:成功 |
|
服务器创建的时间戳。 返回:成功 |
|
服务器的描述。在 microversion 2.19 之前,此项设置为服务器名称。 返回:成功 |
|
磁盘配置。AUTO 或 MANUAL。 返回:成功 |
|
服务器返回的规格属性。 返回:成功 |
|
规格的引用,作为 ID 或完整 URL,用于此服务器。 返回:成功 |
|
指示配置驱动器是否启用元数据注入。并非所有云提供商都启用此功能。 返回:成功 |
|
表示此服务器主机的 ID。 返回:成功 |
|
主机状态。 返回:成功 |
|
服务器启动时设置在实例上的主机名。默认情况下,仅对管理员用户显示在响应中。 返回:成功 |
|
虚拟机管理程序主机名。仅对管理员用户显示在响应中。 返回:成功 |
|
服务器的 ID。 返回:成功 |
|
服务器返回的镜像属性。 返回:成功 |
|
镜像的引用,作为 ID 或完整 URL,用于此服务器。 返回:成功 |
|
实例名称。计算 API 从实例名称模板生成实例名称。仅对管理员用户显示在响应中。 返回:成功 |
|
服务器的锁定状态。 返回:成功 |
|
使用 AMI 时内核镜像的 UUID。如果不是,则为 null。默认情况下,仅对管理员用户显示在响应中。 返回:成功 |
|
关联密钥对的名称。 返回:成功 |
|
当服务器通过多个创建操作启动时,这是服务器启动的顺序。默认情况下,仅对管理员用户显示在响应中。 返回:成功 |
|
服务器启动的时间戳。 返回:成功 |
|
包含与此服务器相关的链接的字典列表。 返回:成功 |
|
要创建的服务器的最大数量。 返回:成功 |
|
标签字符串列表。 返回:成功 |
|
要创建的服务器的最小数量。 返回:成功 |
|
服务器的名称。 返回:成功 |
|
网络对象。当租户定义了多个网络时,这是必需的参数。如果未指定 networks 参数,则服务器将连接到为当前租户创建的唯一网络。 返回:成功 |
|
此服务器的电源状态。 返回:成功 |
|
在服务器构建期间,此值表示完成的百分比。完成后,将为 100。 返回:成功 |
|
此服务器关联的项目的 ID。 返回:成功 |
|
使用 AMI 时 RAM 磁盘镜像的 UUID。如果不是,则为 null。默认情况下,仅对管理员用户显示在响应中。 返回:成功 |
|
服务器的预留 ID。这是一个 ID,可用于跟踪使用多个创建操作创建的服务器组,这些服务器组都具有相同的 reservation_id。默认情况下,仅对管理员用户显示在响应中。 返回:成功 |
|
实例的根设备名称。默认情况下,仅对管理员用户显示在响应中。 返回:成功 |
|
要发送到调度程序的数据字典。 返回:成功 |
|
适用的安全组列表。每个组都包含以下键:描述、名称、ID 和规则。 返回:成功 |
|
服务器所属的服务器组的 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。 返回:成功 |
|
此服务器的虚拟机状态。 返回:成功 |
|
与已连接卷相同。 返回:成功 |