community.general.consul_role 模块 – 操作 Consul 角色

注意

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

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

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

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

community.general 7.5.0 中的新增功能

概要

参数

参数

注释

ca_path

字符串

用于 https 连接的 CA 捆绑包

description

字符串

角色的描述。

如果未指定,则不会更改分配的描述。

host

字符串

consul 代理的主机,默认为 localhost

默认值: "localhost"

name

字符串 / 必需

用于标识角色的名称。

node_identities

列表 / 元素=字典

要附加到角色的节点标识列表。

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

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

datacenter

字符串 / 必需

节点的 数据中心。

这将导致有效的策略仅在此数据中心有效。

node_name

别名:name

字符串 / 必需

节点的名称。

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

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

此子选项已在 community.general 8.3.0 中从 node_identities[].name 重命名为 node_identities[].node_name。仍然可以使用旧名称。

policies

列表 / 元素=字典

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

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

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

id

字符串

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

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

name

字符串

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

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

port

整数

consul 代理正在运行的端口。

默认值: 8500

scheme

字符串

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

默认值: "http"

service_identities

列表 / 元素=字典

要附加到角色的服务标识列表。

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

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

datacenters

列表 / 元素=字符串

策略生效的数据中心。

这将导致有效的策略仅在此数据中心有效。

如果指定一个空数组([]),则策略将在所有数据中心有效。

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

service_name

别名:name

字符串 / 必需

节点的名称。

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

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

此子选项已在 community.general 8.3.0 中从 service_identities[].name 重命名为 service_identities[].service_name。仍然可以使用旧名称。

state

字符串

角色应存在还是不存在。

选项

  • "present" ←(默认)

  • "absent"

templated_policies

列表 / 元素=字典

在 community.general 8.3.0 中添加

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

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

支持: 部分

在 community.general 8.3.0 中添加

在检查模式下,diff 将会遗漏操作属性。

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

示例

- name: Create a role with 2 policies
  community.general.consul_role:
    host: consul1.example.com
    token: some_management_acl
    name: foo-role
    policies:
      - id: 783beef3-783f-f41f-7422-7087dc272765
      - name: "policy-1"

- name: Create a role with service identity
  community.general.consul_role:
    host: consul1.example.com
    token: some_management_acl
    name: foo-role-2
    service_identities:
      - name: web
        datacenters:
          - dc1

- name: Create a role with node identity
  community.general.consul_role:
    host: consul1.example.com
    token: some_management_acl
    name: foo-role-3
    node_identities:
      - name: node-1
        datacenter: dc2

- name: Remove a role
  community.general.consul_role:
    host: consul1.example.com
    token: some_management_acl
    name: foo-role-3
    state: absent

返回值

通用返回值记录在此处 这里,以下是此模块特有的字段

描述

operation

字符串

在角色上执行的操作。

返回: 已更改

示例: "update"

role

字典

角色对象。

返回: 成功

示例: {"CreateIndex": 39, "Description": "", "Hash": "Trt0QJtxVEfvTTIcdTUbIJRr6Dsi6E4EcwSFxx9tCYM=", "ID": "9a300b8d-48db-b720-8544-a37c0f5dafb5", "ModifyIndex": 39, "Name": "foo-role", "Policies": [{"ID": "b1a00172-d7a1-0e66-a12e-7a4045c4b774", "Name": "foo-access"}]}

作者

  • Håkon Lerring (@Hakon)