community.general.consul_token 模块 – 操作 Consul 令牌

注意

此模块是 community.general 集合(版本 10.1.0)的一部分。

如果您正在使用 ansible 包,您可能已经安装了此集合。 它不包含在 ansible-core 中。 要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用: ansible-galaxy collection install community.general

要在 playbook 中使用它,请指定: community.general.consul_token

community.general 8.3.0 中的新增功能

概要

参数

参数

注释

accessor_id

字符串

指定一个 UUID 用作令牌的访问器 ID。 如果未指定,将为此字段生成一个 UUID。

ca_path

字符串

用于 https 连接的 CA 捆绑包

description

字符串

令牌的自由格式人类可读描述。

expiration_ttl

字符串

这是一个方便的字段,如果设置,将初始化 expiration_time。 可以以 60s5m 的形式指定(即分别为 60 秒或 5 分钟)。 更新令牌时忽略!

host

字符串

Consul 代理的主机,默认为 localhost

默认值: "localhost"

local

布尔值

如果为 true,则表示该令牌不应在全球范围内复制,而应在当前数据中心本地复制。

选择

  • false

  • true

node_identities

列表 / 元素=字典

要附加到令牌的节点标识列表。

如果未指定,则当前分配的任何节点标识都不会更改。

如果参数是空数组 ([]),则将取消分配任何已分配的节点标识。

datacenter

字符串 / 必填

节点的数据库中心。

这将导致有效的令牌仅在此数据中心中有效。

node_name

字符串 / 必填

节点的名称。

长度不得超过 256 个字符,必须以小写字母数字字符开头和结尾。

只能包含小写字母数字字符以及 -_

policies

列表 / 元素=字典

要附加到令牌的策略列表。每个策略都是一个字典。

如果参数留空,则当前分配的任何策略都不会更改。

任何空数组 ([]) 将清除以前设置的任何策略。

id

字符串

要附加到此令牌的策略的 ID; 有关更多信息,请参阅 community.general.consul_policy

必须指定此项或 policies[].name

name

字符串

要附加到此令牌的策略的名称; 有关更多信息,请参阅 community.general.consul_policy

必须指定此项或 policies[].id

port

整数

Consul 代理在其上运行的端口。

默认值: 8500

roles

列表 / 元素=字典

要附加到令牌的角色列表。 每个角色都是一个字典。

如果参数留空,则当前分配的任何角色都不会更改。

任何空数组 ([]) 将清除以前设置的任何角色。

id

字符串

要附加到此令牌的角色的 ID; 有关更多信息,请参阅 community.general.consul_role

必须指定此项或 roles[].name

name

字符串

要附加到此令牌的角色的名称; 有关更多信息,请参阅 community.general.consul_role

必须指定此项或 roles[].id

scheme

字符串

Consul 代理在其上运行的协议方案。 默认为 http,可以设置为 https 以进行安全连接。

默认值: "http"

secret_id

字符串

指定一个 UUID 作为令牌的 Secret ID。如果未指定,将为此字段生成一个 UUID。

service_identities

列表 / 元素=字典

要附加到令牌的服务身份列表。

如果未指定,则当前分配的任何服务身份都不会更改。

如果参数是空数组 ([]),则将取消分配任何已分配的节点标识。

datacenters

列表 / 元素类型=字符串

令牌将生效的数据中心。

如果指定一个空数组([]),则该令牌在所有数据中心都有效。

包括那些尚未存在但将来可能存在的数据中心。

service_name

字符串 / 必填

服务的名称。

长度不得超过 256 个字符,必须以小写字母数字字符开头和结尾。

只能包含小写字母数字字符以及 -_

state

字符串

令牌应该存在还是不存在。

选择

  • "present" ← (默认)

  • "absent"

templated_policies

列表 / 元素=字典

应该应用于角色的模板化策略列表。

template_name

字符串 / 必填

模板化策略名称。

template_variables

字典

模板化策略变量。

并非所有模板化策略都需要变量。

token

字符串

用于授权的令牌。

validate_certs

布尔值

是否验证 Consul 代理的 TLS 证书。

选择

  • false

  • true ← (默认)

属性

属性

支持

描述

action_group

操作组: community.general.consul

添加于 community.general 8.3.0

module_defaults 中使用 group/community.general.consul 为此模块设置默认值。

check_mode

支持: 完全

可以在 check_mode 中运行,并返回更改状态预测,而不修改目标。

diff_mode

支持: 部分

在检查模式下,diff 将错过操作属性。

当处于 diff 模式时,将返回有关已更改的内容(或可能需要在 check_mode 中更改的内容)的详细信息。

示例

- name: Create / Update a token by accessor_id
  community.general.consul_token:
    state: present
    accessor_id: 07a7de84-c9c7-448a-99cc-beaf682efd21
    token: 8adddd91-0bd6-d41d-ae1a-3b49cfa9a0e8
    roles:
      - name: role1
      - name: role2
    service_identities:
      - service_name: service1
        datacenters: [dc1, dc2]
    node_identities:
      - node_name: node1
        datacenter: dc1
    expiration_ttl: 50m

- name: Delete a token
  community.general.consul_token:
    state: absent
    accessor_id: 07a7de84-c9c7-448a-99cc-beaf682efd21
    token: 8adddd91-0bd6-d41d-ae1a-3b49cfa9a0e8

返回值

常见的返回值已在此处记录 此处,以下是此模块特有的字段

描述

operation

字符串

执行的操作。

返回值: 已更改

示例: "update"

token

字典

Consul HTTP API 返回的令牌。

返回值: 始终

示例: {"AccessorID": "07a7de84-c9c7-448a-99cc-beaf682efd21", "CreateIndex": 632, "CreateTime": "2024-01-14T21:53:01.402749174+01:00", "Description": "Testing", "Hash": "rj5PeDHddHslkpW7Ij4OD6N4bbSXiecXFmiw2SYXg2A=", "Local": false, "ModifyIndex": 633, "SecretID": "bd380fba-da17-7cee-8576-8d6427c6c930", "ServiceIdentities": [{"ServiceName": "test"}]}

作者

  • Florian Apolloner (@apollo13)