@@ -45,9 +45,11 @@ Check the installed version with `datadog-slo-overrides --version`.
4545
4646| Command | What it does |
4747| ---------| --------------|
48- | ` run ` | Preview (default) or ` --apply ` corrections to every SLO matching the tags. |
48+ | ` set ` | Preview (default) or ` --apply ` corrections (overrides) to every SLO matching the tags. |
49+ | ` list ` | List SLOs matching the tags and their monitor downtime in a window, excluding downtime already covered by an override. |
4950| ` init-config ` | Write a starter config of non-secret defaults. |
5051| ` init-envrc ` | Write a starter ` .envrc ` for optional, direnv-managed credential loading. |
52+ | ` commands list ` | Print a tree of every command this CLI provides. |
5153
5254### Credentials
5355
@@ -79,7 +81,7 @@ actionable hint instead of failing silently. The config dir honours `XDG_CONFIG_
7981
8082### Idempotency strategies
8183
82- ` run ` is idempotent: re-running the same command never creates duplicate corrections.
84+ ` set ` is idempotent: re-running the same command never creates duplicate corrections.
8385` --strategy ` controls when an existing correction counts as already covering your window:
8486
8587| ` --strategy ` | Skips (creates nothing) when… |
@@ -93,14 +95,14 @@ actionable hint instead of failing silently. The config dir honours `XDG_CONFIG_
9395Preview which SLOs would be corrected (dry run — nothing is written):
9496
9597``` sh
96- datadog-slo-overrides run --tag app:gitlab --tag customer:sbp \
98+ datadog-slo-overrides set --tag app:gitlab --tag customer:sbp \
9799 --start 2026-06-10T22:00 --end 2026-06-11T00:00
98100```
99101
100102Apply a 2-hour scheduled-maintenance correction:
101103
102104``` sh
103- datadog-slo-overrides run --tag app:gitlab --tag customer:sbp \
105+ datadog-slo-overrides set --tag app:gitlab --tag customer:sbp \
104106 --start 2026-06-10T22:00 --end 2026-06-11T00:00 \
105107 --category " Scheduled Maintenance" --description " DB maintenance" \
106108 --apply
@@ -125,7 +127,45 @@ the built-in defaults. Credentials are **never** read from this file.
125127datadog-slo-overrides init-config
126128```
127129
128- Run ` datadog-slo-overrides run --help ` for the full list of options.
130+ Run ` datadog-slo-overrides set --help ` for the full list of options.
131+
132+ ### Listing downtime
133+
134+ ` list ` shows each matching SLO's ** monitor downtime** (from Datadog's Downtimes API) within a
135+ window, and ** excludes any downtime already covered by an SLO correction (override)** — so what
136+ remains is the downtime that is * not* yet accounted for. The window defaults to the start of the
137+ current month through now; set ` --start ` /` --end ` to change it. Tag selection is optional (omit both
138+ ` --tag ` and ` --tags-query ` to list every SLO).
139+
140+ ``` sh
141+ # Uncovered downtime this month, for SLOs tagged app:gitlab:
142+ datadog-slo-overrides list --tag app:gitlab
143+
144+ # A specific window:
145+ datadog-slo-overrides list --tag app:gitlab --start 2026-07-01 --end 2026-07-15
146+ ```
147+
148+ ``` text
149+ Tags query : app:gitlab
150+ Window : 2026-07-01 00:00 → 2026-07-17 14:30 UTC
151+ Matched : 2 SLO(s)
152+
153+ SBP - SLO monitor for the sbp gitlab Website (fbb8a2c3…)
154+ monitors: 12345
155+ • 2026-07-09 10:00 → 2026-07-09 11:00 (monitor 12345) "deploy mute"
156+ ```
157+
158+ Only ` type: monitor ` SLOs link to monitors (via ` monitor_ids ` ), so metric and time-slice SLOs show
159+ no monitor downtime. Downtimes targeted by monitor ** tags/scope** (rather than a specific monitor
160+ id) can't be mapped to an SLO from the list alone, and are reported as a note at the end.
161+
162+ ### Command tree
163+
164+ ``` sh
165+ datadog-slo-overrides commands list
166+ ```
167+
168+ Prints a tree of every command the CLI provides.
129169<!-- usage-end -->
130170
131171## Developing further
0 commit comments