community.general.pagerduty 模块 – 创建 PagerDuty 维护窗口

注意

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

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

要安装它,请使用: ansible-galaxy collection install community.general。您需要进一步的要求才能使用此模块,请参阅 需求 以了解详细信息。

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

概要

  • 此模块允许您创建 PagerDuty 维护窗口

需求

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

  • PagerDuty API 访问权限

参数

参数

注释

desc

字符串

维护窗口的简短描述。

默认值: "Created by Ansible"

hours

字符串

维护窗口的时长(小时)。

默认值: "1"

minutes

字符串

维护窗口的时长(分钟)(此值将添加到小时)。

默认值: "0"

name

字符串

PagerDuty 唯一的子域名。已过时。PagerDuty REST v2 API 不使用此参数。

requester_id

字符串

发出请求的用户的 ID。仅在创建 maintenance_window 时需要。

service

别名:services

列表 / 元素=字符串

PagerDuty 服务 ID 的逗号分隔列表。

state

字符串 / 必需

创建维护窗口或获取正在进行的窗口列表。

选项

  • "running"

  • "started"

  • "ongoing"

  • "absent"

token

字符串 / 必需

PagerDuty 令牌,在 PagerDuty 网站上生成。用于授权。

user

字符串

PagerDuty 用户 ID。已过时。请使用 token 进行授权。

validate_certs

布尔值

如果为 false,则不会验证 SSL 证书。这仅应在使用自签名证书的个人控制站点上使用。

选项

  • false

  • true ← (默认)

window_id

字符串

维护窗口的 ID。仅在 maintenance_window 不存在时需要。

属性

属性

支持

描述

check_mode

支持:不支持

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

diff_mode

支持:不支持

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

示例

- name: List ongoing maintenance windows using a token
  community.general.pagerduty:
    name: companyabc
    token: xxxxxxxxxxxxxx
    state: ongoing

- name: Create a 1 hour maintenance window for service FOO123
  community.general.pagerduty:
    name: companyabc
    user: [email protected]
    token: yourtoken
    state: running
    service: FOO123

- name: Create a 5 minute maintenance window for service FOO123
  community.general.pagerduty:
    name: companyabc
    token: xxxxxxxxxxxxxx
    hours: 0
    minutes: 5
    state: running
    service: FOO123


- name: Create a 4 hour maintenance window for service FOO123 with the description "deployment"
  community.general.pagerduty:
    name: companyabc
    user: [email protected]
    state: running
    service: FOO123
    hours: 4
    desc: deployment
  register: pd_window

- name: Delete the previous maintenance window
  community.general.pagerduty:
    name: companyabc
    user: [email protected]
    state: absent
    window_id: '{{ pd_window.result.maintenance_window.id }}'

# Delete a maintenance window from a separate playbook than its creation,
# and if it is the only existing maintenance window
- name: Check
  community.general.pagerduty:
    requester_id: XXXXXXX
    token: yourtoken
    state: ongoing
  register: pd_window

- name: Delete
  community.general.pagerduty:
    requester_id: XXXXXXX
    token: yourtoken
    state: absent
    window_id: "{{ pd_window.result.maintenance_windows[0].id }}"

作者

  • Andrew Newdigate (@suprememoocow)

  • Dylan Silva (@thaumos)

  • Justin Johns

  • Bruce Pennypacker (@bpennypacker)