community.general.consul_policy 模块 – 操作 Consul 策略

注意

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

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

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

要在剧本中使用它,请指定:community.general.consul_policy

community.general 7.2.0 中的新增功能

概要

参数

参数

注释

ca_path

字符串

用于 https 连接的 CA 捆绑包

description

字符串

策略的描述。

host

字符串

Consul 代理的主机,默认为 localhost

默认值: "localhost"

name

字符串 / 必需

应与策略关联的名称,这对 Consul 是不透明的。

port

整数

Consul 代理正在运行的端口。

默认值: 8500

rules

字符串

应与当前策略关联的规则文档。

scheme

字符串

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

默认值: "http"

state

字符串

策略应存在还是不存在。

选项

  • "present" ← (默认)

  • "absent"

token

字符串

用于授权的令牌。

valid_datacenters

列表 / 元素=字符串

策略的有效数据中心。 如果列表为空,则为全部。

validate_certs

布尔值

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

选项

  • true ← (默认)

属性

属性

支持

描述

action_group

操作组: community.general.consul

在 community.general 8.3.0 中添加

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

check_mode

支持: 完全

在 community.general 8.3.0 中添加

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

diff_mode

支持: 部分

在 community.general 8.3.0 中添加

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

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

示例

- name: Create a policy with rules
  community.general.consul_policy:
    host: consul1.example.com
    token: some_management_acl
    name: foo-access
    rules: |
        key "foo" {
            policy = "read"
        }
        key "private/foo" {
            policy = "deny"
        }

- name: Update the rules associated to a policy
  community.general.consul_policy:
    host: consul1.example.com
    token: some_management_acl
    name: foo-access
    rules: |
        key "foo" {
            policy = "read"
        }
        key "private/foo" {
            policy = "deny"
        }
        event "bbq" {
            policy = "write"
        }

- name: Remove a policy
  community.general.consul_policy:
    host: consul1.example.com
    token: some_management_acl
    name: foo-access
    state: absent

返回值

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

描述

operation

字符串

执行的操作。

已返回: 已更改

示例: "update"

策略

字典

由 Consul HTTP API 返回的策略。

返回值: 始终

示例: {"CreateIndex": 632, "Description": "Testing", "Hash": "rj5PeDHddHslkpW7Ij4OD6N4bbSXiecXFmiw2SYXg2A=", "Name": "foo-access", "Rules": "key \"foo\" {\n    policy = \"read\"\n}\nkey \"private/foo\" {\n    policy = \"deny\"\n}"}

作者

  • Håkon Lerring (@Hakon)