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 agent 的主机,默认为 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 agent 运行的端口。

默认值: 8500

roles

列表 / 元素=字典

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

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

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

id

字符串

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

必须指定此参数或roles[].name

name

字符串

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

必须指定此参数或roles[].id

scheme

字符串

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

默认值: "http"

secret_id

字符串

指定用作令牌密钥 ID 的 UUID。如果未指定,则将为此字段生成一个 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

支持:部分支持

在检查模式下,差异将缺少操作属性。

在差异模式下,将返回有关已更改内容(或可能需要在 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)