openstack.cloud.application_credential 模块 – 管理 OpenStack Identity (Keystone) 应用程序凭据
注意
此模块是 openstack.cloud 集合 (版本 2.3.0) 的一部分。
如果您使用的是 ansible
包,则可能已经安装了此集合。它不包含在 ansible-core
中。要检查它是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install openstack.cloud
。您需要其他要求才能使用此模块,有关详细信息,请参阅 要求。
要在 playbook 中使用它,请指定:openstack.cloud.application_credential
。
概要
创建或删除 OpenStack Identity (Keystone) 应用程序凭据。
如果未设置 secret 参数,则会生成一个 secret 并将其返回
在响应中。现有凭据无法修改,因此对现有凭据运行此模块
将导致其被删除并重新创建。
在生成 secret 时需要考虑这一点,因为 secret
将在模块的每次运行时更改。
要求
以下是执行此模块的主机所需的条件。
python >= 3.6
openstacksdk >= 1.0.0
参数
参数 |
注释 |
---|---|
访问规则列表,每个规则包含请求方法、路径和服务。 |
|
HTTP 方法 |
|
访问 URL 的路径部分 |
|
服务端点的名称 |
|
套接字层在 API 调用超时之前应等待多长时间。如果省略此项,则不会将任何内容传递给 requests 库。 |
|
包含云的 auth 插件策略所需的 auth 信息的字典。对于默认的 *password* 插件,这将包含 *auth_url*、*username*、*password*、*project_name* 和有关域的任何信息(例如,*user_domain_name* 或 *project_domain_name*),如果云支持它们的话。对于其他插件,此参数需要包含该 auth 插件所需的任何参数。如果提供了命名云或存在 OpenStack OS_* 环境变量,则不需要此参数。 |
|
要使用的 auth 插件的名称。如果云使用密码身份验证以外的其他方法,则应在此处指示插件的名称,并相应地更新 *auth* 参数的内容。 |
|
CA 证书包的路径,可用作验证 SSL API 请求的一部分。 |
|
客户端证书的路径,可用作 SSL 事务的一部分。 |
|
客户端密钥的路径,可用作 SSL 事务的一部分。 |
|
要操作的命名云或云配置。如果 *cloud* 是字符串,则它引用在 OpenStack clouds.yaml 文件中定义的命名云配置。为 *auth* 和 *auth_type* 提供默认值。如果提供了 *auth* 或存在 OpenStack OS_* 环境变量,则不需要此参数。如果 *cloud* 是字典,则它包含完整的云配置,就像 clouds.yaml 的一部分一样。 |
|
应用程序凭据描述。 |
|
设置应用程序凭据的过期日期, 格式为 YYYY-mm-ddTHH:MM:SS (如果未提供,则应用程序凭据不会过期)。 |
|
要从服务目录中获取的端点 URL 类型。 选项
|
|
应用程序凭据的名称。 |
|
区域的名称。 |
|
要授权的角色(名称或 ID)。 |
|
域 ID |
|
角色的 ID |
|
角色的名称 |
|
OpenStackSDK 的日志级别 选项
|
|
OpenStackSDK 日志文件的路径。如果为空,则不写入日志 |
|
用于身份验证的密钥 (如果未提供,则会生成一个)。 |
|
资源应该是存在还是不存在。 应用程序凭据是不可变的,因此使用现有的 present 凭据将导致凭据被删除并重新创建。 选项
|
|
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/ 找到。
示例
- name: Create application credential
openstack.cloud.application_credential:
cloud: mycloud
description: demodescription
name: democreds
state: present
- name: Create application credential with expiration, access rules and roles
openstack.cloud.application_credential:
cloud: mycloud
description: demodescription
name: democreds
access_rules:
- service: "compute"
path: "/v2.1/servers"
method: "GET"
expires_at: "2024-02-29T09:29:59"
roles:
- name: Member
state: present
- name: Delete application credential
openstack.cloud.application_credential:
cloud: mycloud
name: democreds
state: absent
返回值
常见的返回值已在 此处 记录,以下是此模块特有的字段
键 |
描述 |
---|---|
描述项目的字典。 返回值:当 state 为 |
|
access_rules 对象列表 返回值:成功 示例: |
|
应用程序凭据用途的描述。 返回值:成功 示例: |
|
如果指定了应用程序凭据的 UTC 到期时间。 返回值:成功 示例: |
|
应用程序凭据的 ID。 返回值:成功 示例: |
|
应用程序凭据的名称。 返回值:成功 示例: |
|
为其创建应用程序凭据并使用此应用程序凭据进行身份验证的请求将限定到的项目的 ID。 返回值:成功 示例: |
|
此应用程序凭据与其项目关联的一个或多个角色列表。使用此应用程序凭据的令牌将具有相同的角色。 返回值:成功 示例: |
|
用于身份验证的密钥(如果未提供,则返回生成的 value)。 返回值:成功 示例: |
|
一个标志,指示应用程序凭据是否可用于创建或销毁其他应用程序凭据或信任。 返回值:成功 |
|
使用用户名和密码替换为应用程序凭据的名称和密钥的当前云配置。这可以传递到其他任务的 cloud 参数,或写入 openstack 云配置文件。 返回值:当 state 为 示例: |