sensu.sensu_go.cluster_role 模块 – 管理 Sensu 集群角色

注意

此模块是 sensu.sensu_go 集合(版本 1.14.0)的一部分。

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

要安装它,请使用:ansible-galaxy collection install sensu.sensu_go。您需要其他要求才能使用此模块,请参阅 要求了解详细信息。

要在 playbook 中使用它,请指定:sensu.sensu_go.cluster_role

注意

由于违反了 Ansible 包含要求,sensu.sensu_go 集合将从 Ansible 12 中删除。该集合有 未解决的健全性测试失败。有关更多信息,请参阅 讨论主题

sensu.sensu_go 1.0.0 中的新增功能

概要

要求

执行此模块的主机需要满足以下要求。

  • python >= 2.7

参数

参数

注释

auth

字典

身份验证参数。也可以使用 ENV 定义每个参数。

api_key

字符串

在 sensu.sensu_go 1.3.0 中添加

身份验证时应使用的 API 密钥。如果未设置此项,将检查 SENSU_API_KEY 环境变量的值。

这取代了 *auth.user* 和 *auth.password* 参数。

有关 API 密钥的更多信息,请参阅官方 Sensu 文档:https://docs.sensu.io/sensu-go/latest/guides/use-apikey-feature/

ca_path

路径

在 sensu.sensu_go 1.5.0 中添加

应使用来验证后端证书的 CA 包的路径。

如果未设置此参数,模块将使用 python 正在使用的 CA 包。

也可以通过 *SENSU_CA_PATH* 环境变量设置此参数。

password

字符串

Sensu 用户的密码。如果未设置此项,将检查 SENSU_PASSWORD 环境变量的值。

如果设置了 *auth.api_key* 参数,则忽略此参数。

默认值: "P@ssw0rd!"

url

字符串

Sensu 后端 API 的位置。如果未设置此项,将检查 SENSU_URL 环境变量的值。

默认值: "https://127.0.0.1:8080"

user

字符串

用于连接到 Sensu API 的用户名。如果未设置此项,将检查 SENSU_USER 环境变量的值。

如果设置了 *auth.api_key* 参数,则忽略此参数。

默认值: "admin"

verify

布尔值

在 sensu.sensu_go 1.5.0 中添加

控制证书验证的标志。

如果您使用的是自签名证书,则可以将此参数设置为 false

仅在开发场景中使用此参数!如果您在生产环境中使用自签名证书,请参阅 *auth.ca_path* 参数。

也可以通过 *SENSU_VERIFY* 环境变量设置此参数。

选择

  • false

  • true ←(默认)

name

字符串 / 必需

Sensu 资源的名称。此名称(在适用情况下与命名空间结合使用)唯一标识 Ansible 操作的资源。

如果具有所选名称的资源已存在,Ansible 模块将更新它以匹配任务中的规范。

请参阅上游文档 https://docs.sensu.io/sensu-go/latest/reference/ 中关于 *name* 元数据属性规范的更多详细信息,了解有效名称和其他限制。

rules

列表 / 元素=字典

集群角色应用的规则。

如果 *state* 为 present,则必须为非空。

resource_names

列表 / 元素=字符串

规则有权访问的特定资源的名称。

请注意,对于 create 动词,即使提供了此参数,在强制执行 RBAC 时也不会考虑此参数。

resources

列表 / 元素=字符串 / 必需

规则有权访问的资源类型。

verbs

列表 / 元素=字符串 / 必需

规则要应用的权限。

选择

  • "get"

  • "list"

  • "create"

  • "update"

  • "delete"

state

字符串

Sensu 对象的 目标状态。

选择

  • "present" ←(默认)

  • "absent"

另请参阅

另请参阅

sensu.sensu_go.cluster_role_info

列出 Sensu 集群角色。

sensu.sensu_go.cluster_role_binding

管理 Sensu 集群角色绑定。

sensu.sensu_go.role

管理 Sensu 角色。

sensu.sensu_go.role_binding

管理 Sensu 角色绑定。

示例

- name: Create a cluster role
  sensu.sensu_go.cluster_role:
    name: readonly
    rules:
      - verbs:
          - get
          - list
        resources:
          - checks
          - entities

- name: Delete a cluster role
  sensu.sensu_go.cluster_role:
    name: readonly
    state: absent

返回值

常见的返回值请参考这里,以下是此模块特有的字段。

描述

object

字典

代表 Sensu 集群角色的对象。

返回: 成功

示例: {"metadata": {"name": "cluster-role"}, "rules": [{"resource_names": ["sample-name"], "resources": ["assets", "checks"], "verbs": ["get", "list"]}]}

作者

  • Paul Arthur (@flowerysong)

  • Manca Bizjak (@mancabizjak)

  • Aljaz Kosir (@aljazkosir)

  • Tadej Borovsak (@tadeboro)